frm[100] = { startASyear: 2016, mediaImgWidth: 730, mediaImgHeight: 590, sectionYcount: 11, oneDay: 25*60*60*1000, // Attention 25 hours for other GMT on server oneYear: 365*24*60*60*1000, init: function () { debug.cnsl('init'); j.post(['init'], function (data) { console.log(data); frmo.nowDay = data.ts; frmo.aa = data.aa; frmo.ma = data.ma; frmo.emails = data.emails; frmo.process.emails(); frmo.homeAs = true; analytics.start(); }); }, process: { emails: function () { if (!isDefined(frmo.newRow)) frmo.newRow = $('#mailTable tr').remove().clone(); var mailTable = e('mailTable'); for (var i in frmo.emails){ var em = frmo.emails[i]; var tr = e(null, mailTable, 'tr'); e(null, tr, 'td', 'table-inbox-message text-bold').innerHTML = '
'+em['subject']+'
' + ''+em['message']+''; e(null, tr, 'td', 'table-inbox-time').innerHTML = parseDate.shortDate(em['date']); } } }, /*run: { analitycsPanel: function () { if (frmo.ma.length || frmo.aa.length) { $('#SVG').fadeIn(); var metkaNoteDir = '' + '' + 'View' + '' + '' + '' + 'Zip' + '' + ''; var metkaNoteFile = '' + '' + 'Play' + '' + '' + '' + 'Download' + '' + ''; /!* ------------------------------------------- max Y ------------------------------------------*!/ frmo.maxYM = 0; frmo.maxYA = 0; $.each(frmo.ma, function (i, elem) { frmo.maxYM = parseInt(frmo.maxYM) < parseInt(elem.viewRequests) ? parseInt(elem.viewRequests) : parseInt(frmo.maxYM); frmo.maxYM = parseInt(frmo.maxYM) < parseInt(elem.playRequests) ? parseInt(elem.playRequests) : parseInt(frmo.maxYM); frmo.maxYM = parseInt(frmo.maxYM) < parseInt(elem.dwnldRequests) ? parseInt(elem.dwnldRequests) : parseInt(frmo.maxYM); frmo.maxYM = parseInt(frmo.maxYM) < parseInt(elem.zipRequests) ? parseInt(elem.zipRequests) : parseInt(frmo.maxYM); }); $.each(frmo.aa, function (i, elem) { frmo.maxYA = parseInt(frmo.maxYA) < parseInt(elem.viewRequests) ? parseInt(elem.viewRequests) : parseInt(frmo.maxYA); }); /!* -------------------------------------------- end max Y -------------------------------------*!/ var axisYM = frmo.getAxis.Y(frmo.maxYM); var axisYA = frmo.getAxis.Y(frmo.maxYA); var axisX = frmo.getAxis.X(); //frmo.as.Graph = new Object(); /!* --------------------------------------- analitics display ---------------------------------- *!/ if (isDefined(frmo.homeAs)) { $('#mediaAnalitics #SVG').empty().html(metkaNoteDir + metkaNoteFile + frmo.getAsPath.view + frmo.getAsPath.zip + frmo.getAsPath.dwnld + frmo.getAsPath.play + axisX + axisYM); $('#articleAnalitics #SVG').empty().html(frmo.getAsPath.art + axisX + axisYA); } else if (parseInt(frmo.info.dir)) { /!** view zip *!/ // frmo.getAsPath.view(); // frmo.getAsPath.zip(); $('#analitycsPanel .panel-body svg').empty().html(metkaNoteDir + frmo.getAsPath.view + frmo.getAsPath.zip + axisX + axisY); // full graph // $('#analitycsPanel .panel-body #SVG').append( frmo.getAsPath.view ); // single graph } else { /!** dwnld play*!/ frmo.getAsPath.dwnld(); frmo.getAsPath.play(); $('#analitycsPanel .panel-body svg').empty().html(metkaNoteFile + frmo.getAsPath.dwnld + frmo.getAsPath.play + axisX + axisY);// full graph // $('#analitycsPanel .panel-body #SVG').append( frmo.getAsPath.play ); // single graph } $(window).off('resize').on('resize', function () { frmo.widthAS(); }); } }, }, getAsPath: { get dwnld() { return this.gen('dwnld') }, get play() { return this.gen('play') }, get view() { return this.gen('view') }, get zip() { return this.gen('zip') }, get art() { return this.gen('article') }, gen: function (idName) { var path = '', circ = '', coord = ''; path += '' + '' + '' + ''+parseDate.shortDate(frmo.aa[is]['date'])+' - '+frmo.aa[is]['viewRequests']+' views' is++; } else if (frmo.getNullTime(frmo.ma[is].date2)==curDate){ var requests = -((parseInt(frmo.ma[is][idName + 'Requests']) / frmo.maxYM)*425) + 450; path += day == 0 ? requests + ' L ' : ' ' + y + ', ' + requests; is++; } else path += day == 0 ? ' 450 ' + ' L ' : ' ' + y + ', ' + ' 450 '; } path += '">' + circ; return path; } }, getAxis:{ X:function () { var axisX = ''; var m = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; var dxDay = ((frmo.svgWidth - 40) / 365); var dx = dxDay; var now = new Date (frmo.nowDay-frmo.oneYear); var nnow=now; var dpr = 0, dnext = 0; for (var day = 0; day < 366;){ for (;dpr == dnext && day < 366; day++){ nnow = Date.parse(nnow); nnow = frmo.getNullTime(nnow+frmo.oneDay); nnow = new Date (nnow); dx = dxDay * day + 40; dpr = now.getMonth(now); dnext = nnow.getMonth(nnow); } if(nnow-now>15*24*60*60*1000) axisX += ' ' + ' ' + ' ' + m[now.getMonth(now)] + '-' + now.getFullYear() + '' + ' '; now = nnow; dpr = now.getMonth(now); } axisX += ' '; return axisX; }, Y:function(maxY){ var sectionYcount = maxY > frmo.sectionYcount ? frmo.sectionYcount : maxY; var axisY = ''; frmo.stepY = maxY / sectionYcount; frmo.asN = 0; dy = 450; frmo.asN = 0; dy = 450; while (sectionYcount + 1 - frmo.asN) { axisY += ' ' + ' ' + ' ' + parseInt(frmo.asN * frmo.stepY) + '' + ' '; frmo.asN++; dy -= 423.5/sectionYcount; } axisY += ' '; return axisY; } }, getNullTime:function (fullTimestamp) { var newTmstmp = parseInt(fullTimestamp); newTmstmp = new Date (newTmstmp); newTmstmp = new Date(newTmstmp.getFullYear(), newTmstmp.getMonth(), newTmstmp.getDate()); return Date.parse(newTmstmp); }, widthAS:function(){ frmo.svgWidth = $('#SVG')[0].width.baseVal.value; debug.cnsl(frmo.svgWidth); frmo.oneDivision = (frmo.svgWidth - 40) / 365; frmo.run.analitycsPanel(); },*/ }; frm[101] = { init: function () { if (!isDefined(frmo.newRow)) frmo.newRow = $('#listBody tr').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.news = data.news; frmo.run.listFiles(); }); }, run: { listFiles: function () { $('#listBody').empty(); var news = frmo.news; $.each(news, function (id, newItem) { /* var temp = $('
'); $.each(newItem, function (name, value) { if(name=='createDate') value = parseDate.shortDate(value); temp.append(' ' + name + ' : ' + value + ' ') }); $('#f101').append(temp);*/ var row = frmo.newRow.clone(); $.each(newItem, function (name, value) { if (name == 'mid') { row.find('.' + name).html('' + value + ''); row[0].id = value; } else if (name == 'active') { debug.cnsl(value); if (value==0) { row.find('.' + name+ " input").removeAttr('checked'); } } else row.find('.' + name).text(value); // if(name=='createDate') value = parseDate.shortDate(value); // temp.append(' ' + name + ' : ' + value + ' ') }); $('#listBody').append(row); }); } }, del: function (e) { var curRow = $(e).parents('tr'); if (confirm('You want delete?')) { j.post(['delete'], function (data) { debug.cnsl(data); if (data.status) { message('Deleted!', 2); curRow.remove(); } else message('Error deleting!', 0); }, {id: curRow[0].id}); } }, update: function (e) { var curRow = $(e).parents('tr'); j.post(['update'], function (data) { debug.cnsl(data); if (data.status) { message('Updated!', 2); } else message('Error deleting!', 0); }, {id: curRow[0].id, active: ff.chkBoxVal(e)}); } };frm[102] = { init:function(){ if (!isDefined(frmo.newRow))frmo.newRow = $('#listBody tr').remove().clone(); j.post(['init'],function (data) { debug.cnsl(data); frmo.recoms = data.recoms; frmo.run.listFiles(); }); }, run:{ listFiles:function () { $('#listBody').empty(); var recoms = frmo.recoms; $.each(recoms, function (id, newItem) { var row = frmo.newRow.clone(); $.each(newItem, function (name, value) { if (name=='mid') { row.find('.'+name).html(''+value+''); row[0].id = value; } else if (name=='active') {if (value==1) row.find('.active[name="active"]').attr('checked','checked');} else if (name=='createDate') {value = parseDate.shortDate(value); row.find('.'+name).text(value);} else row.find('.'+name).text(value); }); $('#listBody').append(row); }); } }, del:function (e) { var curRow = $(e).parents('tr'); if (confirm('You want delete?')){ j.post(['delete'],function (data) { debug.cnsl(data); if(data.status){ message('Deleted!',2); curRow.remove(); } else message('Error deleting!',0); }, {id:curRow[0].id}); } }, update:{ active: function (e) { var curRow = $(e).parents('tr'); // if (confirm('You want delete?')){ j.post(['update'],function (data) { debug.cnsl(data); if(data.status){ message('Updated!',2); // curRow.remove(); } else message('Error updating!',0); }, {id:curRow[0].id, active: ff.chkBoxVal(e) }); // } } } }; frm[103] = { totalSize:false, init:function(){ var tbody = e('listBody'); this.totalSize = 0; empty(tbody); if(upload.postList.length) this.postList(tbody); if(upload.inUpload) this.inUpload(tbody); if(upload.waitList.length) this.waitList(tbody); e('totalSize').innerHTML = formatBytes(this.totalSize); }, waitList:function(tbody){ var tr, list = upload.waitList; for(var l in list){ tr = e(l, tbody, 'tr'); e(null, tr, 'td').innerHTML = list[l].file.name; e(null, tr, 'td').innerHTML = formatBytes(list[l].file.size); e(null, tr, 'td','bg-warning-300').innerHTML = "Wait"; e(null, tr, 'td','text-right').innerHTML = e('listItemMenu').innerHTML; this.totalSize = this.totalSize + Number(list[l].file.size); } }, inUpload:function(tbody){ var tr = e('inUpload', tbody, 'tr'), td,f = upload.inUpload.f.file; e(null, tr, 'td').innerHTML = f.name; e(null, tr, 'td').innerHTML = formatBytes(f.size); e(null, tr, 'td','bg-success-400').innerHTML = "Uploading"; e(null, tr, 'td','text-right').innerHTML = e('listItemMenu').innerHTML; this.totalSize = this.totalSize + Number(f.size); }, postList:function(tbody){ var tr, list = upload.postList; for(var l in list){ tr = e(null, tbody, 'tr'); e(null, tr, 'td').innerHTML = list[l].name; e(null, tr, 'td').innerHTML = formatBytes(list[l].size); e(null, tr, 'td','bg-blue').innerHTML = list[l].status; e(null, tr, 'td'); this.totalSize = this.totalSize + list[l].size; } }, cancel:function(ev){ var el = ev.target; // find id var id = el.closest('tr').id; if(id == "inUpload") { upload.cancel(); upload.calculateQueue(); } else{ upload.waitList.splice(id, 1); upload.calculateQueue(); this.init(); } } };frm[104] = { mainImgLink: false, mediaList: false, init: function () { if (!isDefined(frmo.listItem)) frmo.listItem = $('.listItem').remove().clone(); // fixCheckbox(); j.post(['init'], function (data) { debug.cnsl(data); frmo.mms = data.mediaMails; frmo.pM = data.parentMids; frmo.run.listMediaMails(); }); }, del: function (e) { var curRow = $(e).parents('tr'); if (confirm('You want delete?')) { j.post(['delete'], function (data) { debug.cnsl(data); if (data.status) { message('Deleted!', 2); curRow.remove(); } else message('Error deleting!', 0); }, {id: curRow[0].id}); } }, run: { listMediaMails: function () { $('#mList tbody').empty(); var mms = frmo.mms; if (isDefined(mms) && mms.hasOwnProperty.length) { frmo.mms = new Object(); $.each(mms, function (id, mm) { frmo.mms[mm.mid] = mm; var pM = frmo.pM[mm.mid]; var temp = frmo.listItem.clone(); $.each(mm, function (name, value) { if (name == 'createDate') value = parseDate.shortDate(value); if (name == 'mid') { temp.find('.nameMid').html(''); temp[0].id = parseInt(value); /* } else if(name == 'parentMids' && pM){*/ // debug.cnsl(pM); temp.find('.parentMid').html(''); } else if (name != 'nameMid') temp.find('.' + name).append(value); }); $('#mList tbody').append(temp); }); } fixCheckbox(); $('.toMail').on('click', function () { $('.sendMail').attr('disabled', 'disabled'); }); frmo.loadImgPreview(); } }, generate: function () { $('.sendMail').removeAttr('disabled'); $.get('/templateNewsletters.html', function (email) { /*var temp = $('#mList').clone().html(); debug.cnsl(temp);*/ frmo.prepareMediaList(); email = email.replace('**subject**', $('input#subj').val()); email = email.replace('**date**', frmo.parseDate.shortRusDate()); // email = email.replace('**COMMENT**', $('#comment').val()+''); email = email.replace('**COMMENT**', e('comment').innerHTML + ''); email = email.replace('**TABLE**', frmo.mediaList); if (frmo.mainImgLink) email = email.replace('**mainImage**', 'mainImage'); else email = email.replace('**mainImage**', ''); // debug.cnsl(email); frmo.email = email; window.open(null, 'Preview mail', 'toolbar=0,status=0,width=700,height=650,resizable=no,scrollbars=1').document.write(email); }); }, viewGallery: function () { window.open(nav.link(133, ['newsletter']), 'Select image'); }, viewDetailMid: function (mid) { window.open(nav.link(151, [mid]), 'Detail Mid(' + mid + ')'); }, viewManageMid: function (mid) { var win = window.open(nav.link(126, [mid]), 'Manage Mid(' + mid + ')'); win.onunload = frmo.init; }, saveEmail: function () { var imgId = document.getElementById('imgPreview').dataset.id; var newsletterData = { message: frmo.email, subj: $('input#subj').val(), imgId: imgId }; j.post(['insert'], function (data) { debug.cnsl(data); if (isDefined(data.status) && data.status == 1) { if (isDefined(frmo.sendedMMS) && frmo.sendedMMS.length) { j.post(['update', 'mm'], function (data2) { debug.cnsl(data2); if (isDefined(data2.status) && data2.status == 1) { message('Newsletter has been marked as sent successfully.', 1); setTimeout(function () { nav.goTo(132); }, 2000); } else { message('Media mails elements, has not been updated!', 0); } }, {mailSendId: data.insert_id, mmIds: frmo.sendedMMS}); } else { message('Newsletter has been marked as sent successfully.', 1); message('Media mails elements, has not been selected!', 3); } } else message("Error send", 0); }, newsletterData); frmo.sendNewsletters(); }, sendNewsletters: function () { //alert('Saved! \n How send?'); }, loadImgPreview: function (imgId) { imgId = imgId || 4000; var waitId = wait.on(); $('#imgPreview').off('load').on('load', function () { wait.off(waitId); }); document.getElementById('imgPreview').src = img.url(imgId, 540, 0, 'holiday'); document.getElementById('imgPreview').dataset.id = imgId; }, prepareMediaList: function () { var list = ''; var link = ''; frmo.sendedMMS = new Array(); $('#mList input[value="1"]').parents('.listItem') .each(function (i, item) { var id = parseInt($(item)[0].id); frmo.sendedMMS.push(id); var href = frmo.mms[id].dir == 1 ? frontendBaseUrl + '/media/' + frmo.mms[id].nameMid + '/' + id : frontendBaseUrl + '/media/' + frmo.pM[id].nameMid + '/' + frmo.pM[id].pmid + '?play=' + id; // link = '\> ' + frmo.pM[id].nameMid + ' - ' + frmo.mms[id].nameMid + '
'; link = ' ' + frmo.pM[id].nameMid + ' - ' + frmo.mms[id].nameMid + '
'; list += link; }); frmo.mediaList = list; }, parseDate: { // parses date from 2011-01-11 to 11 Январь 2011 shortRusDate: function (string) { var rusMonth = { 0: "Январь", 1: "Февраль", 2: "Март", 3: "Апрель", 4: "Май", 5: "Июнь", 6: "Июль", 7: "Август", 8: "Сентябрь", 9: "Октябрь", 10: "Ноябрь", 11: "Декабрь" }; var date = new Date(); date = rusMonth[date.getMonth()] + " " + date.getFullYear(); return date; } }, onstorage: function (ev) { if (ev.key == 'newsletterImgId' && ev.newValue != null) { frmo.loadImgPreview(ev.newValue); localStorage.removeItem(ev.key); } } }; frm[105] = { searchMinLength: 3, init:function(){ frmo.searchInit(); frmo.buttons(); frmo.findLine = $('#listBody .findLine').html(); $('#listBody').empty(); }, searchInit: function () { j.post(['init'], function (data) { debug.cnsl(data); frmo.extParams = data['searchParams']['ext']; frmo.searchParams.getSelect(data['searchParams'], frmo.getHrefSearch); data['searchParams']['0'].minD = new Date(data['searchParams']['0'].minD).getTime(); data['searchParams']['0'].maxD = new Date(data['searchParams']['0'].maxD).getTime(); frmo.searchParams.getRange(data['searchParams']['0'], frmo.getHrefSearch) }); }, search: function (i) { var sText = $('input[name="sw"]').val(); frmo.searchQ = new Object(); frmo.searchQ = ff.toObj('searchRequest'); frmo.searchQ.mincreateDate = new Date(parseInt(frmo.searchQ.mincreateDate)); frmo.searchQ.maxcreateDate = new Date(parseInt(frmo.searchQ.maxcreateDate)); debug.cnsl(frmo.searchQ); if (sText.length == 0 || sText.length >= frmo.searchMinLength) { j.post(['init', 'start'], function (data) { $('.result').show(); debug.cnsl(data); frmo.dataProcess(data); }, frmo.searchQ); } else { message('Minimum ' + frmo.searchMinLength + ' chart!', 3); $('.result').hide(); } }, searchParams:{ getSelect: function (data, callback) { for (var own in data.owners){ /*if (own == sett.user.id)$('select[name="createUser"]').append(''); else */ $('select[name="createUser"]').append(''); } for (var upd in data.updaters){ $('select[name="updateUser"]').append(''); } for (var ex in data.ext){ $('select[name="ext"]').append(''); } callback(); }, getRange: function (data, callback){ debug.cnsl(data); var minPlayTime = $('input[name="minplayTime"]')[0]; var maxPlayTime = $('input[name="maxplayTime"]')[0]; var minSize = $('input[name="minsize"]')[0]; var maxSize = $('input[name="maxsize"]')[0]; var minDate = $('input[name="mincreateDate"]')[0]; var maxDate = $('input[name="maxcreateDate"]')[0]; if (data["minT"] != data["maxT"]){ minPlayTime.setAttribute('min', data["minT"]); minPlayTime.setAttribute('max', data["maxT"]); // minPlayTime.setAttribute('value', data["minT"]); minPlayTime.value = data["minT"]; $('.forExt div.pTime .range_min').text(formatTime(data["minT"])); $('.forExt div.pTime .range_max').text(formatTime(data["maxT"])); maxPlayTime.setAttribute('min', data["minT"]); maxPlayTime.setAttribute('max', data["maxT"]); // maxPlayTime.setAttribute('value', data["maxT"]); maxPlayTime.value=data["maxT"]; $('.forExt div.pTime').fadeIn(); } else $('.forExt div.pTime').fadeOut(); if (data["minS"] != data["maxS"]) { minSize.setAttribute('min', data["minS"]); minSize.setAttribute('max', data["maxS"]); // minSize.setAttribute('value', data["minS"]); minSize.value=data["minS"]; $('.forExt div.size .range_min').text(formatBytes(data["minS"])); $('.forExt div.size .range_max').text(formatBytes(data["maxS"])); maxSize.setAttribute('min', data["minS"]); maxSize.setAttribute('max', data["maxS"]); // maxSize.setAttribute('value', data["maxS"]); maxSize.value=data["maxS"]; $('.forExt div.size').fadeIn(); } else $('.forExt div.size').fadeOut(); if (data["minD"] != data["maxD"]) { $('.forExt div.date').fadeIn(); var miD = parseInt(data["minD"]); var maD = parseInt(data["maxD"]); minDate.setAttribute('min', miD); minDate.setAttribute('max', maD); // minDate.setAttribute('value', miD); minDate.value=miD; //minDate.setAttribute('step', '86400000'); $('.forExt div.date .range_min').text(frmo.tmstmpDate(miD)); $('.forExt div.date .range_max').text(frmo.tmstmpDate(maD)); maxDate.setAttribute('min', miD); maxDate.setAttribute('max', maD); // maxDate.setAttribute('value', maD); maxDate.value=maD; //maxDate.setAttribute('step', '86400000'); } else $('.forExt div.date').fadeOut(); callback(); } }, dataProcess: function (data) { $('#listBody').empty(); var tbl = e('listBody'); if(data.allFinds>0) $('.allFinds').text('Showing ' + data.showed + ' of ' + data.allFinds + ' found'); else { $('.allFinds').html('Nothing found'); $('.searList').fadeIn(500); e(null, e(null, tbl, 'tr', 'findLine'), 'td') .a('colspan', '8') .a('style', 'text-align: center;') .t('Nothing found, please try another search parameters or update search params and try again'); } var line = frmo.findLine; var el = data['searchRezult']; if (isDefined(data['searchRezult'])) { $('.searList').fadeIn(500); for (var key in data.searchRezult) { var keys = data.searchRezult[key]['id']; var tr = e(keys, tbl, 'tr', 'findLine' ); $(tr).html(line); e(keys, tbl, 'tr'); for (var t in el[key]) { var td = el[key]; if ($('td.' + t)) { var cont = td[t]; if (t == 'ext') { cont = getExtIcon(cont); cont = ' '; $('#' + keys + ' td.name').prepend(cont); } else if (t == 'theme') { if (td['lTheme']) td['theme'] = td['lTheme']; } else if (t == 'name') { if (td['lName']) cont = td['lName']; var hr = '/media/detail/' + td['id']; cont = '' + cont + '
'+td['pName']+''; } if (t == 'active') { if (td['active'] == 1) cont = 'checked'; else cont = ''; cont = ''; } else if (t == 'createDate') cont = parseDate.shortDate(cont) + '
' + td.createUser; else if (t == 'playTime' && cont != null) cont = formatTime(cont); else if (t == 'size' && cont != null) cont = formatBytes(cont); $('#' + keys + ' td.' + t).html(cont); } } e(null, tr, 'span', 'secretDelete').t('X').a('title', 'Delete this MID'); } $('.secretDelete').off().on('click', function (ev) { var mid = $(ev.target).parents('tr.findLine')[0].id; if (confirm('Delete this video?')){ j.post(['delete'], function (data) { if(data.status) { message('Video deleted successfully', 1); $('#'+mid).hide(); } else message('System error!', 0); }, {id: mid}); } }); } }, range: function (e){ if(isDefined(e)) var rangeGroup = $(e).attr('name'), minBtn = $(e).parent().children('.min'), maxBtn = $(e).parent().children('.max'), range_min = $(e).parent().children('.range_min'), range_max = $(e).parent().children('.range_max'), minVal = parseInt($(minBtn).val()), maxVal = parseInt($(maxBtn).val()), rBox = $(e).parents('.rangeBox'), value, origin = $(e)[0].className; if(origin === 'min' && minVal > maxVal-5) $(minBtn).val(maxVal-5); if(origin === 'max' && maxVal-5 < minVal) $(maxBtn).val(5+ minVal); var minVal = parseInt($(minBtn).val()); var maxVal = parseInt($(maxBtn).val()); var cls = rBox[0].className.split(' '); if(cls.indexOf('pTime') > -1){ minVal = formatTime(minVal); maxVal = formatTime(maxVal); $(range_min).text(minVal); $(range_max).text(maxVal); } else if(cls.indexOf('date') > -1){ $(range_min).text(frmo.tmstmpDate(minVal)); $(range_max).text(frmo.tmstmpDate(maxVal)); } else if(cls.indexOf('size') > - 1){ minVal = formatBytes(minVal); maxVal = formatBytes(maxVal); $(range_min).text(minVal); $(range_max).text(maxVal); } }, tmstmpDate: function(tmst){ debug.cnsl(tmst); var date = new Date(tmst); var m = date.getMonth() + 1; date = (date.getFullYear()+"-"+m+"-"+date.getDate()); //debug.cnsl(date); date = parseDate.shortDate(date); return date; }, buttons:function () { $('#searchMediaBtn').off().on('click', function () { frmo.search(); }); $('input[type="range"]').on( 'input', function(e){ frmo.range(e.target)}); if(!isDefined(perValue)) var perValue = ''; $('input[name="sw"]').off() .on('keypress', function (e) { if (e.which == 13) { e.preventDefault(); e.stopImmediatePropagation(); }}) .on('keyup', function (e) { if (e.which == 13) { e.preventDefault(); e.stopImmediatePropagation(); frmo.search(); } var sText = $('input[name="sw"]').val(); if(perValue == '') perValue = sText; else if(perValue != sText){ $('.result').fadeOut(500); $('.searList').fadeOut(500); perValue = sText; } }); $('#shareSearch').off().on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); var link = cpBaseUrl + nav.link(form.id) + '?'; var i = 0; for (var field in frmo.searchQ){ if(field != 'formId' && frmo.searchQ[field] != ""){ link += i==0 ? field+'='+encodeURIComponent(frmo.searchQ[field]) : '\&'+field+'='+ encodeURIComponent(frmo.searchQ[field]); i++; } } copyToClipboard(link); }); }, getHrefSearch: function () { var shData = new Array(); shData = document.location.href; shData = decodeURI(shData); shData = shData.split('?'); debug.cnsl(shData); if(isDefined(shData[1])){ shData = shData[1].split('&'); for(var i in shData){ var line = new Array(); line = shData[i].split('='); var sel = '[name="' + line[0] + '"]'; if(line[0] == 'ext' && line[1] !='all') frmo.searchParams.getRange(frmo.extParams[line[1]]); if((line[1] == 0 || line[1] == 1) && $(sel)[0].tagName=='INPUT') { if (line[1] == 1) $(sel)[0].checked = 'checked'; else $(sel)[0].checked = ''; } else $(sel).val(line[1]); if (isDefined($('input[type="range"][name="' + line[0] + '"]')[0])){ frmo.range(sel); //debug.cnsl(line[0]); } } frmo.search(); } } };frm[106] = { searchMinLength: 3, init: function () { frmo.search(); frmo.findLine = $('#listBody .findLine').html(); $('#listBody').empty(); }, search: function (i) { frmo.searchQ = ff.toObj('searchRequest'); j.post(['init', 'start'], function (data) { $('.result').show(); debug.cnsl(data); frmo.dataProcess(data); }, frmo.searchQ); }, searchParams: { getSelect: function (data, callback) { for (var own in data.owners) { if (own == sett.user.id) $('select[name="createUser"]').append(''); else $('select[name="createUser"]').append(''); } for (var upd in data.updaters) { $('select[name="updateUser"]').append(''); } for (var ex in data.ext) { $('select[name="ext"]').append(''); } for (var ch in data.channels) { $('select[name="chid"]').append(''); } for (var ct in data.categories) { $('select[name="ctid"]').append(''); } callback(); }, getRange: function (data, callback) { debug.cnsl(data); var minPlayTime = $('input[name="minplayTime"]')[0]; var maxPlayTime = $('input[name="maxplayTime"]')[0]; var minSize = $('input[name="minsize"]')[0]; var maxSize = $('input[name="maxsize"]')[0]; var minDate = $('input[name="mincreateDate"]')[0]; var maxDate = $('input[name="maxcreateDate"]')[0]; if (data["minT"] != data["maxT"]) { minPlayTime.setAttribute('min', data["minT"]); minPlayTime.setAttribute('max', data["maxT"]); // minPlayTime.setAttribute('value', data["minT"]); minPlayTime.value = data["minT"]; $('.forExt div.pTime .range_min').text(formatTime(data["minT"])); $('.forExt div.pTime .range_max').text(formatTime(data["maxT"])); maxPlayTime.setAttribute('min', data["minT"]); maxPlayTime.setAttribute('max', data["maxT"]); // maxPlayTime.setAttribute('value', data["maxT"]); maxPlayTime.value = data["maxT"]; $('.forExt div.pTime').fadeIn(); } else $('.forExt div.pTime').fadeOut(); if (data["minS"] != data["maxS"]) { minSize.setAttribute('min', data["minS"]); minSize.setAttribute('max', data["maxS"]); // minSize.setAttribute('value', data["minS"]); minSize.value = data["minS"]; $('.forExt div.size .range_min').text(formatBytes(data["minS"])); $('.forExt div.size .range_max').text(formatBytes(data["maxS"])); maxSize.setAttribute('min', data["minS"]); maxSize.setAttribute('max', data["maxS"]); // maxSize.setAttribute('value', data["maxS"]); maxSize.value = data["maxS"]; $('.forExt div.size').fadeIn(); } else $('.forExt div.size').fadeOut(); if (data["minD"] != data["maxD"]) { $('.forExt div.date').fadeIn(); var miD = parseInt(data["minD"]); var maD = parseInt(data["maxD"]); minDate.setAttribute('min', miD); minDate.setAttribute('max', maD); // minDate.setAttribute('value', miD); minDate.value = miD; //minDate.setAttribute('step', '86400000'); $('.forExt div.date .range_min').text(frmo.tmstmpDate(miD)); $('.forExt div.date .range_max').text(frmo.tmstmpDate(maD)); maxDate.setAttribute('min', miD); maxDate.setAttribute('max', maD); // maxDate.setAttribute('value', maD); maxDate.value = maD; //maxDate.setAttribute('step', '86400000'); } else $('.forExt div.date').fadeOut(); callback(); } }, dataProcess: function (data) { $('#listBody').empty(); var tbl = e('listBody'); var qty = (data.searchRezultOverMids.length ? data.searchRezultOverMids.length : 0) + (data.searchRezultOverFile.length ? data.searchRezultOverFile.length : 0); if (data.searchRezultOverFile.length > 0 || data.searchRezultOverMids.length > 0) $('.allFinds').text(qty + ' results'); else { $('.allFinds').html('Nothing found'); $('.searList').fadeIn(500); e(null, e(null, tbl, 'tr', 'findLine'), 'td') .a('colspan', '8') .a('style', 'text-align: center;') .t('Nothing found, please try another search parameters or update search params and try again'); } var line = frmo.findLine; var el = data['searchRezultOverMids']; if (isDefined(data['searchRezultOverMids'])) { $('.searList').fadeIn(500); for (var key in data.searchRezultOverMids) { var keys = data.searchRezultOverMids[key]['id']; var tr = e(keys, tbl, 'tr', 'findLine mid status' + el[key]['status']); $(tr).html(line); e(keys, tbl, 'tr'); for (var t in el[key]) { var td = el[key]; if ($('td.' + t)) { var cont = td[t]; if (t == 'imgId') { var hr = nav.link(213, [keys]); cont = ' '; } else if (t == 'name') { // var hr = '/media/detail/' + keys; var hr = nav.link(213, [keys]); cont = '' + cont + ''; } else if (t == 'status') { cont = cont == '0' ? 'not active' : cont == '1' ? 'normal
' : cont == '2' ? 'link only
' : 'task error'; } else if (t == 'createDate') cont = parseDate.shortDate(cont) + '
' + td.createUser; else if (t == 'playTime' && cont != null) cont = formatTime(cont); else if (t == 'size' && cont != null) cont = formatBytes(cont); $('#' + keys + ' td.' + t).html(cont); } } e(null, tr, 'span', 'secretDelete').t('X').a('title', 'Delete this MID'); } } var el = data['searchRezultOverFile']; if (isDefined(data['searchRezultOverFile'])) { $('.searList').fadeIn(500); for (var key in data.searchRezultOverFile) { var keys = data.searchRezultOverFile[key]['id']; var tr = e(keys, tbl, 'tr', 'findLine file withoutDB'); $(tr).html(line); e(keys, tbl, 'tr'); for (var t in el[key]) { var td = el[key]; if ($('td.' + t)) { var cont = td[t]; if (t == 'imgId') { var hr = nav.link(213, [keys]); // cont = ' '; cont = ''; } else if (t == 'name') { // var hr = '/media/detail/' + keys; var hr = nav.link(213, [keys]); cont = '' + cont + ''; } else if (t == 'status') { cont = cont + '
' + '
'; } else if (t == 'createDate') cont = parseDate.jsTimeStamp(cont * 1000) + '
'; else if (t == 'playTime' && cont != null) cont = formatTime(cont); else if (t == 'size' && cont != null) cont = formatBytes(cont); $('#' + keys + ' td.' + t).html(cont); } } // e(null, tr, 'span', 'secretDelete').t('X').a('title', 'Delete this MID'); } } $('#source').off().on('change', function (ev) { debug.cnsl(ev.target); var sel = $('#source').val(); var mid = sel.indexOf('m') + 1; var file = sel.indexOf('f') + 1; if (mid && file) $('.findLine').show(); else if (mid) { $('.findLine').hide(); $('.findLine.mid').show(); } else if (file) { $('.findLine').hide(); $('.findLine.file').show(); } }); $('.secretDelete').off().on('click', function (ev) { var mid = $(ev.target).parents('tr.findLine')[0].id; if (confirm('Delete this video?')) { j.post(['delete'], function (data) { if (data.status) { message('Video deleted successfully', 1); $('#' + mid).hide(); } else message('System error!', 0); }, {id: mid}); } }); $('.midImg').off().on('mousedown', function (ev) { // debug.cnsl('mousedown'); // debug.cnsl(ev.which); if (ev.which == 1) { ev.preventDefault(); ev.stopImmediatePropagation(); ev.target.src = ev.target.dataset.src; ev.target.play(); ev.target.controls = true; $(ev.target).css('width', '200px'); $(ev.target).css('height', 'auto'); $(ev.target).css('min-height', '80px'); // $(ev.target).css('position', 'absolute'); } }); }, fileSet: { createMid: function (ev) { // alert(ev.dataset.id+' нужно обсудить каким образом это будет работать'); j.post(['insert', 'createMid'], function (data) { if (data.creaTED) { message('Mid created successfully', 1); window.open(nav.link(213, ev.dataset.id)); $(ev).parents('tr').remove(); } else message('System error!', 0); }, {mid: ev.dataset.id, createDate: ev.dataset.cdt}); }, delete: function (ev) { j.post(['delete', 'file'], function (data) { if (data.status == "Deleted!") { message('File deleted successfully', 1); $(ev).parents('tr').remove(); } else if (!data.error) message('System error!', 0); }, {mid: ev.dataset.id}); } }, tmstmpDate: function (tmst) { var date = new Date(tmst); var m = date.getMonth() + 1; date = (date.getFullYear() + "-" + m + "-" + date.getDate()); //debug.cnsl(date); date = parseDate.shortDate(date); return date; } };frm[107] = { pagerCount: 10, imgWidth: 150, imgHeight: 150, init:function(params){ console.log(params); frmo.page = params.shift(); if(!isDefined(frmo.page)) nav.goTo(form.id,[0]); else { if (!isDefined(frmo.newRow)) frmo.newRow = $('#listBody tr').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.articles = data.articles; frmo.order = data.order; frmo.articlesCount = data.articlesCount; frmo.run.list(); }, {page: frmo.page, pagerCount: frmo.pagerCount}); } }, run: { list: function () { $('#listBody').empty(); var articles = frmo.articles; var order = frmo.order; $.each(order, function (i, id) { /* заполнение таблицы */ var row = frmo.newRow.clone(); // debug.cnsl(row); var article = articles[id]; $.each(article, function (name, value) { if (value == '0000-00-00 00:00:00') value = null; if ((name == 'createDate' || name == 'date' || name == 'updateDate') && value != null) value = parseDate.shortDate(value); if (name == 'catRef') { var newVal = ''; $.each(value,function (i,catName) { if(newVal == '')newVal += catName; else newVal += ', '+catName; }); value = newVal; } if (name == 'id') { row[0].id = value; row.find('.editA').attr('id', value); } if (name == 'active') { if (value == 1) row.find('.active').attr('checked', 'checked'); } else if (name == 'intro') { row.find('.intro').html(value); } else if (name == 'imgId') { row.find('.imgId')[0].src = img.url(parseInt(value), frmo.imgWidth, frmo.imgHeight, article.title); } else row.find('.' + name).text(value); }); row.show(); $('#listBody').append(row); }); pagerArticlesService(); } }, edit: function (e) { var curRow = $(e).parents('tr').addClass('editing'); // nav.winOpen(108,[curRow[0].id]); nav.goTo(108,[curRow[0].id]); }, del:function (e) { var curRow = $(e).parents('tr'); if (confirm('You want delete?')){ j.post(['delete'],function (data) { debug.cnsl(data); if(data.status){ message('Deleted!',2); curRow.remove(); } else message('Error deleting!',0); }, {id:curRow[0].id}); } }, update: { active: function (e) { var curRow = $(e).parents('tr'); // if (confirm('You want delete?')){ j.post(['update'], function (data) { debug.cnsl(data); if (data.status) { message('Updated!', 2); // curRow.remove(); } else message('Error updating!', 0); }, {id: curRow[0].id, active: ff.chkBoxVal(e)}); // } } }, pager: { next:function () { nav.goTo(parseInt(form.id),[parseInt(frmo.page)+1]); }, prev:function () { nav.goTo(parseInt(form.id),[parseInt(frmo.page)-1]); } }, addToRecom:function (e) { var id = $(e).parents('tr')[0].id; debug.cnsl(id); j.post(['insert'], function (data) { debug.cnsl(data); if (data.status) { message('Added to Recom!', 2); // curRow.remove(); } else message('Error added!', 0); }, {aid: id, active:1, formId: 159}); } }; function pagerArticlesService() { if(typeof frmo.articlesCount != 'undefined') { if(parseInt(frmo.articlesCount-frmo.page*frmo.pagerCount)>frmo.pagerCount) frmo.finish = parseInt(frmo.page) * frmo.pagerCount+frmo.pagerCount; else frmo.finish = parseInt(frmo.articlesCount); $('#currentPagePossition').text( (parseInt(frmo.page)*frmo.pagerCount+1) + '-' + (frmo.finish) ); $('#allItem').text(frmo.articlesCount); } debug.cnsl('pagerArticlesService'); if(parseInt(frmo.page)>0) $('#pagerPrev').removeAttr('disabled'); else $('#pagerPrev').attr( 'disabled', 'disabled' ); if((parseInt(frmo.page)+1) >= Math.ceil(parseInt(frmo.articlesCount)/frmo.pagerCount)) $('#pagerNext').attr( 'disabled', 'disabled' ); else $('#pagerNext').removeAttr('disabled'); }frm[108] = { // id: 'new', imgWidth: 350, imgHeight: 350, sectionYcount: 11, oneDay: 25 * 60 * 60 * 1000, // Attention 25 hours for other GMT on server oneYear: 365 * 24 * 60 * 60 * 1000, init: function (params) { frmo.id = 'new'; if(isDefined(frmo.validateForm))frmo.validateForm.destroy(); frmo.body = new textArea("body", 45000, 2, e('panelEditor')); frmo.body.init("300px"); frmo.intro = new textArea("intro", 2000, 1, e('introP')); frmo.intro.init("150px"); $('#panelEditor button, #introP button').addClass('btn btn-group-sm btn-default'); if (isDefined(params[0]) && !isNaN(params[0])) { frmo.id = params[0]; frmo.waitId = wait.on(); $('#f108').removeClass('new').addClass('edit'); j.post(['init'], function (data) { debug.cnsl(data); frmo.articleData = data.article; frmo.articleCatsList = data.articleCatsList; frmo.authorsList = data.authorsList; frmo.catsForArticle = data.catsForArticle; frmo.process(); frmo.aa = data.analytics; frmo.nowDay = data.ts; analytics.start(); }, {id: frmo.id}) } else { j.post(['init'], function (data) { frmo.articleCatsList = data.articleCatsList; frmo.authorsList = data.authorsList; $('#catId').html(frmo.articleCatsListSelect('catId')); $('#auth').html(frmo.authorsListSelect('author')); }); $('#f108').addClass('new').removeClass('edit'); } $("#analitBtn").on("click", function () { var top = $('#articleAnalitics').offset().top; $('body,html').animate({scrollTop: top}, 1500); }); }, process: function () { var article = frmo.articleData; $('#catId').html(frmo.articleCatsListBox()) .find('input[type="checkbox"]').on('click', function (e) { debug.cnsl(ff.chkBoxVal(e.target)); var params = { id: frmo.id, catId: $(e.target)[0].id }; debug.cnsl(params); if (ff.chkBoxVal(e.target)) { debug.cnsl('addCat'); j.post(['update', 'addToCat'], function (data) { debug.cnsl(data); if (data.status) { message('Article Category Updated', 1); } else { message('Error Updating Article Category', 0); } }, params); } else { j.post(['update', 'delToCat'], function (data) { debug.cnsl(data); if (data.status) { message('Article Category Updated', 1); } else { message('Error Updating Article Category', 0); } }, params); } }); if (isDefined(frmo.catsForArticle)) { $.each(frmo.catsForArticle, function (i, cat) { $('#catId').find('#' + cat).attr('checked', 'checked') }); } $('#auth').html(frmo.authorsListSelect('author')); frmo.body.text.innerHTML = article.body; frmo.intro.text.innerHTML = article.intro; $.each(article, function (fieldName, value) { if (value == '0000-00-00 00:00:00') value = null; if ((fieldName == 'createDate' || fieldName == 'updateDate') && value != null) value = parseDate.shortDate(value); $('#f108').find('.' + fieldName).val(value); }); wait.off(frmo.waitId); frmo.loadImg(article.imgId); }, save: function () { formData = ff.toObj('f108'); formData['id'] = frmo.id; debug.cnsl(formData); j.post(['update'], function (data) { debug.cnsl(data); if (data.status) { message(':)', 1); nav.goTo(107, ['0']); } else { message(':(', 0); } }, formData); }, add: function () { var formData = ff.toObj('f108'); formData['imgId'] = document.getElementById('imgId').dataset.id; j.post(['insert'], function (data) { debug.cnsl(data); if (data.status) { message(':)', 1); nav.goTo(107, ['0']); } else { message(':(', 0); } }, formData); }, widthAS: function () { frmo.svgWidth = $('#SVG')[0].width.baseVal.value; debug.cnsl(frmo.svgWidth); frmo.oneDivision = (frmo.svgWidth - 40) / 365; frmo.analitycsPanel(); }, getNullTime: function (fullTimestamp) { var newTmstmp = parseInt(fullTimestamp); newTmstmp = new Date(newTmstmp); newTmstmp = new Date(newTmstmp.getFullYear(), newTmstmp.getMonth(), newTmstmp.getDate()); return Date.parse(newTmstmp); }, articleCatsListBox: function () { var box = ''; box += ''; return box; }, articleCatsListSelect: function (id) { var select = ''; select += ''; return select; }, authorsListSelect: function (name, id) { var select = ''; id = 'id="' + id + '" ' || ' '; select += ''; return select; }, /** image */ updateImage: function (imgId) { debug.cnsl('updateImage'); var dataForUpdate = { id: frmo.id, imgId: imgId }; debug.cnsl(dataForUpdate); j.post(['update', 'applytoid'], function (data) { debug.cnsl(data); if (data.status) { message('Apply image to Article id - successfully!', 1); frmo.loadImg(imgId); } else { message('Error apply image to Article id...', 0); } }, dataForUpdate); }, loadImg: function (imgId) { debug.cnsl('loadImg'); var waitId = wait.on(); $('#imgId').off('load').on('load', function () { wait.off(waitId); }); document.getElementById('imgId').src = img.url(imgId, frmo.imgWidth, frmo.imgHeight, 'article'); document.getElementById('imgId').dataset.id = imgId; }, clearImg: function () { if (confirm('Reset image?')) { document.getElementById('imgId').dataset.id = 4000; if (frmo.id != 'new') frmo.updateImage(4000); else frmo.loadImg(4000); } }, onstorage: function (ev) { if (ev.key == ('articleImgId' + frmo.id) && ev.newValue != null) { var imgId = ev.newValue; if (frmo.id != 'new') { frmo.updateImage(imgId); document.getElementById('imgId').dataset.id = imgId; } else { document.getElementById('imgId').dataset.id = imgId; frmo.loadImg(imgId); } localStorage.removeItem(ev.key); } } }; frm[109] = { resetimgId: 4000, imagesInfo: new Object(), init: function () { if (!isDefined(frmo.authordiv)) frmo.authordiv = $('.authordiv').remove().clone(); if (!isDefined(frmo.authorId)) frmo.authorId = 'new'; j.post(['init'], function (data) { debug.cnsl(data); frmo.authors = data.authors; frmo.run.authorGrid(data.authors); $('.longDsc').on('click', function () { $(this).toggleClass('table-inbox-textMessage'); }); }, {}); }, run: { authorGrid: function (authors) { $('#authorGrid').empty(); var authordiv = frmo.authordiv.clone(); $.each(authors, function (i, author) { var iI = author.imgId; var photo = img.url(iI, 120, 120, author.dName); frmo.imagesInfo[iI] = new Object({'imgW': author.imgW, 'imgH': author.imgH}); authordiv[0].id = author.id; authordiv.find('.photo')[0].dataset.imgId = author.imgId; authordiv.find('.photo img')[0].src = photo; $.each(author, function (fieldName, val) { if (fieldName != 'visible') authordiv.find('.' + fieldName).text(val); else { if (fieldName == 'visible' && val == 1) authordiv.find('.visible').addClass('on'); else authordiv.find('.visible').removeClass('on'); } }); authordiv.appendTo('#authorGrid').show(); authordiv = authordiv.clone(); }) } }, edit: function (e) { var t = $(e).parents('.authordiv').addClass('editing').find('.fName, .lName, .dName, .shortDsc, .longDsc, .note, .email'); $(e).parents('.authordiv').find('.longDsc').addClass('table-inbox-textMessage').off('click'); t.attr('contenteditable', 'true'); }, visibl: function (e) { var params = new Object(); params['id'] = $(e).parents('.authordiv')[0].id; if ($(e).hasClass('on')) { params['visible'] = 0; $(e).removeClass('on'); } else { params['visible'] = 1; $(e).addClass('on'); } debug.cnsl(params); j.post(['update', 'authorVisible'], function (data) { debug.cnsl(data); }, params); }, save: { edit: function (e) { var authordiv = $(e).parents('.authordiv'); authordiv.removeClass('editing') .find('.longDsc').removeClass('table-inbox-textMessage') .on('click', function () { $(this).toggleClass('table-inbox-textMessage'); }); var dataField = authordiv.find('*[contenteditable="true"]'); var params = new Object(); $.each(dataField, function (i, field) { field = $(field); debug.cnsl(field); params[field[0].className] = field[0].textContent; }); debug.cnsl(authordiv); // return false; params['id'] = authordiv[0].id; debug.cnsl(params); j.post(['update', 'author'], function (data) { debug.cnsl(data); if (isDefined(data.status) && data.status == 1) { message('Has been updated successfully.', 1); } else message("Error updating info", 0); }, params); dataField.removeAttr('contenteditable'); } }, add: function () { $('#modal_form_vertical form')[0].reset(); $('#modal_form_vertical').modal('show'); frmo.authorId = 'new'; frmo.imag.load(); }, del: function (e) { if (confirm("Are you sure want to delete author?")) { j.post(['delete'], function (data) { if (isDefined(data.status) && data.status == 1) { message('Author has been deleted successfully.', 1); $(e).parents('.authordiv').remove(); } else message("Error deleting author", 0); }, {id: $(e).parents('.authordiv')[0].id}); } }, insert: function () { var author = ff.toObj('addAuthorModal'); author['imgId'] = $('input[name="imgId"]').val(); j.post(['insert', 'author'], function (data) { debug.cnsl(data); if (data.status) { message('Author has been created successfully.', 1); frmo.authors = data.authors; frmo.run.authorGrid(data.authors); $('.longDsc').on('click', function () { $(this).toggleClass('table-inbox-textMessage'); }); $('#modal_form_vertical').modal('hide'); } else { message("Error creating new author", 0); } }, author); }, onstorage: function (ev) { if (ev.key == ('authorImgId' + frmo.authorId) && ev.newValue != null) { var imgId = ev.newValue; if (frmo.authorId == "new") { $('#new input[name="imgId"]').val(imgId); frmo.imag.load(imgId); } else { frmo.imag.update(imgId); } localStorage.removeItem(ev.key); } }, imag: { update: function (imgId) { var dataForUpdate = { id: frmo.authorId, imgId: imgId }; debug.cnsl(dataForUpdate); j.post(['update', 'applytoid'], function (data) { debug.cnsl(data); if (data.status) { message('Apply image to Author id - successfully!', 1); frmo.imag.load(imgId); } else { message('Error apply image to Author id...', 0); } }, dataForUpdate); }, load: function (imgId, W, H, name) { imgId = imgId || 4000; name = name || 'temp' + parseInt(Math.random() * 100000); W = W || 120; H = H || 120; var imgUrl = img.url(parseInt(imgId), W, H, name); var curBlock = (frmo.authorId == 'new' ? '#addAuthorModal' : '#' + frmo.authorId) + ' img'; var waitId = wait.on(); $(curBlock).off('load').on('load', function () { wait.off(waitId); }); $(curBlock)[0].src = imgUrl; }, clear: function () { //only for new author if (confirm('Reset image?')) { frmo.imag.load(); $('input[name="imgId"]').val(frmo.resetimgId); } }, zoom: function (e) { var imgId = $(e).parents('.photo')[0].dataset.imgId; var nameAuthor = $(e).parents('.authordiv').find('h6.Name').text().trim().replace('(', ' ').replace(')', '').trim(); var W = frmo.imagesInfo[imgId].imgW; var H = frmo.imagesInfo[imgId].imgH; $('#authorImageZoom img')[0].src = img.url(imgId, W, H, nameAuthor); frmo.dialog = bootbox.dialog({ additionalClassName: 'authorImageZoom', message: $('#authorImageZoom')[0].outerHTML }); } } };frm[110] = { init:function(){ if(!isDefined(frmo.newRow))frmo.newRow = $('.category').remove().clone(); j.post(['init'], function (data) { //debug.cnsl(data); frmo.run.categoriesList(data.categories); }, {}); }, run:{ categoriesList: function (categories) { $('#categoriesTbody').empty(); var categoryRow; $.each(categories, function (i, category) { categoryRow = frmo.newRow.clone(); categoryRow[0].id = parseInt(category.id); $.each(category,function (fieldName,val) { var td = $(categoryRow).find('.'+fieldName); if(fieldName=='createDate') val = parseDate.shortDate(val); if(fieldName=='active') { if (val == 1) td.find('input[name="active"]').attr('checked', 'checked'); else td.find('input[name="active"]').removeAttr('checked', 'checked'); } else td.text(val); }); categoryRow.find('td.editable').on('click',function (e) { $(this).off(); frmo.edit.td(e.target); }); categoryRow.appendTo('#categoriesTbody').show(); }); }, addLine:function () { if($('#new').is('tr')) {message('Press "Add" for previos line', 3); return;} var row = frmo.newRow.clone().show(); $(row).find('td.editable.text').each(function (i,td) { var fieldName = $(td)[0].className.replace('editable','').replace('text','').trim(); $(td).append(''); }); $(row).find('button:not(.add), td.active *').remove(); $(row).find('button.add').show(); $(row)[0].id = 'new'; $(row).css('background-color','#8fbc8f'); $('#categoriesTbody').append(row); $("html, body").animate({ scrollTop: $(document).height() }, 1000); } }, update:{ active:function (e) { // debug.cnsl(ff.chkBoxVal(e)); // var data = ff.toObj($(e).parents('tr')[0].id); // debug.cnsl(data); // data.id = $(e).parents('tr')[0].id; j.post(['update', 'active'], function (data) { console.log(data); if (data.status) message('Saved!', 1); else message('Not saved!',0); // form.init(); }, {id:$(e).parents('tr')[0].id, active: ff.chkBoxVal(e) }); }, td:function (e,a) { var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update','all'], function (data) { if(data.status){ message('Saved!',1); if(!a)form.init(); } else message('Not saved!(',0); }, formData); } }, insert:function (e) { var formData = ff.toObj('new'); // if (!isDefined(formData['id'])) formData['id'] = id; // debug.cnsl(formData); j.post(['insert', 'new'], function (data) { console.log(data); if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color','#deb887'); } }, formData ); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className; if (fieldName=='') fieldName = $(e).parents('td')[0].className; fieldName = fieldName.replace('editable','').replace('text','').trim(); debug.cnsl(fieldName); $(e).empty(); // if( $(e).hasClass('num') ) $(e).append(''); // else if( $(e).hasClass('textarea') ) $(e).append(''); // else if( $(e).hasClass('selector') ) $(e).append($(frmo.modulListSelect).val(text.match(/\d+$/)[0])); if($(e).hasClass('text')) $(e).append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del:function (e) { //console.log(e); if(confirm('Delete?')) j.post(['delete'], function (data) { //console.log(data); if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } else message('Category wasn\'t deleted. It has own articles', 3); }, {id: $(e).parents('tr')[0].id }); } }; frm[111] = { pagerCount: 50, folder:'', mailCount : 0, page: 0, finish: 0, init:function(params){ // message('111 js is live'); // console.log(params); frmo.folder = params.shift(); frmo.page = params.shift(); switch (frmo.folder) { case 'spamList': { frmo.get.spamList(); break; } case 'starredList': { frmo.get.starredList(); break; } case 'trashList': { frmo.get.trashList(); break; } case 'list' :{ frmo.get.list(); break; } default: { nav.goTo(111,['list',0]); break; } } }, get: { spamList:function () { j.post(['spamList'], function (data) { frmo.run.mailList(data); title.insert('spamList', 'Spam mails'); $('#spamA').parent('li').addClass('active'); }, {page:frmo.page}); }, starredList:function () { j.post(['starredList'], function (data) { frmo.run.mailList(data); title.insert('starredList', 'Starred mails'); $('#starredA').parent('li').addClass('active'); }, {page:frmo.page}); }, trashList:function () { j.post(['trashList'], function (data) { frmo.run.mailList(data); title.insert('trashList', 'Trash mails'); $('#trashA').parent('li').addClass('active'); }, {page:frmo.page}); }, list: function () { j.post(['init'], function (data) { frmo.run.mailList(data); $('#inboxA').parent('li').addClass('active'); }, {page:frmo.page}); } }, run: { mailList: function (data) { // console.log(data); frmo.run.panel(data); var mailTable = $('#mailTable'); var mailRow = mailTable.find('tr').remove().clone(); $.each(data.mails, function (i, mail) { mailRow.find('.table-inbox-time').text(parseDate.shortDate(mail.date)); mailRow.find('.table-inbox-subject').text(mail.subject); mailRow.find('.table-inbox-email').text(mail.email); mailRow.find('.table-inbox-preview').text(mail.message); mailRow.find('.table-inbox-name div').text(mail.name); mailRow.find('.techInfo').text(mail.techInfo); if(mail.location != null)mailRow.find('.table-inbox-name .location').text(mail.location); mailRow.find('.table-inbox-name .ip').text(mail.ip); if(mail.unread == '1') mailRow.addClass('unread'); else mailRow.removeClass('unread'); if(mail.starred == '1') mailRow.addClass('starred'); else mailRow.removeClass('starred'); if(mail.spam == '1') mailRow.addClass('spam'); else mailRow.removeClass('spam'); if(mail.trash == '1') mailRow.addClass('trash'); else mailRow.removeClass('trash'); mailRow[0].id = mail.id; mailRow.appendTo(mailTable).show(); mailRow = mailRow.clone(); }); $('.table-inbox-preview').on('click',function (e) { // $(this).toggleClass('table-inbox-textMessage'); $(this).addClass('table-inbox-textMessage'); $('.table-inbox-message .unread').toggle(); if($(this).parents('tr').hasClass('unread')) frmo.update(e.target, 'unread'); }); $('.table-inbox-message .unreadIcon').on('click', function (e) { frmo.update($(e.target).prev()[0], 'unread'); $(e.target).prev().toggleClass('table-inbox-textMessage'); }); }, panel:function (data) { var unread = data.unread; var today = data.today; var spam = data.spam; frmo.listCount = data.mailCount; if(parseInt(today)>0){ $('#today').text(today);$('#todayinfo').show(); } $('#unread').text(unread); if(parseInt(spam)){ if(parseInt(spam)>100) spam = '99+'; $('#spam').text(spam); } $('#inboxA')[0].href=nav.link(111,['list',0]); $('#starredA')[0].href=nav.link(111,['starredList',0]); $('#spamA')[0].href=nav.link(111,['spamList',0]); $('#trashA')[0].href=nav.link(111,['trashList',0]); /*if(typeof frmo.mailCount != 'undefined') { $('#inboxAll').text(frmo.mailCount); if(parseInt(frmo.mailCount-frmo.page*50)>50) frmo.finish = parseInt(frmo.page)*50+50; else frmo.finish = parseInt(frmo.mailCount); $('#currentMailPagePossition').text( (parseInt(frmo.page)*50+1) + '-' + (frmo.finish) ); }*/ pagerService(); } }, pager: { next:function () { nav.goTo(111,[frmo.folder,parseInt(frmo.page)+1]); }, prev:function () { nav.goTo(111,[frmo.folder,parseInt(frmo.page)-1]); } }, update: function (e, type) { console.log(e, type); var id = $(e).parents('tr')[0].id; var val = $(e).parents('tr').hasClass(type) ? 0 : 1; console.log(id); j.post(['update',type], function (data) { console.log(data); if(data.status){ message('All saved!',1); if(type=='spam' || type =='trash') $(e).parents('tr').remove(); else $(e).parents('tr').toggleClass(type); frmo.run.panel(data); } }, {id:id,val:val}); } }; /*function pagerService() { if(frmo.page>0) $('#pagerPrev').removeProp('disabled'); else $('#pagerPrev').prop( 'disabled', 'disabled' ); if((parseInt(frmo.page)+1) >= Math.ceil(parseInt(frmo.mailCount)/50)) $('#pagerNext').prop( 'disabled', 'disabled' ); else $('#pagerPrev').removeProp('disabled'); }*/ frm[113] = { listItem: '', page: 0, pages: 0, subscribersCount: 0, init:function(params){ if(!isDefined(params[0])) this.page = 1; else this.page = parseInt(params[0]); this.get.list(); }, get: { list:function (){ j.post(['init'], function (data) { frmo.subscribersCount = parseInt(data.count); frmo.pages = Math.ceil(data.count/300); frmo.pager.gen(); frmo.run.subscribersList(data.subscribers); }, {page:frmo.page}); } }, run:{ subscribersList:function (subscribers) { frmo.listItem = $('.subscriber').remove().clone(); var subscriberRow; $.each(subscribers, function (i, subscriber) { // debug.cnsl(subscriber); subscriberRow = frmo.listItem.clone(); subscriberRow[0].id = parseInt(subscriber.id); $.each(subscriber,function (fieldName,val) { var td = $(subscriberRow).find('.'+fieldName); if(fieldName=='createDate'||(fieldName=='lastSend' && val != '0000-00-00 00:00:00' ))val = parseDate.shortDate(val); if(val == '0000-00-00 00:00:00' )val = ''; if(fieldName=='email')val = val.slice(0,5)+'...'+val.slice(-5); td.text(val); }); subscriberRow.appendTo('#subscribersTbody').show(); }); } }, pager: { gen: function () { debug.cnsl(frmo.subscribersCount); if (frmo.subscribersCount > 300) { $('#pager').fadeIn(250); if(frmo.page > frmo.pages) nav.goTo(form.id,[pages]); var elem = $('#page').remove().clone(); var pages = frmo.pages; while(pages > 0){ elem = elem.clone(); elem[0].id = 'page'+pages; elem.find('a').text(pages)[0].href = nav.link(form.id,[pages]); elem.insertAfter('#pagePrev'); pages--; } } else $('#pager').fadeOut(250); $('#pager a').removeClass('active'); $('#page'+frmo.page).addClass('active'); if(frmo.page == 1) document.getElementById('pagePrev').classList.add('hidden'); if(frmo.page >= frmo.pages) document.getElementById('pageNext').classList.add('hidden'); } } };frm[114] = { init:function(params){ if(params.length>0) { $('#holiday').show(); j.post(['init'], function (data) { frmo.run.sidebar(data.holidayList); }, {}); switch (params[0]) { case 'create': { frmo.loadImg(); frmo.hid = "new"; title.insert('create', 'Add holiday'); $('#addButton').show(); // Form validation ff.validation(e('holidayForm'), frmo.ins); break; } case 'edit': { frmo.hid = params[1]; frmo.getInfo.holiday(params[1]); title.insert('edit/'+params[1], 'Edit holiday'); $('#saveButton').show(); // Form validation ff.validation(e('holidayForm'),function(){frmo.update.info(params[1])}); break; } default: break; } }else{ j.post(['init'], function (data) { frmo.run.sidebar(data.holidayList); frmo.run.holidaysTable(data.holidayList); }, {}); } }, ins:function () { var parameter = ff.toObj('holidayForm'); parameter['imgId']=document.getElementById('holImage').dataset.id; j.post(['insert'],function (data) { // console.log(data); if(data.status) { message('Holiday settings has been saved.',1); nav.goTo(114); } },parameter); }, update:{ activate:function(e){ var p = e.getAttribute('id'); j.post(['update', p], function (data) { console.log('update activate ...'); frmo.init(false); if(data.status == true) message('Holiday settings has been saved.',1); else if(data.status == "Duplicate entry '1-1' for key 'UK_holidays'") message('You can\'t save two active and turned on holidays.',0); else{ message('System error!',0); console.log(data); } }, {id:$(e).parents('tr')[0].id,active:$(e)[0].checked}); }, info:function (id) { console.log('update info ...'); // alert('update info ...'); fixCheckbox(); var parameter = ff.toObj('holidayForm'); parameter['id']=id; parameter['imgId']=document.getElementById('holImage').dataset.id; debug.cnsl(parameter); j.post(['update','info'], function (data) { debug.cnsl(data); if(data.status == true) { message('Holiday settings has been saved.',1); } else if(data.status == "Duplicate entry '1-1' for key 'UK_holidays'") message('You can\'t save two active and turned on holidays.',0); else message('System error!',0); }, parameter ); } }, del:function(e){ // console.log(); if(confirm( 'Do you want to delete holiday: \n'+$(e).parents('tr').find('td:first-child').text()+' ?' )) j.post(['del'], function () { message('Holiday has been deleted.',1); $(e).parents('tr').remove(); }, {id:$(e).parents('tr')[0].id}); }, run: { sidebar: function (list){ var hl = $('#holidaysList').empty(); if (parseInt(frmPerms.ins)) { $('#addLi').show(); // $('#addA')[0].href = nav.link(114, ['create']); } for (var h in list) { hl.append('
  • ' + list[h].name + '
  • '); } enhancements.collapse.form.menu(); }, holidaysTable: function (list) { e('holidayTbody').innerHTML = ''; var edit = parseInt(frmPerms.edit) ? '' : 'disabled=""'; var del = parseInt(frmPerms.del) ? '' : 'disabled=""'; console.log(list); for (var h in list) { var checkedAct = parseInt(list[h].active) ? 'checked="checked"' : ''; var checkedHol = parseInt(list[h].holidayOn) ? 'checked="checked"' : ''; var link = nav.link(frmo.id, ['edit', list[h].id]); // console.log(checked); $('' + ' '+list[h].imgId+'' + ''+list[h].startDay +'.'+(list[h].startMonth>9?list[h].startMonth:'0'+list[h].startMonth)+'' + ''+list[h].endDay +'.'+(list[h].endMonth>9?list[h].endMonth:'0'+list[h].endMonth)+'' + '' + ' ' + '' + '' + ' ' + '' + '' + list[h].name + '' + '' + list[h].createUser + '' + '' + ' ' + ' ' + // ' ' + '' + '').appendTo('#holidayTbody'); } $('#holidaysTable').show(); }, holidayForm: function (h) { console.log(h); $('#name').val(h.name); // console.log(h.active==1); if(h.active==1) $('#active').attr('checked', 'checked'); else $('#active')[0].removeAttribute('checked'); if(h.holidayOn==1) $('#holidayOn').attr('checked', 'checked'); else $('#holidayOn')[0].removeAttribute('checked'); if(h.imgId){ document.getElementById('holImage').src = img.url(h.imgId, 500, 0, 'holiday'); document.getElementById('holImage').dataset.id = h.imgId; } $('#createUser').val(h.createUser); $('#createDate').val(parseDate.shortDate(h.createDate)); $('#updateUser').val(h.updateUser); $('#updateDate').val(parseDate.shortDate(h.updateDate)); $('#note').val(h.note); $('#html').val(h.html); $('#startMonth').val(h.startMonth); $('#startDay').val(h.startDay); $('#endMonth').val(h.endMonth); $('#endDay').val(h.endDay); } }, getInfo:{ holiday:function (id) { j.post(['info'], function (data) { frmo.run.holidayForm(data.holidayInfo); }, {id:id}); } }, loadImg: function (imgId) { if (imgId != null) { var waitId = wait.on(); $('#holImage').off('load').on('load', function () { wait.off(waitId); }); document.getElementById('holImage').src = img.url(imgId, 540, 0, 'holiday'); document.getElementById('holImage').dataset.id = imgId; } }, goToEditForm:function (obj) { var id = $(obj).parents('tr')[0].id; debug.cnsl(form.id); debug.cnsl(id); nav.goTo(form.id,['edit',id]); }, onstorage: function (ev) { if (ev.key == ('holidayImgId' + frmo.hid) && ev.newValue != null) { frmo.loadImg(ev.newValue); localStorage.removeItem(ev.key); } } };frm[115] = { newRow:'', init:function(){ j.post(['init'], function (data) { frmo.run.anncList(data.annc); }, {}); }, run:{ anncList: function (annc) { frmo.newRow = $('.ann').remove().clone(); var annRow; $.each(annc, function (i, ann) { // console.log(ann); annRow = frmo.newRow.clone(); // annRow[0].id = 'ann'+parseInt(ann.id); annRow[0].id = parseInt(ann.id); if(ann.active==parseInt(1)) annRow.find('.status input').attr('checked','checked'); else annRow.find('.status input').removeAttr('checked'); annRow.find('.text').empty().html(ann.announce).on('click',function (e) { $(this).off(); frmo.edit.text(e.target); }); annRow.find('.createUser').text(ann.createUser); annRow.find('.createDate').text(parseDate.shortDate(ann.createDate)); annRow.appendTo('#anncTbody').show(); }); }, addLine:function () { if($('#new').is('tr')) {message('Press "Add" for previos line', 3); return;} var row = frmo.newRow.clone().show(); $(row).find('td.text').append(''); $(row).find('button:not(.add), .status *').remove(); $(row).find('button.add').show(); $(row)[0].id = 'new'; $('#anncTbody').append(row); } }, update:{ active:function (e) { j.post(['update','active'], function (data) { if(data.status) message('Saved!',1); form.init(); }, { id:$(e).parents('tr')[0].id, active:$(e)[0].checked }); }, text:function (e) { var text = $(e).parents('tr').find('.text textarea').val(); j.post(['update','text'], function (data) { if(data.status){ message('Saved!',1); $(e).attr('disabled','disabled'); $(e).parents('tr').find('td.text').empty().text(text) .on('click',function (e) { $(this).off(); frmo.edit.text(e.target); }); } }, { id:$(e).parents('tr')[0].id, text: text}); } }, insert:function (e) { j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); form.init(); } }, {text: $(e).parents('tr').find('.text textarea').val()}); }, edit: { text: function (e) { var text = ''; if($(e).hasClass('text')) text = $(e).html(); else text = $(e).parents('.text').html(); $(e).empty().append('').show(); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del:function (e) { if(confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } }, {id: $(e).parents('tr')[0].id }); } }; frm[116] = { listItem: '', livesList: new Array(), init:function(){ // message('116 js is live'); frmo.get.list(); frmo.events(); }, get: { list:function (){ j.post(['init'], function (data) { $.each(data.lives, function (num,arr) { frmo.livesList[arr.id] = arr; }); frmo.run.liveList(data.lives); }, {}); } }, events:function () { $('#auto').on('change',function (e) { frmo.fieldDepend('auto'); }); $('#type').on('change',function (e) { frmo.fieldDepend('type'); }); }, insert:function () { j.post(['insert'], function (data) { if(data.status){ message('Saved!',1); form.init(); } else message('NOT saved!', 0); }, ff.toObj('live') ); }, del:function (e) { if(confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } else message('Can not delete!', 0); }, {id: $(e).parents('tr')[0].id }); }, update: { active: function (e) { j.post(['update', 'active'], function (data) { if (data.status) message('Saved!', 1); else message('NOT saved!', 0); form.init(); }, {id: $(e).parents('tr')[0].id, active: $(e)[0].checked}); }, liveOn: function (e) { j.post(['update', 'liveOn'], function (data) { if (data.status) message('Saved!', 1); else message('NOT saved!', 0); form.init(); }, {id: $(e).parents('tr')[0].id, liveOn: $(e)[0].checked}); }, all:function () { var ffData = ff.toObj('live'); console.log(ffData); j.post(['update', 'all'], function (data) { console.log(data); if (data.status) { message('Saved!', 1); form.init(); } else message('NOT saved!', 0); }, ffData); } }, run:{ liveList:function (lives) { // console.log(lives); frmo.listItem = $('.live').remove().clone(); var liveRow; $.each(lives, function (i, live) { // console.log(live); liveRow = frmo.listItem.clone(); liveRow[0].id = parseInt(live.id); liveRow.find('.name').text(live.name); if(live.active==parseInt(1)) liveRow.find('.active input').attr('checked','checked'); else liveRow.find('.active input').removeAttr('checked'); if(live.liveOn==parseInt(1)) { if(parseInt(live.auto)==1) liveRow.find('.liveOn input').attr('checked','checked').attr('disabled','disabled'); else liveRow.find('.liveOn input').attr('checked','checked').removeAttr('disabled'); } else { if(parseInt(live.auto)==1) liveRow.find('.liveOn input').removeAttr('checked').attr('disabled','disabled'); else liveRow.find('.liveOn input').removeAttr('checked').removeAttr('disabled'); } liveRow.find('.createUser').text(live.createUser); liveRow.find('.createDate').text(parseDate.shortDate(live.createDate)); liveRow.appendTo('#liveTbody').show(); }); } }, f:{ add:function () { $('#formBlock button').hide(); $('#live')[0].reset(); $('#formBlock,#insert').fadeIn(250); if(isDefined(frmo.validateForm))frmo.validateForm.destroy(); }, edit:function (e) { $('#formBlock button').hide(); $('#live')[0].reset(); $('#formBlock,#save').fadeIn(250); if(isDefined(frmo.validateForm))frmo.validateForm.destroy(); frmo.events(); var id = $(e).parents('tr')[0].id; var formData = frmo.livesList[id]; $.each(formData,function (fieldName,val) { console.log(fieldName,val); var itemForm = $('#formBlock').find('*[name='+fieldName+']'); if(fieldName=='createDate'||fieldName=='updateDate')val = parseDate.shortDate(val); if(val=='0000-00-00')val = null; if(itemForm.is('*[type="checkbox"]')) switch(parseInt(val)){ case 0:{ itemForm.removeAttr('checked'); break; } case 1:{ itemForm.attr('checked','checked'); break; } } else itemForm.val(val); }); // Если есть условия значений взаимосвязанных полей frmo.fieldDepend('auto'); frmo.fieldDepend('type'); }, close:function () { $('#formBlock,#formBlock button').fadeOut(); $('#live')[0].reset(); } }, fieldDepend: function (type) { switch (type){ case 'auto':{ var val = parseInt($('#auto').val()); if(val) { $('#liveOn').attr('disabled','disabled'); $('#weekDay').removeAttr('disabled'); $('#date').removeAttr('disabled'); $('#type').removeAttr('disabled'); $('#startTime').removeAttr('disabled'); $('#endTime').removeAttr('disabled'); } else { $('#liveOn').removeAttr('disabled'); $('#weekDay').attr('disabled', 'disabled').val(null); $('#date').attr('disabled', 'disabled').val(null); $('#type').attr('disabled', 'disabled').val(null); $('#startTime').attr('disabled', 'disabled').val(null); $('#endTime').attr('disabled', 'disabled').val(null); } break; } case 'type':{ var val = parseInt($('#type').val()); switch (val) { case 1: { $('#weekDay').attr('disabled', 'disabled').val(null); $('#date').removeAttr('disabled'); break; } case 2: { $('#weekDay').removeAttr('disabled'); $('#date').attr('disabled', 'disabled').val(null); break; } } break; } } } };frm[117] = { tempAdminData:new Array(), userId:false, init:function(fpath){ // form menu init j.post(['init'], function (data) { var a,ul = e('userList'), list = data.list; empty(ul); for(var i in list){ a = e(null, e(list[i].id, ul, 'li'), 'a'); a.href = nav.link(117, [list[i].id]); a.innerHTML = list[i].lastName + ' ' + list[i].firstName; } enhancements.collapse.form.menu(); frmo.tempAdminData=sett.user; }, {}); // if edit user if(fpath.length>0 && regex.userId.test(fpath[0])){ // try go get user info j.post(['info'], function (data){ frmo.tempAdminData = data.user; frmo.homeForm(); document.getElementById('password').required = false; debug.cnsl(data); if(data.result == 1){ // assign user id to frmo frmo.userId = data.userId; // fill in form frmo.process.userData(data.user); // display loginlog frmo.process.logData(data.loginLog); // display permissions frmo.process.permissions.init(data.permissions); frmo.process.permLog(data.permLog); // update menu $("#"+data.userId).addClass('active'); // display needed elements for edit user $(".hideaway").removeClass('hidden'); // display login log } else{ this.userId = false; $("#newUserli").addClass('active'); // hide unneeded elements for new user $(".hideaway").addClass('hidden'); } }, {userId: fpath[0]}); } else{ delete frmo.tempAdminData; frmo.homeForm(); this.userId = false; $("#newUserli").addClass('active'); // hide unneeded elements for new user $(".hideaway").addClass('hidden'); } // assign link to new user button e('newUserA').href = nav.link(form.id); // make sidebar collapsible enhancements.collapse.form.sidebarCategory(); // Form validation ff.validation(e('profileForm'), frmo.update.profile); }, process:{ userData:function(data){ debug.cnsl(data); title.insert(frmo.userId, data.firstName + ' ' + data.lastName); if(parseInt(sett.user.su)==0) e('accSett').attr('hidden','true'); else { if(data.su!=0 ) var su = e('su').setAttribute('checked','checked'); if(data.active == 1) var active = e('active').setAttribute('checked','checked'); if(data.dev == 1) var dev = e('dev').setAttribute('checked','checked'); } e('user').value = data.user; e('firstName').value = data.firstName; e('lastName').value = data.lastName; e('email').value = data.email; e('phone').value = data.phone; e('skype').value = data.skype; e('viber').value = data.viber; e('createDate').value = parseDate.shortDate(data.createDate); e('createUser').value = data.createUser; var photoElement = e('photo'); if (data.photo == 1) photoElement.src = '/img/users/' + frmo.userId + '.jpg'; photoElement.onclick = function () { e("photoSelect").click(); return false; }; }, logData: function (data) { var tr, td, tbody = e('loginLog'); empty(tbody); for (var l in data) { tr = e(null, tbody, 'tr'); e(null, tr, 'td').innerHTML = data[l].ip; e(null, tr, 'td').innerHTML = parseDate.shortDate(data[l].timeStamp); tr = e(null, tbody, 'tr'); td = e(null, tr, 'td'); td.setAttribute('colspan', 2); td.innerHTML = data[l].location; } }, photo: function () { var image = e('photoSelect').files[0]; // check for jpg if (image.type != "image/jpeg") message("The file must be in jpeg format.", 0); // check for size else if (image.size > 2097152) message("The file must be less then 2MB.", 0); // upload else j.image(['update', 'updatePhoto'], image, function (data) { // update if (data.statusQR) message('User photo has been updated :)', 1); else message('Error updating user photo :(', 0); e('photo').src = '/img/users/' + sett.user.id + '.jpg?' + new Date().getTime(); }, {userId: e('id').value.trim()}); }, permissions:{ init:function(data){ var rows = e('permissionRows'), r,mod; empty(rows); rows.innerHTML = '
    Permit
    Edit
    Insert
    Delete
    '; for(var i in data){ r = e(null, rows, 'div', 'row withBorder'); if(mod != data[i].modName)e(null,e(null, r, 'div', 'col-md-2'),'span','text-semibold').innerHTML = data[i].modName; else e(null, r, 'div', 'col-md-2'); e(null, r, 'div', 'col-md-4').innerHTML = ""+(data[i].id) +" - "+data[i].name; this.chkBox(e(null, r, 'div', 'col-md-2'), data[i].allow,'p'+data[i].id); if(data[i].allow){ this.chkBox(e(null, r, 'div', 'col-md-1'), data[i].edit,'e'+data[i].id); this.chkBox(e(null, r, 'div', 'col-md-1'), data[i].ins,'i'+data[i].id); this.chkBox(e(null, r, 'div', 'col-md-1'), data[i].del,'d'+data[i].id); //this.chkBox(e(null, r, 'div', 'col-md-1'), data[i].dev,'v'+data[i].id); } if(data[i].dsc){ r = e(null, rows, 'div', 'row'); e(null, r, 'div', 'col-md-2'); e(null, r, 'div', 'col-md-10 text-muted text-size-small').innerHTML = data[i].dsc; } mod = data[i].modName; } }, chkBox:function(el,value,formId){ var label, input, div; label = e(null, el, 'label', 'slsCheckbox slsCheckbox--checkbox--sm'); input = e(null, label, 'input'); input.type = 'checkbox'; input.id = formId; input.setAttribute('onchange', "frmo.update.permission(this)"); if(sett.user.su==0) input.setAttribute('disabled','disabled'); if(value == 1) input.checked = 'checked'; e(null, label, 'div', 'slsCheckbox__indicator'); } }, permLog:function(data){ var tr, td, tbody = e('permLog'); empty(tbody); for (var l in data) { tr = e(null, tbody, 'tr'); e(null, tr, 'td').innerHTML = data[l].form; td = e(null, tr, 'td'); if(data[l].step == "p")td.innerHTML = 'Permit'; else if(data[l].step == "e") td.innerHTML = 'Edit'; else if(data[l].step == "i") td.innerHTML = 'Insert'; else if(data[l].step == "d") td.innerHTML = 'Delete'; e(null, tr, 'td').innerHTML = (data[l].v == 1 ? "Allow" : "Deny"); tr = e(null, tbody, 'tr'); td = e(null, tr, 'td'); td.setAttribute('colspan', 3); td.innerHTML = 'By ' + data[l].createUser + ' on ' + parseDate.shortDate(data[l].timeStamp); } } }, update:{ active:function(el){ j.post(['update','active'], function (data) { if(data.result == 1)message('Account Status has been updated.', 1); else message('There was an error updating Account Status.', 0); }, {value:el.checked,userId:frmo.userId}); }, su:function(el){ // alert('gdfg'); j.post(['update','su'], function (data) { debug.cnsl(data); if(data.result == 1)message('Admin SuperUser has been updated.', 1); else message('There was an error updating Admin SuperUser.', 0); }, {su:ff.chkBoxVal(el),userId:frmo.userId}); }, dev:function(el){ j.post(['update','dev'], function (data) { if(data.result == 1){ debug.cnsl(data); message('Dev mode has been updated.', 1); } else message('There was an error updating Dev mode.', 0); }, {dev:ff.chkBoxVal(el),userId:frmo.userId}); }, profile:function(){ var targetPath, obj={ user:e('user').value.trim(), pass:e('password').value.trim(), firstName:e('firstName').value.trim(), lastName:e('lastName').value.trim(), email:e('email').value.trim(), phone:e('phone').value.trim(), skype:e('skype').value.trim(), viber:e('viber').value.trim(), homeForm:e('homeForm').value.trim() }; debug.cnsl(obj); // alert('view console'); if(frmo.userId){ targetPath = ['update', 'profile']; obj.userId = frmo.userId; } else targetPath = ['insert', 'profile']; debug.cnsl(targetPath); j.post(targetPath, function (data) { debug.cnsl(data); if (data.result == 1) { if (data.userId != frmo.userId) message('New Profile has been created', 1); else message('Profile #' + frmo.userId + ' has been updated', 1); nav.goTo(frmo.formId, [data.userId]); } else if (data.profileExists == 1) message("User name exists, profile has not been saved.", 3); else message("There was an error with Profile", 3); }, obj); return false; }, photo: function () { var image = e('photoSelect').files[0]; // check for jpg if (image.type != "image/jpeg") message("The file must be in jpeg format.", 0); // check for size else if (image.size > 2097152) message("The file must be less then 2MB.", 0); // upload else j.image(['update', 'photo'], image, function (data) { // update if (data.statusQR) message('User photo has been updated :)', 1); else message('Error updating user photo :(', 0); e('photo').src = '/img/users/' + frmo.userId + '.jpg?' + new Date().getTime(); }, {userId: frmo.userId}); }, permission:function(el){ j.post(['update', 'permission'], function (data) { if(data.result == 1){ frmo.process.permissions.init(data.permissions); frmo.process.permLog(data.permLog); } else message('Error updating permission', 0); }, {id: el.id, value: el.checked, userId:frmo.userId}); }, defPerm:function(){ if(confirm('Are you sure want to set default permissions for this user?\nWARNING: This action delete all another permissions!'))j.post(['update', 'setDEFpermissions'], function (data) { if(data.result == 1){ message('Account #' + frmo.userId + ' was updated ',1); frmo.init([frmo.userId]); } else message('Account #' + frmo.userId + ' can\'t be updated.',3); }, {userId:frmo.userId, baseUserId: 1000}); } }, del:function(){ j.post(['del'], function (data) { if(data.result == 1){ message('Account #' + data.userId + ' deleted :(',1); nav.goTo(117); } else message('Account #' + data.userId + ' can\'t be deleted.',3); }, {userId:frmo.userId}); }, homeForm:function () { var x = e('homeForm'); empty(x); for (var f2 in sett.forms){ var option = document.createElement("option"); option.text = f2 + ' - ' + sett.forms[f2]; option.value = f2; if(isDefined(frmo.tempAdminData) && frmo.tempAdminData.homeForm==f2) { option.selected = "true"; debug.cnsl(sett.user,f2); } x.add(option); } } };// uses script.js // uses validate.min.js frm[124] = { init: function () { j.post(['init'], function (data) { frmo.process.userData(data.userData); frmo.process.logData(data.loginLog); frmo.process.homeForm(data.userData.homeForm); // set validation objects on ff.validation(e('passwordForm'), frmo.update.password); ff.validation(e('profileForm'), frmo.update.profile); if(!localStorage.homeFormMsg) document.querySelector('.homeFormMsg').classList.remove('hidden'); }, {}); }, process: { userData: function (data) { e("nameFull").innerHTML = data.firstName + ' ' + data.lastName; var photoElement = e('photo'); if (data.photo == 1)photoElement.src = '/img/users/' + sett.user.id + '.jpg'; photoElement.onclick = function () { e("photoSelect").click(); return false; }; for (var f in data) e(f).value = data[f]; e('createDate').value = parseDate.shortDate(data.createDate); }, logData: function (data) { var tr, td, tbody = e('loginLog'); empty(tbody); for (var l in data) { tr = e(null, tbody, 'tr'); e(null, tr, 'td').innerHTML = data[l].ip; e(null, tr, 'td').innerHTML = parseDate.shortDate(data[l].timeStamp); tr = e(null, tbody, 'tr'); td = e(null, tr, 'td'); td.setAttribute('colspan', 2); td.innerHTML = data[l].location; } }, homeForm:function (startForm) { var x = e('homeForm'); empty(x); for (var f2 in sett.forms){ var option = document.createElement("option"); option.text = f2+' - ' + sett.forms[f2]; option.value = f2; if(startForm==f2) { option.selected = true; } x.add(option); } } }, update: { password: function () { j.post(['updatePassword'], function (data) { if (data.result == 1) { message('Password Updated', 1); e('passwordForm').reset(); frmo.init(); } else message("There was an error updating your password", 3); }, {pass: e('password').value.trim()}); return false; }, profile: function () { j.post(['updateProfile'], function (data) { if (data.result == 1) { message('Your Profile has been updated', 1); frmo.init(); } else message("There was an error updating your Profile", 3); }, ff.toObj('profileForm')); return false; }, photo: function () { var image = e('photoSelect').files[0]; // check for jpg if (image.type != "image/jpeg") message("The file must be in jpeg format.", 0); // check for size else if (image.size > 2097152) message("The file must be less then 2MB.", 0); // upload else j.image(['updatePhoto'], image, function (data) { // update if (data.result == 1) message('User photo has been updated :)', 1); else message('Error updating user photo :(', 0); e('photo').src = '/img/users/' + sett.user.id + '.jpg?' + new Date().getTime(); }, {}); } } }; frm[125] = { init:function(){ j.post(['init'], function (data) { frmo.run.adminGrid(data.admins); }, {}); }, run:{ adminGrid: function (admins) { // debug.cnsl(admins); var adminTempl = $('.admindiv').remove().clone(); $.each(admins, function (i, admin) { var admindiv = adminTempl.clone(); if(admin.su==0) admindiv.find('.isAdmin').hide(); if(admin.su==1) admindiv.find('.isAdmin').show(); var photo = parseInt(admin.photo) == 1 ? '/img/users/' + admin.id + '.jpg' : '/img/placeholder.jpg'; //admindiv.find('.photo a')[0].href = photo; admindiv.find('.photo img')[0].src = photo; admindiv[0].id = 'admin'+parseInt(admin.id); admindiv.find('.adminName').text(admin.firstName+' '+admin.lastName); admindiv.find('.adminEmail').html(''+admin.email+''); if (admin.viber!='') admindiv.find('.contacts').append('
  • Viber: '+admin.viber+'
  • '); if (admin.skype!='') admindiv.find('.contacts').append('
  • Skype: Start chat('+admin.skype+')
  • '); if (admin.phone!='') admindiv.find('.contacts').append('
  • Phone: '+admin.phone+'
  • '); admindiv.appendTo('#adminGrid'); }) } } };frm[126] = { mid: 10000, // root mid dirStr: false, // holds all directory structure, sett: false, // holds data of current mid settings list: false,// holds list of current mid html: false,// for original html objects clipBrd: false,// holds copy of copied to clipboard for paste button blockLocalName: false, blockLocalTheme: false, serverData: false, init: function (fpath, order) { order = order || ''; // default orderBy - as dir settings value frmo.orderQ = order; if (order != '') empty(e('path')); if (isDefined(fpath) && fpath.length > 0 && regex.mid.test(fpath[0])) this.mid = fpath[0]; if (this.html == false) { this.html = { listTr: e('listTr').innerHTML // holds original tr structure for list }; } j.post(['init'], function (data) { // return false; if (isDefined(data.sett)) { // save data frmo.list = data.list; frmo.order = data.order; frmo.orderQ = data.orderQ; frmo.sett = data.sett; if (isDefined(data.str)) { frmo.dirStr = data.str; } // push title title.insert(data.sett.mid, data.sett.name); debug.cnsl(data); // clone Object // frmo.serverData = Object.assign({}, data); // frmo.serverData = deepCopy(data); frmo.process.settings(data.sett); // build settings frmo.process.list(data.list); // build list frmo.process.dirDataList(data.str); // build dir list for move mid // закрасить столбцы если редактируется локальное значение if (ff.chkBoxVal(e('localName'))) { document.getElementById("listBody").className += " localName"; } if (ff.chkBoxVal(e('localTheme'))) { document.getElementById("listBody").className += " localTheme"; } } else { message("Mid couldn't be found."); frmo.init([10000]); } }, {mid: this.mid, str: (this.dirStr == false ? 1 : 0), order: order}); }, events: { localName: { toggle: function () { $('#listBody').toggleClass('localName'); j.post(['init'], function (data) { debug.cnsl('localName'); // var data = deepCopy(frmo.serverData); if (ff.chkBoxVal(e('localName'))) { frmo.blockLocalName = false; // frmo.process.list(data.list); // build list } else { frmo.blockLocalName = true; // frmo.process.list(data.list); // build list } frmo.process.list(data.list); // build list }, {mid: frmo.mid, str: (frmo.dirStr == false ? 1 : 0), order: frmo.orderQ}); } }, localTheme: { toggle: function () { $('#listBody').toggleClass('localTheme'); j.post(['init'], function (data) { // var data = deepCopy(frmo.serverData); if (ff.chkBoxVal(e('localTheme'))) { frmo.blockLocalTheme = false; // frmo.process.list(data.list); // build list } else { frmo.blockLocalTheme = true; // frmo.process.list(data.list); // build list } frmo.process.list(data.list); // build list }, {mid: frmo.mid, str: (frmo.dirStr == false ? 1 : 0), order: frmo.orderQ}); } }, clearLocal: function () { // Clear Local Names/themes j.post(['update', 'clearLocal'], function (data) { debug.cnsl(data); if (data.success) { j.post(['init'], function (data) { frmo.blockLocalName = true; frmo.blockLocalTheme = true; $('#listBody').removeClass('localName localTheme'); e('localName').removeAttribute('checked'); e('localTheme').removeAttribute('checked'); frmo.process.list(data.list); // build list }, {mid: frmo.mid, str: (frmo.dirStr == false ? 1 : 0), order: frmo.orderQ}); } }, {mid: frmo.mid}); } }, process: { settings: function (s) { var f = 'settingsForm'; // convert data in proper format if (s.dirType == 1) s.dirTypeCon = "Directories"; else s.dirTypeCon = "Files"; s.createDate = parseDate.shortDate(s.createDate); // fill in inputs var inputs = e(f).getElementsByTagName('input'); for (var i in inputs) if (isDefined(s[inputs[i].name])) { if (inputs[i].type == 'checkbox') { // disable checkbox in case if it is directory type if (s.dirType == 1) inputs[i].setAttribute('disabled', ''); // else if check if it needs to be checked else if (s[inputs[i].name] == 1) inputs[i].checked = "checked"; } else inputs[i].value = s[inputs[i].name]; } // fill in selects var selects = e(f).getElementsByTagName('select'); for (var sel in selects) if (isDefined(s[selects[sel].name])) selects[sel].options.selectedIndex = s[selects[sel].name]; // fill in text areas var ta = e('f' + form.id).getElementsByTagName('textarea'); for (var t in ta) if (isDefined(s[ta[t].name])) ta[t].value = s[ta[t].name]; // enable form validation ff.validation(e(f), frmo.update.settings); ff.validation(e("noteForm"), frmo.update.settings); // verify permissions ff.validateEditPermissions(e(f), s.createUser); // add theme name to list table if (s.dirThName != '' && s.dirThName != null) e('tableThName').innerHTML = s.dirThName; else $(e('tableThName')).addClass('empty'); // create path for the table list var pmid = s.mid, h = e('path'), a, parent; frmo.pmid = pmid; h.innerHTML = ''; while (pmid > 10000) { parent = frmo.dirStr[pmid]; $(h).prepend(' / ' + parent.name + ' '); // take next parent mid pmid = parent.pmid; } $(h).prepend(' Media '); // show drag drop or create dir based on dir type and if user has insert permissions if (frmPerms.ins == 1) { if (s.dirType == 0) { $('#drop-zone').removeClass('hidden'); del.id('createDirectoryButton'); } else if (s.dirType == 1) del.id('uploadFilesButton'); } }, list: function (list) { var tr, fields, f, fName, i, ind, c, row, name, icon, totalTime = 0, totaSize = 0, tbody = e('listBody'), indicators; empty(tbody); // for (var l in list){ for (c in frmo.order) { var l = frmo.order[c]; row = list[l]; // calculate total values totalTime = totalTime + Number(row.playTime); totaSize = totaSize + Number(row.size); // row icon if (row.dir == 1) row.icon = "icon-folder3"; else if (row.ext == 'mp3') row.icon = "icon-music"; else if (row.ext == 'mp4') row.icon = "icon-screen3"; else if (row.ext == 'pdf') row.icon = "icon-file-pdf"; else row.icon = " icon-file-empty"; // format size if (row.size) row.size = formatBytes(row.size, 1); // format time row.playTime = formatTime(row.playTime); // format date row.createDate = parseDate.shortDate(row.createDate); var gName = false, gTheme = false; // local name/theme replase // debug.cnsl('test !frmo.blockLocalName'); // debug.cnsl(!frmo.blockLocalName); if (row.localName && row.localName != "" && !frmo.blockLocalName) { // debug.cnsl('localName'); // debug.cnsl(row.localName); gName = row.name || ""; e('localName').setAttribute('checked', 'checked'); row.name = row.localName; /*+"

    "+ "
    Global name: ("+row.name+")" + "

    "*/ ; } if (row.localTheme && row.localTheme != "" && !frmo.blockLocalTheme) { // debug.cnsl('localTheme'); // debug.cnsl(row.localTheme); gTheme = row.theme || ""; e('localTheme').setAttribute('checked', 'checked'); row.theme = row.localTheme; /*+"

    "+ "
    Global theme: ("+row.name+")" + "

    "*/ ; } // debug.cnsl(gName); // debug.cnsl(gTheme); // create and fill tr debug.cnsl(row.active); if (row.active == 1) tr = e(row.mid, tbody, 'tr'); else tr = e(row.mid, tbody, 'tr', 'disactive'); tr.innerHTML = frmo.html.listTr; fields = tr.querySelectorAll('[data-name]'); for (i = 0; i < fields.length; i++) { f = fields[i]; // debug.cnsl(f); fName = f.getAttribute("data-name"); if (isDefined(row[fName])) { if (f.tagName.toLowerCase() == 'input') { if (row[fName] == 1) f.setAttribute('checked', 'checked'); f.onchange = frmo.update[fName]; } else if (f.tagName.toLowerCase() == 'i') f.className += ' ' + row[fName]; else f.innerHTML = row[fName]; // color mids based on mid owner if (fName == 'mid' && row.createUser == sett.user.id) f.className = 'text-success'; // editing permissions, verify admin level, ownership, edit permission before enable editing. if ((fName == 'name' || fName == 'theme') && ((row.createUser == sett.user.id && frmPerms.edit == 1) || sett.user.su)) { f.setAttribute('contenteditable', 'true'); f.onblur = frmo.update[fName]; if (fName == 'name' && gName) { f.setAttribute('title', "" + gName); f.className = 'local'; } if (fName == 'theme' && (gTheme || gTheme == '')) { f.setAttribute('title', "" + gTheme); f.className = 'local'; } } } } // image if (row.imgId > 4000) tr.querySelectorAll('.imgIco img')[0].src = img.url(row.imgId, 80, 35, row.name); else $(tr).remove('img').addClass('noImg'); indicators = tr.querySelectorAll('.indicators li'); for (i = 0; i < indicators.length; i++) { ind = indicators[i]; name = ind.className; if (row[name] > 0) $(ind).show(); else $(ind).hide(); } // return false; } // insert totals e('totalTime').innerHTML = formatTime(totalTime); if (totaSize > 0) e('totalSize').innerHTML = formatBytes(totaSize); // find all buttons and assign onclick event var buttons = e('listBody').querySelectorAll('[data-button]'); for (var b = 0; b < buttons.length; b++) buttons[b].onclick = frmo.button.init; var orderButtons = e('listTable').querySelectorAll('[data-order]'); frmo.orderButton.setDefOrder(frmo.orderQ); for (var oB = 0; oB < orderButtons.length; oB++) orderButtons[oB].onclick = frmo.orderButton.init; $('*[data-name="name"], *[data-name="theme"]').on('keyup', function (e) { debug.cnsl(e); e.target.className = 'local'; // $(e.target).parents(''); }); }, dirDataList: function (dataList) { var dirName = '', curId, dirListId; for (var id in dataList) { if (dataList[id].dirType == 0) dirListId = 'filesParMidList'; else dirListId = 'dirsParMidList'; curId = id; dirName = dataList[id].name; while (dataList[curId].pmid > 10000) { dirName = dataList[dataList[curId].pmid].name + ' / ' + dirName; curId = dataList[curId].pmid; } e(null, e(dirListId, null, 'datalist'), 'option').t(dirName).value = id; } } }, update: { settings: function (frm) { var obj = ff.toObj(frm.id); obj.mid = frmo.mid; j.post(['update', 'settings'], function (data, params) { if (isDefined(data.result) && data.result == 1) message(params.mid + " has been updated.", 1); else message('Error updating settings', 0); }, obj); }, name: function (ev) { // var el = ev.target; var el = $(ev.target).not('p')[0]; var newValue = el.innerText.trim(); var mid = el.closest('tr').id; if (ff.chkBoxVal(e('localName'))) frmo.update.list(mid, 'localName', newValue); else frmo.update.list(mid, 'name', newValue); }, theme: function (ev) { var el = ev.target; // var newValue = el.innerText.trim(); var newValue = el.innerText; // off TRIM!!! var mid = el.closest('tr').id; if (ff.chkBoxVal(e('localTheme'))) frmo.update.list(mid, 'localTheme', newValue); else frmo.update.list(mid, 'theme', newValue); }, active: function (ev) { var el = ev.target; var val = ff.chkBoxVal(el); if (val == 1) $(el).parents('tr').removeClass('disactive'); else $(el).parents('tr').addClass('disactive'); var mid = el.closest('tr').id; frmo.update.list(mid, 'active', val); }, activeAll: function (el) { // update list for (var m in frmo.list) frmo.list[m].active = ff.chkBoxVal(el); j.post(['update', 'activeAll'], function (data) { if (!data.success) message("Error updating active on all.", 0); else { var chks = e('listBody').getElementsByTagName('tr'); for (var c in chks) { if (c === 'length') break; if(el.checked && chks[c].classList.contains('disactive')) chks[c].classList.remove('disactive'); else if(!el.checked && !chks[c].classList.contains('disactive')) chks[c].classList.add('disactive'); chks[c].getElementsByTagName('input')[0].checked = el.checked; } } }, {mid: frmo.mid, active: ff.chkBoxVal(el)}); }, list: function (mid, field, newValue) { if (frmo.list[mid][field] != newValue) { debug.cnsl('Update ' + field + ' on ' + mid); j.post(['update', 'list', mid], function (data) { if (!data.statusQR) message("Error updating field", 0); }, {mid: mid, pmid: frmo.pmid, value: newValue, name: field}); frmo.list[mid][field] = newValue; } } }, button: { init: function (ev) { var el = ev.target; // find button name var name = el.closest('button').getAttribute("data-button"); // find mid var mid = el.closest('tr').id; debug.cnsl(name, mid); frmo.button[name](mid); }, mid: function (mid) { nav.goTo(151, [mid]); }, icon: function (mid) { var filePath = dwnldServer + mid + "/" + toUrl(frmo.list[mid].name) + "." + frmo.list[mid].ext; if (frmo.list[mid].dir == 1) nav.goTo(form.id, [mid]); else if (frmo.list[mid].ext == "mp3") { bootbox.dialog({ title: frmo.list[mid].name, message: '', buttons: { cancel: { label: ' Close' } }, backdrop: true }); } else if (frmo.list[mid].ext == "mp4") { bootbox.dialog({ title: frmo.list[mid].name, message: '', buttons: { cancel: { label: ' Close' } }, backdrop: true }); } else window.location.href = dwnldServer + mid + "/" + toUrl(frmo.list[mid].name) + "." + frmo.list[mid].ext; }, news: function (mid) { j.post(['insert', 'ner'], function (data, params) { if (isDefined(data.result) && data.result == 1) { message(params.mid + " has been added to front page news list.", 1); $('#' + mid + ' .inNews').show(); } else if (isDefined(data.result) && data.result == 2) message(params.mid + " already exists in news list."); else message("Error adding " + params.mid + " news.", 0); }, {mid: mid, ner: 'news'}); }, email: function (mid) { j.post(['insert', 'ner'], function (data, params) { if (isDefined(data.result) && data.result == 1) { message(params.mid + " has been added to news's letter list.", 1); $('#' + mid + ' .inMails').show(); } else if (isDefined(data.result) && data.result == 2) message(params.mid + " already exists in news's letter list."); else message("Error adding " + params.mid + " news's letter.", 0); }, {mid: mid, ner: 'email'}); }, recommend: function (mid) { j.post(['insert', 'ner'], function (data, params) { if (isDefined(data.result) && data.result == 1) { message(params.mid + " has been added to recommended list.", 1); $('#' + mid + ' .inRecommend').show(); } else if (isDefined(data.result) && data.result == 2) message(params.mid + " already exists in recommended list."); else message("Error adding " + params.mid + " recommended", 0); }, {mid: mid, ner: 'recommend'}); }, copyOLD: function (mid) { var $temp = $(""); $("body").append($temp); $temp.val(mid).select(); document.execCommand("copy"); $temp.remove(); frmo.clipBrd = mid; }, copy: function (mid) { var $temp = $(""); $("body").append($temp); $temp.val(mid).select(); document.execCommand("copy"); $temp.remove(); // frmo.clipBrd = mid; localStorage.setItem('clipBrd', mid); }, inMoveMid: false,// this needed to save currently in move mid move: function (mid) { frmo.button.inMoveMid = mid; var dirList = isDefined(frmo.dirStr[mid])? 'dirsParMidList' : 'filesParMidList'; bootbox.confirm({ size: 'small', title: "Where to move " + mid + " ?", // inputType: 'text', // list: 'dirList', message: '', // message: 'sdfsdfsff', callback: function (result) { if (result) { result = document.getElementById('newDirMid').value; var mid = frmo.button.inMoveMid; var targetMid = result.trim(); if (regex.mid.test(targetMid)) j.post(['update', 'move', mid], function (data, params) { if (isDefined(data.result) && data.result > 0) { if (data.result == 1) { message(params.mid + ' has been moved to ' + params.targetMid, 1); frmo.list = data.list; frmo.order = data.order; frmo.orderQ = data.orderQ; frmo.process.list(data.list); } else if (data.result == 2) message("Can't move " + params.mid + " to " + params.targetMid + " because " + params.targetMid + " incompatible with " + params.mid + ". One directory can't have directories and files in it same time.", 3); } else message('Error moving ' + params.mid, 0); }, {mid: mid, targetMid: targetMid, oldMid: frmo.mid}); else message('Wrong mid!', 0); } } }); }, del: function (mid) { j.post(['delete', mid], function (data, params) { if (isDefined(data.result)) { if (data.result == 1) { message(params.mid + ' deleted.', 1) del.id(params.mid); } else if (data.result == 2) message("Can't delete " + params.mid + " because it has child mid. Delete or move child mid first.", 3) } else message('Error deleting' + params.mid, 0); }, {mid: mid, pMid: frmo.mid}); }, // header buttons upload: function () { debug.cnsl('Upload button clicked'); e("fileSelect").click(); }, directory: function () { debug.cnsl('Directory button clicked'); bootbox.dialog({ title: "Create Directory", message: e('createDirModal').innerHTML, buttons: { success: { label: "Save", className: "btn-success", callback: function (ev) { var inputs = ev.target.closest('.modal-content').getElementsByTagName('input'); var name = inputs['newDirName'].value.trim(); var type = inputs['newDirType'].checked ? 1 : 0; j.post(['insert', 'dir'], function (data) { if (isDefined(data.result) && data.result == 1) { message('Directory has been created successfully.', 1); frmo.list = data.list; frmo.order = data.order; frmo.orderQ = data.orderQ; frmo.process.list(data.list); frmo.dirStr = data.str; } else message("Error creating new directory", 0); }, {mid: frmo.mid, name: name, type: type}); } } } } ); }, pasteOLD: function () { debug.cnsl('Paste button clicked'); var mid = frmo.clipBrd; if (regex.mid.test(mid)) { j.post(['insert', 'paste'], function (data, params) { if (isDefined(data.result)) { if (data.result == 1) { frmo.list = data.list; frmo.order = data.order; frmo.orderQ = data.orderQ; frmo.process.list(data.list); message(params.mid = " was added to " + params.pMid, 1); } else if (data.result == 2) message("Can't paste " + params.mid + " to " + params.pMid + " because " + params.pMid + " incompatible with " + params.mid + ". One directory can't have directories and files in it same time.", 3); } else message('Error pasting ' + params.mid, 0); }, {mid: mid, pMid: frmo.mid}); } else message('Wrong mid', 0); }, paste: function () { debug.cnsl('Paste button clicked'); // var mid = frmo.clipBrd; var mid = localStorage.getItem('clipBrd'); if (regex.mid.test(mid)) { j.post(['insert', 'paste'], function (data, params) { if (isDefined(data.result)) { if (data.result == 1) { frmo.list = data.list; frmo.order = data.order; frmo.orderQ = data.orderQ; frmo.process.list(data.list); message(params.mid = " was added to " + params.pMid, 1); } else if (data.result == 2) message("Can't paste " + params.mid + " to " + params.pMid + " because " + params.pMid + " incompatible with " + params.mid + ". One directory can't have directories and files in it same time.", 3); } else message('Error pasting ' + params.mid, 0); }, {mid: mid, pMid: frmo.mid}); } else message('Wrong mid', 0); } }, orderButton: { init: function (ev) { var el = ev.target; // find button name var name = el.closest('th').getAttribute("data-order"); debug.cnsl(name); title.reset(); form.setPath(); // set form ID form.setId(); // set page title form.setTitle(); if ($(el).closest('th').hasClass('desc')) { $('th.desc, th.asc').removeClass('asc desc'); frmo.init([], name + ' asc'); $(el).addClass('asc'); } else { $('th.desc, th.asc').removeClass('desc asc'); frmo.init([], name + ' desc'); $(el).addClass('desc'); } }, setDefOrder: function (orderQ) { orderQ = orderQ.split(' '); debug.cnsl(orderQ); $('th.desc, th.asc').removeClass('asc desc'); $('th[data-order="' + orderQ[0] + '"]').addClass(isDefined(orderQ[1]) ? orderQ[1].toLowerCase() : 'asc'); } }, upload: function (el) { console.log(el, el.files); upload.process(el.files, this.uploadCallback, {mid: frmo.mid}); }, drag: function (ev) { ev.stopPropagation(); ev.preventDefault(); upload.process(ev.dataTransfer.files, this.uploadCallback, {mid: frmo.mid}); }, uploadCallback: function (params) { params.formId = 126; j.post(['insert', 'upload'], function (data, params) { if (isDefined(data.success)) { // message(params.name + ' has been uploaded.', 1); if (frmo.mid == params.mid) { frmo.list = data.list; frmo.order = data.order; frmo.orderQ = data.orderQ; frmo.process.list(data.list); } } else message('Error while uploading ' + params.name); }, params); } };frm[128] = { modulesList:'', init:function(){ if(!isDefined(frmo.newRow))frmo.newRow = $('.forma').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.modulesList = data.modulesList; frmo.modulListSelect=frmo.runModulListSelect('modId'); frmo.formIdList = frmo.formIdDatalist(data.forms, 'formIdList'); frmo.run.formsList(data.forms); }, {}); }, run:{ formsList: function (forms) { $('#formsTbody').empty(); var formaRow; $.each(forms, function (i, forma) { formaRow = frmo.newRow.clone(); formaRow[0].id = parseInt(forma.id); formaRow[0].className = parseInt(forma.modId.replace(/\D+/g,"")); $.each(forma,function (fieldName,val) { var td = $(formaRow).find('.'+fieldName); if(fieldName=='icon') td.html(' '+val+''); if(fieldName=='active'||fieldName=='menuActive') { if(val==1)td.find('input[name="'+fieldName+'"]').attr('checked','checked'); else td.find('input[name="'+fieldName+'"]').removeAttr('checked','checked'); } else td.text(val); }); formaRow.find('td.editable').on('click',function (e) { $(this).off(); frmo.edit.td(e.target); }); formaRow.appendTo('#formsTbody').show(); }); //$('#modId').remove(); if(!isDefined($('select[name="modId"]')[0])){ $('#formsTable').prepend('
    ' + frmo.formIdList + frmo.modulListSelect + '
    '); } $('#formsTable .topLine .modId').off().on('change', function () {frmo.search();}); $('#formIdSelect').off().on('input', function () {frmo.search();}); }, addLine:function (e) { var did = isDefined($(e).parents('tr')[0]) ? $(e).parents('tr')[0].id : false; if($('#new').is('tr')) {message('Click "Add" for previous line', 3); return;} var row = frmo.newRow.clone().show(); $(row).find('td.editable').not('.textarea').not('.selector').each(function (i,v) { var fieldName = $(v)[0].className.replace('editable','').replace('num','').trim(); var type = $(v).hasClass('num') ? 'number' : 'text'; debug.cnsl(fieldName,type); $(v).append(''); }); $(row).find('td.editable.selector').append(frmo.runModulListSelect('modId')); $(row).find('td.editable.textarea').each(function (i,v) { var fieldName = $(v)[0].className.replace('editable','').replace('textarea','').trim(); $(v).append(''); }); $(row).find('button:not(.add):not(.cancel), .status *').remove(); $(row).find('button.add').show(); $(row).find('button.cancel').show(); $(row)[0].id = 'new'; if(did){ $(row).find('td.id')[0].innerText = 'Duplicate from '+did; $(row)[0].dataset.did = did; } $(row).css('background-color','#8fbc8f'); $('#formsTbody').prepend(row); $("html, body").animate({ scrollTop: 0 }, 1000); //$("html, body").animate({ scrollTop: $(document).height() }, 1000); } }, update:{ td:function (e,a) { a = a || false; var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData+' debug'); j.post(['update','all'], function (data) { debug.cnsl(typeof data.status); if(data.status == true){ message('Saved!',1); var line = $('#'+id).children('td'); for(var i=0; line.length > i; i++){ if(line[i].classList.contains('editable')){ var area = $(line[i]).children('input, select, textarea')[0]; if( isDefined(area)){ debug.cnsl(area.tagName); if(area.tagName=="SELECT")line[i].innerHTML=frmo.modulesList[area.value]+' - '+area.value; else line[i].innerHTML=area.value; } } } //if(!a)frmo.init(); } else if (typeof data.status=="string" && data.status.indexOf('Duplicate')+1) { message('You should use unique order key for each category!', 0); } else{ message('Has not been saved!(',0); } debug.cnsl(data); }, formData); } }, insert:function (e) { var formData = ff.toObj('new'); if (isDefined($(e).parents('#new')[0].dataset.did)) formData['did'] = $(e).parents('#new')[0].dataset.did; debug.cnsl(formData); j.post(['insert', 'new'], function (data) { debug.cnsl(data); if (data.status == true) { message('Saved!', 1); frmo.init(); } else if (!data.status && data.error.indexOf('Duplicate')+1) { message('You should use unique order key for each category!', 0); $('#new').css('background-color','#deb887'); } else { message('Not saved!', 0); } }, formData ); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className; if (fieldName=='') fieldName = $(e).parents('td')[0].className; fieldName = fieldName.replace('editable','').replace('num','').replace('textarea','').replace('selector','').trim(); debug.cnsl(fieldName); $(e).empty(); if( $(e).hasClass('num') ) $(e).append(''); else if( $(e).hasClass('textarea') ) $(e).append(''); else if( $(e).hasClass('selector') ) $(e).append($(frmo.modulListSelect).val(text.match(/\d+$/)[0])); else if($(e).not('.textarea, .selector')) $(e).not('.textarea').append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del:function (e) { if(confirm('Delete?')) j.post(['delete'], function (data) { debug.cnsl(data); if (data.status==true) { message('Deleted.'); $(e).parents('tr').remove(); } else if(data.status.indexOf('cpFormRelations')+1) message('Can\'t delete this form. Delete relations for this form first on \'Form Relations\', and then try it again', 3); else if(data.status.indexOf('cpLibFormRef')+1) message('Can\'t delete this form. Delete relations for this form first on \'Libs Relations\', and then try it again', 3); else if(data.status.indexOf('analog')+1) message('Can\'t delete this form. Delete its analog from form list, and then try it again', 3); }, {id: $(e).parents('tr')[0].id }); }, runModulListSelect: function (name) { var select = ''; select += ''; return select; }, formIdDatalist: function (data, name) { var area = ''; area += ''; /*$.each(sett.forms, function (id, name) { area += ''; });*/ for (var id in data){ area += ''; } area += ''; return area; }, search: function () { var modId = $('.modId').val(); var fid = $('#formIdSelect').val(); if(fid!='') fid='[id^="'+fid+'"]'; else fid=''; if(modId!='all') modId='.'+modId; else modId = ''; if(modId!='' || fid!=''){ $('#formsTable tbody tr').hide(); if ($('#formsTable tbody tr'+fid+modId).length==0) $('.nothingMsg').show(); else { $('#formsTable tbody tr'+fid+modId).show(); $('.nothingMsg').hide(); } } else{ $('#formsTable tbody tr').show(); $('.nothingMsg').hide(); } } }; frm[129] = { // modulesList:'', init:function(){ if(!isDefined(this.newRow))this.newRow = $('.module').clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.modulesList = data.modulesList; frmo.modulListSelect = frmo.runModulListSelect('parentModule'); frmo.run.modulesList(data.modules); }, {}); }, run:{ modulesList: function (modules) { empty(e('modulesTbody')); var moduleRow; $.each(modules, function (i, module) { moduleRow = frmo.newRow.clone(); moduleRow[0].id = parseInt(module.id); $.each(module,function (fieldName,val) { var td = $(moduleRow).find('.'+fieldName); if(fieldName=='icon') td.html(' '+val+''); else if(fieldName=='parentModule') {val = !parseInt(val) ? 'Root - '+val : frmo.modulesList[parseInt(val)]+' - '+val; td.text(val);} else td.text(val); }); moduleRow.find('td.editable').on('click',function (e) { $(this).off(); frmo.edit.td(e.target); }); moduleRow.appendTo('#modulesTbody').show(); }); }, addLine:function () { if($('#new').is('tr')) {message('Press "Add" for previous line', 3); return;} var row = frmo.newRow.clone().show(); /* var fieldName = $(e)[0].className.replace('editable','').replace('num','').trim(); if (fieldName=='') fieldName = $(e).parents('td')[0].className.replace('editable','').replace('num','').trim(); $(row).find('td.editable').not('.num').append(''); $(row).find('td.editable.num').append('');*/ $(row).find('td.editable').not('.id').not('.selector').each(function (i,v) { var fieldName = $(v)[0].className.replace('editable','').replace('num','').trim(); var type = $(v).hasClass('num') ? 'number' : 'text'; console.log(fieldName,type); $(v).append(''); }); $(row).find('td.editable.selector').append($(frmo.modulListSelect)); // .append(''); $(row).find('button:not(.add), .status *').remove(); $(row).find('button.add').show(); $(row)[0].id = 'new'; $(row).css('background-color','#8fbc8f'); $('#modulesTbody').append(row); $("html, body").animate({ scrollTop: $(document).height() }, 1000); } }, update: { /* active:function (e) { j.post(['update','active'], function (data) { if(data.status) message('Saved!',1); form.init(); }, { id:$(e).parents('tr')[0].id, active:$(e)[0].checked }); },*/ td: function (e) { var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (isDefined(formData['id'])) { formData['newId'] = formData['id']; formData['id'] = id; } if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update', 'all'], function (data) { debug.cnsl(data); if (data.status) message('Saved!', 1); else message('Not saved!', 2); frmo.run.modulesList(data.modules); }, formData); } }, insert:function (e) { // var id = $(e).parents('tr')[0].id; var formData = ff.toObj('new'); // if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color','#deb887'); } }, formData ); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className.replace('editable','').replace('num','').trim(); if (fieldName=='') fieldName = $(e).parents('td')[0].className.replace('editable','').replace('num','').trim(); debug.cnsl(fieldName); $(e).empty(); /* if( $(e).hasClass('num') ) $(e).append(''); else $(e).append('');*/ if( $(e).hasClass('num') ) $(e).append(''); else if( $(e).hasClass('textarea') ) $(e).append(''); else if( $(e).hasClass('selector') ) $(e).append($(frmo.modulListSelect).val(text.match(/\d+$/)[0])); else if($(e).not('.textarea, .selector')) $(e).not('.textarea').append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del:function (e) { if(confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } else message('Not deleted!',0); }, {id: $(e).parents('tr')[0].id }); }, runModulListSelect: function (name) { var select = ''; select += ''; return select; } }; frm[130] = { listItem: '', page: 0, pages: 0, usersCount: 0, init:function(params){ // if(!isDefined(params[0])) nav.goTo(form.id,[1]); if(!isDefined(params[0])) this.page = 1; else this.page = parseInt(params[0]); this.get.list(); }, get: { list:function (){ j.post(['init'], function (data) { frmo.usersCount = parseInt(data.count); frmo.pages = Math.ceil(data.count/300); frmo.pager.gen(); frmo.run.usersList(data.users); }, {page:frmo.page}); } }, run:{ usersList:function (users) { frmo.listItem = $('.user').remove().clone(); var userRow; $.each(users, function (i, user) { // debug.cnsl(users); userRow = frmo.listItem.clone(); userRow[0].id = parseInt(user.id); $.each(user,function (fieldName,val) { var td = $(userRow).find('.'+fieldName); if(fieldName=='createDate'||fieldName=='lastSinginDate')val = parseDate.shortDate(val); if(fieldName=='email')val = val.slice(0,5)+'...'+val.slice(-5); td.text(val); }); userRow.appendTo('#usersTbody').show(); }); } }, pager: { gen: function () { debug.cnsl(frmo.usersCount); if (frmo.pages > 1) { $('#pager').fadeIn(250); if(frmo.page > frmo.pages) nav.goTo(form.id,[pages]); var elem = $('#page').remove().clone(); var pages = frmo.pages; while(pages > 0){ elem = elem.clone(); elem[0].id = 'page'+pages; elem.find('a').text(pages)[0].href = nav.link(form.id,[pages]); elem.insertAfter('#pagePrev'); pages--; } } else $('#pager').fadeOut(250); $('#pager a').removeClass('active'); $('#page'+frmo.page).addClass('active'); if(frmo.page == 1) document.getElementById('pagePrev').classList.add('hidden'); if(frmo.page >= frmo.pages) document.getElementById('pageNext').classList.add('hidden'); } } };frm[132] = { pagerCount: 10, init: function (params) { // frmo.page = params.shift() || 0; frmo.page = params.shift(); if (!isDefined(frmo.page)) nav.goTo(form.id, [0]); // else frmo.page = params.shift(); // debug.cnsl(frmo.page); if (!isDefined(frmo.newRow)) frmo.newRow = $('#listBody tr').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.sendMails = data.sendMails; frmo.sendMailsCount = data.sendMailsCount; frmo.run.list(); $('.table-inbox-preview').on('click', function () { $(this).toggleClass('table-inbox-textMessage'); // $('.table-inbox-message .unread').toggle(); // if($(this).parents('tr').hasClass('unread')) frmo.update(e.target, 'unread'); }); }, {page: frmo.page, pagerCount: frmo.pagerCount}); }, run: { list: function () { $('#listBody').empty(); var sendMails = frmo.sendMails; $.each(sendMails, function (id, newItem) { /* var temp = $('
    '); $.each(newItem, function (name, value) { if(name=='dateSend') value = parseDate.shortDate(value); temp.append(' ' + name + ' : ' + value + ' ') }); $('#f132').append(temp);*/ var row = frmo.newRow.clone(); $.each(newItem, function (name, value) { if (name == 'dateSend') value = parseDate.shortDate(value); if (name == 'id') { // row.find('.'+name).html(''+value+''); row[0].id = value; row.find('.preview').attr('data-idMail', value); } // else row.find('.' + name).text(value); }); row.show(); $('#listBody').append(row); }); pagerMailsService(); } }, del: function (e) { var curRow = $(e).parents('tr'); if (confirm('You want delete?')) { j.post(['delete'], function (data) { debug.cnsl(data); if (data.status) { message('Deleted!', 2); curRow.remove(); } else message('Error deleting!', 0); }, {id: curRow[0].id}); } }, update: { active: function (e) { var curRow = $(e).parents('tr'); // if (confirm('You want delete?')){ j.post(['update'], function (data) { debug.cnsl(data); if (data.status) { message('Updated!', 2); // curRow.remove(); } else message('Error updating!', 0); }, {id: curRow[0].id, active: ff.chkBoxVal(e)}); // } } }, pager: { next: function () { nav.goTo(parseInt(form.id), [parseInt(frmo.page) + 1]); }, prev: function () { nav.goTo(parseInt(form.id), [parseInt(frmo.page) - 1]); } } }; function pagerMailsService() { if(typeof frmo.sendMailsCount != 'undefined') { if(parseInt(frmo.sendMailsCount-frmo.page*frmo.pagerCount)>frmo.pagerCount) frmo.finish = parseInt(frmo.page) * frmo.pagerCount+frmo.pagerCount; else frmo.finish = parseInt(frmo.sendMailsCount); $('#currentPagePossition').text( (parseInt(frmo.page)*frmo.pagerCount+1) + '-' + (frmo.finish) ); $('#allItem').text(frmo.sendMailsCount); } if(parseInt(frmo.page)>0) $('#pagerPrev').removeAttr('disabled'); else $('#pagerPrev').attr( 'disabled', 'disabled' ); if((parseInt(frmo.page)+1) >= Math.ceil(parseInt(frmo.sendMailsCount)/frmo.pagerCount)) $('#pagerNext').attr( 'disabled', 'disabled' ); else $('#pagerNext').removeAttr('disabled'); } // Для того чтобы выбрать картинку при переходе на эту форму, достаточно указать параметр через юрл // например при переходе по ссылке https://cp.blagodat.com/images/gallery/slider/13 // при выборе картинки будет создана запись в localStorage: [sliderImgId13: id выбраной картинки] // если в параметрах юрл число не указано: https://cp.blagodat.com/images/gallery/slider/13 // то в localStorage будет: [sliderImgId: id выбраной картинки] // В КОДЕ МЕНЯТЬ НИЧЕГО НЕ НУЖНО!!!!! // если хотите добавить какие-то условия для проверки, создайте их через switch/case в коде функции selector.init(); // на форме, сохранение картинки реализовать можно следующим образом, вместо slider (sliderImgId) и frmo.slideId указав используемый параметр в юрл: /* onstorage: function (ev) { if (ev.key == 'newsletterImgId' && ev.newValue != null) { frmo.updateImg(ev.newValue); localStorage.removeItem(ev.key); } } */ frm[133] = { // Gallery class limit: 24, // for start grid items searchMinLength: 2, // minimum for run search gallery: '', searchPhrase: '', searchCat: -1, selectorBtnPath: false, // window open for select image selector: { init: function (params) { frmo.selectorBtnPath = params[0]; frmo.selectorBtnText = 'Select image for ' + params[0]; frmo.selectorId = isDefined(params[1]) ? parseInt(params[1]) ? parseInt(params[1]): params[1]: ''; switch (params[0]) { case 'mid': { if (!regex.mid.test(params[1])) console.error('This mid is not valid'); break; } } }, apply: function (ev) { var newImgId = $(ev).parents('.imageBlock')[0].id; localStorage.setItem(frmo.selectorBtnPath + 'ImgId' + frmo.selectorId, newImgId); window.close(); } }, init: function (params) { if (isDefined(params) && params.length > 0) { frmo.selector.init(params); } frmo.effectsMultiselect = this.imgEffectsMultiselect('effects'); if (!isDefined(frmo.newBlock)) frmo.newBlock = $('.imageBlock').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.imgCatsList = data.imgCatsList; // SEARCH $('.searchLine').append(frmo.imgCatsListSelect('catId', 'searchimgCatId')); $('#searchimgCatId').off().on('change', function () { frmo.search() }); $('#searchButton').off().on('click', function () { frmo.search(); }); $('#notUsedSearch').off().on('change', function (ev) { frmo.search(); }); $('#search').off() .on('keypress', function (e) { if (e.which == 13) { e.preventDefault(); e.stopImmediatePropagation(); } }) .on('keyup', function (e) { if (e.which == 13) { frmo.search(); } }); // end SEARCH frmo.dataProcess(data); }, {}); }, /* if (frmo.selectorBtnPath) { $(".caption-overflow span").remove(); imageBlock.find('.selectImageFor').removeAttr('style') .html(''); imageBlock.find('.getId').hide(); }*/ run: { galleryGrid: function (empty) { empty = isDefined(empty) ? empty : true; if (empty) $('#galleryGrid').empty(); var imageBlock, i = 1, image; // $.each(frmo.gallery, function (id, image) { while (image = frmo.gallery.shift()) { // debug.cnsl(image); imageBlock = frmo.newBlock.clone(); imageBlock[0].id = parseInt(image.id); var name = (image.dsc != null) ? image.dsc.replace(' ', '+') : "null"; imageBlock.find('.basic__img').load(function (e) { // debug.cnsl('loaded'); $(e.target).fadeIn(1500); }).attr('src', frmo.imgUrl(image.id, name, 'p')); if (frmo.selectorBtnPath) { // imageBlock.find(".caption-overflow span").remove(); imageBlock.find('.caption-overflow div') .html(''); imageBlock.find('.getId').hide(); } imageBlock.find('.image--large').attr('src', frmo.imgUrl(image.id, name, 'f')); imageBlock.find('.data-id').text(parseInt(image.id)); if (frmPerms.del == 0) imageBlock.find('.del').hide(); if (frmPerms.update == 0) imageBlock.find('.editable').removeClass('editable'); // заполнение основного блока $.each(image, function (fieldName, val) { var item = $(imageBlock).find('.' + fieldName); if (fieldName == 'dsc' && frmo.searchPhrase != '') { val = val.replace(new RegExp(frmo.searchPhrase, "ig"), '' + frmo.searchPhrase + ''); item.html(val); } else item.text(val); }); // for Code block // debug.cnsl(image.width,image.height); imageBlock.find('.effects').append(frmo.effectsMultiselect); imageBlock.find('input[name="width"]').val(image.width); imageBlock.find('input[name="height"]').val(image.height); /*if (frmo.selectorBtnPath) { imageBlock.find('.selectImageFor').removeAttr('style') .html(''); imageBlock.find('.getId').hide(); }*/ // заполнение Info-блока var item = $($(imageBlock).find('.info tbody')); $.each(image, function (fieldName, val) { // if (fieldName != 'dsc') { if (fieldName == 'createDate' || fieldName == 'lastUsed') val = parseDate.shortDate(val); if (fieldName == 'size') val = formatBytes(val, 1); item.append('' + '' + '' + fieldName + '' + '' + val + '' + '' + ''); }); if (isDefined(frmo.imageNotUse[image.id])) imageBlock.addClass('notUse'); imageBlock.appendTo('#galleryGrid').fadeIn(500); // Limiter for item count if (i >= frmo.limit) break; else i++; } var $cell = $('.image__cell'); $cell.find('.image--basic').on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); var $thisCell = $(e.target).closest('.image__cell'); if ($thisCell.hasClass('is-collapsed')) { $cell.not($thisCell).addClass('is-collapsed').removeClass('is-expanded'); $thisCell.addClass('is-expanded').removeClass('is-collapsed'); } else { $thisCell.addClass('is-collapsed').removeClass('is-expanded'); } }); $cell.find('.expand__close').on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); var $thisCell = $(e.target).closest('.image__cell'); $thisCell.addClass('is-collapsed').removeClass('is-expanded'); }); $('input[name="height"]').on('blur', function (e) { saveRatio($(e.target).parents('.imageBlock')[0].id, 'H'); }); $('input[name="width"]').on('blur', function (e) { saveRatio($(e.target).parents('.imageBlock')[0].id, 'W'); }); $('input[name="ratio"]').on('mouseup', function (e) { saveRatio($(e.target).parents('.imageBlock')[0].id, 'W'); }); frmo.edit.dsc(); frmo.edit.imgCategory(); $('.replaceimgId button').off().on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); var parBlock = $(e.target).parents('.imageBlock'); var sImId = parBlock[0].id; var rImId = parBlock.find('.replaceimgId input[type="number"]').val(); var del = ff.chkBoxVal(parBlock.find('.replaceimgId input.del[type="checkbox"]')[0]); debug.cnsl(sImId, rImId, del); j.post(['update', 'replImg'], function (data) { debug.cnsl(data); }, {sImId: sImId, rImId: rImId, del: del}); }); } }, update: { td: function (e, a) { a = a || false; var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update', 'all'], function (data) { if (data.status) { message('Saved.', 1); if (!a) form.init(); } else message('No saved!(', 0); }, formData); }, catsImg: function (e) { var imgId = $(e).parents('.imageBlock')[0].id; var status = ff.chkBoxVal(e); j.post(['update', 'catImg'], function (data) { debug.cnsl(data); if (data.status) message('Saved!', 1); else message('Error on save!', 0); }, {catId: $(e).val(), status: status, imgId: imgId}); } }, insert: function (e) { var formData = ff.toObj('new'); debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color', '#deb887'); } }, formData); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className; if (fieldName == '') fieldName = $(e).parents('td')[0].className; fieldName = fieldName.replace('editable', '').replace('text', '').trim(); debug.cnsl(fieldName); $(e).empty(); if ($(e).hasClass('text')) $(e).append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); }, dsc: function () { // debug.cnsl( 'set Edit dsc' ); $('h6').off().on('click', function (e) { var DSC = $(e.target); $(e.target).off(); if (frmPerms.edit == 1) { var id = $(e.target).parents('.imageBlock')[0].id; debug.cnsl(id); var input = $(''); $('#' + id + ' h6').html(input); $('.dsc input').on('keypress', function (e) { if (e.which == 13) { var dsc = $(e.target).val(); debug.cnsl(dsc); j.post(['update'], function (data) { debug.cnsl(data); if (data.status) { message('Saved!', 1); DSC.text(dsc); frmo.edit.dsc(); } else message('Not saved!', 0); }, {dsc: dsc, id: id}); } }); } else message('No Update Permissions', 0); }); }, imgCategory: function () { $('.catsImg td.val span').off().on('click', function (e) { var imgId = $(e.target).parents('.imageBlock')[0].id; $(e.target).parent('td').html(frmo.imgCatsListMulticheckbox(imgId)); }); } }, del: function (e) { if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('.imageBlock').remove(); } else { message('This image has a reference and can\'t be deleted.', 3); debug.cnsl('Not deleted'); debug.cnsl(data); } }, {id: $(e).parents('.imageBlock')[0].id}); }, imgUrl: function (id, name, t) { if (t == 'p') var url = img.url(id, frmo.size.preview.width, frmo.size.preview.height, name); else if (t == 'f') var url = img.url(id, frmo.size.full.width, frmo.size.full.height, name); return url; }, size: { preview: { width: 252, height: 200, unit: 'px' }, full: { // width: 756, // height: 600, height: 420, width: 500, widthpr: 90, heightpr: 85, unit: '%' }, get pw() { return frmo.size.preview.width + frmo.size.preview.unit; }, get ph() { return frmo.size.preview.height + frmo.size.preview.unit; }, get fw() { return frmo.size.full.widthpr + frmo.size.full.unit; }, get fh() { return frmo.size.full.heightpr + frmo.size.full.unit; } }, getCode: function (e) { var id = $(e).parents('.imageBlock')[0].id; var width = $('#' + id + ' input[name="width"]').val(); var height = $('#' + id + ' input[name="height"]').val(); var filters = new Object(); $.each($('#' + id + ' .filtersContainer input'), function (i, item) { filters[parseInt(item['name'])] = ff.chkBoxVal(item); }); var code = img.encode(id, width, height, filters); copyToClipboard(code); debug.cnsl(href = imgServer + code + "/consoleLog.jpg"); return code; }, search: function () { var searchParam = {}; frmo.searchCat = parseInt($('#searchimgCatId').val()); frmo.searchPhrase = $('#search').val(); var count = frmo.searchPhrase.length; if (count >= frmo.searchMinLength || count == 0) { if (frmo.searchPhrase == '') searchParam = { catId: frmo.searchCat, notUsed: $('#notUsedSearch')[0].checked }; else searchParam = { dsc: frmo.searchPhrase, notUsed: $('#notUsedSearch')[0].checked, catId: frmo.searchCat }; var searchPath = isNaN(frmo.searchPhrase) ? ['init', 'search'] : ['init', 'search', 'byId']; j.post(searchPath, function (data) { debug.cnsl(data); frmo.dataProcess(data); }, searchParam); } else { message('minimum ' + frmo.searchMinLength + ' characters!', 3); } }, dataProcess: function (data) { if (data.images) { prepareGallery(data); // debug.cnsl(data); frmo.run.galleryGrid(); $(window).off("scroll").on("scroll", function () { if ($(window).scrollTop() > $(document).height() - $(window).height() - 60 && $('#f133').is('div')) { //Пользователь долистал до низа страницы debug.cnsl('Пользователь долистал до низа страницы'); frmo.run.galleryGrid(false); } }); } else { message('Not found', 3); $('#galleryGrid').empty().append('No images found ...
    Try change request.
    '); } }, imgCatsListSelect: function (name, id) { var select = ''; id = 'id="' + id + '" ' || ' '; select += ''; return select; }, imgCatsListMulticheckbox: function (imgId) { var div = ''; var checked = ''; var activeCheckbox = frmo.catsImg[parseInt(imgId)]; div += '
    '; $.each(frmo.imgCatsList, function (id, name) { if (parseInt(id) != 100) { if (isDefined(activeCheckbox[parseInt(id)])) checked = ' checked = "checked" '; else checked = ''; div += ''; } }); div += '
    '; return div; }, imgEffectsMultiselect: function (name) { var select = ''; select += ''; return select; }, getImgId: function (e) { debug.cnsl('getimgId!'); var id = $(e).parents('.imageBlock')[0].id; copyToClipboard(id); debug.cnsl(id); return id; } }; function copyToClipboard(data) { var $temp = $(""); $("body").append($temp); $temp.val(data).select(); document.execCommand("copy"); message('Copied to clipboard!', 1); $temp.remove(); } function saveRatio(id, changedElem) { var width = $('#' + id + ' input[name="width"]').val(); var height = $('#' + id + ' input[name="height"]').val(); if (!isDefined(width) || !isDefined(height)) message('Fields Width & Height are empty!', 0); if (width < 10 || height < 10) message('Fields Width & Height can`t be less then 10 ', 0); if (width > frmo.galleryCopy[id].width || height > frmo.galleryCopy[id].height) { width = frmo.galleryCopy[id].width; height = frmo.galleryCopy[id].height; $('#' + id + ' input[name="width"]').val(width); $('#' + id + ' input[name="height"]').val(height); message('Width & Height can`t be more then original image size - ' + width + '*' + height + '.
    ' + 'Values were reset to max values!', 0); } if ($('#' + id + ' input[name="ratio"]')[0].checked) { var h = $('#' + id + ' input[name="height"]'); var w = $('#' + id + ' input[name="width"]'); if (changedElem == 'H') { /* Y = h.val(); X = Math.round((W * Y) / H); w.val(X);*/ w.val(ratio.h(id, h.val())); } if (changedElem == 'W') { /*Y = w.val(); X = Math.round((H * Y) / W); h.val(X);*/ h.val(ratio.w(id, w.val())); } } } var ratio = { construct: function (id) { this.H = frmo.galleryCopy[id].height; this.W = frmo.galleryCopy[id].width; }, h: function (id, Y) { ratio.construct(id); return Math.round((this.W * Y) / this.H) }, w: function (id, Y) { ratio.construct(id); return Math.round((this.H * Y) / this.W) } }; function prepareGallery(data) { frmo.gallery = new Array(); frmo.galleryCopy = new Object(); var images = data.images; for (var i in images) { images[i].width = parseInt(images[i].width); images[i].height = parseInt(images[i].height); images[i].size = parseInt(images[i].size); images[i].id = parseInt(images[i].id); frmo.galleryCopy[images[i].id] = images[i]; } frmo.gallery = images; frmo.imageNotUse = data.imageNotUse; frmo.catsImg = data.catsImg; }frm[135] = { //class Upload Image params: { minWidth: 300, minHeight: 300 }, canvas: '', imgParams: { sourceWidth: "", sourceHeight: "", contain: true, meta: true, orientation: 1, crop: true, canvas: true, crossOrigin: true, noRevoke: true }, selectorBtnPath: false, // window open for select image selector: { init: function (params) { frmo.selectorBtnPath = params[0]; frmo.selectorBtnText = 'Select image for ' + params[0]; frmo.selectorId = isDefined(params[1]) ? params[1] : ''; switch (params[0]) { case 'mid': { if (!regex.mid.test(params[1])) console.error('This mid is not valid'); break; } } }, apply: function (imgId) { localStorage.setItem(frmo.selectorBtnPath + 'ImgId' + frmo.selectorId, imgId); window.close(); } }, init: function (fpath) { if (isDefined(fpath) && fpath.length > 0) { frmo.selector.init(fpath); } var form = $('form.dropzone'); frmo.i = 0; if (!isDefined(window.FileReader)) form.find('.dz-message span').html('Not supported browser!(').addClass('error'); else { frmo.dropzone = form; frmo.fDSC = $('#fDSC'); j.post(['init'], function (data) { frmo.imgCatsList = data.imgCatsList; frmo.fDSC.prepend(frmo.imgCatsListSelect('catId')).val(100); }); form[0].addEventListener('dragover', function (e) { e.preventDefault(); e.stopImmediatePropagation(); debug.cnsl('dragover'); frmo.dropzone.addClass('dz-drag-hover'); }, false);// for design form[0].addEventListener('dragleave', function () { debug.cnsl('dragleave'); frmo.dropzone.removeClass('dz-drag-hover'); });// for design form[0].addEventListener('drop', function (event) { event.stopPropagation(); event.preventDefault(); frmo.images = event.dataTransfer.files; frmo.prepareImg(); }, false);// chromes form.on('click', function () { $('').on('change', function () { frmo.images = this.files; frmo.prepareImg(); }).click(); }); } }, import: function () { var link = document.getElementsByName('importUrl')[0].value; j.post(['insert', 'import'], function (data) { if (isDefined(data.filename)) { frmo.image = cpBaseUrl+"tmp/" + data.filename; frmo.fDSC.find('*[name="dsc"]').val(data.filename.replace('.jpg', '')); $('.dwnldZone').fadeOut(100); frmo.loadImg(function () { j.post(['delete', 'importImg'], function (data) { }, {filename: data.filename}); }); } else message('Error while uploading', 0); }, {link: link}); }, prepareImg: function () { debug.cnsl(frmo.images); if (!isDefined(frmo.images[frmo.i])) form.init(); var image = frmo.images[frmo.i]; var good = true; frmo.image = image; debug.cnsl(image); // check for jpg if (image.type != "image/jpeg") { message("The file -" + image.name + "- must be in jpeg format.", 0); good = false; } // check for size else if (image.size > 11097152) { message("The file -" + image.name + "- must be less then 10MB.", 0); good = false; } // show img in web page else { frmo.dropzone.fadeOut(100); frmo.DSC(); } frmo.last = parseInt(frmo.i + 1) == frmo.images.length ? true : false; if (!good) { frmo.dropzone.removeClass('dz-drag-hover'); if (frmo.last) { frmo.dropzone.fadeIn(1000); // frmo.fDSC.fadeOut(100); } else { frmo.i++; frmo.prepareImg(); } } }, imageToServer: function () { // upload var image = frmo.canvas.toDataURL('image/jpeg'); var params = ff.toObj('fDSC'); if (frmo.canvas.width >= frmo.params.minWidth && frmo.canvas.height >= frmo.params.minHeight) { params['width'] = frmo.canvas.width; params['height'] = frmo.canvas.height; params['size'] = frmo.image.size; j.image(['insert', 'image'], image, function (data) { debug.cnsl(data); if (data.result == 1) { if (frmo.selectorBtnPath) { frmo.selector.apply(data.imgId) } // update else { message('Image has been uploaded', 1); frmo.dropzone.removeClass('dz-drag-hover'); if (frmo.last) { frmo.dropzone.fadeIn(1000); frmo.fDSC.fadeOut(100); } else { frmo.i++; frmo.prepareImg(); } } } else message('Error uploading image.', 0); }, params); } else message('Image must be ' + frmo.params.minWidth + '*' + frmo.params.minHeight + 'px or more. Your image is ' + frmo.canvas.width + '*' + frmo.canvas.height + ' You can upload another image here', 0); }, DSC: function () { frmo.fDSC.find('*[name="dsc"]').val(frmo.image.name.replace('.jpg', '')); frmo.fDSC.find('*[name="catId"]').val(100); frmo.loadImg(function () { debug.cnsl('loadImg sucsess!'); if (frmo.canvas.width < frmo.params.minWidth || frmo.canvas.height < frmo.params.minHeight) message('Image must be ' + frmo.params.minWidth + '*' + frmo.params.minHeight + 'px or more. Your image is ' + frmo.canvas.width + '*' + frmo.canvas.height + ' You can upload another image here', 0); }); }, loadImg: function (callback) { var image = frmo.image; // frmo.fDSC.fadeOut(); frmo.fDSC.find('.preview').remove(); loadImage( image, function (img) { if (img.type === "error") { debug.cnsl("Error loading image " + image); } else { debug.cnsl(img); frmo.fDSC.prepend($(img).addClass('preview').attr('title', image.name)).find('.preview')[0].id = 'preview'; frmo.fDSC.fadeIn(500); frmo.canvas = img; if (isDefined(callback)) callback(); } }, frmo.imgParams ); }, applyToImg: function (e) { debug.cnsl($(e)); debug.cnsl($(e).attr('name')); debug.cnsl($(e).val()); var name = $(e).attr('name'); var val = name == 'orientation' ? parseInt($(e).val()) : $(e).val(); frmo.imgParams[name] = val; frmo.loadImg(); }, imgCatsListSelect: function (name, id) { var select = ''; id = 'id="' + id + '" ' || ' '; select += ''; return select; } };frm[136] = { init: function () { if (!isDefined(frmo.newRow)) frmo.newRow = $('.filter').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); if(isDefined(data.cats))frmo.run.catList(data.cats); if(!!parseInt(path.slice(-1)[0])) frmo.run.addLine(parseInt(path.slice(-1)[0])); }, {}); }, run: { catList: function (filters) { $('#filtersTbody').empty(); var filterRow; $.each(filters, function (i, filter) { filterRow = frmo.newRow.clone(); filterRow[0].id = parseInt(filter.id); $.each(filter, function (fieldName, val) { var td = $(filterRow).find('.' + fieldName); if (fieldName == 'createDate') val = parseDate.shortDate(val); td.text(val); }); filterRow.find('td.editable').on('click', function (e) { $(this).off(); frmo.edit.td(e.target); }); filterRow.appendTo('#filtersTbody').show(); }); }, addLine: function (imgId) { if ($('#new').is('tr')) { message('Press "Add" for previos line', 3); return; } var row = frmo.newRow.clone().show(); $(row).find('td.editable.textarea').each(function (i, v) { var fieldName = $(v)[0].className.replace('editable', '').replace('textarea', '').trim(); $(v).append(''); }); var imgId = imgId || ''; $(row).find('td.imgId').append(''); $(row).find('button:not(.add), .status *').remove(); $(row).find('button.add').show(); $(row)[0].id = 'new'; $(row).css('background-color', '#8fbc8f'); $('#filtersTbody').append(row); $("html, body").animate({scrollTop: $(document).height()}, 1000); } }, update: { td: function (e) { var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update', 'all'], function (data) { if (data.status) { debug.cnsl(data); message('Saved!', 1); frmo.run.catList(data.cats); } else message('Not saved!(', 0); }, formData); } }, insert: function (e) { var formData = ff.toObj('new'); debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); nav.goTo(form.id); } else { message('Img can\'t be added, maybe this imgID does not exist', 0); $('#new').css('background-color', '#deb887'); } }, formData); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className; if (fieldName == '') fieldName = $(e).parents('td')[0].className; fieldName = fieldName.replace('editable', '').replace('textarea', '').replace('text', '').trim(); debug.cnsl(fieldName); $(e).empty(); if ($(e).hasClass('text')) $(e).append(''); if ($(e).hasClass('textarea')) $(e).append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del: function (e) { if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } }, {id: $(e).parents('tr')[0].id}); } };frm[148] = { init: function () { if (!isDefined(frmo.newRow)) frmo.newRow = $('.slide').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.run.slidesList(data.slides); }, {}); }, run: { slidesList: function (slides) { debug.cnsl(slides); $('#slidesTbody').empty(); var slideRow; $.each(slides, function (i, slide) { slideRow = frmo.newRow.clone(); slideRow[0].id = parseInt(slide.id); $.each(slide, function (fieldName, val) { var td = slideRow.find('.' + fieldName); if (fieldName == 'createDate') val = parseDate.shortDate(val); if (fieldName == "imgId") slideRow.find('.img-preview')[0].src = img.url(val, 48, 13, 'img'); if (fieldName == 'active') { if (val == 1) td.find('input[name="active"]').attr('checked', 'checked'); else td.find('input[name="active"]').removeAttr('checked', 'checked'); } else td.text(val); }); /*slideRow.find('td.editable').on('click',function (e) { $(this).off(); frmo.edit.td(e.target); }); */ slideRow.appendTo('#slidesTbody').show(); }); }, addLine: function () { bootbox.dialog({ title: "Create New Slider", message: e('createSliderModal').innerHTML, buttons: { success: { label: "Save", className: "btn-success", callback: function (ev) { var inputs = ev.target.closest('.modal-content').getElementsByTagName('input'); var imgId = inputs['imgId'].value.trim(); j.post(['insert'], function (data) { if (isDefined(data.result) && data.result == 1) { message('Slider has been added successfully.', 1); frmo.init(); } else message("Invalid Image Id or error while creating new slider", 0); }, {imgId: imgId}); } } } }); } }, update: { active: function (el) { j.post(['update', 'active'], function (data) { if (data.status) message('Saved!', 1); // form.init(); }, {id: $(el).parents('tr')[0].id, active: ff.chkBoxVal(el)}); } }, insert: function (e) { // var id = $(e).parents('tr')[0].id; var formData = ff.toObj('new'); // if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color', '#deb887'); } }, formData); }, del: function (e) { console.log(e); if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } }, {id: $(e).parents('tr')[0].id}); } }; frm[150] = { init: function () { if (!isDefined(frmo.newRow)) frmo.newRow = $('.filter').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.run.catList(data.cats); }, {}); }, run: { catList: function (filters) { $('#filtersTbody').empty(); var filterRow; $.each(filters, function (i, filter) { filterRow = frmo.newRow.clone(); filterRow[0].id = parseInt(filter.id); $.each(filter, function (fieldName, val) { var td = $(filterRow).find('.' + fieldName); if (fieldName == 'createDate') val = parseDate.shortDate(val); td.text(val); }); filterRow.find('td.editable').on('click', function (e) { $(this).off(); frmo.edit.td(e.target); }); filterRow.appendTo('#filtersTbody').show(); }); }, addLine: function () { if ($('#new').is('tr')) { message('Press "Add" for previos line', 3); return; } var row = frmo.newRow.clone().show(); $(row).find('td.editable.text').each(function (i, v) { var fieldName = $(v)[0].className.replace('editable', '').replace('text', '').trim(); $(v).append(''); }); $(row).find('button:not(.add), .status *').remove(); $(row).find('button.add').show(); $(row)[0].id = 'new'; $(row).css('background-color', '#8fbc8f'); $('#filtersTbody').append(row); $("html, body").animate({scrollTop: $(document).height()}, 1000); } }, update: { td: function (e) { var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update', 'all'], function (data) { if (data.status) { debug.cnsl(data); message('Saved!', 1); frmo.run.catList(data.cats); } else message('Not saved!(', 0); }, formData); } }, insert: function (e) { var formData = ff.toObj('new'); debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color', '#deb887'); } }, formData); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className; if (fieldName == '') fieldName = $(e).parents('td')[0].className; fieldName = fieldName.replace('editable', '').replace('text', '').trim(); debug.cnsl(fieldName); $(e).empty(); if ($(e).hasClass('text')) $(e).append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del: function (e) { if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } }, {id: $(e).parents('tr')[0].id}); } }; frm[151] = { startASyear: 2016, pathWidthKoef: 250, mediaImgWidth: 730, mediaImgHeight: 590, sectionYcount: 11, oneDay: 25 * 60 * 60 * 1000, // Attention 25 hours for other GMT on server oneYear: 365 * 24 * 60 * 60 * 1000, init: function (path) { debug.cnsl(path); frmo.events.infoSaveButton(); var params = new Object(); if (isDefined(path[0])) params.mid = parseInt(path[0]); j.post(['init'], function (data) { debug.cnsl(data); if (isDefined(data.error)) message(data.error, 0); if (isDefined(data.details)) { frmo.nowDay = data.ts; frmo.info = data.details; frmo.ma = data.analitycs; frmo.run.infoPanel(); frmo.run.mediaPanel(); // Analitycs panel run after GO TO LIVE if(Object.keys(frmo.ma).length) analytics.start(); // NOT DELETED !!! else document.getElementById('analitycsPanel').classList.add('hidden'); // add events for checkbox recommends news emails $('#recom, #email, #news').on('change', function (e) { var cn = $(e.target)[0].name; if(ff.chkBoxVal($(e.target)[0])) { frmo.addTo[cn](frmo.info.id); } else { frmo.removeWith[cn](frmo.info.id); } }); } }, params); }, run: { infoPanel: function () { var parentMid, info = frmo.info; if (info.dir == 1) { $('#dirInfo').show(500).find('form')[0].id = 'settingsForm'; } else { $('#fileInfo').show(500).find('form')[0].id = 'settingsForm'; } if(info.ext == 'mp3')$('#audioCropBtn').show(); var formInfo = $('#settingsForm'); for (var name in info){ var val = info[name]; if (val == '0000-00-00 00:00:00') val = null; if (name == 'size' && val != null) val = formatBytes(val, 1); if ((name == 'createDate' || name == 'updateDate') && val != null) val = parseDate.shortDate(val); if (name == 'playTime') val = formatTime(val); if (name == 'active' || name == 'dirContinuousPlay' || name == 'dirZip') { if (name == 'dirZip' && frmo.info.dirType != 0) return; else { if (val == 1) formInfo.find('*[name="' + name + '"]').removeAttr('disabled').attr('checked', 'checked'); else formInfo.find('*[name="' + name + '"]').removeAttr('disabled').removeAttr('checked'); } } if ((name == 'news' || name == 'recom' || name == 'email') && val) { $('[name="' + name + '"]').attr('checked', 'checked'); } else { formInfo.find('*[name="' + name + '"]').val(val); } } if (isDefined(info.parentMids) && parseInt(info.id) != 10000) { debug.cnsl('info.parentMids == '); debug.cnsl(info.parentMids); for (var i in info.parentMids) { parentMid = info.parentMids[i]['pmid']; var isDir = info.dir == 1; var parentFor = isDir?'Dir':'File'; var p = $(e(null, e('parentFor'+parentFor), 'input', 'defaultPmid')).attr('type', 'radio').attr('data-id', parentMid).attr('name', 'defaultPmid'); if(i == 0) p.attr('checked','checked'); e(parentMid, e('parentFor'+parentFor), 'button', 'btn btn-sm btn-default form-control').innerHTML = '  ' + info.parentMids[i]['name']; $(e(parentMid)).on('click', function (e) { nav.goTo(126, [$(e.target)[0].id]) }); $('.defaultPmid').off().on('click', function (ev) { j.post(['update', 'defaultPmid'], function (data) { if (data.status) message('Default parent changed successfully', 1); else message('Unknown error', 0); }, {mid: frmo.info.id,pmid:ev.target.dataset.id}); }); } formInfo.find('.parent').show(); } ff.validateEditPermissions(e('settingsForm'), info.createUser); // frmo.events.infoSaveButton(); formInfo.fadeIn(500); }, mediaPanel: function () { frmo.loadImg(frmo.info.imgId); $('#mediaForm').find('*[name="dsc"]').val(frmo.info.dsc); // frmo.events.infoSaveButton(); if (frmo.info.dir == 0 && frmo.info.ext == "mp3") { $('#mediaPanel').addClass('audio').find('audio')[0].src = playServer + frmo.info.id + '/'; } if (frmo.info.dir == 0 && frmo.info.ext == "mp4") { var videopanel = $('#videoPanel'); videopanel.removeAttr('style'); videopanel.find('video')[0].src = cpBaseUrl +'getFile/' + frmo.info.id + '/' + toUrl(frmo.info.name.trim('').replace(' ', '_')) + '.' + frmo.info.ext; var placeholder = img.url(parseInt(frmo.info.imgId), frmo.mediaImgWidth, frmo.mediaImgHeight, frmo.info.name); videopanel.find('video')[0].poster = placeholder; // videopanel.find('img')[0].src = placeholder; frmo.events.prepareVideoSnapshot(); } } }, updateImage: function (imgId, successMsg) { var dataForUpdate = { mid: frmo.info.id, imgId: imgId }; debug.cnsl(dataForUpdate); j.post(['update', 'applytomid'], function (data) { debug.cnsl(data); if (data.status) { if(successMsg)message(successMsg, 1); frmo.loadImg(imgId); if (isDefined(data.info) && data.info) message('Old screenshot has been deleted', 2); } else { message('Error apply image to Mid...', 0); } }, dataForUpdate); }, loadImg: function (imgId) { debug.cnsl('loadImg'); var waitId = wait.on(); $('#midImg').off('load').on('load', function () { wait.off(waitId); }); frmo.info.imgId = imgId; var midImg = img.url(parseInt(imgId), frmo.mediaImgWidth, frmo.mediaImgHeight, frmo.info.name); $('#midImg')[0].src = midImg; $('video')[0].poster = midImg; }, clearImg: function () { if (confirm('Reset image?')) { frmo.updateImage(4000); } }, events: { infoSaveButton: function () { $('.save').off('click').on('click', function (e) { var idForm = $(e.target).parents('.info, .media')[0].id; console.clear(); debug.cnsl(idForm); var formData = ff.toObj(idForm); formData['id'] = parseInt(frmo.info.id); debug.cnsl(formData); j.post(['update', 'info'], function (data) { debug.cnsl(data); if (data.status) { message('Saved!', 1); } else message('Not saved', 2); }, formData); }); }, prepareVideoSnapshot: function () { // Get handles on the video and canvas elements frmo.video = document.querySelector('video'); frmo.canvas = document.querySelector('canvas'); frmo.context = frmo.canvas.getContext('2d'); frmo.video.addEventListener('loadedmetadata', function () { frmo.canvas.width = frmo.video.videoWidth; frmo.canvas.height = frmo.video.videoHeight; }, false); $(frmo.video).on('click', function () { debug.cnsl(frmo.video.paused); if (frmo.video.paused) frmo.video.play(); else frmo.video.pause(); }); } }, // Takes a snapshot of the video snap: { get: function () { frmo.video.crossOrigin = "Anonymous"; // Define the size of the rectangle that will be filled (basically the entire element) frmo.context.fillRect(0, 0, frmo.video.videoWidth, frmo.video.videoHeight); // Grab the image from the video frmo.context.drawImage(frmo.video, 0, 0, frmo.video.videoWidth, frmo.video.videoHeight); }, save: function () { // upload var image = frmo.canvas.toDataURL('image/jpeg'); // var params = ff.toObj('fDSC'); var params = new Object(); if (frmo.canvas.width >= 300 && frmo.canvas.height >= 239) { params['width'] = frmo.canvas.width; params['height'] = frmo.canvas.height; params['size'] = 0; // THIS VALUE ON SERVER SIDE !!! $_POST['size'] = (int) (strlen(rtrim($_POST['slImage'], '=')) * 3 / 4); params.formId = 135; params['catId'] = 101; params['dsc'] = frmo.info.name; params['orientation'] = 1; debug.cnsl(params); j.image(['insert', 'image'], image, function (data) { debug.cnsl(data); // update if (data.result == 1) { var successMsg = 'Image has been uploaded'; frmo.updateImage(data.imgId, successMsg); } else message('Error uploading image.', 0); }, params); } else message('Image must be 300*300px or more. Your image - ' + frmo.canvas.width + '*' + frmo.canvas.height + '', 0); } }, addTo: { news: function (mid) { j.post(['insert', 'ner'], function (data, params) { if (isDefined(data.result) && data.result == 1) { message(params.mid + " has been added to front page news list.", 1); $('#' + mid + ' .inNews').show(); } else if (isDefined(data.result) && data.result == 2) message(params.mid + " already exists in news list."); else message("Error adding " + params.mid + " news.", 0); }, {mid: mid, ner: 'news',formId:126}); }, email: function (mid) { j.post(['insert', 'ner'], function (data, params) { if (isDefined(data.result) && data.result == 1) { message(params.mid + " has been added to news's letter list.", 1); $('#' + mid + ' .inMails').show(); } else if (isDefined(data.result) && data.result == 2) message(params.mid + " already exists in news's letter list."); else message("Error adding " + params.mid + " news's letter.", 0); }, {mid: mid, ner: 'email',formId:126}); }, recom: function (mid) { j.post(['insert', 'ner'], function (data, params) { debug.cnsl(data); if (isDefined(data.result) && data.result == 1) { message(params.mid + " has been added to recommended list.", 1); $('#' + mid + ' .inRecommend').show(); } else if (isDefined(data.result) && data.result == 2) message(params.mid + " already exists in recommended list."); else message("Error adding " + params.mid + " recommended", 0); }, {mid: mid, ner: 'recommend',formId:126}); } }, removeWith: { news: function (mid) { j.post(['delete'], function (data, params) { debug.cnsl(data); message(params.id + " has been deleted with list.", 1); }, {id: mid, formId:101}); }, email: function (mid) { j.post(['delete'], function (data, params) { debug.cnsl(data); message(params.id + " has been deleted with list.", 1); }, {id: mid, formId:104}); }, recom: function (mid) { j.post(['delete'], function (data, params) { debug.cnsl(data); message(params.id + " has been deleted with list.", 1); }, {id: mid, formId:102}); } }, onstorage: function (ev) { if (ev.key == ('midImgId' + frmo.info.id) && ev.newValue != null) { frmo.updateImage(ev.newValue, 'Apply image to Mid - successfully!'); localStorage.removeItem(ev.key); } } }; function fixCheckbox() { debug.cnsl('fixCheckbox()'); var allCheckbox = $('input[type="checkbox"]'); $.each(allCheckbox, function (i, item) { if ($(item)[0].checked) $(item).val(1); else $(item).val(0); }); $('body').on('change', 'input[type="checkbox"]', function (e) { debug.cnsl($(e.target)[0].checked); if ($(e.target)[0].checked) $(e.target).val(1); else $(e.target).val(0); }); } /** * Created by don on 10.11.17. */ frm[159] = { init:function(){ if (!isDefined(frmo.newRow))frmo.newRow = $('#listBody tr').remove().clone(); j.post(['init'],function (data) { debug.cnsl(data); frmo.recoms = data.recoms; frmo.run.listFiles(); }); }, run:{ listFiles:function () { $('#listBody').empty(); var value = frmo.recoms; var i, name; for (i in value){ debug.cnsl(i); var o = value [i]; var line = frmo.newRow.clone(); for (name in o){ var txt = o[name]; debug.cnsl(name); if (name=='aid') { line.find('.'+name).html(''+txt+''); line[0].id = txt; } else if (name=='active') {if (txt==1) line.find('.active[name="active"]').attr('checked','checked');} else if (name=='createDate') {txt = parseDate.shortDate(txt); line.find('.'+name).text(txt);} else line.find('.'+name).text(txt); } $('#listBody').append(line); } /*$.each(recoms, function (id, newItem) { debug.cnsl(id); debug.cnsl(newItem); var row = frmo.newRow.clone(); $.each(newItem, function (name, value) { if (name=='mid') { row.find('.'+name).html(''+value+''); row[0].id = value; } else if (name=='active') {if (value==1) row.find('.active[name="active"]').attr('checked','checked');} else row.find('.'+name).text(value); }); $('#listBody').append(row); });*/ } }, del:function (e) { var curRow = $(e).parents('tr'); if (confirm('You want delete?')){ j.post(['delete'],function (data) { debug.cnsl(data); if(data.status){ message('Deleted!',2); curRow.remove(); } else message('Error deleting!',0); }, {id:curRow[0].id}); } }, update:{ active: function (e) { var curRow = $(e).parents('tr'); // if (confirm('You want delete?')){ j.post(['update'],function (data) { debug.cnsl(data); if(data.status){ message('Updated!',2); // curRow.remove(); } else message('Error updating!',0); }, {id:curRow[0].id, active: ff.chkBoxVal(e) }); // } } } }; frm[160] = { popup: false, init: function (params) { if (isDefined(params[0])) $('#bId').val(params[0]); frmo.getMediaDirs(); frmo.setEvents(); }, getMediaDirs: function () { var videoCode = getUrlParameter('v'); j.post(['init'], function (data) { debug.cnsl(data); var dataList = frmo.pmidReady = data.str; var dirName = '', curId; for (var id in dataList) { if(dataList[id].dirType==0){ curId = id; dirName = dataList[id].name; while (dataList[curId].pmid > 10000) { dirName = dataList[dataList[curId].pmid].name + ' / ' + dirName; curId = dataList[curId].pmid; } e(null, e('dirList', null, 'datalist'), 'option').t(dirName).value = id; } } if (videoCode) { $('#bId').val(videoCode); } }, {formId: 126, mid: false, str: 1}); }, setEvents: function () { $('button.save').off().on('click', function () { console.count('button.save click'); var bId, i, formdata = ff.toObj('uploadYoutube'); debug.cnsl(formdata); // if(!frmo.isMidCompatible(formdata['pmid'])){ if (!frmo.pmidReady[formdata['pmid']] || frmo.pmidReady[formdata['pmid']].dirType != 0) { message('Parent Directory -- no correct', 0); $('#uploadYoutube input[name="pmid"]').css({border: '1px solid #f00'}); throw new Error('Parent Directory -- no correct'); } else $('#uploadYoutube input[name="pmid"]').css({border: '1px solid #05cc05'}); var status = true; // if mass bId upload if (ff.chkBoxVal(e('massUpload'))) { debug.cnsl('massUpload'); var bIds = $('#bIds').val().replace(new RegExp(' ', "ig"), '').replace(new RegExp('\n', "ig"), '').split(','); debug.cnsl(bIds); for (i in bIds) { bId = bIds[i]; formdata['bId'] = bId; j.post(['insert'], function (data) { debug.cnsl(data); if (data.status) { message(data.message, 1); } else { message(data.message, 3); status = false; } }, formdata); } if (status && !frmo.popup) { // if all added success -- reset form if (ff.chkBoxVal($('#massUpload')[0])) $('#bId,#bIds').toggle(); $('#uploadYoutube')[0].reset(); } } // if single bId upload else { debug.cnsl(formdata); j.post(['insert'], function (data) { debug.cnsl(data); if (data.status) { if (frmo.popup) { window.close(); } else { message(data.message, 1); if (ff.chkBoxVal($('#massUpload'))) $('#bId,#bIds').toggle(); $('#uploadYoutube')[0].reset(); } } else { message(data.message, 3); status = false; } }, formdata); } }); }, isMidCompatible: function (pmid) { j.post(['getIsMidCompatible'], function (data) { debug.cnsl(data); return data.compatible }, {pmid: pmid, formId: 126}); } }; function getUrlParameter(sParam) { var sPageURL = decodeURIComponent(window.location.search.substring(1)), sURLVariables = sPageURL.split('&'), sParameterName, i; for (i = 0; i < sURLVariables.length; i++) { sParameterName = sURLVariables[i].split('='); if (sParameterName[0] === sParam) { return sParameterName[1] === undefined ? true : sParameterName[1]; } } }frm[161] = { pagerCount: 200, dataSeted: false, searchInit: 1, init: function (params) { frmo.page = params != 0 ? params.shift() : 0; if (getUrlParameter('ylId')) frmo.ylId = getUrlParameter('ylId'); if (isDefined(frmo.searchParams)) { // e('createUserSelector').t(frmo.createUserSelector); // $('#createUserSelector').val(frmo.searchParams.userId); $('#statusSelect').val(frmo.searchParams.status); $('#searchInput').val(frmo.searchParams.sw); // debug.cnsl('h'); frmo.search(); } else { frmo.search(); } $('#searchBtn').off().on('click', function (ev) { frmo.page = 0; frmo.search(); }); $('#searchInput').off().on('keydown', function (ev) { if (ev.keyCode == 13) { ev.preventDefault(); ev.stopImmediatePropagation(); frmo.searchParams.sw = ev.target.value; frmo.page = 0; frmo.search(); } }); $('#statusSelect').off().on('change', function (ev) { frmo.searchParams.status = ev.target.value; frmo.page = 0; frmo.search(); }); $('#createUserSelector').off().on('change', function (ev) { frmo.searchParams.userId = ev.target.value; frmo.page = 0; frmo.search(); }); }, userList: function (users) { for (var t in users) { if (t == sett.user.id) { e(null, e('createUserSelector'), 'option') .t(users[t]) .a('value', t) .a('selected'); frmo.search(); } else e(null, e('createUserSelector'), 'option') .t(users[t]) .a('value', t); } frmo.createUserSelector = document.getElementById('createUserSelector').innerHTML; }, run: function (data) { frmo.dataSeted = true; $('#yTable').empty(); for (var keys in data) { var line = data[keys]; var id = line['id']; var tr = e(id, e('yTable'), 'tr', line['isOwner'] == 1 ? 'owner' : 'notOwner'); var order = new Array('mid', 'bName', 'pmid', 'createUser', 'createDate'); for (var i in order) { var columnName = order[i]; line[columnName] = !isDefined(line[columnName]) || line[columnName] == null ? 'loading...' : line[columnName]; switch (columnName) { case 'createDate': { var text = isDefined(line[columnName]) ? parseDate.shortDate(line[columnName]) : ''; break; } case 'mid': { var text = ''; if (line['image'] != null) // text = ''; text = ''; text = text + '' + line[columnName] + ''; $('#' + line['id'] + ' .mid').prepend(text); break; } case 'bName': { var text = ''; var vId = line['bId']; var url = 'https://blago.tube/watch?v=' + vId; if (line[columnName] != 0) text = text + '' + line[columnName] + ''; else text = text + '' + url + ''; if (line['note'] != '' && line['note'] != null) text = text + '

    Note: ' + line['note'] + '

    '; break; } case 'pmid': { var text = ''+line[columnName]+'' break; } default: { var text = line[columnName]; break; } } e(null, tr, 'td', columnName).innerHTML = text; } switch (line['status']) { // Yid error case '0': { e(null, tr, 'td', 'actions').innerHTML = '' + ''; e(id).className += ' error'; $('#' + id + ' .actions').prepend('error
    '); break; } // Yid pending case '1': { e(null, tr, 'td', 'actions').innerHTML = ''; e(id).className += ' pending'; $('#' + id + ' .actions').prepend('pending
    '); break; } // In process case '2': { e(null, tr, 'td', 'actions'); e(id).className += ' inProcess'; $('#' + id + ' .actions').prepend('inProcess
    '); break; } // Added or deleted after add case '3': { if (line['mid'] == 'loading...') { e(null, tr, 'td', 'actions').innerHTML = 'Deleted
    ' + ' '; e(id).className += ' deleted'; } else e(null, tr, 'td', 'actions').innerHTML = ''; /*$('#'+id+' .actions').prepend('Deleted
    ');*/ break; } // Blocked mid (yId) case '4': { e(null, tr, 'td', 'actions').innerHTML = 'Blocked
    '; e(id).className += ' deleted'; break; } // Mid not active case '5': { e(null, tr, 'td', 'actions').innerHTML = 'Not active
    '; e(id).className += ' notActive'; break; } default: break; } } frmo.events(); }, events: function () { $('.midImg').off().on('mousedown', function (ev) { if (ev.which == 1) { ev.preventDefault(); ev.stopImmediatePropagation(); ev.target.src = ev.target.dataset.src; ev.target.play(); ev.target.controls = true; // $(ev.target).css('width', '120px'); $(ev.target).css('height', 'auto'); $(ev.target).css('min-height', '80px'); } }); $('.yTitle a').off().on('click', function (ev) { ev.target.innerHTML = ''; }); }, importList: function () { // get pending data j.post(['init', 'pending'], function (data) { if(data.txt!=null){ var textFile = null; var data = new Blob([data.txt], {type: 'text/plain'}); if (textFile !== null) { window.URL.revokeObjectURL(textFile); } textFile = window.URL.createObjectURL(data); var link = document.getElementById('youTubeListLink'); link.href = textFile; link.click(); } }, {}); }, delete: function (ev) { var p = $(ev).parents('tr')[0].id; j.post(['delete'], function (data) { if (data.status) { $("#" + p + " button").hide(); $("#" + p + " span.status").text('Blocked'); $("#" + p).css('background-color', '#ccc'); } else { debug.cnsl(data); message('System Error', 0) } }, {id: p}); }, addAgain: function (ev) { debug.cnsl(ev); var p = $(ev).parents('tr')[0].id; j.post(['update'], function (data) { if (data.status) { $("#" + p + " button").hide(); $("#" + p + " span.status").text('Pending'); $("#" + p).css('background-color', 'lightgoldenrodyellow'); } else message('System Error', 0) }, {id: p, status: 1}); }, pager: { next: function () { nav.goTo(parseInt(form.id), [parseInt(frmo.page) + 1]); }, prev: function () { nav.goTo(parseInt(form.id), [parseInt(frmo.page) - 1]); } }, search: function () { frmo.searchParams = { userId: frmo.searchInit == 1 && !isDefined(frmo.ylId) ? sett.user.id : isDefined(frmo.ylId) ? 'all' : frmo.searchParams.userId, status: $('#statusSelect').val(), sw: $('#searchInput').val(), page: frmo.page, pagerCount: frmo.pagerCount, init: 0 }; if (isDefined(frmo.ylId)) { frmo.searchParams.sw = frmo.ylId; $('#searchInput').val(frmo.ylId); delete frmo.ylId; } debug.cnsl(frmo.searchParams); j.post(['init', 'search'], function (data) { frmo.searchInit = 0; if (isDefined(data.page)) { frmo.page = data.page; history.pushState(null, null, nav.link(161)); } // debug.cnsl(data); if (isDefined(data.Count)) { if (!frmo.createUserSelector) { debug.cnsl(data.users); for (var t in data.users) { if (t == data.userId) { e(null, e('createUserSelector'), 'option') .t(data.users[t]) .a('value', t) .a('selected'); // frmo.search(); } else e(null, e('createUserSelector'), 'option') .t(data.users[t]) .a('value', t); } frmo.createUserSelector = document.getElementById('createUserSelector').innerHTML; } else { e('createUserSelector').t(frmo.createUserSelector); document.getElementById('createUserSelector').value = data.userId; } frmo.listCount = data.Count; frmo.run(data.sList); pagerService(); if (frmo.listCount == 0) message('Not found', 3); } else { message('System Error', 3) } // debug.cnsl(data); }, frmo.searchParams); } };frm[164] = { init: function (path) { frmo.id=parseInt(path); // frmo.events.infoSaveButton(); var params = new Object(); if (isDefined(path[0])) params.mid = parseInt(path[0]); j.post(['init'], function (data) { debug.cnsl(data); frmo.details=data.details; frmo.catsList=data.imgCatsList; frmo.activeCats=data.imgCatsUse; frmo.imgUse=data.imageUse; frmo.run.articleCatsListBox(); }, {imgId:path[0]||4000}); }, run: { infoPanel: function () { var parentMid, info = frmo.details; if(isDefined(frmo.imgUse) && frmo.imgUse.length!=0){ $.each(frmo.imgUse, function (mid, val) { var block = e('using'); var el = e(null, block, 'button', 'goMid btn'); el.innerHTML=''+ val['useId']; el.title=val['title']; el.dataset.ext = val['ext']; el.type='button'; }); $('#using').show(); } else $('#using').html('This image isn\'t using').show(); $('#fileInfo').show(500).find('#form').hide()[0].id = 'settingsForm'; var formInfo = $('#settingsForm'); $.each(info, function (name, val) { if (name == 'size' && val != null) val = formatBytes(val, 1); if ((name == 'createDate') && val != null) val = parseDate.shortDate(val); formInfo.find('*[name="' + name + '"]').val(val); }); for( var i in frmo.activeCats) { $('#catId').find('#'+i).attr('checked','checked'); } $('#thisImg')[0].src = img.url(frmo.id, 0, 0); formInfo.fadeIn(500); frmo.events(); }, articleCatsListBox: function () { var box = ''; box += ''; $('#catId').html(box); frmo.run.infoPanel(); } }, events: function () { $('.goMid').off().on('click', function (e) { var mid = e.target.innerText; switch (e.target.dataset.ext){ case 'holiday': { window.open(nav.link(114, 'edit/'+mid)); break; } case 'channel': { window.open(nav.link(249, mid)); break; } case 'slide': { window.open(nav.link(148, mid)); break; } case 'article': { window.open(nav.link(108, mid)); break; } case 'author': { window.open(nav.link(127)); break; } case 'manualLock': { window.open(nav.link(136)); break; } default: window.open(nav.link(151, mid)); break; } }); $('.save').off().on('click', function (e) { var data = ff.toObj('settingsForm'); data['id'] = String(frmo.id); data['formId'] = "133"; debug.cnsl(data); j.post(['update', '164'], function (data) { if (data.status) { message('Saved', 1); } else message('Not saved!(', 0); }, data); }); $('#catId input[type="checkbox"]').on('click',function (e) { debug.cnsl(ff.chkBoxVal(e.target)); var params = { imgId: String(frmo.id), catId: $(e.target)[0].id, formId: "133", status: ff.chkBoxVal(e.target) }; debug.cnsl(params); j.post(['update', 'catImg'], function (data) { debug.cnsl(data); if (data.status) { message('Image category updated', 1); } else { message('Error updating image category', 0); } }, params); }); $('#thisImg').off().on('click', function (ev) { var X = ev.offsetX / (ev.target.width/100); var Y = ev.offsetY / (ev.target.height/100); $('*[name="centerX"]').val(X); $('*[name="centerY"]').val(Y); e('save').click(); frmo.clearCache(); }); $('.delImg').off().on('click', function (e) { if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); nav.goTo(133); } else { message('This image has a reference and can\'t be deleted.', 3); debug.cnsl('Not deleted'); debug.cnsl(data); } }, {id: frmo.id,formId:133}); }); $('input[name="rImId"]').off().on('keyup', function (e) { var replBut = $('.replaceimgId i'); replBut.show(); var rmid = $('input[name="rImId"]'); if(rmid.val() > 3999 &®ex.imgId.test(rmid.val())){ replBut.addClass('textShadow'); replBut.off().on('click', function () { j.post(['update','replImg'], function (data) { if(data.statusReplace){ if(data.statusDel){ message('Image replaced success. Old img deleted.', 1); } else message('Image replaced success.', 1); } else message('Something went wrong. Image can\'t be replaced.', 0); }, {sImId:frmo.id, rImId:rmid.val(), del:(confirm('Delete image after replace?') ? 1 : 0), formId: "133"}); }); } else{ replBut.removeClass('textShadow'); replBut.off(); } }); }, clearCache:function () { j.post(['update','cache'], function (data) { if(data.status){ message("Cache cleared successfully!\n"+data.count+" file(s) deleted", 1); } }, {imgId:frmo.id}); } }; frm[165] = { cropStep: 100, //шаг для кропа при использовании клавиатуры в миллисекундах init: function (param) { frmo.findLine = $('#cropedListBody .tblLine').html(); frmo.vId = param[0]; debug.cnsl('crop init'); if (frmo.vId != '') { j.post(['init'], function (data) { debug.cnsl(data); if (data.info != '' && isDefined(data.info)) { frmo.info = data.info[0]; // if (frmo.info.createUser != sett.user.id) document.getElementById('modify').disabled = true; frmo.video.load(); frmo.loadImg(frmo.info.imgId); //path selector frmo.dirDataList(data.str); // build dir list for move mid frmo.cropedList(data.cropedList); } else { message('Wrong id (' + frmo.vId + ')', 0); nav.goTo(105); } }, {id: frmo.vId}); } }, video: { load:function () { var pt = frmo.info['playTime'] != null ? frmo.info['playTime'] * 1000 : 0; for (var i in frmo.info) { if (i == 'playTime' && pt != 0) { frmo.video.playTimeUpdate(pt); } else if (i == 'id') { if(pt==0) $('audio')[0].onloadeddata = frmo.video.playTimeUpdate; $('audio')[0].src = dwnldServer + frmo.info.id + '/audio.mp3'; } else if (i == 'name') document.getElementById('newName').value = frmo.info[i] + " **** Cropped Audio"; else if (i == 'pmid') document.getElementById('pmid').value = frmo.info[i]; } frmo.event(); }, playTimeUpdate: function (pt){ pt = isDefined(pt.type) ? Math.ceil(pt.target.duration*1000) : pt; $('[name="endTime"]').attr('max', pt).attr('step', frmo.cropStep).val(pt); $('[name="startTime"]').attr('max', pt).attr('step', frmo.cropStep); $('.rangeBox .range_max').text(frmo.formatTime(pt)); frmo.durationChange(pt); } }, event: function () { $('input[type="range"]').on('input', function (e) { frmo.range(e.target) }); $('#startCrop').on('click', function () { ff.validation(e('cropInfo'), frmo.startCrop); }); $('#getStartTime').off().on('click', function () { var time = $('#outputAudio')[0].currentTime; $('input[name="startTime"]').val(time * 1000); frmo.range('input[name="startTime"]'); }); $('#getEndTime').off().on('click', function () { var time = $('#outputAudio')[0].currentTime; $('input[name="endTime"]').val(time * 1000); frmo.range('input[name="endTime"]'); }); $('#duration').off().on('input', function (t) { var dur = frmo.unFormatTime($(t.target).val()); if (dur > 0) $('input[name="endTime"]').val(parseInt($('input[name="startTime"]').val()) + dur); var mask = '00:00:00'; try { var text = document.getElementById('duration'); var value = text.value; var literalPattern = /[0\*]/; var numberPattern = /[0-9]/; var newValue = ""; for (var vId = 0, mId = 0; mId < mask.length;) { if (mId >= value.length) break; // Number expected but got a different value, store only the valid portion if (mask[mId] == '0' && value[vId].match(numberPattern) == null) { break; } // Found a literal while (mask[mId].match(literalPattern) == null) { if (value[vId] == mask[mId]) break; newValue += mask[mId++]; } newValue += value[vId++]; mId++; } text.value = newValue; } catch (e) { } }); $('#playSelected').off().on('click', function () { var audio = e('outputAudio'); var start = $('input[name="startTime"]').val(); var end = $('input[name="endTime"]').val(); $(audio).off().on('timeupdate', function () { if (audio.currentTime > end / 1000) { audio.pause(); $(audio).off(); } }); audio.currentTime = start / 1000; audio.play(); }); frmo.video = document.querySelector('video'); frmo.canvas = document.querySelector('canvas'); frmo.context = frmo.canvas.getContext('2d'); frmo.video.addEventListener('loadedmetadata', function () { frmo.canvas.width = frmo.video.videoWidth; frmo.canvas.height = frmo.video.videoHeight; }, false); }, loadImg: function (imgId) { var waitId = wait.on(); $('#newImgId').off('load').on('load', function () { wait.off(waitId); }); document.getElementById('newImgId').src = img.url(imgId, 0,0, 'article'); document.getElementById('newImgId').dataset.id = imgId; }, clearImg: function () { if (confirm('Reset image?')) { frmo.loadImg(4000); } }, range: function (e) { if (isDefined(e)) var rangeGroup = $(e).attr('name'), minBtn = $(e).parent().children('.min'), maxBtn = $(e).parent().children('.max'), range_min = $(e).parent().children('.range_min'), range_max = $(e).parent().children('.range_max'), minVal = parseInt($(minBtn).val()), maxVal = parseInt($(maxBtn).val()), rBox = $(e).parents('.rangeBox'), value, origin = $(e)[0].className; if (origin === 'min' && minVal > maxVal - frmo.cropStep) $(minBtn).val(maxVal - frmo.cropStep); if (origin === 'max' && maxVal - frmo.cropStep < minVal) $(maxBtn).val(frmo.cropStep + minVal); var minVal = parseInt($(minBtn).val()); var maxVal = parseInt($(maxBtn).val()); minVal = frmo.formatTime(minVal); maxVal = frmo.formatTime(maxVal); $(range_min).text(minVal); $(range_max).text(maxVal); frmo.durationChange(); $('#outputAudio')[0].currentTime = $(e).val() / 1000; }, durationChange: function (dur) { var duration = dur || $('input[name="endTime"]').val() - $('input[name="startTime"]').val(); $('#duration').val(frmo.formatTime(duration)) }, formatTime: function (milliseconds) { //milliseconds = seconds * 1000; if (milliseconds != null && milliseconds > 0) { var msec_num = parseInt(milliseconds, 10); // don't forget the second param var hours = Math.floor(msec_num / 3600000); var minutes = Math.floor((msec_num - (hours * 3600000)) / 60000); var seconds = Math.floor((msec_num - (hours * 3600000) - (minutes * 60000)) / 1000); var mseconds = msec_num - (hours * 3600000) - (minutes * 60000) - (seconds * 1000); if (mseconds < 10) mseconds = "00" + mseconds; else if (mseconds < 100) seconds = "0" + mseconds; else if (mseconds == 0) seconds = "000"; if (seconds < 10) seconds = "0" + seconds; else if (seconds == 0) seconds = "00"; if (minutes < 10) minutes = "0" + minutes; else if (minutes == 0) minutes = "00"; if (hours < 10) hours = "0" + hours; else if (hours == 0) hours = "00"; var result = ""; result = hours + ':' + minutes + ':' + seconds + ':' + mseconds; return result; } else return '00:00:00:000'; }, unFormatTime: function (time) { time = time.split(':'); var sec = 0; var mult = 3600; for (var a in time) { sec += time[a] * mult; if(mult>1)mult /= 60; else mult /= 1000; } return sec; }, snap: { get: function () { frmo.video.crossOrigin = "Anonymous"; // Define the size of the rectangle that will be filled (basically the entire element) frmo.context.fillRect(0, 0, frmo.video.videoWidth, frmo.video.videoHeight); // Grab the image from the video frmo.context.drawImage(frmo.video, 0, 0, frmo.video.videoWidth, frmo.video.videoHeight); }, save: function () { // upload var image = frmo.canvas.toDataURL('image/jpeg'); // var params = ff.toObj('fDSC'); var params = new Object(); if (frmo.canvas.width >= 300 && frmo.canvas.height >= 239) { params['width'] = frmo.canvas.width; params['height'] = frmo.canvas.height; params['size'] = 0; // THIS VALUE ON SERVER SIDE !!! $_POST['size'] = (int) (strlen(rtrim($_POST['slImage'], '=')) * 3 / 4); params.formId = 135; params['catId'] = 101; params['dsc'] = frmo.info.name; params['orientation'] = 1; debug.cnsl(params); j.image(['insert', 'image'], image, function (data) { debug.cnsl(data); // update if (data.result == 1) { $('#newImgId')[0].dataset.id = data.imgId; message('Image has been uploaded and will be apply for new mid after crop', 1); } else message('Error uploading image.', 0); }, params); } else message('Image must be 300*300px or more. Your image is ' + frmo.canvas.width + '*' + frmo.canvas.height + '', 0); } }, startCrop: function (){ document.getElementById('newName').value = document.getElementById('newName').value.replace(/"/g, '\"'); var data = ff.toObj('cropParam'); data['newImgId'] = isDefined(document.getElementById('newImgId').dataset.id) ? document.getElementById('newImgId').dataset.id : ''; data['startTime'] = data['startTime'] / 1000; data['endTime'] = data['endTime'] / 1000; debug.cnsl(data); j.post(['update', 'crop', frmo.vId], function (data) { debug.cnsl(data); if (data.status) { message('Added to queue', 1); nav.goTo(151, frmo.vId); } }, data); }, cropedList: function (el) { $('#cropedListBody').empty(); var tbl = e('cropedListBody'); if (!el) { e(null, e(null, tbl, 'tr', 'tblLine'), 'td') .a('colspan', '8') .a('style', 'text-align: center;') .t('Nothing found'); } else { var line = frmo.findLine; for (var key in el) { var keys = el[key]['id']; var mid = el[key]['mid']; var tr = e(keys, tbl, 'tr'); $(tr).html(line); e(keys, tbl, 'tr'); for (var t in el[key]) { var td = el[key]; if ($('td.' + t)) { var cont = td[t]; if (t == 'imgId' && mid!=null) { var hr = nav.link(213, [mid]); // cont = ' '; cont = ''; } else if (t == 'name' && mid!=null) { // var hr = '/media/detail/' + keys; var hr = nav.link(213, [mid]); cont = '' + cont + ''; } else if (t == 'createDate') cont = parseDate.shortDate(cont) + '
    ' + td.createUser; else if (['playTime','startTime','endTime'].includes(t) && cont != null) cont = frmo.formatTime(cont*1000); $('#' + keys + ' td.' + t).html(cont); } } } $('#cropedListBody .endTime').off().on('click', function (ev){ var time = frmo.unFormatTime(ev.target.innerText); $('input[name="startTime"]').val(time * 1000); frmo.range('input[name="startTime"]'); }); $('#cropedListBody .startTime').off().on('click', function (ev){ var time = frmo.unFormatTime(ev.target.innerText); $('input[name="endTime"]').val(time * 1000); frmo.range('input[name="endTime"]'); }); } }, dirDataList: function (dataList) { var dirName = '', curId, dirListId; for (var id in dataList) { if (dataList[id].dirType == 0) { curId = id; dirName = dataList[id].name; while (dataList[curId].pmid > 10000) { dirName = dataList[dataList[curId].pmid].name + ' / ' + dirName; curId = dataList[curId].pmid; } e(null, e('filesParMidList', null, 'datalist'), 'option').t(dirName).value = id; } } }, onstorage: function (ev) { if (ev.key == ('cropImgId' + frmo.info.id) && ev.newValue != null) { frmo.loadImg(ev.newValue); localStorage.removeItem(ev.key); } } };frm[168] = { vformId: false, init:function(){ j.post(['init'], function (data) { debug.cnsl(data); frmo.forms = data.forms; frmo.CPV = data.CPV; //frmo.sjv = data.scriptJSV; for(var key in sett.forms){ $('.formIds').append(''); } frmo.formsText = "\r\n\r\n**** Active forms versions **** \r\n"; for(var key in frmo.forms){ frmo.formsText = frmo.formsText + key + ': ' + frmo.forms[key] + '; '; } /*$('.jsSubmit .oldVers').text('(cur ver. '+frmo.sjv+')');*/ }, {}); $('.formIds').off().on('change', function () { frmo.vFormId = $('.formIds').val(); $('.formSubmit .selectedId [name="comment"]').prop('disabled', true); $('.formSubmit .selectedId [name="comment"]').removeAttr('disabled').addClass(); if(frmo.vFormId!='all')$('.formSubmit input[name="version"]').val(frmo.forms[frmo.vFormId]); else $('.formSubmit input[name="version"]').val(''); }); //For submit file /*$('.jsSubmit button').off().on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); var data = ff.toObj('submitJsVersion'); data['baseVersion'] = frmo.sjv; j.post(['insert', 'script'], function (data) { debug.cnsl(data); if(data.status) message('New version for js file submited', 1); else message(data.error, 0) }, data); });*/ $('.formSubmit button.save').off().on('click', function (e) { e.preventDefault(); e.stopImmediatePropagation(); frmo.comment=''; var data = ff.toObj('submitFormVersion'); data['vFormId'] = frmo.vFormId; if(data['vFormId'] != 'all')frmo.comment = data['comment'] + frmo.formsText + "\r\n Control Panel Version: "+frmo.CPV; else frmo.comment = data['comment'] + "\r\n\r\n Group backup for CP Forms" + frmo.formsText + "\r\n Control Panel Version: "+frmo.CPV; data['comment'] = frmo.comment; debug.cnsl(data); if(isDefined(frmo.vFormId))j.post(['insert', 'form'], function (data) { debug.cnsl(data); if(data.status){ message('New version for '+frmo.vFormId+' form submitted', 1); nav.goTo(169, frmo.vFormId); } // else message(data.error, 0) }, data); else message('You should select form before submitting it, or select all forms', 3); }); } };frm[169] = { init:function(param){ j.post(['init'], function (data) { debug.cnsl(data); frmo.listFV = data.listFV; frmo.curForm = parseInt(param[0]); //frmo.listSV = data.listSV; for(var key in sett.forms){ $('.formIds').append(''); } for(var key in frmo.listFV){ var order = new Array ('vFormId', 'version', 'baseVersion', 'comment', 'createUser', 'createDate'); var table = e('formsTbody'); var act = frmo.listFV[key]['active']==1?'current ' : ''; var line = e(null, table, 'tr', act + frmo.listFV[key]['vFormId']); //debug.cnsl(frmo.listFV[key]); for(var k in order){ var i = order[k]; var text = frmo.listFV[key][i]; if (i == 'createDate') text = parseDate.shortDate(text); e(null, line, 'td', i).innerHTML = text; } e(null, line, 'td', 'actions').innerHTML=' '; } if(isDefined(sett.forms[frmo.curForm])){ $('.formIds').val(frmo.curForm); $('.vFormsList tbody tr').hide(); if ($('.vFormsList tr.'+frmo.curForm).length==0) $('.nothingMsg').show(); else $('.vFormsList tbody tr.'+frmo.curForm).show(); } $('.formIds').off().on('change', function () { $('.nothingMsg').hide(); $('.vFormsList').removeClass('panel-collapsed'); $('.vFormsList .panel-body').show(); $('.vFormsList [data-action="collapse"]').removeClass('rotate-180'); var vFid = $('.formIds').val(); if(vFid!='all'){ $('.vFormsList tbody tr').hide(); if ($('.vFormsList tr.'+vFid).length==0) $('.nothingMsg').show(); else $('.vFormsList tbody tr.'+vFid).show(); } else $('.vFormsList tbody tr').show(); }); }, {}); } };frm[170] = { init:function(params){ j.post(['init', params[0], params[1]], function (data) { // debug.cnsl(data); if(/*data.scriptData == null && */data.formData == null) nav.goTo(169); frmo.formInfo = data.formData; //frmo.fileInfo = data.scriptData; if(params[0]=='fv'){ $('.formVersion').show(); for (var i in frmo.formInfo){ //debug.cnsl(i); $('.formVersion [name='+i+']').val(frmo.formInfo[i]); if(i=='vFormId') $('.formVersion [name="form"]').val(nav.ref.idToTitle[frmo.formInfo['vFormId']].join(' / ')); else if(i=='baseVersionId'){ var base = frmo.formInfo['versions'][frmo.formInfo['baseVersionId']]; if (isDefined(base)) base = base['version']; else base = 'no'; $('.formVersion [name="baseVersion"]').val(base); } else if(i=='version'){ for (var k in frmo.formInfo['versions']){ var base = 'no'; if (isDefined(frmo.formInfo['versions'][frmo.formInfo['versions'][k]['baseVersionId']])) base = frmo.formInfo['versions'][frmo.formInfo['versions'][k]['baseVersionId']]['version']; //debug.cnsl(frmo.formInfo); debug.cnsl(k); $('.formVersion select[name="version"]').append(''); } $('.formVersion [name="version"]').val(frmo.formInfo['id']); } } } /*else if(params[0]=='sv'){ $('.fileVersion').show(); for (var i in frmo.fileInfo){ $('.fileVersion [name='+i+']').val(frmo.fileInfo[i]); if(i=='version'){ for (var k in frmo.fileInfo['versions']) $('.fileVersion select[name="version"]').append(''); $('.fileVersion [name="version"]').val(frmo.fileInfo['id']); } } }*/ }, {}); frmo.events(); }, del:{ fv:function () { if(confirm('Delete this version of the form?')) j.post(['delete', 'fv', frmo.formInfo['id']], function (data) { debug.cnsl(data); if(data.status){ message('Form version deleted successfully', 1); nav.goTo(169, frmo.formInfo['vFormId']); } else message("Error deleting form version.", 0); }, {}); } /*sv:function () { if(confirm('Are you sure you want to delete this file version?')) j.post(['delete', 'sv', frmo.fileInfo['id']], function (data) { debug.cnsl(data); if(data.status){ message('File version deleted successful', 1); nav.goTo(169); } else message('Error file version didn\'t delete', 0); }, {}); }*/ }, restore:{ fv:function (e) { if(confirm('Restore this version of the form?')) j.post(['update', 'restore', 'fv', frmo.formInfo['id']], function (data) { debug.cnsl(data); message(data.result, 1); }, {}); }, /*sv:function (e) { if(confirm('Are you sure want to restore this file version?')) j.post(['update', 'restore', 'sv', frmo.fileInfo['id']], function (data) { debug.cnsl(data); if(data.status) message('File version restored successful', 1); else message('Error file version didn\'t restore', 0); }, {}); }*/ }, save:{ fv:function (e) { var com = $('.formVersion textarea[name="comment"]').val(); debug.cnsl(com); j.post(['update', 'save', 'fv', frmo.formInfo['id']], function (data) { debug.cnsl(data); if(data.status)message('Form version saved successful.', 1); else message('Error saving form version.', 0); }, {comment:com}); }, /*sv:function (e) { var com = $('.fileVersion textarea[name="comment"]').val(); debug.cnsl(com); j.post(['update', 'save', 'sv', frmo.fileInfo['id']], function (data) { debug.cnsl(data); if(data.status) message('File version saved successful', 1); else message('Error file version didn\'t save', 0); }, {comment: com}); }*/ }, events: function () { $('.goForm').off().on('click', function () { nav.goTo(frmo.formInfo['vFormId']); }); $('.goFormList').off().on('click', function () { nav.goTo(169, frmo.formInfo['vFormId']); }); $('select[name="version"]').off().on('change', function () { var id = /*params[0]=='sv' ? $('.fileVersion select[name="version"]').val() :*/ $('.formVersion select[name="version"]').val(); id = frmo.formInfo['versions'][id]['id']; //debug.cnsl(id); nav.goTo(170, 'fv/'+id); }); } };frm[171] = { init:function(path){ j.post(['init'], function (data) { frmo.relList = data.list; $('#relTbody').empty(); for (var a in data.list) { var line = e(a, e('relTbody'), 'tr'); var order = new Array('parentFormId', 'childFormId', 'comment', 'createUser'); for (var c in order) { var b = order[c]; var cont = data.list[a][b]; if(b=='parentFormId' || b=='childFormId')cont = cont+': '+sett.forms[cont]; else if(b=='createUser')cont = cont + '
    ' + parseDate.shortDate(data.list[a]['createDate']); e(null, line, 'td').t(cont); } e(null, line, 'td').t('') } debug.cnsl(data); if(path=='create'){ frmo.createRel(); } }, {}); }, createRel:function () { $("html, body").animate({scrollTop: 0}, 1000); if (!document.getElementById('new')){ var line = e('new', e('relTbody'), 'tr', null, {prepend: true}); e(null, line, 'td').t(local.getSelect(sett.forms, 'parentFormId', '-- Select parrent form id --')); e(null, line, 'td').t(local.getSelect(sett.forms, 'childFormId', '-- Select child form id --')); e(null, e(null, line, 'td'), 'textarea').a('name', 'comment').a('cols', '40').a('rows', '4'); e(null, line, 'td'); e(null, line, 'td', 'actions').t(''); } else message('Create previous relation before creating new', 3); }, del:function (t) { var relId = $(t).parents('tr')[0].id; debug.cnsl(relId); if (confirm('Delete this relation?')) j.post(['delete'], function (data) { if (data.status){ message('Relation deleted successfully', 1); $('#'+relId).hide(); } else message('System error', 0); }, {id: relId}); }, ins:function (t) { var newRel = ff.toObj('new'); j.post(['insert'], function (data) { if (data.status){ message('Relation created successfully', 1); frmo.init(); } else if(data.error.indexOf('Duplicate')+1) message('The relations between these forms has already been created',3); else message('System Error', 0); }, newRel); } };frm[186] = { listItem: '', defList: new Array(), init: function () { j.post(['init'], function (data) { frmo.list(data); }, {}); frmo.events(); }, list: function (data) { empty(e('cronTbody')); for (var k in data.cron) { frmo.defList[data.cron[k]['id']] = data.cron[k]; } //debug.cnsl(data); frmo.run.taskDef(data.cron); local.getSelect(data.cronTaskTypes, 'type', ' -- select an option -- ', 'true', 'Type', 'types'); }, events: function () { $('#executableEditName').off().on('click', function () { if ($('[name="executable"]')[0].disabled) $('[name="executable"]')[0].disabled = false; else $('[name="executable"]')[0].disabled = true; }); $('#searchBtn').off().on('click', function (ev) { frmo.search(); }); $('#searchInput').off().on('keydown', function (ev) { if (ev.keyCode == 13) { ev.preventDefault(); ev.stopImmediatePropagation(); frmo.search(); } }); $('#activeSearch').off().on('change', function (ev) { frmo.search(); }); $('#working').off().on('change', function (ev) { frmo.search(); }); $('#notActiveSearch').off().on('change', function (ev) { frmo.search(); }); }, insert: function () { j.post(['insert'], function (data) { debug.cnsl(data); if (data.status) { message('Saved!', 1); frmo.init(); frmo.f.close(); } }, ff.toObj('cron')); }, del: function (e) { if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.statusQR) { message('Deleted.', 1); $(e).parents('tr').remove(); } else { message('Error. Task definition was not deleted. Please delete all active tasks for it, and then try again', 3); } }, {id: $(e).parents('tr')[0].id}); }, update: { active: function (e) { debug.cnsl(e); j.post(['update', 'active'], function (data) { debug.cnsl(data); if (data.status) { message('Saved!', 1); frmo.init(); } else message('Something went wrong', 0); }, {id: $(e).parents('tr')[0].id, active: $(e)[0].checked}); }, all: function () { j.post(['update', 'all'], function (data) { debug.cnsl(data); if (data.status) { message('Saved!', 1); frmo.init(); frmo.f.close(); } else message('Something went wrong', 0); }, ff.toObj('cron')); }, restart: function (ev) { var id = $(ev).parents('tr')[0].id; if (confirm('Restart this taskDef?')) j.post(['update', 'working'], function (data) { if (data.status) { message('Restarted successfully', 1); $('#' + id).removeClass('working'); } else message('System error', 0); }, {id: id, working: 0}); } }, run: { taskDef: function (data) { var cron = data; var order = new Array('id', 'active', 'name', 'dsc', 'executable', 'type', 'cronInterval', 'cronLastRun', 'createDate'); for (var i in cron) { var line = cron[i]; var work = line['working'] != 0 ? 'working' : ''; var tr = e(line['id'], e('cronTbody'), 'tr', work).a('data-typeId', line['typeId']); for (var k in order) { var o = order[k]; if (o == 'active') { e(null, tr, 'td', order[k]).innerHTML = ''; if (line[o] == '1') $(tr).find('.active input').attr('checked', 'checked'); else $(tr).find('.active input').removeAttr('checked'); } else if (o == 'createDate') e(null, tr, 'td', o).innerHTML = 'Date: ' + parseDate.shortDate(line[o]) + '
    User: ' + line['createUser']; else e(null, tr, 'td', o).innerHTML = line[o]; } $(tr).append('' + ' ' + '' + '' + ''); e(null, tr, 'span', 'secretRestart').t('').a('title', 'Activate this task again'); } } }, f: { add: function () { $('#formBlock button').hide(); $('#cron')[0].reset(); $('#formBlock,#insert').fadeIn(250); $('[name="executable"]')[0].disabled = false; $('#executableEditName')[0].checked = true; }, edit: function (ev) { $('#formBlock button').hide(); $('#formBlock,#save').fadeIn(250); frmo.events(); var id = $(ev).parents('tr')[0].id; var typeId = $(ev).parents('tr').attr('data-typeId'); var formData = frmo.defList[id]; $('[name="executable"]')[0].disabled = true; $.each(formData, function (fieldName, val) { var itemForm = $('#formBlock').find('*[name=' + fieldName + ']'); if (fieldName == 'createDate') val = parseDate.shortDate(val); if (val == '0000-00-00') val = null; if (itemForm.is('select')) { itemForm[0].value = typeId; } else if (itemForm.is('*[type="checkbox"]')) switch (parseInt(val)) { case 0: { itemForm.removeAttr('checked'); break; } case 1: { itemForm.prop('checked', 'checked'); break; } } else itemForm.val(val); debug.cnsl(fieldName, val); }); }, close: function () { $('#formBlock,#formBlock button').fadeOut(); $('#cron')[0].reset(); } }, search: function () { frmo.searchParams = { sw: $('#searchInput').val(), a: $('#activeSearch')[0].checked, na: $('#notActiveSearch')[0].checked, working: $('#working')[0].checked, page: frmo.page, pagerCount: frmo.pagerCount }; j.post(['init', 'search'], function (data) { if (data.result) { //frmo.list = data.list; frmo.list(data); if (frmo.listCount == 0) message('Not found', 3); } else { message('Not found', 3) } debug.cnsl(data); }, frmo.searchParams); } };frm[187] = { pagerCount: 50, dataSeted: false, searchParams: false, tdSelector: false, init: function (params) { frmo.page = (params.shift() || 0); if (frmo.searchParams) { e('tdSelector').t(frmo.tdSelector); $('#tdSelector').val(frmo.searchParams.taskDef); $('#statusSelect').val(frmo.searchParams.status); $('#searchInput').val(frmo.searchParams.sw); frmo.search(); } else { frmo.search(); } e('searchPanel').onclick = function () { if (frmo.dataSeted) e('searchPanel').reset(); frmo.dataSeted = false; }; $('#searchBtn').off().on('click', function (ev) { frmo.page = 0; frmo.search(); }); $('#searchInput').off().on('keydown', function (ev) { if (ev.keyCode == 13) { ev.preventDefault(); ev.stopImmediatePropagation(); frmo.page = 0; frmo.search(); } }); $('#statusSelect').off().on('change', function (ev) { frmo.page = 0; frmo.search(); }); $('#tdSelector').off().on('change', function (ev) { frmo.page = 0; frmo.search(); }); }, run: function (data) { empty(e('cronATbody')); var actList = data; var order = new Array('status', 'name', 'type', 'params', 'startDate', 'completeDate', 'msg'/*, 'createUser'*/, 'createDate'); for (var i in actList) { var stat = actList[i]['status']; var tbl = e('cronATbody'); var tr = e(actList[i]['id'], tbl, 'tr', stat == 0 ? 'uncomplete' : stat == 1 ? 'inProgress' : stat == 2 ? 'completed' : 'error'); for (var c in order) { a = order[c]; if (a == 'createDate' /*|| a=='startDate'||a=='completeDate'*/) { actList[i][a] = parseDate.shortDate(actList[i][a]) } else if (a == 'msg' && actList[i]['status'] == 3) actList[i][a] = actList[i]['errorMsg']; else if (a == 'type') actList[i][a] = actList[i][a] == 1 ? 'recurring' : 'once'; else if (a == 'status') { actList[i][a] = actList[i][a] == 0 ? 'uncomplete' : actList[i][a] == 1 ? 'inProgress' : actList[i][a] == 2 ? 'completed' : ''; actList[i][a] = ''; } else if (a == 'msg') actList[i][a] = actList[i][a] + actList[i]['errorMsg']; e(null, tr, 'td').t(actList[i][a]); } $(tr).append('' + '' + ''); e(null, tr, 'span', 'secretDelete').t('X').a('title', 'Delete record finally'); } pagerService(); $('.statusTable')[0].style.marginRight = document.getElementById('pager').offsetWidth + 'px'; $('.secretDelete').off().on('click', function (ev) { var id = $(ev.target).parents('tr')[0].id; if (confirm('Delete this cron history record?')) { j.post(['delete'], function (data) { debug.cnsl(data); if (data.statusQR) { message('Record deleted successfully', 1); $('#' + id).hide(); } else message('System error', 0); }, {id: id}); } }); }, search: function () { frmo.searchParams = { taskDef: $('#tdSelector').val(), status: $('#statusSelect').val(), sw: $('#searchInput').val(), page: frmo.page, pagerCount: frmo.pagerCount }; j.post(['init', 'search'], function (data) { if (isDefined(data.page)) { frmo.page = data.page; history.pushState(null, null, nav.link(187)); } frmo.pushTaskDefId(data.tds); if (isDefined(data.Count)) { frmo.listCount = data.Count; frmo.list = data.list; frmo.run(data.cronHistory); if (frmo.listCount == 0) message('Not found', 3); } else { message('Not found', 3) } debug.cnsl(data); }, frmo.searchParams); } , pushTaskDefId: function (tds) { debug.cnsl("tdSelector = " + tdSelector); if (!frmo.tdSelector) { for (var t in tds) { e(null, e('tdSelector'), 'option') .t(tds[t]) .a('value', t); } frmo.tdSelector = document.getElementById('tdSelector').innerHTML; } //else e('tdSelector').t(frmo.tdSelector); } , reactivate: function (ev) { var id = $(ev).parents('tr')[0].id; if (confirm('Activate this task again?')) j.post(['update'], function (data) { debug.cnsl(data); if (data.statusQR) { message('Task activated successfully', 1); //$('#' + id).hide(); } else message('System error', 0); }, {id: id}); } }; frm[188] = { pagerCount: 50, dataSeted:false, searchParams:false, tdSelector:false, userSelector:false, init:function(params){ frmo.page = (params.shift() || 0); if(frmo.searchParams){ e('tdSelector').t(frmo.tdSelector); $('#tdSelector').val(frmo.searchParams.taskDef); $('#statusSelect').val(frmo.searchParams.status); $('#searchInput').val(frmo.searchParams.sw); frmo.search(); } else { frmo.search(); /*j.post(['init'], function (data) { debug.cnsl(data); frmo.listCount = data.Count; frmo.tasks = data.cronTaskNames; frmo.run(data.activeCron); }, {page: frmo.page, pagerCount: frmo.pagerCount});*/ } e('searchPanel').onclick = function(){ if (frmo.dataSeted) e('searchPanel').reset(); frmo.dataSeted = false; }; $('#searchBtn').off().on('click', function (ev) {frmo.page = 0; frmo.search();}); $('#searchInput').off().on('keydown', function (ev) { if (ev.keyCode == 13){ ev.preventDefault(); ev.stopImmediatePropagation(); frmo.page = 0; frmo.search(); } }); $('#tdSelector').off().on('change', function (ev) {frmo.page = 0; frmo.search();}); $('#userSelector').off().on('change', function (ev) {frmo.page = 0; frmo.search();}); $('#primarySearch').off().on('change', function (ev) {frmo.page = 0; frmo.search();}); }, pager: { next:function () { nav.goTo(parseInt(form.id),[parseInt(frmo.page)+1]); }, prev:function () { nav.goTo(parseInt(form.id),[parseInt(frmo.page)-1]); } }, run :function (actList) { empty(e('cronATbody')); var order = new Array('name', 'type', 'intervalMinutes', 'params', 'startDate', 'createUser', 'createDate'); for(var i in actList){ var tbl = e('cronATbody'); var isPrimary = actList[i]['p']!=0? 'isPrimary' : ''; var tr = e(actList[i]['id'], tbl, 'tr', isPrimary); for (var c in order){ var a=order[c]; var el = actList[i][a]; if(a=='intervalMinutes')el = isDefined(el)?el:'-'; //if(a=='startDate')el = isDefined(el)? '-' : parseDate.shortDate(el); else if(a=='type')el= el == 1 ? 'recurring' : 'once'; else if(/*a=='startDate'||*/a=='createDate')el=parseDate.shortDate(el); e(null, tr, 'td', a).t(el); //debug.cnsl(a,el); } var act = e(null, tr, 'td'); e(null, act,'button', 'btn delete btn-xs btn-danger') .t(' Cancel'); e(null, act,'button', 'btn primarySet btn-xs btn-success '+isPrimary) .t(' Primary'); } $('button.delete').off().on('click', function (ev) { if (confirm('Delete this task?')){ j.post(['delete'], function (data) { debug.cnsl(data); $(ev.target).parents('tr').hide(); }, {id: $(ev.target).parents('tr')[0].id}); } }); $('button.primarySet').off().on('click', function (ev) { j.post(['update', 'setPrimary'], function (data) { $(ev.target).parents('tr').toggleClass('isPrimary'); debug.cnsl(data); }, {id: $(ev.target).parents('tr')[0].id}); }); pagerService(); }, add:function () { if (!isDefined($('#new')[0])){ var line = e('new', e('cronATbody'), 'tr', null, {prepend:true}); //e(null, line, 'td').t(local.getSelect(frmo.tasks, 'taskDefId', '-- select task name --', true)); e(null, line, 'td').t(local.getSelect(frmo.tasks, 'taskDefId', 14, true)); //e('type', line, 'td').t(local.getSelect({0:'runs once', 1:'recurring'}, 'type', '-- select type --', true)); e('type', line, 'td').t(local.getSelect({0:'runs once', 1:'recurring'}, 'type', 0, true)); e(null, line, 'td').t(''); e(null, line, 'td').t(''); e(null, line, 'td').t(' '); e(null, line, 'td').t(''); $('#type select').off().on('click', function (ev) { if($('#type select').val()==1)$('input[name="intervalMinutes"]')[0].disabled = false; else $('input[name="intervalMinutes"]')[0].disabled = true; }); $(e(null, line, 'td').t('')) .off().on('click', function () { var newData = ff.toObj('new'); newData['startDate'] = newData['startDate'].replace('T', ' '); debug.cnsl(newData); j.post(['insert'], function (data) { form.init(); }, newData); }); } else message('Add previous task', 3) }, search:function () { frmo.searchParams = { taskDef: $('#tdSelector').val(), user: $('#userSelector').val(), sw: $('#searchInput').val(), p: $('#primarySearch')[0].checked, page: frmo.page, pagerCount: frmo.pagerCount }; j.post(['init', 'search'], function (data) { frmo.tasks = data.cronTaskNames; if (isDefined(data.Count)){ if (isDefined(data.page)) { frmo.page = data.page; history.pushState(null, null, nav.link(188)); } frmo.listCount = data.Count; frmo.list = data.list; frmo.run(data.activeCron); if (!frmo.tdSelector){ for (var t in data.cronTaskNames){ e(null,e('tdSelector'),'option') .t(data.cronTaskNames[t]) .a('value',t); } frmo.tdSelector = document.getElementById('tdSelector').innerHTML;} //else e('tdSelector').t(frmo.tdSelector); if (!frmo.userSelector){ for (var t in data.createUsers){ e(null,e('userSelector'),'option') .t(data.createUsers[t]) .a('value',t); } frmo.userSelector = document.getElementById('userSelector').innerHTML;} //else e('userSelector').t(frmo.userSelector); if(frmo.listCount==0)message('Not found', 3); } else {message('System Error', 3);} debug.cnsl(data); }, frmo.searchParams); } };frm[189] = { init:function(){ if(!isDefined(frmo.actions))frmo.actions = $('.actions').clone(); if(!isDefined(frmo.newRow))frmo.newRow = $('#new').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.run.vList(data.versions); }, {}); }, run:{ vList: function (versions) { var order = new Array('vid', 'comment', 'createUser', 'createDate'); e('versionsTbody').innerHTML=''; for (var a in versions) { var act = frmo.actions.clone(); var line = e(versions[a]['id'], e('versionsTbody'), 'tr'); for (var b in order) { var c = order[b]; var cont = versions[a][c]; //debug.cnsl(cont); if(c == 'createDate')cont = parseDate.shortDate(cont); if(c=='comment') e(null, line, 'td', c+' edit').t(cont).a('onclick', 'frmo.edit.td(this)').a('data-name', 'comment'); else e(null, line, 'td', c).t(cont); } $(line).append(act); } }, addLine:function () { if($('#new').is('tr')) {message('Click "Add" for previous line', 3); return;} else var newLin = e('versionsTbody').h(frmo.newRow.clone().show()[0]); } }, update:{ td:function (e,a) { a = a || false; var id = $(e).parents('tr')[0].id; $(e).parents('tr').children('td.comment')[0].id='comment'; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update','all'], function (data) { if(data.status){ message('Saved!',1); if(!a)form.init(); } else message('Not saved!(',0); }, formData); $(e).parents('tr').children('td.comment').attr('contenteditable', 'false'); $(e).attr('disabled', 'disable'); } }, insert:function (e) { var formData = ff.toObj('new'); debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color','#deb887'); } }, formData); $('#new').remove(); }, edit: { td: function (e) { if($(e).hasClass('edit')){ $(e).attr('contenteditable', 'true'); $(e).parents('tr').find('button.save').removeAttr('disabled'); } } }, del:function (e) { if(confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } }, {id: $(e).parents('tr')[0].id }); } };frm[190] = { init: function () { j.post(['init'], function (data) { if (data.sett) { $('#tabsHeader, #tabBody').empty(); var tabsHeader = e('tabsHeader'); for (var num in data.tabs) { e(null, e(null, tabsHeader, 'li'), 'a').a('data-toggle', 'tab').a('data-tab', 'tab'+num).t(data.tabs[num].name); } for (var k in data.sett) { var main = e('tab'+Math.round(k/100)*100, e('tabBody'), 'div', 'tab-pane tab-body'); var property = data.sett[k]; if (property['type'] == 'textarea') { var block = e('prop' + k, main, 'div', 'col-xs-6 col-md-3'); e(null, e(null, block, 'label').t(property['name']), 'p').t(property['dsc']); e(property['id'], block, 'textarea', 'form-control').a('name', property['id']).t(property['value']); if (property['disabled'] == 1) e(property['id']).disabled = true; } else if (property['type'] == 'hr') { e(null, main, 'h4', 'col-xs-12 col-md-12').t(property['name']); e(null, main, 'hr', 'col-xs-12 col-md-12 separator'); } else { var block = e('prop' + k, main, 'div', 'col-xs-6 col-md-3'); e(null, e(null, block, 'label').t(property['name']), 'p').t(property['dsc']); // e(property['name'], block, 'input', 'form-control').a('name', property['name']).a('type', property['type'] || 'text').a('value', property['value']); e(property['id'], block, 'input', 'form-control').a('name', property['id']).a('type', property['type'] || 'text').a('value', property['value']); if (property['type'] == 'checkbox' && property['value'] != '0') e(property['id']).checked = true; if (property['disabled'] == 1) e(property['id']).disabled = true; } } $('#tabsHeader li')[0].classList += ' active'; $('.tab-pane')[0].classList += ' active'; $('a[data-toggle="tab"]').on('click', function (ev) { var tab = ev.target.dataset.tab; $('.tab-pane.active').removeClass('active'); $('#'+tab).addClass('active'); /*$('#tabsHeader li.active').removeClass('active'); $(ev.target).parent('li').addClass('active');*/ }); } }, {}); $('.save').off().on('click', function (ev) { ev.preventDefault(); ev.stopImmediatePropagation(); var sett = ff.toObj('cPSettings'); var newSett = ff.toObj('new'); // debug.cnsl(sett); if (newSett.name) { j.post(['insert'], function (data) { if (data.status) { message('Settings added successfully', 1); $('#new').remove(); frmo.init(); } }, newSett); } else { j.post(['update'], function (data) { if (data.statusQR) { message('Settings saved successfully', 1); $('#settList').empty(); $('#new').remove(); // не удалять, это нужно, из-за того что при сохранении, ff.toObj('new') -- этот код создает блок, с этим айдишником, вне блока меин frmo.init(); } }, sett); } // $('#settList').empty(); // frmo.init(); }); $('#secretRestart').off().on('click', function (ev) { if(confirm('Restart cron?')) if (confirm('Are you sure?')) j.post(['update', 'resetCron'], function (data) { debug.cnsl(data); if(data.statusQR) { message('Cron has been reset successfully', 1); form.init(); // $('#'+id).hide(); } else message('System error', 0); }, {}); }); }, addProp: function () { var main = e('bottomBox'); var block = e(null, e('new', main, 'div', 'form-group', {prepend: true}), 'div', 'row'); e('disabled', e(null, block, 'div', ' col-md-1'), 'input', 'form-control').a('name', 'disabled').a('type', 'checkbox').a('title', 'disable edit'); e('name', e(null, block, 'div', ' col-md-2'), 'input', 'form-control').a('name', 'name').a('placeholder', 'name'); e('dsc', e(null, block, 'div', ' col-md-3'), 'input', 'form-control').a('name', 'dsc').a('placeholder', 'Description'); e('type', e(null, block, 'div', ' col-md-3'), 'input', 'form-control').a('name', 'type').a('placeholder', 'type'); e('value', e(null, block, 'div', ' col-md-3'), 'input', 'form-control').a('name', 'value').a('placeholder', 'value').a('type', 'text'); } };frm[206] = { init:function(){ j.post(['init'], function (data) { debug.cnsl(data); frmo.libsList = data.libsList $('#libRefTbody').empty(); for (var a in data.list) { var line = e(a, e('libRefTbody'), 'tr'); var order = new Array('vFormId', 'libName', 'createDate', 'createUser'); for (var c in order) { var b = order[c]; var cont = data.list[a][b]; if(b=='vFormId')cont = cont+': '+sett.forms[cont]; else if(b=='createDate')cont = parseDate.shortDate(data.list[a][b]); e(null, line, 'td').t(cont); } e(null, line, 'td').t('') } }, {}); }, createRel:function () { if(!isDefined($('#new')[0])) { var line = e('new', e('libRefTbody'), 'tr'); e(null, line, 'td').t(local.getSelect(sett.forms, 'vFormId', '-- Select form id --')); e(null, line, 'td').t(local.getSelect(frmo.libsList, 'libId', '-- Select library id --')); e(null, line, 'td'); e(null, line, 'td'); e(null, line, 'td', 'actions').t(''); } else message('Please create previous relation', 3); }, del:function (t) { var relId = $(t).parents('tr')[0].id; debug.cnsl(relId); if (confirm('Delete this relation?')) j.post(['delete'], function (data) { if (data.status){ message('Relation deleted successfully', 1); $('#'+relId).hide(); } else message('System error', 0); debug.cnsl(data); }, {id: relId}); }, ins:function (t) { var newRel = ff.toObj('new'); debug.cnsl(newRel); j.post(['insert'], function (data) { if (data.status){ message('Relation created successfully', 1); frmo.init(); } else message(data.error, 0); debug.cnsl(data); }, newRel); } };frm[243] = { init: function () { if (!isDefined(frmo.newRow)) frmo.newRow = $('.word').remove().clone(); j.post(['init'], function (data) { debug.cnsl(data); frmo.run.list(data.libs); }, {}); }, run: { list: function (words) { $('#wordsTbody').empty(); var wordRow; $.each(words, function (i, word) { wordRow = frmo.newRow.clone(); wordRow[0].id = parseInt(word.id); $.each(word, function (fieldName, val) { var td = $(wordRow).find('.' + fieldName); if (fieldName == 'createDate') val = parseDate.shortDate(val); /*if(fieldName=='active') { if(val==1)td.find('input[name="active"]').attr('checked','checked'); else td.find('input[name="active"]').removeAttr('checked','checked'); } else*/ td.text(val); }); wordRow.find('td.editable').on('click', function (e) { $(this).off(); frmo.edit.td(e.target); }); wordRow.appendTo('#wordsTbody').show(); }); $('.merge :not(input)').on('click',function (e) { frmo.merge(e.target); }); }, addLine: function () { if ($('#new').is('tr')) { message('Click "Add" for previous line', 3); return; } var row = frmo.newRow.clone().show(); $(row).find('td.editable.text').each(function (i, v) { var fieldName = $(v)[0].className.replace('editable', '').replace('text', '').trim(); $(v).append(''); }); /*$(row).find('td.editable.textarea').each(function (i,v) { var fieldName = $(v)[0].className.replace('editable','').replace('textarea','').trim(); $(v).append(''); });*/ $(row).find('button:not(.add), .status *').remove(); $(row).find('button.add').show(); $(row)[0].id = 'new'; $(row).css('background-color', '#8fbc8f'); $('#wordsTbody').append(row); $("html, body").animate({scrollTop: $(document).height()}, 1000); } }, update: { /* active:function (e) { j.post(['update','active'], function (data) { if(data.status) message('Saved!',1); form.init(); }, { id:$(e).parents('tr')[0].id, active:$(e)[0].checked }); },*/ td: function (e, a) { a = a || false; var id = $(e).parents('tr')[0].id; var formData = ff.toObj(id); if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['update', 'all'], function (data) { if (data.status) { message('Saved!', 1); if (!a) form.init(); } else message('Not saved!(', 0); }, formData); } }, insert: function (e) { // var id = $(e).parents('tr')[0].id; var formData = ff.toObj('new'); // if (!isDefined(formData['id'])) formData['id'] = id; debug.cnsl(formData); j.post(['insert', 'new'], function (data) { if (data.status) { message('Saved!', 1); frmo.init(); } else { message('Not saved!', 0); $('#new').css('background-color', '#deb887'); } }, formData); }, edit: { td: function (e) { var text = $(e).text().trim(); var fieldName = $(e)[0].className; if (fieldName == '') fieldName = $(e).parents('td')[0].className; fieldName = fieldName.replace('editable', '').replace('text', '').trim(); debug.cnsl(fieldName); $(e).empty(); // if( $(e).hasClass('num') ) $(e).append(''); // else if( $(e).hasClass('textarea') ) $(e).append(''); // else if( $(e).hasClass('selector') ) $(e).append($(frmo.modulListSelect).val(text.match(/\d+$/)[0])); if ($(e).hasClass('text')) $(e).append(''); $(e).parents('tr').find('button.save').removeAttr('disabled'); } }, del: function (e) { if (confirm('Delete?')) j.post(['delete'], function (data) { if (data.status) { message('Deleted.'); $(e).parents('tr').remove(); } }, {id: $(e).parents('tr')[0].id}); }, merge: function (e) { var from = $(e).parents('.word')[0].id; var to = $(e).parents('button').find('input').val(); debug.cnsl(from, to); debug.cnsl(e); if (confirm('Merge?')) j.post(['update','merge'], function (data) { debug.cnsl(data); if (data.status2) { message('Merge success!',2); $(e).parents('.word').remove(); } else message('Error',0); }, {from: from, to: to}); } };frm[299] = { init:function(){ j.post(['init'], function (data) { debug.cnsl(data); }, {}); } };frm[310] = { devAlertOff: false, init: function (params) { j.post(['init'], function (data) { frmo.formList = data.forms; for (var f in data.forms) { $('#exportFId').append(''); } var mods = document.querySelectorAll('select[name="modId"]')[0]; for (var m in data.mods) { mods.options[mods.options.length] = new Option(m + ' - ' + data.mods[m].name, m); } }, {}); var form = $('form.dropzone'); if (!isDefined(window.FileReader)) form.find('.dz-message span').html('Not supported browser!(').addClass('error'); else { frmo.dropzone = form; form[0].addEventListener('dragover', function (e) { e.preventDefault(); e.stopImmediatePropagation(); debug.cnsl('dragover'); frmo.dropzone.addClass('dz-drag-hover'); }, false);// for design form[0].addEventListener('dragleave', function () { debug.cnsl('dragleave'); frmo.dropzone.removeClass('dz-drag-hover'); });// for design form[0].addEventListener('drop', function (event) { event.stopPropagation(); event.preventDefault(); event.dataTransfer.files[0].text().then(function(ev){frmo.formInfo = JSON.parse(ev); frmo.fileParse();}); }, false);// chromes form.on('click', function () { $('').on('change', function () { this.files[0].text().then(function(ev){frmo.formInfo = JSON.parse(ev); frmo.fileParse();}); }).click(); }); } }, fileParse: function () { $('.startBlock').hide(); $('#formVersion').show(); for (var i in frmo.formInfo) { debug.cnsl(i); $('#formVersion [name=' + i + ']').val(frmo.formInfo[i]); } }, export: function (ev) { var efid = document.getElementById('exportFId').value; j.post(['export'], function (data) { frmo.download($("#exportFId option:selected").text()+'.sls',data['POST']); }, {efid: efid}); }, install: function () { if (confirm('Are you sure want to install this form as '+frmo.formInfo.fid+'?')){ frmo.idChangeFiles(function () { var importData = ff.toObj('formVersion'); importData['id'] = frmo.formInfo.fid; j.post(['insert', frmo.formInfo.fid], function (data) { debug.cnsl(data); if(data.status){ message(data.result, 1); form.init(); } else message(data.result, 3); }, importData); }); } }, download: function (filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); }, idChangeFiles: function (callback) { var oldId = frmo.formInfo.fid; var newId = document.querySelector("[name='fid']").value; if(isDefined(frmo.formList[newId])){ message('This form id is already exist in CPanel.', 3); } else { frmo.formInfo.fid = newId; document.querySelector("[name='css']").value = document.querySelector("[name='css']").value.replace(new RegExp('#f'+oldId, 'g'), '#f'+newId); document.querySelector("[name='js']").value = document.querySelector("[name='js']").value.replace('frm['+oldId+']', 'frm['+newId+']'); document.querySelector("[name='sp']").value = document.querySelector("[name='sp']").value.replace(' s'+oldId, ' s'+newId); frmo.formInfo.fid = newId; message('New form ID apply successfully, You can install it.', 1); if (isDefined(callback)) callback(); } }, devAlert:function(){ if(!frmo.devAlertOff){ alert('Change nothing if you\'re not sure. It\'s only for developers'); frmo.devAlertOff = true; } } };