PageSourceSearch

https://www.synapsoft.co.kr/wp-content/plugins/kboard/template/js/script.js?ver=6.4

js synapsoft.co.kr collected 2026-10-01 12:02:34 UTC 15,862 bytes, 434 lines download raw bytes

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.