Initial import from local backup (Documents-Playground/pakerpale)
This commit is contained in:
221
assets/js/comment.js
Normal file
221
assets/js/comment.js
Normal file
@@ -0,0 +1,221 @@
|
||||
if (typeof(COMMENT_JS) === 'undefined') {
|
||||
|
||||
var COMMENT_JS = true;
|
||||
var is_submit_comment = false;
|
||||
|
||||
function view_comment(id, post_id, page, opt, message) {
|
||||
if (opt) {
|
||||
$('html, body').animate({
|
||||
scrollTop: $('#' + id).offset().top - 100
|
||||
}, 0);
|
||||
}
|
||||
|
||||
var comment_url = cb_url + '/comment_list/lists/' + post_id + '?page=' + page;
|
||||
var hash = window.location.hash;
|
||||
|
||||
$('#' + id).load(comment_url, function() {
|
||||
if (message) {
|
||||
$('.alert-comment-list-message-content').html(message);
|
||||
$('.alert-comment-list-message').addClass('alert-success').removeClass('alert-warning').show(0).delay(2500).hide(0);
|
||||
}
|
||||
if (hash) {
|
||||
var st = $(hash).offset().top;
|
||||
$('html, body').animate({ scrollTop: st }, 200); //200ms duration
|
||||
}
|
||||
if (typeof(SyntaxHighlighter) !== 'undefined') {
|
||||
SyntaxHighlighter.highlight();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function view_comment_password(cmt_id, post_id) {
|
||||
var comment_url = cb_url + '/comment_list/password/' + cmt_id + '/' + post_id;
|
||||
document.location.href=comment_url;
|
||||
}
|
||||
|
||||
function add_comment(f, post_id) {
|
||||
|
||||
if (is_submit_comment === true) {
|
||||
return false;
|
||||
}
|
||||
|
||||
is_submit_comment = true;
|
||||
|
||||
if ($('#char_count')) {
|
||||
if (char_min > 0 || char_max > 0) {
|
||||
var cnt = parseInt(check_byte('cmt_content', 'char_count'));
|
||||
if (char_min > 0 && char_min > cnt) {
|
||||
alert('내용은 ' + char_min + '글자 이상 쓰셔야 합니다.');
|
||||
f.cmt_content.focus();
|
||||
is_submit_comment = false;
|
||||
return false;
|
||||
} else if (char_max > 0 && char_max < cnt) {
|
||||
alert('내용은 ' + char_max + '글자 이하로 쓰셔야 합니다.');
|
||||
f.cmt_content.focus();
|
||||
is_submit_comment = false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#fcomment').validate();
|
||||
if ($('#fcomment').valid()) // check if form is valid
|
||||
{
|
||||
// do some stuff
|
||||
}
|
||||
else
|
||||
{
|
||||
is_submit_comment = false;
|
||||
return false;
|
||||
// just show validation errors, dont post
|
||||
}
|
||||
|
||||
var content = '';
|
||||
$.ajax({
|
||||
url: cb_url + '/postact/filter_spam_keyword',
|
||||
type: 'post',
|
||||
data: {
|
||||
title: '',
|
||||
content: f.cmt_content.value,
|
||||
csrf_test_name: cb_csrf_hash
|
||||
},
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data) {
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
if (content) {
|
||||
alert('내용에 금지단어(\'' + content + '\')가 포함되어있습니다');
|
||||
f.cmt_content.focus();
|
||||
is_submit_comment = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : cb_url + '/comment_write/update',
|
||||
type : 'POST',
|
||||
cache : false,
|
||||
data : $('#fcomment').serialize(),
|
||||
dataType : 'json',
|
||||
success : function(data) {
|
||||
is_submit_comment = false;
|
||||
if (data.error) {
|
||||
$('.alert-comment-message-content').html(data.error);
|
||||
$('.alert-comment-message').addClass('alert-warning').removeClass('alert-success').show(0).delay(2500).hide(0);
|
||||
return false;
|
||||
} else if (data.success) {
|
||||
$('.alert-comment-message-content').html(data.success);
|
||||
$('.alert-comment-message').addClass('alert-success').removeClass('alert-warning').show(0).delay(2500).hide(0);
|
||||
view_comment('viewcomment', post_id, '', '')
|
||||
if ($('#char_count')) {
|
||||
if (char_min > 0 || char_max > 0) {
|
||||
check_byte('cmt_content', 'char_count');
|
||||
}
|
||||
}
|
||||
init_comment_box();
|
||||
}
|
||||
},
|
||||
error : function(data) {
|
||||
is_submit_comment = false;
|
||||
alert('오류가 발생하였습니다.');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function delete_comment(cmt_id, post_id, page) {
|
||||
if (confirm("정말 삭제 하시겠습니까?\n\n삭제하신 후에는 복구가 불가능합니다.")) {
|
||||
$.ajax({
|
||||
url : cb_url + '/postact/delete_comment',
|
||||
type : 'POST',
|
||||
cache : false,
|
||||
data : {cmt_id:cmt_id, csrf_test_name: cb_csrf_hash},
|
||||
dataType : 'json',
|
||||
success : function(data) {
|
||||
if (data.error) {
|
||||
$('.alert-comment-list-message-content').html(data.error);
|
||||
$('.alert-comment-list-message').addClass('alert-warning').removeClass('alert-success').show();
|
||||
return false;
|
||||
} else if (data.password) {
|
||||
$('.alert-comment-list-message-content').html(data.password);
|
||||
$('.alert-comment-list-message').addClass('alert-warning').removeClass('alert-success').show();
|
||||
view_comment_password(post_id, cmt_id);
|
||||
return false;
|
||||
} else if (data.success) {
|
||||
view_comment('viewcomment', post_id, '', '', data.success);
|
||||
init_comment_box();
|
||||
}
|
||||
},
|
||||
error : function(data) {
|
||||
alert('오류가 발생하였습니다.');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function comment_page(post_id, page) {
|
||||
view_comment('viewcomment', post_id, page, '');
|
||||
comment_cur_page = page;
|
||||
}
|
||||
|
||||
function init_comment_box() {
|
||||
$('#cmt_nickname').val('');
|
||||
$('#cmt_password').val('');
|
||||
$('#cmt_content').val('');
|
||||
$('#captcha').trigger('click');
|
||||
$('#captcha_key').val('');
|
||||
$('#cmt_btn_submit').prop('disabled', false);
|
||||
check_byte('cmt_content', 'char_count');
|
||||
comment_box('', 'c');
|
||||
}
|
||||
|
||||
var save_before = '';
|
||||
var save_html = document.getElementById('comment_write_box').innerHTML;
|
||||
function comment_box(cmt_id, work) {
|
||||
var el_id;
|
||||
// 댓글 아이디가 넘어오면 답변, 수정
|
||||
if (cmt_id) {
|
||||
if (work === 'c') {
|
||||
el_id = 'reply_' + cmt_id;
|
||||
} else {
|
||||
el_id = 'edit_' + cmt_id;
|
||||
}
|
||||
} else {
|
||||
el_id = 'comment_write_box';
|
||||
}
|
||||
|
||||
if (save_before !== el_id) {
|
||||
if (save_before) {
|
||||
$('#' + save_before).css('display', 'none');
|
||||
$('#' + save_before).html('');
|
||||
}
|
||||
|
||||
$('#' + el_id).css('display', '');
|
||||
$('#' + el_id).html(save_html);
|
||||
// 댓글 수정
|
||||
if (work === 'cu') {
|
||||
$('#cmt_content').val($('#save_comment_' + cmt_id).val());
|
||||
if (typeof char_count !== 'undefined') {
|
||||
check_byte('cmt_content', 'char_count');
|
||||
}
|
||||
if ($('#secret_comment_' + cmt_id).val() === '1') {
|
||||
$('#cmt_secret').prop('checked', true);
|
||||
} else {
|
||||
$('#cmt_secret').prop('checked', false);
|
||||
}
|
||||
}
|
||||
|
||||
$('#cmt_id').val(cmt_id);
|
||||
$('#mode').val(work);
|
||||
|
||||
if (save_before) {
|
||||
$('#captcha').trigger('click');
|
||||
}
|
||||
save_before = el_id;
|
||||
}
|
||||
}
|
||||
comment_box('', 'c');
|
||||
}
|
||||
Reference in New Issue
Block a user