1 2var POST_COMMENT = function(){ 3 4 var post_code,total_count,comment_count_obj,comment_form,comment_body, comment_area,child_comment_code,use_sub_secret_comment; 5 var $comment_container; 6 var comment_img_box; 7 8 var main_comment_image, comment_image, sub_comment_image , use_secret_comment; 9 10 var commentInit = function(code){ 11 post_code = code; 12 comment_count_obj = $('#comment_count'); 13 total_count = Math.round(comment_count_obj.text()); 14 $comment_container = $('#comment_container'); 15 comment_form = $('#comment_form'); 16 comment_body = $('#comment_body'); 17 comment_area = $('#comment_area'); 18 comment_img_box = $('#comment_img_box'); 19 use_secret_comment = $('#use_secret_comment'); 20 captcha_answer = $('#captcha_answer'); 21 captcha_key = $('#captcha_key'); 22 captcha_img = $('#captcha_img'); 23 24 main_comment_image = []; 25 comment_image = {}; 26 sub_comment_image = {}; 27 28 $secret = comment_form.find('._secret'); 29 $secret.on('click', function(){ 30 if($secret.hasClass('active')){ 31 $secret.removeClass('active'); 32 $secret.val('N'); 33 use_secret_comment.val('N'); 34 }else{ 35 $secret.addClass('active'); 36 $secret.val('Y'); 37 use_secret_comment.val('Y'); 38 } 39 }); 40 41 42 /* 43 comment_area.off('input keyup paste change','._comment_textarea') 44 .on('input keyup paste change','._comment_textarea', function (e) { 45 var input = $(this); 46 setTimeout(function(){ 47 input.limitLength({max_byte:3000}); 48 }, 0); 49 }); 50 51 comment_area.off('keydown.enter','._comment_textarea') 52 .on('keydown.enter','._comment_textarea', function (e) { 53 if (e.keyCode == 13) { 54 var target = $('#'+$(this).data('action')); 55 target.click(); 56 e.preventDefault(); 57 } 58 }); 59 */ 60 61 comment_area.off('input keyup keydown paste change','._comment_nick') 62 .on('input keyup keydown paste change','._comment_nick', function () { 63 var input = $(this); 64 setTimeout(function(){ 65 input.limitLength({max_byte:30}); 66 }, 0); 67 }); 68 69 /* 70 comment_area.off('input keyup keydown paste change','._comment_password') 71 .on('input keyup keydown paste change','._comment_password', function () { 72 var input = $(this); 73 setTimeout(function(){ 74 input.limitLength({max_byte:30}); 75 }, 0); 76 }); 77 */ 78 79 80 $("#comment_image_upload_btn").fileupload({ 81 url: '/ajax/comment_image_upload.cm', 82 dataType: 'json', 83 singleFileUploads:false, 84 limitMultiFileUploads: 5, 85 dropZone: null, 86 maxFileSize : 20000000, //20mb 87 limitMultiFileUploadSize : 110000000, //110 mb 88 start: function (e, data) {}, 89 progress: function (e, data) {}, 90 done: function (e, data) { 91 $("#comment_image_box").show(); 92 $.each(data.result.comment_images,function(i,file){ 93 var url = CDN_UPLOAD_URL+file.url; 94 var html ='<span class="file-add"><input type="hidden" name="tmp_img[]" value="'+file.tmp_idx+'"><div class="file-add-bg" style="background: url('+url+') no-repeat center center;"></div><em class="del" onclick="POST_COMMENT.removeCommentImg($(this))"></em></span>'; 95 $("#comment_image_box").append(html); 96 97 }); 98 }, 99 fail: function (e, data) { 100 } 101 }); 102 103 autosize(comment_area.find('.textarea_block textarea')); 104 105 //$("#comment_image_box").sortable({ 106 // placeholder: 'ui-state-highlight' 107 //}); 108 }; 109 110 var removeCommentImg = function(obj){ 111 var box_obj = obj.parent().parent(); 112 obj.parent().remove(); 113 if(box_obj.find('.file-add').length == 0)box_obj.hide(); 114 }; 115 116 var updateAttachToolPosition = function(form,editor){ 117 var $tool = form.find('._attach_tool'); 118 var scroll_top = editor.$window.scrollTop(); 119 var el_offset = editor.$el.offset(); 120 121 var boundingRect; 122 123 var range = editor.selection.ranges(0); 124 if (range && range.collapsed && editor.selection.inEditor()) { 125 var remove = false; 126 127 editor.markers.remove(); 128 if (editor.$el.find('.fr-marker').length == 0) { 129 editor.markers.insert(); 130 remove = true; 131 } 132 133 var $marker = editor.$el.find('.fr-marker:first'); 134 $marker.css('line-height','inherit'); 135 $marker.css('display', 'inline'); 136 var offset = $marker.offset(); 137 boundingRect = {}; 138 boundingRect.left = offset.left; 139 boundingRect.width = 0; 140 boundingRect.height = parseInt($marker.css('line-height'), 10) || 20; 141 142 var marker_tag_name = $marker.parent().prop("tagName"); 143 marker_tag_name = marker_tag_name.toLowerCase(); 144 if($.inArray(marker_tag_name, ['p','span','h1','h2','h3','h4','h5','h6','h7','h8','strong','b','font','a','i'])) { 145 var outer_h = Math.round($marker.parent().outerHeight()); 146 boundingRect.height = outer_h; 147 } 148 boundingRect.top = offset.top - $(editor.original_window).scrollTop(); 149 boundingRect.right = 1; 150 boundingRect.bottom = 1; 151 boundingRect.ok = true; 152 $marker.css('display', 'none'); 153 154 if (remove) editor.markers.remove(); 155 } 156 else if (range) { 157 boundingRect = range.getBoundingClientRect(); 158 } 159 160 var attach_tool_left = el_offset.left-boundingRect.left; 161 $tool[attach_tool_left ==0?'show':'hide'](); 162 var attach_tool_top = scroll_top+boundingRect.top-el_offset.top + (boundingRect.height/2) - ($tool.outerHeight()/2); 163 $tool.css('top',attach_tool_top); 164 }; 165 166 var hideAttachTool = function(obj){ 167 obj.find('._attach_tool').removeClass('open'); 168 }; 169 170 171 var commentIncreaseTotalCount = function(){ 172 total_count++; 173 comment_count_obj.text(total_count); 174 }; 175 176 var commentDecreaseTotalCount = function(decrease_count = 1){ 177 total_count -= decrease_count; 178 comment_count_obj.text(total_count); 179 }; 180 181 var is_writing = false;
182 var commentAdd = function(){ 183 if(!is_writing){ 184 var data = comment_form.serializeObject(); 185 186 if (data.captcha_key) { 187 if (data.body.length > 0 && data.captcha_answer.length === 0) { 188 refreshCaptcha(); 189 alert(getLocalizeString("ì¤ëª _ë³´ì문ìì ë ¥", "", "ë³´ì 문ì를 ì ë ¥í´ ì£¼ì¸ì.")); 190 return; 191 } 192 } 193 194 var menu_url = window.location.pathname; 195 data.menu_url = menu_url; 196 $.ajax({ 197 type:'post', 198 data:data, 199 url:'/ajax/post_comment_add.cm', 200 dataType:'json', 201 success:function(result){ 202 tokenRefresh(comment_form, result.refresh_token, result.refresh_token_key); 203 if(result.msg=='SUCCESS') { 204 comment_body.val(''); 205 $("#comment_image_box").empty().hide(); 206 commentFormHide(); 207 commentIncreaseTotalCount(); 208 if(result.comment_sorting_type == 'forward_new_comment'){ 209 $comment_container.prepend(result.html); 210 moveToCommentListTop(); 211 }else { 212 $comment_container.find('div.comment_list div.comment:last').length === 0 ? $comment_container.append(result.html) : $comment_container.find('div.comment_list div.comment:last').after(result.html); 213 } 214 autosize.update($('.comment_textarea').find('#comment_body')); 215 }else 216 alert(result.msg); 217 218 is_writing = false; 219 }, 220 complete:function(){ 221 if (data.captcha_key) { 222 refreshCaptcha(); 223 } 224 } 225 }); 226 is_writing = true; 227 } 228 }; 229 230 var refreshCaptcha = function(form_type = 'comment', code){ 231 var sub_form_captcha_answer = $('#sub_form_captcha_answer_'+code); 232 var sub_form_captcha_key = $('#sub_form_captcha_key_'+code); 233 var sub_form_captcha_img = $('#sub_form_captcha_img_'+code); 234 235 $.ajax({ 236 type:'post', 237 data:{ 238 'captcha_key': form_type == 'comment' ? captcha_key.val() : sub_form_captcha_key.val(), 239 'target': 'comment', 240 }, 241 url:'/ajax/refresh_captcha.cm', 242 dataType:'json', 243 success:function(result){ 244 if (result.msg == 'SUCCESS') { 245 if (form_type == 'comment') { 246 captcha_answer.val(''); 247 captcha_img.attr('src', result.captcha_img); 248 captcha_key.val(result.key); 249 } else if (form_type == 'sub_form') { 250 sub_form_captcha_answer.val(''); 251 sub_form_captcha_img.attr('src', result.captcha_img); 252 sub_form_captcha_key.val(result.key); 253 } 254 } else { 255 alert(result.msg); 256 } 257 } 258 }); 259 }; 260 261 var commentFormHide = function(){ 262 $comment_container = $('#comment_container'); 263 264 $comment_container.find('._comment_area').show(); 265 $comment_container.find('._sub_comment_wrap').show(); 266 $comment_container.find('._sub_form').hide(); 267 $comment_container.find('._comment_edit_form').hide(); 268 $comment_container.find('.write').show(); 269 }; 270 271 var commentShowEdit = function(code, interlock_type){ 272 var obj = $('#'+code); 273 var comment_edit_body = obj.find('._comment_edit_body_'+code); 274 var comment_wrap = obj.find('._comment_wrap_'+code); 275 276 comment_image[code] = []; 277 comment_edit_body.data('org_body',comment_edit_body.val()); 278 commentFormHide(); 279 comment_wrap.find('._comment_area').hide(); 280 comment_wrap.find('.write').hide(); 281 282 $.ajax({ 283 type:'post', 284 data: {'code' : code, 'board_type': interlock_type}, 285 url:'/ajax/append_post_comment_html.cm', 286 dataType:'json', 287 success:function(res){ 288 obj.find('._comment_edit_form_'+code).html(res.html); 289 autosize.update(obj.find('._comment_edit_body')); 290 if(comment_wrap.find("._comment_body img").length>0) $("#comment_image_modify_box_"+code).show(); 291 $("#comment_image_upload_modify_btn_"+code).fileupload({ 292 url: '/ajax/comment_image_upload.cm', 293 dataType: 'json', 294 singleFileUploads:false, 295 limitMultiFileUploads: 5, 296 dropZone: null, 297 maxFileSize : 20000000, //20mb 298 limitMultiFileUploadSize : 110000000, //110 mb 299 start: function (e, data) {}, 300 progress: function (e, data) {}, 301 done: function (e, data) { 302 $("#comment_image_modify_box_"+code).show(); 303 $.each(data.result.comment_images,function(i,file){ 304 var url = CDN_UPLOAD_URL+file.url; 305 var html ='<span class="file-add"><input type="hidden" name="tmp_img[]" value="'+file.tmp_idx+'"><div class="file-add-bg" style="background: url('+url+') no-repeat center center;"></div><em class="del" onclick="POST_COMMENT.removeCommentImg($(this))"></em></span>'; 306 $("#comment_image_modify_box_"+code).append(html); 307 308 }); 309 }, 310 fail: function (e, data) { 311 } 312 }); 313 autosize(comment_area.find('.textarea_block textarea')); 314 } 315 }); 316 317 obj.find('._comment_edit_form_'+code).show(); 318 319 }; 320 321 var commentEdit = function(code){ 322 var obj = $('#'+code); 323 var comment_edit_body = obj.find('._comment_edit_body_'+code); 324 325 var form = obj.find('._comment_edit_form_'+code+' ._edit_form'); 326 327 var comment_body = obj.find('._comment_wrap_'+code+' ._comment_body_'+code); 328 329 330 var data = form.serializeObject(); 331 332 var new_img = form.find("input[name='tmp_img[]']"); 333 var org_img = form.find("input[name='org_img[]']"); 334 var img_old_cnt = form.find("input[name='org_image_old_cnt']"); 335 var secret_comment = form.find("input[name='secret_comment']"); 336 337 if((comment_edit_body.val() == comment_edit_body.data('org_body')) && (new_img.length == 0) && (img_old_cnt.val() == org_img.length) && secret_comment.val() == secret_comment.attr('orig')) { 338 commentFormHide(); 339 return; 340 } 341 $.ajax({ 342 type:'post', 343 data:data, 344 url:'/ajax/post_comment_add.cm', 345 dataType:'json', 346 success:function(result){ 347 tokenRefresh(form, result.refresh_token, result.refresh_token_key); 348 if(result.msg=='SUCCESS') { 349 comment_edit_body.data('org_body', result.data.body); 350 comment_body.html('<div>'+result.data.body+'</div>'); 351 comment_body.append(result.data.img_html); 352 switch(secret_comment.val()){ 353 case 'Y': 354 $('#icon_' + code).show(); 355 break; 356 case 'N': 357 $('#icon_' + code).hide(); 358 break; 359 } 360 commentFormHide(); 361 commentDestroyEdit(code); 362 }else 363 alert(result.msg); 364 } 365 }); 366 367 }; 368 369 var commentEditMap = function(code){ 370 var obj = $('#'+code); 371 var comment_edit_body = obj.find('._comment_edit_body_'+code); 372 373 var form = obj.find('._comment_edit_form_'+code+' ._edit_form'); 374 375 var comment_body = obj.find('._comment_wrap_'+code+' ._comment_body_'+code); 376 377 378 var data = form.serializeObject(); 379 380 var new_img = form.find("input[name='tmp_img[]']"); 381 var org_img = form.find("input[name='org_img[]']"); 382 var img_old_cnt = form.find("input[name='org_image_old_cnt']"); 383 384 if((comment_edit_body.val() == comment_edit_body.data('org_body')) && (new_img.length == 0) && (img_old_cnt.val() == org_img.length)) { 385 commentFormHide(); 386 return; 387 } 388 $.ajax({ 389 type:'post', 390 data:data, 391 url:'/ajax/map_comment_add.cm', 392 dataType:'json', 393 success:function(result){ 394 if(result.msg=='SUCCESS') { 395 comment_edit_body.data('org_body', result.data.body); 396 comment_body.html(result.data.body); 397 comment_body.append(result.data.img_html); 398 commentFormHide(); 399 commentDestroyEdit(code); 400 }else 401 alert(result.msg); 402 } 403 }); 404 }; 405 406 var commentDestroyEdit = function(code){ 407 var obj = $('#'+code); 408 comment_image[code] = []; 409 }; 410 411 var commentDestroyAddEditor = function(code){ 412 var obj = $('._add_sub_form_'+code); 413 comment_image[code] = []; 414 var comment_edit_body = obj.find('._comment_add_body_'+code); 415 comment_edit_body.val(''); 416 }; 417 418 var commentCancelEdit = function(code){ 419 var obj = $('#'+code); 420 var comment_edit_body = obj.find('._comment_edit_body_'+code); 421 comment_edit_body.val(comment_edit_body.data('org_body')); 422 commentFormHide(); 423 commentDestroyEdit(code); 424 }; 425 426 var commentShowSubForm = function(code){ 427 var obj = $('#'+code); 428 var sub_form = obj.find('._sub_form_'+code); 429 430 var use_sub_secret_comment = sub_form.find('#use_sub_secret_comment'); 431 $sub_secret = sub_form.find('._secret'); 432 $sub_secret.on('click', function(){ 433 if($sub_secret.hasClass('active')){ 434 $sub_secret.removeClass('active'); 435 $sub_secret.val('N'); 436 use_sub_secret_comment.val('N'); 437 }else{ 438 $sub_secret.addClass('active'); 439 $sub_secret.val('Y'); 440 use_sub_secret_comment.val('Y'); 441 } 442 }); 443 444 commentFormHide(); 445 if(sub_form.data('show')=='Y'){ 446 sub_form.data('show', 'N'); 447 $('body').off('mouseup.sub_comment'); 448 }else { 449 sub_form.data('show', 'Y'); 450 obj.find('._sub_form_' + code).show(); 451 sub_comment_image[code] = []; 452 var comment_add_body = obj.find('._comment_add_body_' + code); 453 454 $('body').off('mouseup.sub_comment') 455 .on('mouseup.sub_comment', function (e) { 456 var $c_target = $(e.target); 457 var $s_form = $c_target.closest('._sub_form_' + code+', ._show_sub_form_btn_'+code); 458 if ($s_form.length == 0) { 459 460 var text = comment_add_body.val(); 461 sub_form.data('show', 'N'); 462 if(text == '') { 463 $('body').off('mouseup.sub_comment'); 464 commentFormHide(); 465 } 466 } 467 }); 468 } 469 $("#comment_image_upload_btn_"+code).fileupload({ 470 url: '/ajax/comment_image_upload.cm', 471 dataType: 'json', 472 singleFileUploads:false, 473 limitMultiFileUploads: 5, 474 dropZone: null, 475 maxFileSize : 20000000, //20mb 476 limitMultiFileUploadSize : 110000000, //110 mb 477 start: function (e, data) {}, 478 progress: function (e, data) {}, 479 done: function (e, data) { 480 $("#comment_image_box_"+code).show(); 481 $.each(data.result.comment_images,function(i,file){ 482 var url = CDN_UPLOAD_URL+file.url; 483 var html ='<span class="file-add"><input type="hidden" name="tmp_img[]" value="'+file.tmp_idx+'"><div class="file-add-bg" style="background: url('+url+') no-repeat center center;"></div><em class="del" onclick="POST_COMMENT.removeCommentImg($(this))"></em></span>'; 484 $("#comment_image_box_"+code).append(html); 485 486 }); 487 }, 488 fail: function (e, data) { 489 } 490 }); 491 }; 492 493 var commentAddSub = function(code){ 494 var obj = $('#'+code); 495 var comment_sub_body = obj.find('._comment_add_body_'+code); 496 var form = obj.find('._add_sub_form_'+code); 497 var $image_box = obj.find('#comment_image_box_'+code); 498 var data = form.serializeObject(); 499 500 var tmp_img = {'temp_images':sub_comment_image[code]}; 501 data = $.extend(data,tmp_img); 502 503 if (data.captcha_key) { 504 if (data.body.length > 0 && data.captcha_answer.length === 0) { 505 POST_COMMENT.refreshCaptchaSubForm(code); 506 alert(getLocalizeString('ì¤ëª _ë³´ì문ìì ë ¥','','ë³´ì 문ì를 ì ë ¥í´ ì£¼ì¸ì.')); 507 return; 508 } 509 } 510 511 $.ajax({ 512 type:'post', 513 data:data, 514 url:'/ajax/post_comment_add.cm', 515 dataType:'json', 516 success:function(result){ 517 tokenRefresh(form, result.refresh_token, result.refresh_token_key); 518 519 if(result.msg=='SUCCESS') { 520 comment_sub_body.val(''); 521 commentFormHide(); 522 commentAddSubHTML(result.data.parent_code !='' ? result.data.parent_code : result.data.code,result.html); 523 commentDestroyAddEditor(code); 524 //self.location.hash=result.data.code;
525 526 $image_box.empty(); 527 } else { 528 alert(result.msg); 529 } 530 }, 531 complete:function(){ 532 if (data.captcha_key) { 533 POST_COMMENT.refreshCaptchaSubForm(code); 534 } 535 } 536 }); 537 }; 538 539 var tokenRefresh = function(form, refresh_token, refresh_token_key){ 540 form.find('input[name="comment_token"]').val(refresh_token ? refresh_token : ""); 541 form.find('input[name="comment_token_key"]').val(refresh_token_key ? refresh_token_key : ""); 542 }; 543 544 var commentMapAddSub = function(code){ 545 var obj = $('#'+code); 546 var comment_sub_body = obj.find('._comment_add_body_'+code); 547 var form = obj.find('._add_sub_form_'+code); 548 var data = form.serializeObject(); 549 550 var tmp_img = {'temp_images':sub_comment_image[code]}; 551 data = $.extend(data,tmp_img); 552 553 $.ajax({ 554 type:'post', 555 data:data, 556 url:'/ajax/map_comment_add.cm', 557 dataType:'json', 558 success:function(result){ 559 if(result.msg=='SUCCESS') { 560 comment_sub_body.val(''); 561 commentFormHide(); 562 if(result.map_listing == 'map'){ 563 var map_sub_comment_count = 0; 564 map_sub_comment_count = Math.round($('#list_'+result.list_idx).find('#comment_count').text()); 565 map_sub_comment_count++; 566 $('#list_'+result.list_idx).find('#comment_count').text(map_sub_comment_count); 567 $('#comment_area').find('#comment_count').text(map_sub_comment_count); 568 $('#list_pop_'+result.list_idx).find('#comment_count').text(map_sub_comment_count); 569 var sub_code = result.data.parent_code !='' ? result.data.parent_code : result.data.code; 570 var comment_sub_list = $('#'+sub_code).find('._comment_sub_list'); 571 comment_sub_list.append(result.html); 572 commentIncreaseTotalCount(); 573 }else{ 574 commentAddSubHTML(result.data.parent_code !='' ? result.data.parent_code : result.data.code,result.html); 575 } 576 commentDestroyAddEditor(code); 577 //self.location.hash=result.data.code; 578 }else 579 alert(result.msg); 580 } 581 }); 582 }; 583 584 var commentShowSubEdit = function(code){ 585 var obj = $('#'+code); 586 var comment_edit_body = obj.find('._comment_sub_edit_body'); 587 comment_edit_body.data('org_body',comment_edit_body.val()); 588 comment_edit_body.focus(); 589 commentFormHide(); 590 obj.find('._comment_sub_wrap').hide(); 591 obj.find('._comment_sub_edit_form').show(); 592 593 $("#comment_image_upload_modify_btn_"+code).fileupload({ 594 url: '/ajax/comment_image_upload.cm', 595 dataType: 'json', 596 singleFileUploads:false, 597 limitMultiFileUploads: 5, 598 dropZone: null, 599 maxFileSize : 20000000, //20mb 600 limitMultiFileUploadSize : 110000000, //110 mb 601 start: function (e, data) {}, 602 progress: function (e, data) {}, 603 done: function (e, data) { 604 $("#comment_image_modify_box_"+code).show(); 605 $.each(data.result.comment_images,function(i,file){ 606 var url = CDN_UPLOAD_URL+file.url; 607 var html ='<span class="file-add"><input type="hidden" name="tmp_img[]" value="'+file.tmp_idx+'"><div class="file-add-bg" style="background: url('+url+') no-repeat center center;"></div><em class="del" onclick="POST_COMMENT.removeCommentImg($(this))"></em></span>'; 608 $("#comment_image_modify_box_"+code).append(html); 609 610 }); 611 }, 612 fail: function (e, data) { 613 } 614 }); 615 616 }; 617 618 var commentCancelSubEdit = function(code){ 619 var obj = $('#'+code); 620 var comment_edit_body = obj.find('._comment_sub_edit_body'); 621 comment_edit_body.val(comment_edit_body.data('org_body')); 622 commentFormHide(); 623 624 }; 625 626 var commentSubEdit = function(code){ 627 var obj = $('#'+code); 628 var comment_edit_body = obj.find('._comment_sub_edit_body'); 629 var comment_body = obj.find('._comment_sub_body'); 630 var form = obj.find('._sub_edit_form'); 631 var data = form.serializeObject(); 632 if(comment_edit_body.val() == comment_edit_body.data('org_body')) { 633 commentFormHide(); 634 return; 635 } 636 $.ajax({ 637 type:'post', 638 data:data, 639 url:'/ajax/post_comment_add.cm', 640 dataType:'json', 641 success:function(result){ 642 if(result.msg=='SUCCESS') { 643 comment_edit_body.data('org_body', result.data.body); 644 comment_body.html($.nl2br(result.data.body)); 645 commentFormHide(); 646 }else 647 alert(result.msg); 648 } 649 }); 650 651 }; 652 653 var commentAddHTML = function(html){ 654 commentIncreaseTotalCount(); 655 comment_container.append(html); 656 }; 657 658 659 var commentConfirmShow = function(event, code , type, interlock_type, use_interlock_board){ 660 $post_secret_password = $('#post_secret_password'); 661 662 if($post_secret_password.length==0){ 663 $post_secret_password = $('<div class="remove-pop" id="post_secret_password" style="position:absolute; left:0;top:0;z-index:99999;"><p>' + LOCALIZE.ì¤ëª _ìì±ìë±ë¡íì ë¹ë°ë²í¸ë¥¼ì ë ¥í´ì£¼ì¸ì() + '</p><div class="input_area"><input type="password" placeholder="' + LOCALIZE.ì¤ëª _ë¹ë°ë²í¸() + '"><button class="btn btn-primary _confirm">' + LOCALIZE.ë²í¼_íì¸ë«ê¸°() + '</button></div></div>').hide(); 664 $('body').append($post_secret_password); 665 } 666 var $post_link = $(event.target); 667 668 var top = $post_link.offset().top; 669 var left = $post_link.offset().left; 670 671 $post_secret_password.css({ 672 position : 'absolute', 673 top : top, 674 left : left 675 }); 676 $post_secret_password.find('input').val(''); 677 $post_secret_password.show(); 678 $post_secret_password.off('click','._confirm') 679 .on('click','._confirm',function(){ 680 var secret_pass = $post_secret_password.find('input').val(); 681 $post_secret_password.hide(); 682 switch(type){ 683 case 'show' : commentShow(code,secret_pass,interlock_type); 684 break; 685 case 'delete' : commentDelete(code,secret_pass,interlock_type,use_interlock_board); 686 break; 687 case 'edit' : commentEditShow(code,secret_pass,interlock_type); 688 break; 689 } 690 }); 691 692 $('body').off('mousedown.post_secret') 693 .on('mousedown.post_secret',function(e){ 694 var $tmp = $(e.target).closest('#post_secret_password'); 695 if($tmp.length==0) { 696 $post_secret_password.hide(); 697 $('body').off('click.post_secret'); 698 } 699 }); 700 }; 701
702 var commentMapConfirmShow = function(event, code, type, interlock_type){ 703 $post_secret_password = $('#post_secret_password'); 704 if($post_secret_password.length==0){ 705 $post_secret_password = $('<div class="remove-pop" id="post_secret_password" style="position:absolute; left:0;top:0;z-index:99999;"><p>'+LOCALIZE.ì¤ëª _ìì±ìë±ë¡íì ë¹ë°ë²í¸ë¥¼ì ë ¥í´ì£¼ì¸ì()+'</p><div class="input_area"><input type="password" placeholder="'+LOCALIZE.ì¤ëª _ë¹ë°ë²í¸()+'"><button class="btn btn-primary _confirm">'+LOCALIZE.ë²í¼_íì¸ë«ê¸°()+'</button></div></div>').hide(); 706 $('body').append($post_secret_password); 707 } 708 var $post_link = $(event.target); 709 710 var top = $post_link.offset().top; 711 var left = $post_link.offset().left; 712 713 $post_secret_password.css({ 714 position : 'absolute', 715 top : top, 716 left : left 717 }); 718 719 $post_secret_password.find('input').val(''); 720 $post_secret_password.show(); 721 $post_secret_password.off('click','._confirm') 722 .on('click','._confirm',function(){ 723 var secret_pass = $post_secret_password.find('input').val(); 724 $post_secret_password.hide(); 725 switch(type){ 726 case 'show' : commentMapShow(code,secret_pass); 727 break; 728 case 'delete' : commentMapDelete(code,secret_pass); 729 break; 730 case 'edit' : commentEditShow(code,secret_pass,interlock_type); 731 break; 732 } 733 }); 734 $('body').off('mousedown.post_secret') 735 .on('mousedown.post_secret',function(e){ 736 var $tmp = $(e.target).closest('#post_secret_password'); 737 if($tmp.length==0) { 738 $post_secret_password.hide(); 739 $('body').off('click.post_secret'); 740 } 741 }); 742 }; 743 744 var commentDelete = function(code,secret_pass,interlock_type,use_interlock_board){ 745 var obj = $('#'+code); 746 var comment_wrap = obj.find('._comment_wrap_'+code); 747 if(confirm(LOCALIZE.ì¤ëª _ìì íìê² ìµëê¹())){ 748 $.ajax({ 749 type:'post', 750 data:{ 751 code:code, 752 post_code:post_code, 753 secret_pass:secret_pass, 754 interlock_type:interlock_type, 755 use_interlock_board:use_interlock_board 756 }, 757 url:'/ajax/post_comment_delete.cm', 758 dataType:'json', 759 success:function(result){ 760 if(result.msg == 'SUCCESS'){ 761 if(result.mode == 'delete'){ 762 comment_wrap.html(LOCALIZE.ì¤ëª _ìì ë_ëê¸_ì ëë¤()); 763 }else { 764 obj.remove(); 765 } 766 commentDecreaseTotalCount(); 767 }else{ 768 alert(result.msg); 769 } 770 } 771 }); 772 } 773 }; 774 775 var commentShow = function(code,secret_pass,interlock_type){ 776 $.ajax({ 777 type : 'POST', 778 data : {code : code, post_code : post_code, secret_pass : secret_pass, show: 'Y', board_type:interlock_type}, 779 url : ('/ajax/post_comment_show.cm'), 780 dataType : 'json', 781 success : function(result){ 782 if(result.msg == 'SUCCESS'){ 783 $("._comment_body_"+code).find("#secret_comment_text").text(result.html); 784 $("._comment_body_"+code).find($("img")).attr("src",result.img_url); 785 if(result.isSubComment){ 786 for(var i in result.sub_comment){ 787 var sub_data = result.sub_comment[i]; 788 $('._comment_body_'+sub_data.code).html(sub_data.html); 789 } 790 } 791 }else 792 alert(result.msg); 793 } 794 }); 795 796 }; 797 var commentEditShow = function(code,secret_pass,interlock_type){ 798 $.ajax({ 799 type : 'POST', 800 data : {code : code, post_code : post_code, secret_pass : secret_pass, board_type : interlock_type}, 801 url : ('/ajax/post_comment_show.cm'), 802 dataType : 'json', 803 success : function(result){ 804 if(result.msg == 'SUCCESS'){ 805 commentShowEdit(code,interlock_type); 806 }else 807 alert(result.msg); 808 } 809 }); 810 }; 811 812 var commentMapShow = function(code, secret_pass){ 813 $.ajax({ 814 type : 'POST', 815 data : {code : code, post_code : post_code, secret_pass : secret_pass}, 816 url : ('/ajax/post_map_comment_show.cm'), 817 dataType : 'json', 818 success : function(result){ 819 if(result.msg == 'SUCCESS'){ 820 $("._comment_body_"+code).find("#secret_comment_text").text(result.html); 821 $("._comment_body_"+code).find($("img")).attr("src",result.img_url); 822 if(result.isSubComment){ 823 for(var i in result.sub_comment){ 824 var sub_data = result.sub_comment[i]; 825 $('._comment_body_'+sub_data.code).html(sub_data.html); 826 } 827 } 828 }else 829 alert(result.msg); 830 } 831 }); 832 }; 833 834 var commentMapDelete = function(code,secret_pass){ 835 var obj = $('#'+code); 836 var comment_wrap = obj.find('._comment_wrap_'+code); 837 if(confirm(LOCALIZE.ì¤ëª _ìì íìê² ìµëê¹())){ 838 $.ajax({ 839 type:'post', 840 data:{code:code,post_code :post_code,secret_pass:secret_pass}, 841 url:'/ajax/map_comment_delete.cm', 842 dataType:'json', 843 success:function(result){ 844 if(result.msg == 'SUCCESS'){ 845 if(result.mode == 'delete'){ 846 comment_wrap.html(LOCALIZE.ì¤ëª _ìì ë_ëê¸_ì ëë¤()); 847 }else { 848 obj.remove(); 849 } 850 if(result.map_listing == 'map'){ 851 var map_comment_count = 0; 852 map_comment_count = Math.round($('#list_'+result.list_idx).find('#comment_count').text()); 853 map_comment_count--; 854 $('#list_'+result.list_idx).find('#comment_count').text(map_comment_count); 855 $('#comment_area').find('#comment_count').text(map_comment_count); 856 $('#list_pop_'+result.list_idx).find('#comment_count').text(map_comment_count); 857 }else{ 858 commentDecreaseTotalCount(result.decrease_count); 859 } 860 }else{ 861 alert(result.msg); 862 } 863 } 864 }); 865 } 866 }; 867 868 869 var commentAddSubHTML = function(code,html){ 870 var obj = $('#'+code); 871 var comment_sub_list = obj.find('._comment_sub_list'); 872 comment_sub_list.append(html); 873 commentIncreaseTotalCount(); 874 }; 875
876 var commentToggleSub = function (parent_comment_id){ 877 var parent_obj = $('#'+parent_comment_id); 878 var loaded = parent_obj.data('sub_loaded'); 879 var sub_open = parent_obj.data('sub_open'); 880 var sub_comment_wrap = parent_obj.find('._sub_comment_wrap'); 881 var sub_comment_list = parent_obj.find('._sub_comment_list'); 882 var arrow_icon = parent_obj.find('._arrow_icon'); 883 if(typeof loaded == 'undefined' || loaded == false){ 884 $.ajax({ 885 type:'post', 886 data:{code : parent_comment_id}, 887 url:'/ajax/getChildComment.cm', 888 dataType:'json', 889 success:function(data){ 890 var html = $(data.html); 891 sub_comment_list.append(html); 892 sub_comment_wrap.show(); 893 arrow_icon.removeClass('zmdi-chevron-down').removeClass('zmdi-chevron-down').removeClass('zmdi-chevron-down'); 894 arrow_icon.addClass('zmdi-chevron-up'); 895 parent_obj.data('sub_loaded', true); 896 parent_obj.data('sub_open', true); 897 } 898 }); 899 }else{ 900 if(typeof sub_open == 'undefined' || sub_open == false){ 901 sub_comment_wrap.show(); 902 arrow_icon.removeClass('zmdi-chevron-down').removeClass('zmdi-chevron-down').removeClass('zmdi-chevron-down'); 903 arrow_icon.addClass('zmdi-chevron-up'); 904 parent_obj.data('sub_loaded', true); 905 }else{ 906 sub_comment_wrap.hide(); 907 arrow_icon.removeClass('zmdi-chevron-up').removeClass('zmdi-chevron-up').removeClass('zmdi-chevron-up'); 908 arrow_icon.addClass('zmdi-chevron-down'); 909 parent_obj.data('sub_loaded', false); 910 } 911 } 912 }; 913 914 var commentMapAdd = function(){ 915 var data = comment_form.serializeObject(); 916 $.ajax({ 917 type:'post', 918 data:data, 919 url:'/ajax/map_comment_add.cm', 920 dataType:'json', 921 success:function(result){ 922 if(result.msg=='SUCCESS') { 923 comment_body.val(''); 924 $("#comment_image_box").empty().hide(); 925 commentFormHide(); 926 if(result.map_listing == 'map'){ 927 var map_comment_count = 0; 928 map_comment_count = result.comment_cnt; 929 $('#list_'+result.list_idx).find('._comment_count').text(map_comment_count); 930 $('#comment_area').find('#comment_count').text(map_comment_count); 931 $('#list_pop_'+result.list_idx).find('._comment_count').text(map_comment_count); 932 if(result.map_comment_sort == 'asc' || !result.map_comment_sort){ 933 $comment_container.find('div.comment_list div.comment:last').length === 0 ? $comment_container.append(result.html) : $comment_container.find('div.comment_list div.comment:last').after(result.html); 934 }else{ 935 $comment_container.prepend(result.html); 936 moveToCommentListTop(); 937 } 938 autosize.update($('.comment_textarea').find('#comment_body')); 939 }else{ 940 commentAddHTML(result.html); 941 } 942 }else 943 alert(result.msg); 944 } 945 }); 946 }; 947 948 var getCommentListByCurrentPagingNum = function(current_page, is_move_to_comment_list_top){ 949 var is_loaded = false; 950 if(is_loaded === false){ // ì¬í¸ì¶ ë°©ì§ 951 is_loaded = true; 952 $.ajax({ 953 type:'post', 954 data:{ 955 'board_code': comment_form.find("input[name='board_code']").val(), 956 'post_code': post_code, 957 'current_page':current_page 958 }, 959 url:'/ajax/post_comment_paging.cm', 960 dataType:'json', 961 success:function(result){ 962 is_loaded = false; 963 if(result.msg === 'SUCCESS') { 964 $comment_container.html(result.html); 965 if(is_move_to_comment_list_top) moveToCommentListTop(); 966 }else{ 967 alert(result.msg); 968 } 969 } 970 }); 971 } 972 }; 973 974 var moveToCommentListTop = function(){ 975 var $modal_widget_fullboard = $('.modal_widget_fullboard'); 976 var $pos_comment_container = $('#comment_container'); 977 978 // ìì ¯ ìì¹ ì¸í 979 if($modal_widget_fullboard.length > 0){ 980 $modal_widget_fullboard.scrollTop($('.comment-block').position().top); 981 }else if($pos_comment_container.length > 0){ 982 // ì¤í¬ë¡¤ ê³ ì ë©ë´ íì¸ 983 var fixed_header_section = $("._fixed_header_section"); 984 var header_height = 0; 985 986 if(fixed_header_section.length > 0){ 987 for(var i = 0; i < fixed_header_section.length; i++){ 988 header_height += 2 * fixed_header_section[i].offsetHeight; 989 } 990 } 991 // ìë¨ ê³ ì ë©ë´ íì¸ 992 var new_fixed_header = $('#doz_header_wrap').find('._new_fixed_header'); 993 if(new_fixed_header.length > 0){ 994 header_height += new_fixed_header.height(); 995 } 996 997 $(window).scrollTop($('.comment-block').offset().top - header_height -15); 998 } 999 }; 1000 1001 return { 1002 init : function(code){ 1003 commentInit(code); 1004 }, 1005 toggleSub : function(code){ 1006 commentToggleSub(code); 1007 }, 1008 showEdit : function(code, board_type){ 1009 commentShowEdit(code, board_type); 1010 }, 1011 showSubForm : function(code){ 1012 commentShowSubForm(code); 1013 }, 1014 showAtForm : function(code){ 1015 commentShowAtForm(code); 1016 }, 1017 edit : function(code){ 1018 commentEdit(code); 1019 }, 1020 editMap : function(code){ 1021 commentEditMap(code); 1022 }, 1023 cancelEdit : function (code){ 1024 commentCancelEdit(code); 1025 }, 1026 addSub : function(code){ 1027 commentAddSub(code); 1028 }, 1029 addMapSub : function(code){ 1030 commentMapAddSub(code); 1031 }, 1032 addAt : function(code){ 1033 commentAddAt(code); 1034 }, 1035 showSubEdit : function(code){ 1036 commentShowSubEdit(code); 1037 }, 1038 cancelSubEdit : function (code){ 1039 commentCancelSubEdit(code); 1040 }, 1041 subEdit : function(code){ 1042 commentSubEdit(code); 1043 }, 1044 confirmShow : function(e,code,type,interlock_type,use_interlock_board){ 1045 commentConfirmShow(e,code,type,interlock_type,use_interlock_board); 1046 },
1047 mapConfirmShow : function(e, code, type, interlock_type){ 1048 commentMapConfirmShow(e, code , type, interlock_type) 1049 }, 1050 confirmMapDelete : function(e,code){ 1051 commentConfirmMapDelete(e,code); 1052 }, 1053 'delete' : function(code, pass,interlock_type,use_interlock_board){ 1054 commentDelete(code,pass,interlock_type,use_interlock_board); 1055 }, 1056 deleteMap : function(code,pass){ 1057 commentMapDelete(code,pass); 1058 }, 1059 add : function(){ 1060 commentAdd(); 1061 }, 1062 mapAdd : function(){ 1063 commentMapAdd(); 1064 }, 1065 removeCommentImg : function(obj){ 1066 removeCommentImg(obj) 1067 }, 1068 getCommentListByCurrentPagingNum : function(current_page, is_move_to_comment_list_top){ 1069 getCommentListByCurrentPagingNum(current_page, is_move_to_comment_list_top); 1070 }, 1071 refreshCaptcha : function(){ 1072 refreshCaptcha(); 1073 }, 1074 refreshCaptchaSubForm: function(code) { 1075 refreshCaptcha('sub_form', code); 1076 } 1077 } 1078 1079}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.