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(' ' + mm.nameMid + ' ');
temp[0].id = parseInt(value);
/*
}
else if(name == 'parentMids' && pM){*/
// debug.cnsl(pM);
temp.find('.parentMid').html(' ' + pM.nameMid + ' ');
} 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**', ' ');
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(' '+ data.owners[own] +' ');
else */
$('select[name="createUser"]').append(' '+ data.owners[own] +' ');
}
for (var upd in data.updaters){
$('select[name="updateUser"]').append(' '+ data.updaters[upd] +' ');
}
for (var ex in data.ext){
$('select[name="ext"]').append(' '+ ex +' ');
}
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(' ' + data.owners[own] + ' ');
else $('select[name="createUser"]').append(' ' + data.owners[own] + ' ');
}
for (var upd in data.updaters) {
$('select[name="updateUser"]').append(' ' + data.updaters[upd] + ' ');
}
for (var ex in data.ext) {
$('select[name="ext"]').append(' ' + ex + ' ');
}
for (var ch in data.channels) {
$('select[name="chid"]').append(' ' + data.channels[ch] + ' ');
}
for (var ct in data.categories) {
$('select[name="ctid"]').append(' ' + data.categories[ct] + ' ');
}
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 View '
: cont == '2' ? 'link only View '
: '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
+ ' create MID ' +
' Delete file ';
}
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 += '';
select += ' Select category ';
// debug.cnsl(frmo.articleCatsList);
$.each(frmo.articleCatsList, function (id, name) {
select += '' + name + ' ';
});
select += ' ';
return select;
},
authorsListSelect: function (name, id) {
var select = '';
id = 'id="' + id + '" ' || ' ';
select += '';
select += ' Select author ';
// debug.cnsl(frmo.imgCatsList);
$.each(frmo.authorsList, function (id, name) {
select += '' + name + ' ';
});
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].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 + ' ' +
'' +
' Edit ' +
' Delete ' +
// ' Launch ' +
' ' +
' ').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 = '';
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
row.icon = getExtIcon(row.ext);
// 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+") " +
"set as default
"*/
;
}
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+") " +
"set as default
"*/
;
}
// 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 + ' ' +
'Add form reference
');
}
$('#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 += '' +
' All Modules ';
// select += 'Root ';
$.each(frmo.modulesList, function (id, name) {
select += '' + name + ' ';
});
select += ' ';
return select;
},
formIdDatalist: function (data, name) {
var area = '';
area += '';
/*$.each(sett.forms, function (id, name) {
area += '' + data[] + ' ';
});*/
for (var id in data){
area += '' + data[id]['nameFull'] + ' ';
}
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 += '';
// select += 'Root ';
$.each(frmo.modulesList, function (id, name) {
select += '' + name + ' ';
});
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(' '+frmo.selectorBtnText+' ');
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(' ' + frmo.selectorBtnText + ' ');
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(' '+frmo.selectorBtnText+' ');
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 += '';
select += ' -- All -- ';
$.each(frmo.imgCatsList, function (id, name) {
select += '' + name + ' ';
});
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 += '' + name + ' ';
}
});
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 += '';
select += ' -- All -- ';
// debug.cnsl(frmo.imgCatsList);
$.each(frmo.imgCatsList, function (id, name) {
select += '' + name + ' ';
});
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.imgId);
$.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();
}, {imgId: $(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);
},
/*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) {
console.log(e);
if (confirm('Delete?')) j.post(['delete'], function (data) {
if (data.status) {
message('Deleted.');
$(e).parents('tr').remove();
}
}, {imgId: $(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 + '/' + toUrl(frmo.info.name.trim('').replace(' ', '_')) + '.' + frmo.info.ext;
}
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[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[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(''+key+': '+nav.ref.idToTitle[key].join(' / ')+' ');
}
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(''+key+': '+nav.ref.idToTitle[key].join(' / ')+' ');
}
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=' View ';
}
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(''+frmo.formInfo['versions'][k]['version']+'(b.ver: '+base+') ');
}
$('.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(''+frmo.fileInfo['versions'][k]['version']+
' (b.ver: '+frmo.fileInfo['versions'][k]['baseVersion']+') ');
$('.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(' Delete relation ')
}
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(' Create relation ');
}
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('' +
' Edit ' +
'Restart ' +
' Delete ' +
' ');
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('' +
'Reactivate ' +
' ');
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('<< DateOnly ');
$('#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(' Save '))
.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(' Delete relation ')
}
}, {});
},
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(' Create relation ');
}
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('' + f + ' - ' + data.forms[f].nameFull + ' ');
}
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;
}
}
};