1//Fonction pour initialiser tous les liens qui ont pour target "openbox" afin de les ouvrirs en popup (call in $(document).ready) 2//Le onclick permet de définir les parametres, ex: onclick="void('openbox.iframe','width=200,height=300, modal');" 3function openboxInit() 4{ 5 //Si je suis déjà en popup (en iframe) 6 if(window.cpCMSMedia == "popup") 7 { 8 //je met les liens _self en parent car je suis dans une iframe 9 $("a[target='_self'], a:not([target])").each(function(){ $(this).attr("target", "_parent"); }); 10 } 11 12 //Parse les liens 13 $("a[target='openbox']").each(function(){ 14 //Recupere et vide le onclick 15 var chaine = $(this).attr("onclick"); 16 $(this).attr("onclick", ""); 17 18 //Parse les parametre du onclick 19 var width="";var height=""; var declaredtype=""; var ismodal=false; 20 if(chaine) //ici c'est une fonction 21 { 22 chaine = chaine.toString().toLowerCase(); //je la transform en text 23 var reg = new RegExp("[ ,'=;\"]+", "g"); 24 var tableau=chaine.split(reg); 25 for (var i=0; i<tableau.length; i++) 26 { 27 if(tableau[i] == "width") 28 width = parseInt(tableau[i+1]); 29 else if(tableau[i] == "height") 30 height = parseInt(tableau[i+1]); 31 else if(tableau[i] == "modal") //REM: ce parametre n'est pas géré dans editeur (sinon peux plus fermer la fenêtre) 32 ismodal = true; 33 else if(tableau[i].indexOf("openbox.")>=0) 34 declaredtype = tableau[i]; 35 } 36 } 37 //Met la fancybox 38 $(this).fancybox(openboxDetectParam($(this).attr("href"), width, height, declaredtype, ismodal)); 39 }); 40 41 //Ajoute le wmode transparent au iframe pour éviter que le popup passe en dessous (integration youtube par exemple) 42 $("iframe").each(function(){ 43 44 var src = $(this).attr("src"); 45 if(src) 46 { 47 if(src.indexOf("?")<0) 48 src += "?" 49 else 50 src += "&" 51 52 //$(this).attr("src", src+"wmode=transparent"); //cause IE back button failure use instead: 53 $(this).get(0).contentWindow.location.replace(src+"wmode=transparent"); 54 } 55 }); 56 57 //Ajoute un effet au image dans les a (mettre la class "noAeffect" sur les liens ou image ou on veut pas l'effet) 58 //GERER EN CSS NOW $("a:not(.noAeffect)").hover( function(){ $(this).find("img:not(.noAeffect)").stop().fadeTo(300, 0.8); }, function(){ $(this).find("img").stop().fadeTo(100, 1.0); }); 59} 60 61/* 62Fonction pour ouvrir un élément en popup 63pType permet de forcer un type d'ouvertur, les valeurs possibles sont: 64openbox.img, openbox.jpg/.jpeg/.gif/.png, openbox.flv, openbox.mp3, openbox.mp4, openbox.swf, openbox.wmv, openbox.mov, openbox.iframe, openbox.inline, openbox.ajax 65*/ 66function openbox(pUrl, pWidth, pHeight, pType, pIsModal, pOtherParam) 67{ 68 try 69 { 70 $.fancybox.open(openboxDetectParam(pUrl, pWidth, pHeight, pType, pIsModal, pOtherParam)); 71 } 72 catch(ex){window.location.reload();} 73} 74 75/*Function qui affecte l'ouverture en popup à l'objet passer en parametre */ 76function openboxSet(pObj, pUrl, pWidth, pHeight, pType, pIsModal) 77{ 78 if(!pUrl) 79 pUrl = $(pObj).attr("href"); 80 $(pObj).fancybox(openboxDetectParam(pUrl, pWidth, pHeight, pType, pIsModal)); 81} 82 83/*Fonction qui detect les parametre à utiliser pour la popup en fct de l'url ou du type si celui-ci est forcé*/ 84function openboxDetectParam(pUrl, pWidth, pHeight, pType, pIsModal, pOtherParam) 85{ 86 var param = new Object(); var autostartvideo=true; var ext; 87 param.animationEffect = 'zoom'; 88 param.clickContent= false; 89 param.clickSlide = false; 90 param.clickOutside = false;
91 92 //Si le type est déclaré je l'utilise, sinon je recupere extension de url 93 if(pType) 94 ext = pType.replace("openbox.", ""); 95 else 96 { 97 var a_tmp = pUrl.split(/\?/gi); 98 ext = a_tmp[0]; 99 a_tmp = ext.split(/\./gi); 100 if(a_tmp.length==1) 101 ext = "racc"; //Sans doute un raccourci de chikita 102 else 103 ext = a_tmp[a_tmp.length-1].toLowerCase(); 104 } 105 106 107 //Set les tailles ou met celle par défaut (560*340 comme la fancybox) 108 if(pWidth) 109 param.width = pWidth; 110 else 111 param.width = 560; 112 113 if(pHeight) 114 param.height = pHeight; 115 else 116 param.height = 340; 117 118 //Test selon URL 119 if(ext=="jpg" || ext=="jpeg" || ext=="png" || ext=="gif" || ext=="img") //openbox.img == pour déclarer facilement un type image 120 { 121 param.type = "image"; 122 param.href = pUrl; 123 //Si les tailles sont forcées 124 if(pWidth || pHeight) 125 { 126 var size = openboxSizeToString(pWidth, pHeight); 127 param.content = '<img src="'+ pUrl + '" ' + size + '" style="display:block;"/>'; 128 } 129 } 130 else if(ext=="swf") 131 { 132 param.type = "swf"; 133 param.href = pUrl; 134 } 135 else if(ext=="flv" || ext == "mp4"|| ext=="mp3") 136 { 137 if(ext=="mp3") 138 { 139 if(!pHeight) 140 param.height=21; 141 } 142 143 var autostart = (autostartvideo?"1":"0"); 144 var size = openboxSizeToString(param.width, param.height); 145 param.content = '<object id="flvpbox"' + size + 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0">' + 146 '<param name="movie" value="/wysiwygPro/media/player.swf" />' + 147 '<param name="flashvars" value="file=' + encodeURIComponent(pUrl) + '&autostart=' + autostart + '&controlbar=bottom&fullscreen=true" />' + 148 '<param name="allowfullscreen" value="true"/>' + 149 '<param name="allowscriptaccess" value="always"/>' + 150 '<param name="wmode" value="transparent" /><embed' + size + 'src="/wysiwygPro/media/player.swf" flashvars="file=' + encodeURIComponent(pUrl) + '&autostart=' + autostart + '&controlbar=bottom&fullscreen=true" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" wmode="transparent"></embed></object>'; 151 } 152 else if(ext=="wmv") 153 { 154 var autostart = (autostartvideo?"1":"0"); 155 var size = openboxSizeToString(param.width, param.height); 156 param.content = '<object' + size + 'classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" title="">' + 157 '<param name="autostart" value="' + autostart + '" />' + 158 '<param name="loop" value="false" />' + 159 '<param name="showcontrols" value="true" />' + 160 '<param name="url" value="' + pUrl + '" />' + 161 '<param name="wmode" value="transparent" /><embed' + size + 'autostart="' + autostart + '" loop="false" showcontrols="true" src="' + pUrl + '" filename="' + pUrl + '" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" type="application/x-mplayer2" wmode="transparent"></embed></object>'; 162 } 163 else if(ext=="mov") 164 { 165 var autostart = (autostartvideo?"true":"false"); 166 var size = openboxSizeToString(param.width, param.height); 167 param.content = '<object' + size + 'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">' + 168 '<param name="autoplay" value="' + autostart + '" />' + 169 '<param name="loop" value="false" />' + 170 '<param name="controller" value="true" />' + 171 '<param name="src" value="' + pUrl + '" />' + 172 '<param name="wmode" value="transparent" /><embed ' + size + 'autoplay="' + autostart + '" loop="false" controller="true" src="' + pUrl + '" pluginspage="http://www.apple.com/quicktime/download/" type="video/quicktime" wmode="transparent"></embed></object>'; 173 } 174 else if(ext == "ajax") 175 { 176 param.type="ajax"; 177 param.href = pUrl; 178 if(pWidth || pHeight) 179 { 180 param.autoDimensions = false;
181 if(!pWidth) 182 param.width = 'auto'; 183 else if(!pHeight) 184 param.height = 'auto'; 185 } 186 } 187 else if((pUrl.indexOf("#")==0 && ext!="iframe") || ext=="inline") 188 { 189 param.type="inline"; 190 param.src = pUrl; 191 if(pWidth || pHeight){ 192 param.autoDimensions = false; 193 } 194 else{ 195 param.width = 'auto'; 196 param.height = 'auto'; 197 } 198 } 199 else if((pUrl.indexOf("google.")>=0 && pUrl.indexOf("maps")>=0) && ext!="iframe") 200 { 201 param.type='iframe'; 202 param.src = pUrl + "&output=embed"; 203 } 204 else if((pUrl.indexOf("youtube.com/")>=0 || pUrl.indexOf("youtu.be/")>=0) && ext!="iframe") 205 { 206 param.type='iframe'; 207 var idvideo = ''; 208 if(pUrl.indexOf("youtu.be/")>=0) //Si version url abregee 209 { 210 idvideo = pUrl.replace("http://youtu.be/",""); 211 idvideo = idvideo.replace("https://youtu.be/",""); 212 } 213 else 214 { 215 var m = pUrl.match(/(v|embed)(=|\/)[a-zA-Z0-9_\-]+/gi); 216 if (m && m[0]) 217 idvideo = m[0].replace(/(v|embed)(=|\/)([a-zA-Z0-9_\-]+)/gi, "$3"); 218 } 219 220 var autostart = (autostartvideo?1:0); 221 param.src= 'https://www.youtube.com/embed/' + idvideo + "?autoplay="+autostart; 222 } 223 else if(pUrl.indexOf("dailymotion.com/")>=0 && ext!="iframe") 224 { 225 param.type='iframe'; 226 var idvideo = ''; 227 var m = pUrl.match(/video(=|\/)[a-zA-Z0-9\-]+/gi); 228 if (m && m[0]) 229 idvideo = m[0].replace(/video(=|\/)([a-zA-Z0-9\-]+)/gi, "$2"); 230 231 var autostart = (autostartvideo?1:0); 232 param.src= 'https://www.dailymotion.com/embed/video/' + idvideo + "?autoPlay="+autostart; 233 } 234 else if(pUrl.indexOf("vimeo.com/")>=0 && ext!="iframe") 235 { 236 param.type='iframe'; 237 var idvideo = ''; 238 var m = pUrl.match(/vimeo.com(\/video)?(=|\/)[a-zA-Z0-9\-]+/gi); 239 if (m && m[0]) 240 idvideo = m[0].replace(/vimeo.com(\/video)?(=|\/)([a-zA-Z0-9\-]+)/gi, "$3"); 241 242 var autostart = (autostartvideo?1:0); 243 param.src= 'https://player.vimeo.com/video/' + idvideo + "?autoplay="+autostart; 244 } 245 else //tous le reste iframe 246 { 247 param.type='iframe'; 248 param.src = pUrl; 249 //Si c'est une page interne 250 if(pUrl.indexOf("/")==0 && (ext=="html" || ext=="racc")) 251 { 252 var prefix = (pUrl.indexOf("?")>0?"&":"?"); 253 param.src = '/noindex' + param.src + prefix + 'media=popup'; 254 } 255 } 256 257 if(pIsModal==true) 258 param.modal=true; 259 else 260 param.smallBtn = true; 261 262 //Affect les autres param si recu en paramètre 263 if(pOtherParam) 264 for(var i in pOtherParam) 265 param[i] = pOtherParam[i]; 266 267 //Retourne les params pour la box 268 return param; 269} 270 271//Function pour ouvrir les écrans d'admin en popup. pOtherParam au format json (idem que param ci-dessous) 272function openboxAdmin(pUrl, pOtherParam) 273{ 274 try 275 { 276 //Param par défaut pour fenetre admin 277 var param = {'src':pUrl, 'type':'ajax', 'modal':true, baseClass:'fbx-nopadding'}; 278 279 //Affect les autres param si recu en paramètre 280 if(pOtherParam) 281 for(var i in pOtherParam) 282 param[i] = pOtherParam[i]; 283 //Lance la popup 284 $.fancybox.open(param); 285 } 286 catch(ex){window.location.reload();} 287} 288 289//Function pour ouvrir les écrans d'admin avec HTMLEditor en popup 290/*function openboxAdminEditor(pUrl, pIdEditorCtn, pOtherParam) 291{ 292 try 293 { 294 //Param par défaut pour fenetre admin 295 var param = {'content': '<div id="divwproctn"></div>', 'modal':true, baseClass:'nopadding'}; 296 297 //Affect les autres param si recu en paramètre 298 if(pOtherParam) 299 for(var i in pOtherParam) 300 param[i] = pOtherParam[i]; 301 302 //Ouvre un popup avec un div vide 303 $.fancybox.open(param); 304 //Met la rondelle d'attente 305 openboxWait(); 306 //Charge l'editeur en ajax et affect au div de la popup 307 $.ajax({ 308 type : "GET", 309 cache : false, 310 url : pUrl, 311 success: function(data){ 312 //Set l'editeur dans le div 313 $("#divwproctn").append(data); 314 //Reaffecte la largeur 315 $('.fancybox-content').width($("#"+pIdEditorCtn).width()); 316 //Recalcul la hauteur et la position 317 openboxResize(); 318 //Enleve la rondelle d'attente et affiche le contenu de la popup 319 openboxReady(); 320 } 321 }); 322 } 323 catch(ex){window.location.reload();} 324}*/ 325 326//Fonction pour creer la chaine html avec les tailles 327function openboxSizeToString(pWidth, pHeight) 328{ 329 var size = ' '; 330 if(pWidth) 331 size += 'width="' + pWidth + 'px" '; 332 if(pHeight) 333 size += 'height="' + pHeight + 'px" '; 334 335 return size; 336} 337 338//Ferme la popup 339function openboxClose() 340{ 341 $.fancybox.close(); 342} 343 344//Cache le contenu de la popup et met l'image d'attente 345function openboxWait(pbJustShowActivity) 346{ 347 var fbxInstance = $.fancybox.getInstance(); 348 if(fbxInstance == false) 349 { 350 var param = {'src':'', 'modal':true, baseClass:'fbx-nopadding', opts:{ beforeShow : function( instance, current ) { $('.fancybox-bg').css("opacity", ".5"); }}}; 351 $.fancybox.open(param); 352 } 353 354 $.fancybox.getInstance().showLoading(); 355 if(pbJustShowActivity!=true) 356 $('.fancybox-content').hide(); 357} 358 359//Reaffiche le contenu de la popup et enlève l'image d'attente (contraire de wait) 360function openboxReady(pbJustHideActivity) 361{ 362 //Si il y a une fancyboy ouvert j'envoi la fct, sinon je fait rien 363 //if($('.fancybox-loading').css("display")=="block") 364 var fbxInstance = $.fancybox.getInstance(); 365 if(fbxInstance != false) 366 { 367 if(pbJustHideActivity!=true) 368 $('.fancybox-content').show(); 369 370 $.fancybox.getInstance().hideLoading(); 371 } 372} 373 374//Recalcul la hauteur et la position de la popup 375/*function openboxResize() plus besoin car uniquement pour editeur 376{ 377 $.fancybox.resize(); 378 $.fancybox.center(); 379}*/ 380 381//Fonction qui renvoie la largeur et la hauteur du contenu de la popup ouverte 382function openboxGetSize() 383{ 384 return {'width':$('.fancybox-content').width(), 'height':$('.fancybox-content').height()}; 385} 386 387//Fonction pour éviter le centrage de la fancybox sur des mobiles lorsqu'on ZOOM 388/*(function() 389{ 390 var fboxcenter = $.fancybox.center; //recupere la fct de centrage du fancybox et la redéfini 391 $.fancybox.center = function(param){ 392 var w = $('#fancybox-wrap').outerWidth(); //recupere la largeur de la box
393 var h = $('#fancybox-wrap').outerHeight();//recupere la hauteur de la box 394 if(w>=window.innerWidth || h>=window.innerHeight) //Si la taille de la box dépasse la taille de l'écran je return 395 return; 396 fboxcenter(param); //Sinon envoi la fct d'origine 397 }; 398})();*/
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.