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']], 57 ['view', ['fullscreen', 'codeview']], 58 ['help', ['help']] 59 ], 60 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'], 61 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'], 62 fontSizes: ['8','9','10','11','12','13','14','15','16','17','18','19','20','24','30','36','48','64','82','150'], 63 lang: lang, 64 height: height, 65 placeholder: placeholder 66 }); 67 }); 68 } 69 } 70}); 71 72function kboard_tree_category_search(index, value){ 73 var length = jQuery('.kboard-search-option-wrap').length; 74 var tree_category_index = parseInt(index) +1; 75 76 if(value){ 77 jQuery('input[name="kboard_search_option[tree_category_'+index+'][value]"]').val(value); 78 } 79 else{ 80 jQuery('input[name="kboard_search_option[tree_category_'+index+'][value]"]').val(''); 81 } 82 83 for(var i=tree_category_index; i<=length; i++){ 84 jQuery('.kboard-search-option-wrap-'+i).remove(); 85 } 86 jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); 87 88 return false; 89} 90 91function kboard_tree_category_parents(){ 92 if(kboard_current.use_tree_category){ 93 var tree_category = kboard_current.tree_category; 94 var tree_category_name; 95 var tree_category_index = 1; 96 97 tree_category_name = 'kboard_option_tree_category_'; 98 99 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>'); 100 jQuery('#kboard-tree-category-'+tree_category_index).append('<option value="">'+kboard_localize_strings.category+' '+kboard_localize_strings.select+'</option>'); 101 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+'">'); 102 103 jQuery('#kboard-tree-category-'+tree_category_index).change(function(){ 104 kboard_tree_category_children(this.value, tree_category_index, tree_category_name); 105 jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); 106 }); 107 108 jQuery.each(tree_category, function(index, element){ 109 if(!element.parent_id){ 110 jQuery('#kboard-tree-category-'+tree_category_index).append('<option value="'+element.i
110d+'">'+element.category_name+'</option>'); 111 } 112 }); 113 114 kboard_tree_category_selected(tree_category_index, tree_category_name); 115 } 116} 117 118function kboard_tree_category_children(category_id, tree_category_index, tree_category_name){ 119 var tree_category = kboard_current.tree_category; 120 var length = jQuery('.kboard-tree-category').length; 121 var check = 0; 122 123 for(var i=tree_category_index+1; i<=length; i++){ 124 jQuery('.kboard-tree-category-'+i).remove(); 125 jQuery('.kboard-tree-category-hidden-'+i).remove(); 126 } 127 128 jQuery.each(tree_category, function(index, element){ 129 if(jQuery('#kboard-tree-category-'+tree_category_index).val() == element.id){ 130 jQuery('#'+tree_category_name+tree_category_index).val(element.category_name); 131 } 132 }); 133 134 if(jQuery('#kboard-tree-category-'+tree_category_index).val()){ 135 jQuery.each(tree_category, function(index, element){ 136 if(category_id === element.parent_id){ 137 if(check==0){ 138 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>'); 139 jQuery('#kboard-tree-category-'+(tree_category_index+1)).append('<option value="">'+kboard_localize_strings.category+' '+kboard_localize_strings.select+'</option>'); 140 141 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)+'">'); 142 143 jQuery('#kboard-tree-category-'+(tree_category_index+1)).change(function(){ 144 kboard_tree_category_children(this.value, (tree_category_index+1), tree_category_name); 145 jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); 146 }); 147 } 148 check++; 149 jQuery('#kboard-tree-category-'+(tree_category_index+1)).append('<option value="'+element.id+'">'+element.category_name+'</option>'); 150 } 151 }); 152 kboard_tree_category_selected(tree_category_index+1, tree_category_name); 153 } 154 else{ 155 for(var i=tree_category_index; i<=length; i++){ 156 jQuery('.kboard-tree-category-hidden-'+i).val(''); 157 jQuery('.kboard-tree-category-hidden-'+(i+1)).remove(); 158 } 159 } 160 161 if(jQuery('.kboard-tree-category-search').length){ 162 jQuery('input[name="kboard_search_option[tree_category_'+tree_category_index+'][value]"').val(jQuery('#'+tree_category_name+tree_category_index).val()); 163 jQuery('input[name="kboard_search_option[tree_category_'+tree_category_index+'][key]"').val('tree_category_'+tree_category_index); 164 } 165} 166 167function kboard_tree_category_selected(tree_category_index, tree_category_name){ 168 var check = jQuery('#tree-category-check-'+tree_category_index).val(); 169 170 if(check){ 171 jQuery('#kboard-tree-category-'+tree_category_index+' option').each(function(index, element){ 172 if(jQuery(element).text() == check){ 173 jQuery(element).attr('selected', 'selected'); 174 kboard_tree_category_children(this.value, tree_category_index, tree_category_name); 175 } 176 }); 177 } 178 return false; 179} 180 181function kboard_editor_open_media(){ 182 var w = 900; 183 var h = 500; 184 var media_popup_url = kboard_current.add_media_url; 185 186 if(kboard_current.board_id){ 187 if(jQuery('#kboard_media_wrapper').length){ 188 jQuery('#kboard_media_wrapper').show(); 189 jQuery('#kboard_media_wrapper').html(jQuery('<iframe frameborder="0"></iframe>').attr('src', media_popup_url)); 190 jQuery('#kboard_media_background').show(); 191 } 192 else{ 193 var wrapper = jQuery('<div id="kboard_media_wrapper"></div>'); 194 var background = jQuery('<div id="kboard_media_background"></div>').css({opacity:'0.5'}).click(function(){ 195 kboard_media_close(); 196 }); 197 198 function init_window_size(){ 199 if(window.innerWidth <= 900){ 200 wrapper.css({left:0, top:0, margin:'10px', width:(window.innerWidth-20), height:(window.innerHeight-20)}); 201 } 202 else{ 203 wrapper.css({left:'50%', top:'50%', margin:0, 'margin-left':(w/2)*-1, 'margin-top':(h/2)*-1, width:w, height:h}); 204 } 205 } 206 init_window_size(); 207 jQuery(window).resize(init_window_size); 208 209 wrapper.html(jQuery('<iframe frameborder="0"></iframe>').attr('src', media_popup_url)); 210 jQuery('body').append(background); 211 jQuery('body').append(wrapper); 212 213 if(!jQuery('input[name="media_group"]').filter(function(){return this.value==kboard_settings.media_group}).length){ 214 jQuery('[name="board_id"]').parents('form').append(jQuery('<input type="hidden" name="media_group">').val(kboard_settings.media_group)); 215 } 216 } 217 } 218} 219 220function kboard_editor_insert_media(url){ 221 if(kboard_current.use_editor == 'snote'){ // summernote 222 jQuery('#kboard_content').summernote('editor.saveRange'); 223 jQuery('#kboard_content').summernote('editor.restoreRange'); 224 jQuery('#kboard_content').summernote('editor.focus'); 225 jQuery('#kboard_content').summernote('editor.pasteHTML', "<img src=\""+url+"\" alt=\"\">"); 226 } 227 else if(typeof tinyMCE != 'undefined' && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden()){ 228 tinyMCE.activeEditor.execCommand('mceInsertContent', false, "<img id=\"last_kboard_media_content\" src=\""+url+"\" alt=\"\">"); 229 tinyMCE.activeEditor.focus(); 230 tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select('#last_kboard_media_content')[0], true); 231 tinyMCE.activeEditor.selection.collapse(false); 232 tinyMCE.activeEditor.dom.setAttrib('last_kboard_media_content', 'id', ''); 233 } 234 else if(jQuery('#kboard_content').length){ 235 jQuery('#kboard_content').val(function(index, value){ 236 return value + (!value?'':' ') + "<img src=\""+url+"\" alt=\"\">"; 237 }); 238 } 239} 240 241function kboard_media_close(){ 242 jQuery('#kboard_media_wrapper').hide(); 243 jQuery('#kboard_media_background').hide(); 244} 245 246function kboard_document_print(url){ 247 window.open(url, 'kboard_document_print'); 248 return false; 249} 250 251function kboard_document_like(button, callback){ 252 if(!kboard_ajax_lock){ 253 kboard_ajax_lock = true; 254 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_document_like', 'document_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 255 kboard_ajax_lock = false; 256 if(typeof callback === 'function'){ 257 callback(res); 258 } 259 else{ 260 if(res.result == 'error'){ 261 alert(res.message); 262 } 263 else{ 264 jQuery('.kboard-document-like-count', button).text(res.data.like); 265 } 266 } 267 }); 268 } 269 else{ 270 alert(kboard_localize_strings.please_wait); 271 } 272 return false; 273} 274 275function kboard_document_unlike(button, callback){ 276 if(!kboard_ajax_lock){ 277 kboard_ajax_lock = true; 278 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_document_unlike', 'document_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 279 kboard_ajax_lock = false; 280 if(typeof callback === 'function'){ 281 callback(res); 282 } 283 else{ 284 if(res.result == 'error'){ 285 alert(res.message); 286 } 287 else{ 288 jQuery('.kboard-document-unlike-count', button).text(res.data.unlike); 289 } 290 } 291 }); 292 } 293 else{ 294 alert(kboard_localize_strings.please_wait); 295 } 296 return false; 297} 298 299function kboard_comment_like(button, callback){ 300 if(!kboard_ajax_lock){ 301 kboard_ajax_lock = true; 302 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_comment_like', 'comment_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 303 kboard_ajax_lock = false; 304 if(typeof callback === 'function'){ 305 callback(res); 306 } 307 else{ 308 if(res.result == 'error'){ 309 alert(res.message); 310 } 311 else{ 312 jQuery('.kboard-comment-like-count', button).text(res.data.like); 313 } 314 } 315 }); 316 } 317 else{ 318 alert(kboard_localize_strings.please_wait); 319 } 320 return false; 321} 322 323function kboard_comment_unlike(button, callback){ 324 if(!kboard_ajax_lock){ 325 kboard_ajax_lock = true; 326 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_comment_unlike', 'comment_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ 327 kboard_ajax_lock = false; 328 if(typeof callback === 'function'){ 329 callback(res); 330 } 331 else{ 332 if(res.result == 'error'){ 333 alert(res.message); 334 } 335 else{ 336 jQuery('.kboard-comment-unlike-count', button).text(res.data.unlike); 337 } 338 } 339 }); 340 } 341 else{ 342 alert(kboard_localize_strings.please_wait); 343 } 344 return false; 345} 346 347function kboard_fields_validation(form, callback){ 348 jQuery('.kboard-attr-row.required', form).each(function(index, element){ 349 var required; 350 351 if(jQuery(element).hasClass('kboard-attr-content')){ 352 if(kboard_current.use_editor == 'yes'){ 353 if(jQuery('#wp-kboard_content-wrap').hasClass('tmce-active')){ 354 jQuery('#kboard_content').val(tinymce.get('kboard_content').getContent()); 355 } 356 } 357 required = jQuery('#kboard_content'); 358 } 359 else{ 360 required = jQuery(element).find('.required'); 361 } 362 363 if(jQuery(required).is(':checkbox') || jQuery(required).is(':radio')){ 364 if(jQuery(element).find('.required:checked').length == 0){ 365 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 366 callback(jQuery(required).eq(0)); 367 return false; 368 } 369 } 370 else if(jQuery(required).val() == 'default' || !jQuery(required).val()){ 371 if(jQuery(element).hasClass('kboard-attr-address')){ 372 if(!jQuery('.kboard-row-postcode input').val() || !jQuery('.kboard-row-address-1
372input').val()){ 373 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 374 callback(required); 375 return false; 376 } 377 else{ 378 return true; 379 } 380 } 381 else if(jQuery(element).hasClass('kboard-attr-file')){ 382 if(jQuery('input[name="'+jQuery(element).children('.attr-value').children().attr('name')+'"]').val() == ''){ 383 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 384 callback(required); 385 return false; 386 } 387 else{ 388 return true; 389 } 390 } 391 else{ 392 alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text())); 393 callback(required); 394 return false; 395 } 396 } 397 }); 398} 399 400function kboard_content_update(content_uid, data, callback){ 401 if(!kboard_ajax_lock){ 402 kboard_ajax_lock = true; 403 jQuery.post(kboard_settings.ajax_url, {'action':'kboard_content_update', 'content_uid':content_uid, 'data':data, 'security':kboard_settings.ajax_security}, function(res){ 404 kboard_ajax_lock = false; 405 if(typeof callback === 'function'){ 406 callback(res); 407 } 408 }); 409 } 410 else{ 411 alert(kboard_localize_strings.please_wait); 412 } 413 return false; 414} 415 416function kboard_ajax_builder(args, callback){ 417 if(!kboard_ajax_lock){ 418 kboard_ajax_lock = true; 419 var callback2 = (typeof callback === 'function') ? callback : args['callback']; 420 args['action'] = 'kboard_ajax_builder'; 421 args['callback'] = ''; 422 args['security'] = kboard_settings.ajax_security; 423 jQuery.get(kboard_settings.ajax_url, args, function(res){ 424 kboard_ajax_lock = false; 425 if(typeof callback2 === 'function'){ 426 callback2(res); 427 } 428 }); 429 } 430 else{ 431 alert(kboard_localize_strings.please_wait); 432 } 433 return false; 434}
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.