PageSourceSearch

https://www.wkforum.org/2022/assets/js/FWDRLShare.js?v=1790289097

js wkforum.org collected 2026-09-24 22:32:29 UTC 12,660 bytes, 419 lines download raw bytes

1/**
2 * Revolution Lightbox PACKAGED v3.0
3 * Share.
4 *
5 * @author Tibi - FWDesign [https://webdesign-flash.ro/]
6 * Copyright © 2006 All Rights Reserved.
7 */
8(function(window){
9	
10	var FWDRLShare = function(prt){
11		
12		var _s = this;
13		_s.prt = prt;
14		_s._d = prt._d;
15		_s.x2 = _s.y2 = 0;
16
17		_s.socialMedia = {
18			facebook    : 'https://www.facebook.com/sharer/sharer.php?u=[url]',
19			twitter     : 'https://twitter.com/intent/tweet?text=[text]&url=[url]',
20			pinterest   : 'https://www.pinterest.com/pin/create/button/?url=[url]&media=[image]&caption=[text]',
21			linkedin    : 'https://www.linkedin.com/shareArticle?url=[url]&mini=true&title=[text]',
22			reddit      : 'https://www.reddit.com/submit?url=[url]&title=[text]',
23			tumblr      : 'https://www.tumblr.com/share?v=3&u=[url]&t=[text]',
24			blogger     : 'https://www.blogger.com/blog_this.pyra?t&u=[url]&n=[text]',
25			buffer      : 'https://bufferapp.com/add?url=[url]title=[text]',
26			digg        : 'https://digg.com/submit?url=[url]&title=[text]'
27		};
28
29		
30		/**
31		 * Initialize.
32		 */
33		_s.init = function(){
34			_s.setOverflow('visible');
35			_s.style().width = '100%';
36			_s.style().height = '100%';
37			_s.setupCnt();
38		};
39
40		
41		/**
42		 * Setup containers.
43		 */
44		_s.setupCnt = function(){
45			_s.bk_do = new FWDRLDO('div');
46			_s.bk_do.style().width = '100%';
47			_s.bk_do.style().height = '100%';
48			_s.bk_do.setBkColor(prt.shareMainBackgroundColor);
49			_s.bk_do.screen.addEventListener("click", _s.bkMHU);
50			_s.addChild(_s.bk_do);
51
52			_s.mainHld_do = new FWDRLDO('div');
53			_s.mainHld_do.screen.className = prt.cls + '-share';
54			_s.mainHld_do.setOverflow('visible');
55			_s.addChild(_s.mainHld_do);
56
57			_s.text_do = new FWDRLDO('div', 'relative');
58			_s.text_do.screen.className = prt.cls + '-text';
59			_s.mainHld_do.addChild(_s.text_do);
60
61			_s.hld_do =  new FWDRLDO('div', 'relative');
62			_s.hld_do.screen.className = prt.cls + '-buttons-holder';
63			_s.mainHld_do.addChild(_s.hld_do);
64
65			_s.setupButtons();
66			_s.setupPointer();
67			_s.hide(false, true);
68		}
69
70		_s.bkMHU = function(){
71			_s.hide(true);
72		}
73
74
75		/**
76		 * Setup pointers.
77		 */
78		_s.setupPointer = function(){
79			_s.pointer_do = new FWDRLDO("div");
80			_s.pointer_do.hasTransform3d_bl = _s.pointer_do.hasTransform2d_bl = false;
81			_s.pointer_do.screen.className = prt.cls + '-pointer';
82			_s.pointer_do.setBkColor(prt.shareBackgroundColor);
83			_s.pointer_do.style().transform = 'rotate(45deg)';
84			_s.pointer_do.setWidth(8);
85			_s.pointer_do.setHeight(8);
86			_s.mainHld_do.addChild(_s.pointer_do);
87		}
88
89
90		/**
91		 * Setup buttons.
92		 */
93		_s.setupButtons = function(){
94			_s.buttons = [];
95
96			FWDRLSimpleButton.setPrototype();
97			if(prt.useVectorIcons){
98				_s.facebook_do = new FWDRLSimpleButton(0, 0, prt.cls,
99								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-facebook"></span>',
100								 prt.cls + '-button facebook',
101								 'selected');
102			}else{
103				_s.facebook_do = new FWDRLSimpleButton(_s._d.facebookN_img, _s._d.facebookSPath, prt.cls);
104			}
105			_s.facebook_do.setShareButton('facebook');
106			_s.facebook_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
107			_s.hld_do.addChild(_s.facebook_do);
108			_s.buttons.push(_s.facebook_do);
109
110			FWDRLSimpleButton.setPrototype();
111			if(prt.useVectorIcons){
112				_s.twitter_do = new FWDRLSimpleButton(0, 0, prt.cls,
113								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-twitter"></span>',
114								 prt.cls + '-button twitter',
115								 'selected');
116			}else{
117				_s.twitter_do = new FWDRLSimpleButton(_s._d.twitterN_img, _s._d.twitterSPath, prt.cls);
118			}
119			_s.twitter_do.setShareButton('twitter');
120			_s.twitter_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
121			_s.hld_do.addChild(_s.twitter_do);
122			_s.buttons.push(_s.twitter_do);
123
124			FWDRLSimpleButton.setPrototype();
125			if(prt.useVectorIcons){
126				_s.linkedin_do = new FWDRLSimpleButton(0, 0, prt.cls,
127								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-linkedin"></span>',
128								 prt.cls + '-button linkedin',
129								 'selected');
130			}else{
131				_s.linkedin_do = new FWDRLSimpleButton(_s._d.linkedinN_img, _s._d.linkedinSPath, prt.cls);
132			}
133			_s.linkedin_do.setShareButton('linkedin');
134			_s.linkedin_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
135			_s.hld_do.addChild(_s.linkedin_do);
136			_s.buttons.push(_s.linkedin_do);
137
138
139			FWDRLSimpleButton.setPrototype();
140			if(prt.useVectorIcons){
141				_s.tumblr_do = new FWDRLSimpleButton(0, 0, prt.cls,
142								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-tumblr"></span>',
143								 prt.cls + '-button tumblr',
144								 'selected');
145			}else{
146				_s.tumblr_do = new FWDRLSimpleButton(_s._d.tumblrN_img, _s._d.tumblrSPath, prt.cls);
147			}
148			_s.tumblr_do.setShareButton('tumblr');
149			_s.tumblr_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
150			_s.hld_do.addChild(_s.tumblr_do);
151			_s.buttons.push(_s.tumblr_do);
152
153			FWDRLSimpleButton.setPrototype();
154			if(prt.useVectorIcons){
155				_s.pinterest_do = new FWDRLSimpleButton(0, 0, prt.cls,
156								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-pinterest"></span>',
157								 prt.cls + '-button pinterest',
158								 'selected');
159			}else{
160				_s.pinterest_do = new FWDRLSimpleButton(_s._d.pinterestN_img, _s._d.pinterestSPath, prt.cls);
161			}
162			_s.pinterest_do.setShareButton('pinterest');
163			_s.pinterest_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
164			_s.hld_do.addChild(_s.pinterest_do);
165			_s.buttons.push(_s.pinterest_do);
166
167			FWDRLSimpleButton.setPrototype();
168			if(prt.useVectorIcons){
169				_s.reddit_do = new FWDRLSimpleButton(0, 0, prt.cls,
170								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-reddit"></span>',
171								 prt.cls + '-button reddit',
172								 'selected');
173			}else{
174				_s.reddit_do = new FWDRLSimpleButton(_s._d.redditN_img, _s._d.redditSPath, prt.cls);
175			}
176			_s.reddit_do.setShareButton('reddit');
177			_s.reddit_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
178			_s.hld_do.addChild(_s.reddit_do);
179			_s.buttons.push(_s.reddit_do);
180
181			FWDRLSimpleButton.setPrototype();
182			if(prt.useVectorIcons){
183				_s.buffer_do = new FWDRLSimpleButton(0, 0, prt.cls,
184								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-buffer"></span>',
185								 prt.cls + '-button buffer',
186								 'selected');
187			}else{
188				_s.buffer_do = new FWDRLSimpleButton(_s._d.bufferN_img, _s._d.bufferSPath, prt.cls);
189			}
190			_s.buffer_do.setShareButton('buffer');
191			_s.buffer_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
192			_s.hld_do.addChild(_s.buffer_do);
193			_s.buttons.push(_s.buffer_do);
194
195			FWDRLSimpleButton.setPrototype();
196			if(prt.useVectorIcons){
197				_s.digg_do = new FWDRLSimpleButton(0, 0, prt.cls,
198								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-digg"></span>',
199								 prt.cls + '-button digg',
200								 'selected');
201			}else{
202				_s.digg_do = new FWDRLSimpleButton(_s._d.diggN_img, _s._d.diggSPath, prt.cls);
203			}
204			_s.digg_do.setShareButton('digg');
205			_s.digg_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
206			_s.hld_do.addChild(_s.digg_do);
207			_s.buttons.push(_s.digg_do);
208
209			FWDRLSimpleButton.setPrototype();
210			if(prt.useVectorIcons){
211				_s.blogger_do = new FWDRLSimpleButton(0, 0, prt.cls,
212								'<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-blogger"></span>',
213								 prt.cls + '-button blogger',
214								 'selected');
215			}else{
216				_s.blogger_do = new FWDRLSimpleButton(_s._d.bloggerN_img, _s._d.bloggerSPath, prt.cls);
217			}
218			_s.blogger_do.setShareButton('blogger');
219			_s.blogger_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH);
220			_s.hld_do.addChild(_s.blogger_do);
221			_s.buttons.push(_s.blogger_do);
222			
223		}
224
225		_s.shareMUH = function(e){
226			_s.shareOn(e.inst);
227		}
228
229		/**
230		 * Share when button is clicked.
231		 * @param {String} type
232		 */
233		_s.shareOn = function(type){
234			var media = prt.gallery_ar[prt.mId],
235				image = media.type == FWDRL.IMAGE ? media.src : media.posterSrc,
236				url     = _s.socialMedia[type],
237				uri
238				
239			console.log(prt.sharedURL);
240			if(prt.sharedURL == 'page') {
241				uri = [location.protocol, '//', location.host, location.pathname].join( '' );
242			}else if(prt.sharedURL == 'deeplink' || ['iframe', 'HTML'].indexOf(media.type) > -1){
243				uri = [location.protocol, '//', location.host, location.pathname].join( '' );
244				uri += '#/' + prt.setDL(false);
245			}else{
246				uri = media.src;
247			}
248
249			// convert to absolute path if necessary
250			var link = document.createElement('a');
251			link.href = image;
252			image = link.href;
253			link.href = uri;
254			uri = link.href;
255
256			var tmp = document.createElement( 'div' );
257			tmp.innerHTML = media.caption;
258			var text = (tmp.textContent || tmp.innerText).replace( /\s+/g, ' ' ).trim() || '';
259			
260			url = url.replace('[url]', encodeURIComponent(uri))
261				 	.replace('[image]', encodeURIComponent(image))
262					.replace('[text]', encodeURIComponent(text || document.title));
263
264			var left = Math.round(window.screenX + (window.outerWidth - 626)/2),
265			top  = Math.round(window.screenY + ( window.outerHeight - 436 )/2);
266			
267
268			window.open(url, 'fwdrl_share', 'status=0,resizable=1,location=1,toolbar=0,width=626,height=436,top=' + top + ',left=' + left );
269		}
270
271
272		/**
273		 * Update text and buttons.
274		 */
275		_s.update = function(){
276			if(!prt.showShareButton) return;
277			_s.bk_do.setBkColor(prt.shareMainBackgroundColor);
278			_s.mainHld_do.setBkColor(prt.shareBackgroundColor);
279			_s.pointer_do.setBkColor(prt.shareBackgroundColor);
280			_s.text_do.setInnerHTML(prt.shareText);
281			
282			var tempBtns = [];
283			for(var i=0; i<prt.shareButtons.length; i++){
284				var btnName = prt.shareButtons[i];
285				for(var j=0; j<_s.buttons.length; j++){
286					var btn = _s.buttons[j];
287					if(btnName == btn.inst){
288						tempBtns.push(btn);
289					}
290				}
291			}
292
293			for(var i=0; i<_s.buttons.length; i++){
294				var btn = _s.buttons[i];
295				try{
296				_s.hld_do.removeChild(btn);
297				}catch(e){}
298			}
299
300			for(var i=0; i<tempBtns.length; i++){
301				var btn = tempBtns[i];
302				_s.hld_do.addChild(btn);
303			}
304		}
305
306
307		/**
308		 * Show/hide.
309		 */
310		_s.show = function(pos, x, y){
311			if(_s.isShowed || prt.isLoading) return;
312			_s.isShowed = true;
313			_s.setX(0);
314
315			var btnX = prt.shareBtn_do.x;
316			var btnY = prt.shareBtn_do.y;
317			var btnW = prt.shareBtn_do.w;
318			var btnH = prt.shareBtn_do.h;
319			var sW = prt.stageW;
320			var sH = prt.stageH;
321			var wW = _s.mainHld_do.getWidth();
322			var wH = _s.mainHld_do.getHeight();
323			var x,y,x2,y2;
324			var pointerOffset = 4;
325		
326
327			if(prt.tempBtnsAlign == FWDRL.BUTTONS_TOP){
328				x = btnX - Math.round((wW - btnW)/2);
329				y = btnY + btnW + 10; 
330				pos = 'top';
331				if(x + wW > sW){
332					x = btnX - wW + btnW;
333					pointerOffset = -(wW - btnW)/2 + 5;
334				}
335			}else{
336				x = btnX + btnW + 10;
337				y = btnY - Math.round((wH - btnH)/2);
338
339				if(y < 0){
340					pointerOffset = 78;
341					y = prt.shareBtn_do.y - 5;
342				}
343				pos = 'right';
344				if(x + wW > sW - 20){
345					x = btnX - wW - 10;
346					pos = 'left';
347				}
348			}
349
350			x= Math.round(x);
351			y = Math.round(y);
352
353
354			_s.x2 = x;
355			_s.y2 = y;
356			if(pos == 'right'){
357				_s.x2 = x + 20;
358			}else if(pos == 'left'){
359				_s.x2 = x - 20;
360			}else if(pos == 'top'){
361				_s.y2 = y + 20;
362			}
363
364			_s.mainHld_do.setX(_s.x2);
365			_s.mainHld_do.setY(_s.y2);
366			_s.mainHld_do.setAlpha(0);
367			_s.bk_do.setAlpha(0)
368		
369			if(pos == 'top'){
370				_s.pointer_do.style().top = ' -4px';
371				_s.pointer_do.style().left = 'calc(50% - ' + pointerOffset + 'px)';
372			}else if(pos == 'left'){
373				_s.pointer_do.style().top = 'calc(50% - ' + pointerOffset + 'px)';
374				_s.pointer_do.style().left = 'calc(100% - 4px)';
375			}else if(pos == 'right'){
376				_s.pointer_do.style().top = 'calc(50% - ' + pointerOffset + 'px)';
377				_s.pointer_do.style().left = '-4px';
378			}
379
380			FWDAnimation.to(_s.bk_do, .6, {alpha:1, ease:Expo.easeInOut});
381			FWDAnimation.to(_s.mainHld_do, .6, {x:x, y:y, alpha:1, ease:Expo.easeInOut});
382			_s.setVisible(true);
383			_s.dispatchEvent(FWDRLShare.SHOW);
384		}
385
386		_s.hide = function(anim, o){
387			if(!_s.isShowed && !o || FWDAnimation.isTweening(_s.mainHld_do)) return;
388			_s.isShowed = false;
389
390			FWDAnimation.killTweensOf(_s.mainHld_do);
391			if(anim){
392				FWDAnimation.to(_s.bk_do, .6, {alpha:0, ease:Expo.easeInOut});
393				FWDAnimation.to(_s.mainHld_do, .6, {x:_s.x2, y:_s.y2, alpha:0, ease:Expo.easeInOut, onComplete:_s.hideComplete});
394			}else{
395				_s.hideComplete();
396			}
397			_s.dispatchEvent(FWDRLShare.HIDE);
398		}
399
400		_s.hideComplete = function(){
401			_s.setX(-8000);
402			_s.setVisible(false);
403		}
404		
405		_s.init();
406	};
407	
408	/**
409	 * Prototype.
410	 */
411	FWDRLShare.setPrototype = function(){
412		FWDRLShare.prototype = new FWDRLDO('div');
413	};
414
415	FWDRLShare.SHOW = 'show';
416	FWDRLShare.HIDE = 'hide';
417	
418	window.FWDRLShare = FWDRLShare;
419}(window));

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.