1/** 2 * @author https://www.cosmosfarm.com 3 */ 4 5/** 6 * inViewport jQuery plugin by Roko C.B. 7 * http://stackoverflow.com/a/26831113/383904 Returns a callback function with 8 * an argument holding the current amount of px an element is visible in 9 * viewport (The min returned value is 0 (element outside of viewport) 10 */ 11(function($, win){ 12 $.fn.kboardViewport = function(cb){ 13 return this.each(function(i, el){ 14 function visPx(){ 15 var elH = $(el).outerHeight(), H = $(win).height(), r = el.getBoundingClientRect(), t = r.top, b = r.bottom; 16 return cb.call(el, Math.max(0, t > 0 ? Math.min(elH, H - t) : (b < H ? b : H))); 17 } 18 visPx(); 19 $(win).on("resize scroll", visPx); 20 }); 21 }; 22}(jQuery, window)); 23 24var kboard_ajax_lock = false; 25 26jQuery(document).ready(function(){ 27 var kboard_mod = jQuery('input[name=mod]', '.kboard-form').val(); 28 if(kboard_mod == 'editor'){ 29 if(kboard_current.use_tree_category == 'yes'){ 30 kboard_tree_category_parents(); 31 } 32 33 if(kboard_current.use_editor == 'snote'){ // summernote 34 jQuery('.summernote').each(function(){ 35 var height = parseInt(jQuery(this).height()); 36 var placeholder = jQuery(this).attr('placeholder'); 37 var lang = 'en-US'; 38 39 if(kboard_settings.locale == 'ko_KR'){ 40 lang = 'ko-KR'; 41 } 42 else if(kboard_settings.locale == 'ja'){ 43 lang = 'ja-JP'; 44 } 45 46 jQuery(this).summernote({ 47 toolbar: [ 48 ['style', ['style']], 49 ['fontsize', ['fontsize']], 50 ['font', ['bold', 'italic', 'underline', 'clear']], 51 ['fontname', ['fontname']], 52 ['color', ['color']], 53 ['para', ['ul', 'ol', 'paragraph']], 54 ['height', ['height']], 55 ['table', ['table']], 56 ['insert', ['link', 'video', 'hr', 'media']], 57 ['view', ['fullscreen', 'codeview']], 58 ['help', ['help']] 59 ], 60 buttons: { 61 media: function (context) { 62 var ui = jQuery.summernote.ui; 63 var button = ui.button({ 64 contents: '<i class="note-icon-picture"></i>', 65 tooltip: 'ì´ë¯¸ì§ ì ë ¥', 66 click: function () { 67 kboard_editor_open_media(); 68 } 69 }); 70 return button.render(); 71 } 72 }, 73 disableDragAndDrop: true, 74 fontNames: ['Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana', 'Nanum Gothic', 'Malgun Gothic', 'Noto Sans KR', 'Apple SD Gothic Neo'], 75 fontNamesIgnoreCheck: ['Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande', 'Tahoma', 'Times New Roman', 'Verdana', 'Nanum Gothic', 'Malgun Gothic', 'Noto Sans KR', 'Apple SD Gothic Neo'], 76 fontSizes: ['8','9','10','11','12','13','14','15','16','17','18','19','20','24','30','36','48','64','82','150'], 77 lang: lang, 78 height: height, 79 placeholder: placeholder 80 }); 81 }); 82 } 83 } 84}); 85 86function kboard_tree_category_search(index, value){ 87 var length = jQuery('.kboard-search-option-wrap').length; 88 var tree_category_index = parseInt(index) +1; 89 90 if(value){ 91 jQuery('input[name="kboard_search_option[tree_category_'+index+'][value]"]').val(value); 92 } 93 else{ 94 jQuery('input[name="kboard_search_option[tree_category_'+index+'][value]"]').val(''); 95 } 96 97 for(var i=tree_category_index; i<=length; i++){ 98 jQuery('.kboard-search-option-wrap-'+i).remove(); 99 } 100 jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); 101 102 return false; 103} 104 105function kboard_tree_category_parents(){ 106 if(kboard_current.use_tree_category){ 107 var tree_category = kboard_current.tree_category; 108 var tree_category_name; 109 var tree_category_index = 1; 110 111 tree_category_name = 'kboard_option_tree_category_'; 112 113 jQuery('.kboard-tree-category-wrap').prepend('<select id="kboard-tree-category-'+tree_category_index+'" class="kboard-tree-category kboard-tree-category-'+tree_category_index+'"></select>'); 114 jQuery('#kboard-tree-category-'+tree_category_index).append('<option value="">'+kboard_localize_strings.category+' '+kboard_localize_strings.select+'<
114/option>'); 115 jQuery('#kboard-tree-category-'+tree_category_index).after('<input type="hidden" id="'+tree_category_name+tree_category_index+'" name="'+tree_category_name+tree_category_index+'" class="kboard-tree-category-hidden-'+tree_category_index+'">'); 116 117 jQuery('#kboard-tree-category-'+tree_category_index).change(function(){ 118 kboard_tree_category_children(this.value, tree_category_index, tree_category_name); 119 jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); 120 }); 121 122 jQuery.each(tree_category, function(index, element){ 123 if(!element.parent_id){ 124 jQuery('#kboard-tree-category-'+tree_category_index).append('<option value="'+element.id+'">'+element.category_name+'</option>'); 125 } 126 }); 127 128 kboard_tree_category_selected(tree_category_index, tree_category_name); 129 } 130} 131 132function kboard_tree_category_children(category_id, tree_category_index, tree_category_name){ 133 var tree_category = kboard_current.tree_category; 134 var length = jQuery('.kboard-tree-category').length; 135 var check = 0; 136 137 for(var i=tree_category_index+1; i<=length; i++){ 138 jQuery('.kboard-tree-category-'+i).remove(); 139 jQuery('.kboard-tree-category-hidden-'+i).remove(); 140 } 141 142 jQuery.each(tree_category, function(index, element){ 143 if(jQuery('#kboard-tree-category-'+tree_category_index).val() == element.id){ 144 jQuery('#'+tree_category_name+tree_category_index).val(element.category_name); 145 } 146 }); 147 148 if(jQuery('#kboard-tree-category-'+tree_category_index).val()){ 149 jQuery.each(tree_category, function(index, element){ 150 if(category_id === element.parent_id){ 151 if(check==0){ 152 jQuery('#kboard-tree-category-'+tree_category_index).after('<select id="kboard-tree-category-'+(tree_category_index+1)+'" class="kboard-tree-category kboard-tree-category-'+(tree_category_index+1)+'"></select>'); 153 jQuery('#kboard-tree-category-'+(tree_category_index+1)).append('<option value="">'+kboard_localize_strings.category+' '+kboard_localize_strings.select+'</option>'); 154 155 jQuery('#kboard-tree-category-'+(tree_category_index+1)).after('<input type="hidden" id="'+tree_category_name+(tree_category_index+1)+'" name="'+tree_category_name+(tree_category_index+1)+'" class="kboard-tree-category-hidden-'+(tree_category_index+1)+'">'); 156 157 jQuery('#kboard-tree-category-'+(tree_category_index+1)).change(function(){ 158 kboard_tree_category_children(this.value, (tree_category_index+1), tree_category_name); 159 jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); 160 }); 161 } 162 check++; 163 jQuery('#kboard-tree-category-'+(tree_category_index+1)).append('<option value="'+element.id+'">'+element.category_name+'</option>'); 164 } 165 }); 166 kboard_tree_category_selected(tree_category_index+1, tree_category_name); 167 } 168 else{ 169 for(var i=tree_category_index; i<=length; i++){ 170 jQuery('.kboard-tree-category-hidden-'+i).val(''); 171 jQuery('.kboard-tree-category-hidden-'+(i+1)).remove(); 172 } 173 } 174 175 if(jQuery('.kboard-tree-category-search').length){ 176 jQuery('input[name="kboard_search_option[tree_category_'+tree_category_index+'][value]"').val(jQuery('#'+tree_category_name+tree_category_index).val()); 177 jQuery('input[name="kboard_search_option[tree_category_'+tree_category_index+'][key]"').val('tree_category_'+tree_category_index); 178 } 179} 180 181function kboard_tree_category_selected(tree_category_index, tree_category_name){ 182 var check = jQuery('#tree-category-check-'+tree_category_index).val(); 183 184 if(check){ 185 jQuery('#kboard-tree-category-'+tree_category_index+' option').each(function(index, element){ 186 if(jQuery(element).text() == check){ 187 jQuery(element).attr('selected', 'selected'); 188 kboard_tree_category_children(this.value, tree_category_index, tree_category_name); 189 } 190 }); 191 } 192 return false; 193} 194 195function kboard_editor_open_media(){ 196 var w = 900; 197 var h = 500; 198 var media_popup_url = kboard_current.add_media_url; 199 200 if(kboard_current.board_id){ 201 if(jQuery('#kboard_media_wrapper').length){ 202 jQuery('#kboard_media_wrapper').show(); 203 jQuery('#kboard_media_wrapper').html(jQuery('<iframe frameborder="0"></iframe>').attr('src', media_popup_url)); 204 jQuery('#kboard_media_background').show(); 205 } 206 else{ 207 var wrapper = jQuery('<div id="kboard_media_wrapper"></div>'); 208 var background = jQuery('<div id="kboard_media_background"></div>').css({opacity:'0.5'}).click(function(){ 209 kboard_media_close(); 210 }); 211 212 function init_window_size(){ 213 if(window.innerWidth <= 900){
214 wrapper.css({left:0, top:0, margin:'10px', width:(window.innerWidth-20), height:(window.innerHeight-20)}); 215 } 216 else{ 217 wrapper.css({left:'50%', top:'50%', margin:0, 'margin-left':(w/2)*-1, 'margin-top':(h/2)*-1, width:w, height:h}); 218 } 219 } 220 init_window_size(); 221 jQuery(window).resize(init_window_size); 222 223 wrapper.html(jQuery('<iframe frameborder="0"></iframe>').attr('src', media_popup_url)); 224 jQuery('body').append(background); 225 jQuery('body').append(wrapper); 226 227 if(!jQuery('input[name="media_group"]').filter(function(){return this.value==kboard_settings.media_group}).length){ 228 jQuery('[name="board_id"]').parents('form').append(jQuery('<input type="hidden" name="media_group">').val(kboard_settings.media_group)); 229 } 230 } 231 } 232} 233 234function kboard_editor_insert_media(url){ 235 if(kboard_current.use_editor == 'snote'){ // summernote 236 jQuery('#kboard_content').summernote('editor.saveRange'); 237 jQuery('#kboard_content').summernote('editor.restoreRange'); 238 jQuery('#kboard_content').summernote('editor.focus'); 239 jQuery('#kboard_content').summernote('editor.pasteHTML', "<img src=\""+url+"\" alt=\"\">"); 240 } 241 else if(typeof tinyMCE != 'undefined' && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden()){ 242 tinyMCE.activeEditor.execCommand('mceInsertContent', false, "<img id=\"last_kboard_media_content\" src=\""+url+"\" alt=\"\">"); 243 tinyMCE.activeEditor.focus(); 244 tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select('#last_kboard_media_content')[0], true); 245 tinyMCE.activeEditor.selection.collapse(false); 246 tinyMCE.activeEditor.dom.setAttrib('last_kboard_media_content', 'id', ''); 247 } 248 else if(jQuery('#kboard_content').length){ 249 jQuery('#kboard_content').val(function(index, value){ 250 return value + (!value?'':' ') + "<img src=\""+url+"\" alt=\"\">"; 251 }); 252 } 253} 254 255function kboard_media_close(){ 256 jQuery('#kboard_media_wrapper').hide(); 257 jQuery('#kboard_media_background').hide(); 258} 259 260function kboard_document_print(url){ 261 window.open(url, 'kboard_document_print'); 262 return false; 263} 264 265function kboard_document_like(button, callback){ 266 if(!kboard_ajax_lock){ 267 kboard_ajax_lock = true; 268 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_document_like', 'document_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 269 kboard_ajax_lock = false; 270 if(typeof callback === 'function'){ 271 callback(res); 272 } 273 else{ 274 if(res.result == 'error'){ 275 alert(res.message); 276 } 277 else{ 278 jQuery('.kboard-document-like-count', button).text(res.data.like); 279 } 280 } 281 }); 282 } 283 else{ 284 alert(kboard_localize_strings.please_wait); 285 } 286 return false; 287} 288 289function kboard_document_unlike(button, callback){ 290 if(!kboard_ajax_lock){ 291 kboard_ajax_lock = true; 292 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_document_unlike', 'document_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 293 kboard_ajax_lock = false; 294 if(typeof callback === 'function'){ 295 callback(res); 296 } 297 else{ 298 if(res.result == 'error'){ 299 alert(res.message); 300 } 301 else{ 302 jQuery('.kboard-document-unlike-count', button).text(res.data.unlike); 303 } 304 } 305 }); 306 } 307 else{ 308 alert(kboard_localize_strings.please_wait); 309 } 310 return false; 311} 312 313function kboard_comment_like(button, callback){ 314 if(!kboard_ajax_lock){ 315 kboard_ajax_lock = true; 316 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_comment_like', 'comment_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 317 kboard_ajax_lock = false; 318 if(typeof callback === 'function'){ 319 callback(res); 320 } 321 else{ 322 if(res.result == 'error'){ 323 alert(res.message); 324 } 325 else{ 326 jQuery('.kboard-comment-like-count', button).text(res.data.like); 327 } 328 } 329 }); 330 } 331 else{ 332 alert(kboard_localize_strings.please_wait); 333 } 334 return false; 335} 336 337function kboard_comment_unlike(button, callback){ 338 if(!kboard_ajax_lock){ 339 kboard_ajax_lock = true; 340 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_comment_unlike', 'comment_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 341 kboard_ajax_lock = false; 342 if(typeof callback === 'function'){ 343 callback(res); 344 } 345 else{ 346 if(res.result == 'error'){ 347 alert(res.message); 348 } 349 else{ 350 jQuery('.kboard-comment-unlike-count', button).text(res.data.unlike); 351 } 352 } 353 }); 354 } 355 else{ 356 alert(kboard_localize_strings.please_wait); 357 } 358 return false; 359} 360 361function kboard_fields_validation(form, callback){ 362 jQuery('.kboard-attr-row.required', form).each(function(index, element){ 363 var required; 364 365 if(jQuery(element).hasClass('kboard-attr-content')){ 366 if(kboard_current.use_editor == 'yes'){ 367 if(jQuery('#wp-kboard_content-wrap').hasClass('tmce-active')){ 368 jQuery('#kboard_content').val(tinymce.get('kboard_content').getContent()); 369 } 370 } 371 required = jQuery('#kboard_content'); 372 } 373 else{ 374 required = jQuery(element).find('.required'); 375 } 376 377 if(jQuery(required).is(':checkbox') || jQuery(required).is(':radio')){ 378 if(jQuery(element).find('.required:checked').length == 0){ 379 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 380 callback(jQuery(required).eq(0)); 381 return false; 382 } 383 } 384 else if(jQuery(required).val() == 'default' || !jQuery(required).val()){ 385 if(jQuery(element).hasClass('kboard-attr-address')){ 386 if(!jQuery('.kboard-row-postcode input').val() || !jQuery('.kboard-row-address-1
386input').val()){ 387 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 388 callback(required); 389 return false; 390 } 391 else{ 392 return true; 393 } 394 } 395 else if(jQuery(element).hasClass('kboard-attr-file')){ 396 if(jQuery('input[name="'+jQuery(element).children('.attr-value').children().attr('name')+'"]').val() == ''){ 397 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 398 callback(required); 399 return false; 400 } 401 else{ 402 return true; 403 } 404 } 405 else{ 406 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 407 callback(required); 408 return false; 409 } 410 } 411 }); 412} 413 414function kboard_content_update(content_uid, data, callback){ 415 if(!kboard_ajax_lock){ 416 kboard_ajax_lock = true; 417 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_content_update', 'content_uid':content_uid, 'data':data, 'security':kboard_settings.ajax_security}, function(res){ 418 kboard_ajax_lock = false; 419 if(typeof callback === 'function'){ 420 callback(res); 421 } 422 }); 423 } 424 else{ 425 alert(kboard_localize_strings.please_wait); 426 } 427 return false; 428} 429 430function kboard_ajax_builder(args, callback){ 431 if(!kboard_ajax_lock){ 432 kboard_ajax_lock = true; 433 var callback2 = (typeof callback === 'function') ? callback : args['callback']; 434 args['action'] = 'kboard_ajax_builder'; 435 args['callback'] = ''; 436 args['security'] = kboard_settings.ajax_security; 437 jQuery.get(kboard_settings.ajax_url, args, function(res){ 438 kboard_ajax_lock = false; 439 if(typeof callback2 === 'function'){ 440 callback2(res); 441 } 442 }); 443 } 444 else{ 445 alert(kboard_localize_strings.please_wait); 446 } 447 return false; 448}
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.