(function($) {
if(typeof user == 'undefined') {
var user = {
'id' : '',
'reply' : '',
'name' : '',
'pass' : '',
'parent' : '',
'content' : '',
'key' : '',
'secret' : ''
}
}
var resetUser = function(o) {
$.each(o,function(k,v) {
o[k] = '';
});
if(typeof o['btn'] != 'undefined') delete o['btn'];
return o;
}
var uniqID = function() {
return Math.round(new Date().getTime() + (Math.random() * 100));
}
var tplCommentWrap = function(ctype,cmode,cview) {
var id = uniqID(),
menu_lock = (PAGE_MODE == 'c') ? '' : property.ISLOCK,
comments_class = (typeof menu_lock != 'undefined' && menu_lock == 'true') ? 'hide ' : '';
if(ctype == 'P' && cmode == 'project') comments_class += 'galProjectBg ';
$str = $('
');
$str.css({
'text-align' : 'center',
'font-size' : '20px',
'background-image' : 'url(https://storage.googleapis.com/i.addblock.net/preloader2.gif)',
'background-position' : 'center center',
'background-repeat' : 'no-repeat',
'min-height' : '50px'
});
return {
id : id,
tpl : $str
}
}
var tplCommentForm = function(type,my_image,parent_settings, write_level, writeable, login) {
var $form = $('.tpl-comment-form');
$form.fadeOut('fast',function() {
$(this).remove();
});
var cVALIDPLAN = (PAGE_MODE == 'c') ? VALIDPLAN : property.VALIDPLAN;
var cVALIDTYPE = (PAGE_MODE == 'c') ? VALIDTYPE : property.VALIDTYPE;
var comm_placeholder = $.lang[LANG]['config.comments.placeholder'];
var comm_submit = '\
\
';
var disabled = '';
if(writeable == false) {
disabled = 'disabled';
comm_submit = '\
\
';
if((!cVALIDPLAN || cVALIDTYPE == 'PK') && write_level == 'NM') write_level = 'M';
if(login == true) comm_submit = '';
switch(write_level) {
case 'ADM':
comm_placeholder = $.lang[LANG]['config.comment.admin-can-write'];
break;
case 'M':
comm_placeholder = $.lang[LANG]['config.comment.member-can-write'];
break;
case 'G':
comm_placeholder = $.lang[LANG]['config.comment.group-can-write'];
break;
}
}
var str = '\
\
';
return str;
}
var updateForm = function(type, content, input,id, only_secret, parent_settings) {
var secret = (user.secret) ? 'checked' : '',
area_str = '\
');
if(PAGE_MODE == 'c') {
$lastEl = ($('.el-footer_ctrl').length) ? $('.el-footer_ctrl') : $('.add-footer-information');
if($('.page-bottomlist').length) $lastEl = $('.page-bottomlist');
if(cVIEW && cPARENT.mode=='project') $lastEl.before($cwrap); //gallery
else {
if($('.page-bottomlist').length>0) $('.page-bottomlist').before($cwrap);
else $('.forum-view').append($cwrap); //forum
}
} else {
if($('.el-footer').length) {
$lastEl = ($('.page-bottomlist').length) ? $('.page-bottomlist') : $('.el-footer');
if(cVIEW && cPARENT.mode=='project') $lastEl.before($cwrap); //gallery
else {
if($('.page-bottomlist').length>0) $('.page-bottomlist').before($cwrap);
else $('.forum-view').append($cwrap); //forum
}
} else {
$('.dsgn-body').append($cwrap);
}
}
$.ajax({
type : 'POST',
url : '/template/comment/list/type/' + cTYPE + '/view/' + cVIEW + '/sid/' + cSID,
data: {'pid': cPID},
dataType : 'json',
async : true,
success : function(data) {
if(typeof data.check_comment == 'undefined' || data.check_comment) {
var write_level = (typeof data.write_level != 'undefined')? data.write_level:'M';
var writeable = (typeof data.writeable != 'undefined')? data.writeable:false;
var login = (typeof data.login != 'undefined')? data.login:false;
var $tCmt = $(tplComment()),
$tplCmtForm = $(tplCommentForm(cTYPE, data.my_image, cPARENT_SETTINGS, write_level, writeable, login));
// $tplForm = $(tplForm(data.my_image));
if(cTYPE == 'F' && data.list.length > 0 && $('.forum-view[data-forum-type="qna"]').length > 0) $tplCmtForm = $('');
$('.page-comments > .container').append('');
$.each(data.list, function(i,v) {
if(data.check_likeComment === undefined || data.check_likeComment == false || !cVALIDPLAN) v.like = false;
$tCmt.append(tplCommentRow(cTYPE,v.seq,v.name,v.content,v.datetime,v.reply,v.depth,v.option,v.lock,v.reply_btn,v.cmb,v.own,v.adm,v.mgr,data.my_image,v.mb_image,write_level,writeable,v.like));
});
var f_color = ($('.forum-view').attr('data-fcolor')) ? $('.forum-view').attr('data-fcolor') : '',
g_color = (typeof $('.dsgn-body').attr('data-gcolor')!='undefined') ? $('.dsgn-body').attr('data-gcolor') : '';
setTimeout(function() {
$cwrap.css('background-image','none').find('.container').append($tplCmtForm);
$cwrap.find('.container').append($tCmt);
if(typeof cSETTINGS.viewportMode != 'undefined' && cSETTINGS.viewportMode == 'mobile_web') setHeight(pageHeight());
if(cTYPE == 'P') { //product
var pr_rgba = hexToRgba(g_color),
galProjectCssStr = ($('.galProjectCss').length>0) ? $('.galProjectCss').text() : '';
galProjectCssStr += '.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .tpl-comment-form,\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comment-list .comm-wrap { border-color : rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.2) }\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .btn-submit { border-color : rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.4) }\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comm-footer .checkbox svg,.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comm-footer .checkbox #comm-secret + .cl-icon svg { fill : rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.8) }\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comm-footer label,.comm-footer .checkbox > label,.forum-view ~ .page-comments textarea,\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comm-footer .btn.btn-submit,.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .cm-name,\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .cm-content,.dsgn-body[data-gcolor="'+g_color+'"] .page-comments.galProjectBg .comm-area > .cm-content .user-reply { color: rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.8);}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .cm-time { color: rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.4);}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comm-area > .cm-section .cm-controls { color: rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+');}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .tpl-comment-form textarea {color:rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.6)}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .tpl-comment-form textarea::-webkit-input-placeholder {color:rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.6) !important;}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .tpl-comment-form textarea:-ms-input-placeholder {color:rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.6) !important;}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .tpl-comment-form textarea:-mos-input-placeholder {color:rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.6) !important;}\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .tpl-comment-form.disabled { background-color : rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.05) }\n\
.dsgn-body[data-gcolor="'+g_color+'"] .galProjectBg .comment-cnt{color: rgba('+pr_rgba.r+','+pr_rgba.g+','+pr_rgba.b+',0.8);}';
if(data.check_likeComment !== undefined && data.check_likeComment != false && cVALIDPLAN) {
var c_parent = (PAGE_MODE == 'c')? PARENT : property.PARENT;
j = (c_parent.elcss)? CSSJSON.toJSON(htmlspecialchars_decode(c_parent.elcss)):{},
elname = '.' + c_parent.element;
var like_fill = (cPARENT_SETTINGS.gl_like_color !== undefined)? cPARENT_SETTINGS.gl_like_color : '#505050';
var likeActive_fill = (cPARENT_SETTINGS.gl_likeActive_color !== undefined)? cPARENT_SETTINGS.gl_likeActive_color:'#ee445f';
galProjectCssStr += '.galProjectBg.page-comments .comm-area > .cm-like svg{fill:'+like_fill+';}\n';
galProjectCssStr += '.galProjectBg.page-comments .comm-area > .cm-like .cm-like-cnt{color:'+like_fill+';}\n';
galProjectCssStr += '.galProjectBg.page-comments .comm-area > .cm-like.active svg, .galProjectBg.page-comments .comm-area > .cm-like.active svg path:first-child{fill:'+likeActive_fill+';}\n';
galProjectCssStr += '.galProjectBg.page-comments .comm-area > .cm-like.active .cm-like-cnt{color:'+likeActive_fill+';}\n';
}
$('.galProjectCss').text(galProjectCssStr);
} else { //forum
var rgba = hexToRgba(f_color);
var fmCssStr = ($('.fmcss').length > 0)? $('.fmcss').text():'';
$('.tpl-comment-form,.comment-list .comm-wrap').css('border-color','rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.2)');
$('.page-comments .btn-submit').css('border-color','rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.4)');
$('.page-comments .comm-footer .checkbox svg').css('fill','rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.8)');
$('.page-comments .comm-footer label,.comm-footer .checkbox > label,.forum-view ~ .page-comments textarea,\
.page-comments .comm-footer .btn.btn-submit,.cm-name, .cm-content,.page-comments .comm-area > .cm-content .user-reply').css('color','rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.8)');
$('.cm-time').css('color','rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.4)');
$('.page-comments .comm-area > .cm-section .cm-controls').css('color','rgba('+rgba.r+','+rgba.g+','+rgba.b+')');
$('.page-comments .comment-cnt').css('color', 'rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.8)');
$('.tpl-comment-form.disabled').css('background-color','rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.05)');
fmCssStr +='.forum-view ~ .page-comments textarea::-webkit-input-placeholder, .forum-view ~ .page-comments textarea:-ms-input-placeholder, .forum-view ~ .page-comments textarea:-mos-input-placeholder {color: rgba('+rgba.r+','+rgba.g+','+rgba.b+',0.6) !important;}';
$('.fmcss').text(fmCssStr);
}
}, 30);
} else {
$cwrap.remove();
}
}
});
return false;
},
delete : function(id) {
if(typeof id == 'undefined' || !id) {
$(this).showModalFlat('ERROR', $.lang[LANG]['config.comment-not-found'], true, false, '', 'ok');
return false;
}
//this case:: forum QnA block, answer delete =>> page refresh
var checkPageReload = ($('.element[data-type="forum"][data-type2="qna"] .qna-details .tpl-qna-toolbar-button.data-qna-del[data-id="' + id + '"]').length > 0) ? true : false;
var modal = $(this).showModalFlat('INFORMATION', $.lang[LANG]['config.confirm-delete-comment'], true,true, function() {
$.post('/template/comment/info', {id:id}, function(data) {
if(typeof data.error != 'undefined' && data.error) {
$(this).showModalFlat('ERROR',data.error,true,false,'','ok');
return false;
}
var cTYPE = data.type;
if(data.sign == false) {
var modalPass = $(this).showModalFlat($.lang[LANG]['config.comment-delete'],passwdForm(),true,true,function() {
var $pass = $('.comm-pass'),
userInput = $pass.val(),
isSubmit = true;
$('label.error').remove();
if($pass.val().length<4) {
//$pass.parents('.comment-addform.password').after('
').focus();
$pass.closest('.cl-s-form-wrap').addClass('error');
$pass.closest('.cl-s-form-wrap').after('
');
$pass.focus();
isSubmit = false;
}
if(isSubmit) {
//$('.comment-addform.password').parent().find('.error').remove();
$('.comment-addform.password').removeClass('error');
$.post('/template/comment/password',{ id: id, passwd : hex_md5($pass.val()) }, function(data) {
if(typeof data.error != 'undefined' && data.error) {
//$(this).showModalFlat('ERROR',data.error,true,false,'','ok');
//$('.comment-addform.password').before('
');
$pass.closest('.cl-s-form-wrap').addClass('error');
$pass.closest('.cl-s-form-wrap').after('
');
return false;
}
deleteComment(id,hex_md5($pass.val()));
modalPass.modal('hide');
},'json');
}
modalEmptyCheck();
},'cancel','', 'cl-modal cl-cmmodal cl-p70 cl-s-btn w560 site-comment-modal cl-t80 cl-close-btn');
} else {
deleteComment(id);
}
return;
},'json');
setTimeout(function() {
modal.modal('hide');
if(checkPageReload) location.reload(); //this case:: forum QnA block, answer delete
}, 20);
}, 'cancel','', 'cl-modal cl-none-title cl-cmmodal cl-p130 cl-s-btn w560 site-comment-modal cl-t80 cl-close-btn');
function deleteComment(id,pass) {
pass = (typeof pass == 'undefined') ? '' : pass;
var cSID = (PAGE_MODE == 'c') ? SID : property.SID;
$.post('/template/comment/delete', { id : id, sid : cSID, pass : pass }, function(data) {
if(typeof data.error != 'undefined' && data.error) {
$(this).showModalFlat('ERROR',data.error,true,false,'','ok');
return false;
} else modal.modal('hide');
$.comment.init();
},'json');
}
},
destory : function() {
var $obj = $('.page-comments');
$obj.fadeOut('slow',function() {
$(this).remove();
});
}
};
}(jQuery));