PageSourceSearch

https://sinchon517.com/js/module/bottomlist.js

js sinchon517.com collected 2026-09-26 15:33:50 UTC 10,944 bytes, 298 lines download raw bytes

1(function($) {
2
3	var uniqID = function() {
4		return Math.round(new Date().getTime() + (Math.random() * 100));
5	}
6
7	var blWrap = function(bltype,blmode,blview) {
8		var id = uniqID(),
9			menu_lock = (PAGE_MODE == 'c') ? '' : property.ISLOCK,
10			bl_class = (typeof menu_lock != 'undefined' && menu_lock == 'true') ? 'hide ' : '';
11		if(bltype == 'F') bl_class += 'colorSet ';
12		if(bltype == 'P' && blmode == 'project') bl_class += 'galProjectBg ';
13
14		$str = $('<div class="page-bottomlist ' + bl_class + '" data-pid="' + blview + '"></div>');
15		$str.css({
16			'text-align' : 'center',
17			'font-size' : '20px',
18			'background-image' : 'url(https://storage.googleapis.com/i.addblock.net/preloader2.gif)',
19			'background-position' : 'center center',
20			'background-repeat' : 'no-repeat',
21			'min-height' : '50px'
22		});
23		return {
24			id : id,
25			tpl : $str
26		}
27	}
28
29	var blGalleryData = function(page) {
30		var blPAGEMODE = (PAGE_MODE == 'c') ? MODE : property.PUBLISH,
31			blPARENT = (PAGE_MODE == 'c') ? PARENT : property.PARENT,
32			blVIEW = (PAGE_MODE == 'c') ? VIEW : property.VIEW;
33
34	    var r;	    
35	    $.ajax({
36	        url: '/template/gallery/bl_data/view/' + blVIEW,
37	        data: { mode: blPAGEMODE, page: page, gacte_home: blPARENT.gcate_home },
38	        dataType: 'json',
39	        type: 'POST',
40	        async: false,
41            cache: false,
42	        success : function(data) {
43	            checkError(data);
44	            r = data;
45	        }
46	    },'json');
47	    return r;
48	}
49
50	var blGalleryItemEmpty = function() {
51		var str = '\
52            <div class="blitem gallery-item sample-item" data-seq="-1" data-index="-1">\
53				<div class="col-xs-3 col-sm-3 col-md-3">\
54					<div class="center-block"><img src="//storage.googleapis.com/i.addblock.net/blitem_empty_img.png" alt="" class="img-responsive"/></div>\
55				</div>\
56			</div>\
57			';
58
59		return str;
60	}
61	var blGalleryItem = function(idx,obj) {
62		var blSID = (PAGE_MODE == 'c') ? SID : property.SID,
63			blONE = (PAGE_MODE == 'c') ? ONE : property.ONE,
64			blVIEW = (PAGE_MODE == 'c') ? VIEW : property.blVIEW,
65			blPAGEMODE = (PAGE_MODE == 'c') ? MODE : property.PUBLISH,
66			blRPATH = (PAGE_MODE == 'c') ? RESOURCE+'/'+blSID+'/' : property.RESOURCE+'/'+blSID+'/';
67
68		var gsettings = (typeof obj.gsettings != 'undefined' && obj.gsettings) ? $.parseJSON(obj.gsettings) : {},
69			imgPATH = (typeof gsettings.storage != 'undefined' && gsettings.storage) ? gsettings.storage : blRPATH,
70			s = ((obj.image).indexOf('[{') > -1 ) ? $.parseJSON(obj.image) : obj.image,
71			src = (typeof s[0]['file'] != 'undefined') ? getServeImage(s[0]['file'],"600",imgPATH) : getServeImage(obj.image,"600",imgPATH),
72			img_src = (typeof gsettings.storage != 'undefined' && gsettings.storage) ? gsettings.storage + '600/' + obj.image : blRPATH + '600/' + obj.image,
73			g_url = (blPAGEMODE == 'config' || blPAGEMODE == 'demo') ? '/'+CONFIG_URL+'config/page' : property.URL,
74			g_link = obj.page + '/view/' + obj.seq,
75			g_link_option = '',
76			blitem_active = (blVIEW == obj.seq) ? ' active' : '';
77
78		if(typeof gsettings['glink'] != 'undefined' && gsettings['glink']) {
79			var g_link = (checkBase64Encode(gsettings['glink'])) ? Base64.decode(gsettings['glink']) : gsettings['glink'],
80				g_link_target = gsettings['glink_target'],
81				glink_val = (g_link) ? makeLinkUrl(g_link, blONE, blVIEW) : '',
82				menu_list = (typeof MENULIST != 'undefined') ? MENULIST : property.MENULIST;
83				
84			if(menu_list.indexOf(g_link.replace(/ /g,'-'))>-1) {
85				g_link_option = 'data-user-link="' + glink_val + '"';
86				g_link = glink_val;
87			} else if(g_link.match(/^\@/g)) {
88				g_link_option = 'attr-bookmark="' + g_link.replace(/^\@/g,'') + '"';
89			} else {
90				g_link_option = 'attr-link="' + htmlEntities(g_link) + '"';
91				g_link = glink_val;
92			}
93
94            if(g_link_target.length > 0 ) g_link_option += ' target="' + g_link_target + '"';
95
96		} else {
97			g_link = (g_url == '/') ? g_url + g_link : g_url + '/' + g_link;
98		}
99
100		var str = '\
101            <div class="blitem gallery-item'+blitem_active+'" data-seq="'+obj.seq+'" data-index="'+idx+'">\
102				<div class="col-xs-3 col-sm-3 col-md-3">\
103					<a href="'+htmlEntities(g_link)+'" '+ g_link_option + '>\
104						<img src="'+src+'" class="img-responsive center-block">\
105						<div class="over-wrap"><span>'+obj.title+'</span></div>\
106					</a>\
107				</div>\
108			</div>\
109			';
110
111		return str;
112	}
113
114	var blGallery = function(page) {
115		var id = uniqID(),
116			r = blGalleryData(page),
117			bl_g_data = r.list,
118			bl_g_page = Number(r.page),
119			bl_g_end_page = Number(r.end_page),
120			bl_g_total = Number(r.total);
121
122		var str = '\
123	     <div class="container">\
124	        <div class="row clearfix">\
125	        	<div class="col-xs-12 col-sm-12 col-md-12">\
126    	';
127
128        bl_g_data.forEach(function(o,i) {
129            str = str +'\
130            ' + blGalleryItem(((bl_g_page*4)-4)+i,o) + '\
131            ';
132        });
133        if(bl_g_data.length < 4) {
134        	for(var i=0; i< (4-bl_g_data.length); i++) {
135        		str = str + blGalleryItemEmpty();
136        	}
137        }
138        str = str +'\
139		        </div>\
140	        </div>\
141	    ';
142
143	    if(bl_g_page > 1) {
144	    	str = str + '\
145            <div class="left bl-g-control" data-slide="prev" data-page="' + (bl_g_page-1) + '">\
146                <span><svg viewBox="0 0 24 24" width="24" height="24"><path d="M15 5l-7 7 7 7z"/></svg></span>\
147            </div>\
148            ';
149	    } else {
150	    	str = str + '\
151            <div class="left bl-g-control empty" data-slide="prev" data-page="1">\
152                <span><svg viewBox="0 0 24 24" width="24" height="24"><path d="M15 5l-7 7 7 7z"/></svg></span>\
153            </div>\
154            ';
155	    }
156
157	    if(bl_g_page < bl_g_end_page) {
158	    	str = str + '\
159            <div class="right bl-g-control" data-slide="next" data-page="' + (bl_g_page+1) + '">\
160                <span><svg viewBox="0 0 24 24" width="24" height="24"><path d="M9 5l7 7-7 7z"/></svg></span>\
161            </div>\
162	    	';	
163	    } else {
164	    	str = str + '\
165            <div class="right bl-g-control empty" data-slide="next" data-page="bl_g_end_page">\
166                <span><svg viewBox="0 0 24 24" width="24" height="24"><path d="M9 5l7 7-7 7z"/></svg></span>\
167            </div>\
168	    	';	
169	    }
170	    str = str + '\
171        </div>';
172
173		return {
174			str: $(str),
175			page: bl_g_page,
176			end_page: bl_g_end_page,
177			total: bl_g_total
178		};
179	}
180
181    var blForum = function(d,wrap) {
182    	var css_str = htmlspecialchars_decode(d.elcss);
183        if($('.dsgn-body').find('#page-bottomlistcss').length > 0 ) $('.dsgn-body').find('#page-bottomlistcss').html(css_str);
184        else $('.dsgn-body').prepend('<style id="page-bottomlistcss" type="text/css">' + css_str + '</style>');
185
186		var blPAGE = (PAGE_MODE == 'c') ? PAGE : property.PAGE,
187			blVIEW = (PAGE_MODE == 'c') ? VIEW : property.VIEW;
188
189        var msny = (d.feature=='masonry') ? true : false;
190        wrap.addClass('element page-bottomlist ' + d.elname)
191            .attr('data-id', d.seq)
192            .attr('data-el','el_bottomlist')
193            .attr('data-name', d.elname)
194            .attr('data-msny', msny)
195            .attr('data-type', d.type)
196            .attr('data-type2', d.type2)
197            .attr('data-mode', d.mode)
198            .attr('data-width', d.folder);
199
200        wrap.html(htmlspecialchars_decode(d.eltag));
201		if(wrap.find('[data-fcolor]').length > 0) wrap.attr('data-ver','1');
202
203        var view = wrap.find('[data-loop="true"]').attr('data-view');
204        if(typeof view == 'undefined') view = 10;
205
206        if(typeof $.cookie('forum_' + d.seq) != 'undefined' && $.cookie('forum_' + d.seq))
207            $.forum.init(d.seq,blPAGE,view,$.cookie('forum_' + d.seq),$.cookie('forum_'+ d.seq +'_sfl'),$.cookie('forum_'+ d.seq +'_stx'),$.cookie('forum_'+ d.seq +'_scate'));
208        else
209            $.forum.init(d.seq,blPAGE,view);
210
211        wrap.find('[data-id="' + blVIEW + '"]').closest('tr').addClass('active').siblings('tr').removeClass('active');
212    }
213
214
215	$(document).on('click','.bl-g-control', function(e){
216		if($(this).hasClass('empty')) return false;
217		
218		var step = $(this).data('slide'),
219			page = $(this).data('page'),
220			bl_g = blGallery(Number(page));
221		$('.page-bottomlist.bl-gallery-wrap').html(bl_g.str);
222		changeBrokenImages($('.page-bottomlist.bl-gallery-wrap'));
223	});
224
225
226	$.bottomlist = {
227		init : function() {
228			var blSID = (PAGE_MODE == 'c') ? SID : property.SID,
229				blPARENT = (PAGE_MODE == 'c') ? PARENT : property.PARENT,
230				blPAGE = (PAGE_MODE == 'c') ? PAGE : property.PAGE;
231
232			if(typeof blSID == 'undefined' || !blSID) { console.log('blSID undefined'); return false; }
233			if(typeof blPARENT == 'undefined' || !blPARENT) { console.log('blPARENT undefined'); return false; }
234			if(typeof blPAGE == 'undefined' || !blPAGE) { console.log('blPAGE undefined'); return false; }
235			if(blPARENT.mode===null) { console.log('blPARENT.mode null'); return false; }
236
237			var blPARENT_SETTINGS = (typeof blPARENT.settings != 'undefined' && blPARENT.settings) ? jQuery.parseJSON(blPARENT.settings) : {},
238				blSETTINGS = (PAGE_MODE == 'c') ? SETTINGS : property.SETTINGS;
239			if(typeof blSETTINGS == 'undefined' || !blSETTINGS) blSETTINGS = {};
240
241			var	checkUrl = blPAGE.split(','),
242				blTYPE = (checkUrl[0] == 'forum') ? 'F' : 'P',
243				blPID = blPARENT.pid,
244				blVIEW =  (PAGE_MODE == 'c') ? VIEW : property.VIEW;
245
246			if(typeof blTYPE == 'undefined' || !blTYPE) { console.log('blTYPE undefined'); return false; }
247			if(typeof blPID == 'undefined' || !blPID) { console.log('blPID undefined'); return false; }
248			if(typeof blVIEW == 'undefined' || !blVIEW) { console.log('blVIEW undefined'); return false; }
249
250			$('.page-bottomlist').remove();
251			var blwrap = blWrap(blTYPE,blPARENT.mode,blVIEW),
252				$blwrap = $(blwrap.tpl);
253			
254			if(blTYPE == 'F') $blwrap.addClass('el_bl');
255			$blwrap.append('<div class="container">');
256
257			if($('.el-footer').length) {
258				$lastEl = ($('.el-footer_ctrl').length > 0) ? $('.el-footer_ctrl') : $('.el-footer');
259				if(blVIEW && blPARENT.mode=='project') $lastEl.before($blwrap);
260				else $('.forum-view').append($blwrap);
261			} else {
262				$('.dsgn-body').append($blwrap);
263			}
264			$blwrap.removeAttr('style');
265				
266			switch(blTYPE) {
267				case 'F' :
268					var getblForum = $.ajax({ url : '/template/element/type/get/seq/' + blPID, data: { use : 'bottomlist'}, dataType: 'json', type: 'POST', async: false, cache: false });
269					getblForum.then(function(data) {
270						checkError(data);
271						var d = data[0];
272						blForum(d,$blwrap);
273					});
274					break;
275
276				case 'P' :
277					$blwrap.addClass('bl-gallery-wrap');
278					var bl_g = blGallery(),
279						bl_g_html = bl_g.str;
280					$blwrap.html(bl_g_html);
281					changeBrokenImages($blwrap);
282					break;
283					
284				default:
285					// console.log('TYPE default');
286					break;
287			}
288			// setHeight(pageHeight());
289
290		},
291		destory : function() {
292			var $obj = $('.page-bottomlist');
293			$obj.fadeOut('slow',function() {
294				$(this).remove();
295			});
296		}
297	}
298}(jQuery));

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.