PageSourceSearch

https://www.institutdesactuaires.com/global/module/comment/ressour…jquery.comment.magic.js?v=20260909_20240515

js institutdesactuaires.com collected 2026-09-24 20:40:13 UTC 11,212 bytes, 314 lines download raw bytes

1(function($) {
2	var commentFormMagicMethods = {
3		init: function() {
4			return this.each(function() {
5				var $this = $(this),
6				data =  $this.data('commentFormMagic');
7				
8				if (!data) {
9					 $(this).data('commentFormMagic', {
10			               na : false,
11			               oldContent : false,
12			               content : false,
13			               youtubeMovies : false,
14			               dailymotionMovies : false,
15			               externalPage : false,
16			               movieId : false,
17			               title : false,
18			               description : false,
19			               img : false,
20			               imgCurrentPos : 0,
21			               imgMaxPos : 0,
22			               tmp : "",
23			               loadedPics : 0,
24			               prompt: $this.find(".commentFormUrl")
25			           });
26					 $this.find(".PublishItemType").click(function() {
27							$(".PublishItemType.current").removeClass("current");
28							$(this).addClass("current");
29						});
30						
31					if (typeof $.elastic != 'undefined')
32						$this.find('.commentFormTxt').elastic();
33					$this.find('.commentFormUrl').keyup(function(e) { 
34						if (e.keyCode == 13)
35						{
36							e.preventDefault();
37							$this.commentFormMagic("parseIt", { replace : false, loader: true });
38							return false;
39						}
40					});
41					
42					$this.find(".commentFormUrl,.commentFormTxt").focus(function() {
43						$(this).closest(".commentArea").find(".commentButton").slideDown();
44					});
45					$this.find(".invitePublish").click(function() {
46					    $(this).hide();
47					    if ($(this).closest(".commentArea").find(".commentFormTxt").length) {
48                            $(this).closest(".commentArea").find(".commentFormTxt").show().css('height', '100').focus();
49                            $(this).closest(".commentArea").find(".commentFormTxt").show().focus().val();
50					    }
51					    if ($(this).closest(".commentArea").find(".commentFormUrl").length) {
52                            $(this).closest(".commentArea").find(".commentFormUrl").show().focus().val();
53					    }
54					});
55				}
56			});
57		},
58		
59		debug: function() {
60			return $(this).data('commentFormMagic');
61		},
62		
63		showPublish: function(options) {
64			return this.each(function() {
65				var $this = $(this),
66	            params = $this.data('commentFormMagic');
67				
68				// on supprime les erreurs liées aux insultes
69				$this.parent('div').parent('div').find('.error_insulte').remove();
70				
71				/* On masque le preview et on le vide */
72				$this.find(".preview").hide().empty();				
73				/**/
74				$this.find(".shareLink").show();				
75				/* On désactive les zones de saisies */
76				$this.find(".commentArea:visible").find(".commentFormTxt, .commentFormUrl").attr("disabled", "disabled");
77				/* On masque la zone de publication active */
78				$this.find(".commentArea:visible").hide();
79				/* On réactive */
80				$this.find(".comment" + options.part).css("display", "block").find("input,textarea").removeAttr("disabled");
81				$this.find(".commentArea:visible").find('.commentFormTxt, .commentFormUrl').val($this.find(".commentArea:visible").find('.commentFormTxt, .commentFormUrl').attr("default"));
82				
83				$this.find(".commentArea:visible").find('.commentFormTxt, .commentFormUrl').hide();
84				$this.find(".commentArea:visible").find('.invitePublish').show();
85				$this.find(".commentButton").hide();
86				
87				$this.find("td.PublishItemType.current").removeClass("current");
88				$this.find("td.showArea" + options.part).addClass("current");
89
90			});
91		},
92		
93		parseIt: function(options) {
94			return this.each(function() {
95				var $this = $(this),
96	            params = $this.data('commentFormMagic');
97				params.content = params.prompt.val();
98				if (!options || !options.replace)
99					options.replace = false;
100				 else
101				 {
102					 params.oldContent = "";
103					 $this.commentFormMagic('updateTmp');
104					 params.prompt.val(params.tmp);
105					 return false;
106				 }
107				 if (params.content == "" || params.content == params.oldContent)
108				    return true;
109				 params.youtubeMovies = false;
110				 params.dailymotionMovies = false;
111				 params.externalPage = false;
112				 params.movieId = false;
113				 params.title = false;
114				 params.description = false;
115				 params.oldContent = params.content;
116				 params.img = false;
117				 params.imgCurrentPos = 0;
118				 $this.find(".preview").hide().empty();
119				 var expr = /http:\/\/www\.youtube\.com\/watch\?v=(.{11})&?.*/ig;
120				 if (expr.test(params.content)) {
121					 params.movieId = RegExp.$1;
122					 params.youtubeMovies = true;
123				 } else {
124					 var expr = /http:\/\/youtu\.be\/(.{11})&?.*/ig;
125					 if (expr.test(params.content)) {
126						 params.movieId = RegExp.$1;
127						 params.youtubeMovies = true;
128					 }
129				 }
130				 var expr = /http:\/\/www\.dailymotion\.com\/video\/(.{6})_.*/;
131				 if (!params.youtubeMovies && expr.test(params.content)) {
132					 expr.exec(params.content);
133					 params.movieId = RegExp.$1;
134					 params.dailymotionMovies = true;
135				 }
136				 
137				 if (params.dailymotionMovies || params.youtubeMovies) {
138					 $this.commentFormMagic("updateTmp");
139					 $this.commentFormMagic("fillPreview", { loader: false, replace: false });
140				 } else {
141					 $.get("/global/module/comment/ressources/ajax/isUrl.php", { url : params.content }, function(data) {
142						 if (data !== "1") {
143							 alert(params.content + " n'est pas une url valide!");
144							 return;
145						 }
146						 params.loadedPics = 0;
147						 $this.commentFormMagic("updateTmp");
148						 params.externalPage = true;
149						 $this.commentFormMagic("fillPreview", { loader : true, replace: false });
150						 
151						 $.get("/global/module/comment/ressources/ajax/naUrlWrapper.php", { url : params.content, wall: params.wall }, function(data) {
152							 $this.commentFormMagic("fillPreview", { loader: false, htmlcode: data });
153							 $this.commentFormMagic("updateTmp");
154						 }, "html");
155					 });
156				 }
157			});
158		},
159		
160		getAjaxLoaderHTML: function (options) {
161			if (!options || !options.hide) options.hide = false;
162			ret = "<div style='" + (options.hide ? "display : none;" : "") + "padding-right : 20px; text-align : right; width : 95%' class='previewLoader'><img src='/global/images/ajax-loader.gif' border='0' /></div><br />";
163			return ret;
164		},
165		
166		fillPreview: function (options) {
167			return this.each(function() {
168				
169				var $this = $(this),
170	            params = $this.data('commentFormMagic');
171				
172				if (!options.loader)
173					options.loader = false;
174				
175				$this.find(".shareLink").hide();
176				if (options.loader) {
177			    	$this.find('.preview').html($this.commentFormMagic("getAjaxLoaderHTML", { hide : false })).show();
178			    	return true;
179			    }
180				if (params.youtubeMovies) {
181			    	$this.find(".preview").html('<center><iframe title="YouTube video player" width="350" height="295" src="http://www.youtube.com/embed/' + params.movieId + '" frameborder="0" allowfullscreen></iframe></center>');
182			    }
183				else if (params.dailymotionMovies) {
184					$this.find(".preview").html('<center><iframe frameborder="0" width="350" height="300" src="http://www.dailymotion.com/embed/video/' + params.movieId + '?theme=none"></iframe></center>');
185				}
186				else if (params.externalPage) {
187					$this.find(".preview").empty().html( options.htmlcode );
188				}
189				button = $('<a>').html('Publier').button({ icons : { primary : 'ui-icon-check' } }).css('float', 'right');
190				button
191					.click(function() {
192						var contenutComment = UTF8.encode(params.content);
193						$this.commentFormMagic("parseIt", { replace: true });
194						$this.commentForm("postComment");
195						$this.commentFormMagic("showPublish", { part: "Simple" });
196						return false;
197					});
198				
199				$this.find(".preview").append(button).show();
200			    
201			    params.prompt.removeAttr("readonly");
202			});
203		},
204		disablePrompt: function() {
205			return this.each(function() {
206				var $this = $(this),
207	            params = $this.data('commentFormMagic');
208				
209				$this.find("input:visible, textarea:visible").attr("readonly", "readonly").attr("disabled", "disabled");
210	        });
211		},
212
213		enablePrompt: function() {
214			return this.each(function() {
215				var $this = $(this),
216	            params = $this.data('commentFormMagic');
217				
218				$this.find("input:visible, textarea:visible").removeAttr("readonly").removeAttr("disabled");
219	        });
220		},
221		
222		updateTmp: function() {
223			
224			return this.each(function() {
225				var $this = $(this),
226	            params = $this.data('commentFormMagic');
227				
228				if (params.youtubeMovies)
229				{
230					params.tmp = "[YoutubeMovies:" + params.movieId  + "]";
231				}
232				else if (params.dailymotionMovies)
233				{
234					params.tmp = "[dailymotionMovies:" + params.movieId  + "]";
235				}
236				else if (params.externalPage)
237				{
238					params.tmp = "[Page:" + params.content + 
239						(params.title ? "#title=" + params.title : "") + 
240						(params.description ? "#description=" + params.description : "") + 
241						(params.img ? "#image=" + params.img : "") + "]";
242				}
243				else
244				{
245					params.tmp = params.content;
246				}
247	        });
248		},
249		
250		selectPrevPics: function () {
251			return this.each(function() {
252				var $this = $(this),
253	            params = $this.data('commentFormMagic');
254				
255				if (!params.externalPage) return false;
256				
257				if (params.imgCurrentPos != 0)
258				{
259					params.imgCurrentPos--;
260					$this.find(".previewLinkImg:visible").hide();
261					$this.find(".previewLinkImg").eq(params.imgCurrentPos).show();
262				}
263				
264				params.img = $this.find(".previewLinkImg:visible").attr("src");
265				
266				$this.commentFormMagic("updateTmp");
267			});
268		},
269		
270		selectNextPics: function(item) {
271			return this.each(function() {
272				var $this = $(this),
273	            params = $this.data('commentFormMagic');
274				
275				if (!params.externalPage || params.imgCurrentPos == params.imgMaxPos)
276				{
277					return false;
278				}
279				
280				if (params.imgMaxPos && params.loadedPics <= params.imgMaxPos)
281				{
282					$.get("/global/module/comment/ressources/ajax/loadImage.php", { load : params.loadedPics + 1, url : params.content }, function(data) 
283					{
284						$this.find(".imgPreviewContainer").append(data);
285						params.loadedPics++;
286					});
287				}
288				if (params.imgCurrentPos <= params.imgMaxPos)
289				{
290					params.imgCurrentPos++;
291					$this.find(".previewLinkImg:visible").hide();
292					$this.find(".previewLinkImg").eq(params.imgCurrentPos).show();
293				}
294				
295				params.img = $this.find(".previewLinkImg:visible").attr("src");
296				$this.commentFormMagic("updateTmp");		
297			});
298		}
299	};
300	$.fn.commentFormMagic = function(method) {
301		if ( commentFormMagicMethods[method] )
302		{
303			return commentFormMagicMethods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
304		}
305		else if ( typeof method === 'object' || ! method )
306		{
307			return commentFormMagicMethods.init.apply( this, arguments );
308		}
309		else
310		{
311			$.error( 'Method ' +  method + ' does not exist on jQuery.commentFormMagic' );
312		}
313	};
314})(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.