[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 <html> 2 <head> 3 <title>{$lang_insert_link_title}</title> 4 <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script> 5 <script language="javascript"> 6 var url = tinyMCE.getParam("external_link_list_url"); 7 if (url != null) { 8 // Fix relative 9 if (url.charAt(0) != '/') 10 url = tinyMCE.documentBasePath + "/" + url; 11 12 document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '?rnd=' + new Date().getTime() + '"></sc'+'ript>'); 13 } 14 </script> 15 <script language="javascript" type="text/javascript"> 16 <!-- 17 // Disable auto resize 18 tinyMCE.getWindowArg('mce_windowresize', false); 19 20 function myRegexpReplace(in_str, reg_exp, replace_str, opts) { 21 if (typeof opts == "undefined") 22 opts = 'g'; 23 var re = new RegExp(reg_exp, opts); 24 return in_str.replace(re, replace_str); 25 } 26 27 function init() { 28 // modified 2004-11-10 by Michael Keck (me@michaelkeck.de) 29 // supporting onclick event to open pop windows 30 var formObj = document.forms[0]; 31 var arrOnClick = new Array(), arrWinFeatures = new Array(); 32 var strOnClick = '', strDocReturn = ''; 33 arrOnClick = tinyMCE.getWindowArg('onclick').split(';'); 34 for (var i=0; i<arrOnClick.length; i++) { 35 if (arrOnClick[i].indexOf('window.open')!=-1) { 36 strOnClick = arrOnClick[i]; 37 strOnClick = strOnClick.substring(12,strOnClick.length-1); 38 formObj.ispopup.checked=true; 39 break; 40 } 41 } 42 43 if (strOnClick!='') { 44 for (var i=0; i<arrOnClick.length; i++) { 45 if (arrOnClick[i].indexOf('return false')!=-1) { 46 formObj.winreturn.checked=true; 47 break; 48 } 49 } 50 // get the win features 51 arrWinFeatures = strOnClick.split(','); 52 if (arrWinFeatures[0]!='') // link , url 53 formObj.winurl.value = myRegexpReplace(arrWinFeatures[0],"'","","gi"); 54 if (arrWinFeatures[1]!='') // link , url 55 formObj.winname.value = myRegexpReplace(arrWinFeatures[1],"'","","gi"); 56 57 for (var i=2; i<arrWinFeatures.length; i++) { // special features 58 tmpFeature = myRegexpReplace(arrWinFeatures[i],"'","","gi"); 59 valFeature = tmpFeature.split('='); 60 if (valFeature[0]!='left' && valFeature[0]!='top' && valFeature[0]!='width' && valFeature[0]!='height') { 61 if (valFeature[1]=='yes') 62 formObj.elements['win'+valFeature[0].toLowerCase()].checked=true; 63 else 64 formObj.elements['win'+valFeature[0].toLowerCase()].checked=false; 65 } else { 66 switch (valFeature[0]) { 67 case 'left': 68 case 'top': 69 if (valFeature[1].indexOf('screen.avail')!=-1) 70 formObj.elements['win'+valFeature[0].toLowerCase()].value='c'; 71 else 72 formObj.elements['win'+valFeature[0].toLowerCase()].value=valFeature[1]; 73 break; 74 case 'width': 75 case 'height': 76 formObj.elements['win'+valFeature[0].toLowerCase()].value=valFeature[1]; 77 break; 78 } 79 } 80 } 81 } 82 var myTarget = tinyMCE.getWindowArg('target'); 83 myTarget = myTarget != "" ? myTarget : "_self"; 84 formObj.target.value = myTarget; 85 formObj.href.value = tinyMCE.getWindowArg('href'); 86 formObj.linktitle.value = tinyMCE.getWindowArg('title'); 87 setMyTarget(myTarget); 88 89 // Handle file browser 90 if (tinyMCE.getParam("file_browser_callback") != null) { 91 document.getElementById('href').style.width = '280px'; 92 document.getElementById('winurl').style.width = '180px'; 93 document.getElementById('browser1').innerHTML = getBrowserHTML('href'); 94 document.getElementById('browser2').innerHTML = getBrowserHTML('winurl'); 95 } 96 97 // Auto select link in list 98 if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { 99 for (var i=0; i<formObj.link_list.length; i++) { 100 if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href')) 101 formObj.link_list.options[i].selected = true; 102 } 103 } 104 105 // Autoresize and focus 106 TinyMCEPopup_autoResize(); 107 window.focus(); 108 } 109 110 function insertLink() { 111 var formObj = document.forms[0]; 112 if (window.opener) { 113 var href = formObj.href.value; 114 var target = formObj.target.value; 115 var title = formObj.linktitle.value; 116 var onclick = '', features = ''; 117 var winwith = '', winheight = '', winleft = '', wintop = '', winlocation = '', winmenubar = '', wintoolbar = '', winscrollbars = '', winresizable = ''; 118 if (formObj.ispopup.checked==true) { 119 // building the onclick event 120 onclick = "window.open("; 121 // check if url given 122 if (formObj.winurl.value=='') 123 onclick += "this.href,"; 124 else 125 onclick += "'" + formObj.winurl.value + "',"; 126 127 onclick += "'" + formObj.winname.value + "'"; 128 // get/set with and height 129 if (formObj.winwidth.value=='') 130 formObj.winwidth.value = 640; 131 if (formObj.winheight.value=='') 132 formObj.winheight.value = 480; 133 // win position 134 if (formObj.winleft.value=='c') { 135 if (features!='') 136 features += ","; 137 features += "left='+(screen.availWidth/2-" + (formObj.winwidth.value/2) + ")+'"; 138 } else { 139 if (formObj.winleft.value!='') { 140 if (features!='') 141 features += ","; 142 features += "left=" + formObj.winleft.value; 143 } 144 } 145 if (formObj.wintop.value=='c') { 146 if (features!='') 147 features += ","; 148 features += "top='+(screen.availHeight/2-" + (formObj.winheight.value/2) + ")+'"; 149 } else { 150 if (formObj.wintop.value!='') { 151 if (features!='') 152 features += ","; 153 features += "top=" + formObj.wintop.value; 154 } 155 } 156 if (features!='') 157 features += ','; 158 features += "width=" + formObj.winwidth.value + ",height=" + formObj.winheight.value; 159 // some window features 160 if (formObj.winlocation.checked==true) { 161 if (features!='') 162 features += ','; 163 features += "location=yes"; 164 } 165 if (formObj.winmenubar.checked==true) { 166 if (features!='') 167 features += ','; 168 features += "menubar=yes"; 169 } 170 if (formObj.wintoolbar.checked==true) { 171 if (features!='') 172 features += ','; 173 features += "toolbar=yes"; 174 } 175 if (formObj.winstatus.checked==true) { 176 if (features!='') 177 features += ','; 178 features += "status=yes"; 179 } 180 if (formObj.winscrollbars.checked==true) { 181 if (features!='') 182 features += ','; 183 features += "scrollbars=yes"; 184 } 185 if (formObj.winresizable.checked==true) { 186 if (features!='') 187 features += ','; 188 features += "resizable=yes"; 189 } 190 if (features!='') 191 onclick += ",'" + features + "'"; 192 if (onclick!='') 193 onclick += ");"; 194 // return false means: open only the popup 195 if (formObj.winreturn.checked==true) 196 onclick += "return false;"; 197 } 198 if (target!='' && target!='please_insert_on_target_in_textfield') { 199 //alert (onclick); 200 window.opener.tinyMCE.insertLink(href, target, title, onclick); 201 top.close(); 202 } else { 203 alert(tinyMCE.getLang('lang_insert_link_popup_missingtarget')); 204 formObj.framename.select(); 205 } 206 } 207 } 208 209 function setMyTarget(what) { 210 var formObj = document.forms[0]; 211 formObj.target.value=what; 212 switch (what) { 213 case '': 214 case '_self': 215 document.getElementById('same').checked=true; 216 formObj.framename.value='_self'; 217 break; 218 case '_blank': 219 document.getElementById('blank').checked=true; 220 formObj.framename.value=''; 221 break; 222 case '_parent': 223 document.getElementById('parent').checked=true; 224 formObj.framename.value=''; 225 break; 226 case '_top': 227 document.getElementById('top').checked=true; 228 formObj.framename.value=''; 229 break; 230 default: 231 document.getElementById('named').checked=true; 232 if (what!='please_insert_on_target_in_textfield') { 233 formObj.framename.value=what; 234 } 235 break; 236 } 237 } 238 239 function getBrowserHTML(name) { 240 var html = ""; 241 242 html += '<img id="browserBtn" src="../../themes/advanced/images/browse.gif"'; 243 html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"'; 244 html += ' onmouseout="tinyMCE.restoreClass(this);"'; 245 html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"'; 246 html += ' onclick="javascript:tinyMCE.openFileBrowser(\'' + name + '\',document.forms[0].' + name + '.value,\'file\',window);"'; 247 html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"'; 248 html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />'; 249 250 return html; 251 } 252 253 function setPopupInputs() { 254 var formObj = document.forms[0]; 255 var ids = new Array('url','name','left','top','width','height','location','menubar','toolbar','status','scrollbars','resizable','return'); 256 if (formObj.ispopup.checked==false) { 257 formObj.winurl.value = ""; 258 formObj.winname.value = ""; 259 formObj.winwidth.value = ""; 260 formObj.winheight.value = ""; 261 formObj.winleft.value = ""; 262 formObj.wintop.value = ""; 263 formObj.winlocation.checked = false; 264 formObj.winmenubar.checked = false; 265 formObj.wintoolbar.checked = false; 266 formObj.winscrollbars.checked = false; 267 formObj.winresizable.checked = false; 268 formObj.winstatus.checked = false; 269 formObj.winreturn.checked = false; 270 for (var i=0; i<ids.length; i++) { 271 if (typeof(formObj.elements['win'+ids[i]])!='undefined') 272 formObj.elements['win'+ids[i]].disabled = true; 273 if (document.getElementById('label'+ids[i])) 274 document.getElementById('label'+ids[i]).style.color = "#666666"; 275 } 276 } else { 277 formObj.winreturn.checked = true; 278 for (var i=0; i<ids.length; i++) { 279 if (typeof(formObj.elements['win'+ids[i]])!='undefined') 280 formObj.elements['win'+ids[i]].disabled = false; 281 if (document.getElementById('label'+ids[i])) 282 document.getElementById('label'+ids[i]).style.color = "#000000"; 283 } 284 } 285 } 286 287 function cancelAction() { 288 top.close(); 289 } 290 //--> 291 </script> 292 <style type="text/css"> 293 <!-- 294 input.radio { 295 border: 1px none #000000; 296 background-color: transparent; 297 vertical-align: middle; 298 } 299 --> 300 </style> 301 </head> 302 <body onload="init();"> 303 <form onsubmit="insertLink();return false;"> 304 <table border="0" cellpadding="0" cellspacing="0" width="100"> 305 <tr> 306 <td align="center" valign="middle"><table border="0" cellpadding="4" cellspacing="0"> 307 <tr> 308 <td colspan="2" class="title" nowrap="nowrap">{$lang_insert_link_title}</td> 309 </tr> 310 <tr> 311 <td align="right" nowrap="nowrap">{$lang_insert_link_url}:</td> 312 <td><table border="0" cellspacing="0" cellpadding="0"> 313 <tr> 314 <td><input name="href" type="text" id="href" value="" style="width: 300px;" /></td> 315 <td id="browser1"></td> 316 </tr> 317 </table></td> 318 </tr> 319 <!-- Link list --> 320 <script language="javascript"> 321 if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { 322 var html = ""; 323 324 html += '<tr><td align="right">{$lang_link_list}:</td>'; 325 html += '<td><select name="link_list" style="width: 300px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">'; 326 html += '<option value="">---</option>'; 327 328 for (var i=0; i<tinyMCELinkList.length; i++) 329 html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>'; 330 331 html += '</select></td></tr>'; 332 333 document.write(html); 334 } 335 </script> 336 <!-- /Link list --> 337 <tr> 338 <td align="right" nowrap="nowrap">{$lang_theme_insert_link_titlefield}:</td> 339 <td><input name="linktitle" type="text" id="linktitle" value="" style="width: 300px;" /></td> 340 </tr> 341 <tr> 342 <td align="right" valign="top">{$lang_insert_link_target}:<input type="hidden" name="target" id="target" value="" /></td> 343 <td> 344 <table border="0" cellpadding="0" cellspacing="0"> 345 <tr> 346 <td><input type="radio" id="same" name="linktarget" class="radio" onclick="setMyTarget('_self');" checked="checked" /></td> 347 <td nowrap="nowrap"><label for="same">_self</label></td> 348 <td nowrap="nowrap"> ({$lang_insert_link_target_same})</td> 349 </tr> 350 <tr> 351 <td><input type="radio" id="parent" name="linktarget" class="radio" onclick="setMyTarget('_parent');" checked="checked" /></td> 352 <td nowrap="nowrap"><label for="parent">_parent</label></td> 353 <td nowrap="nowrap"> ({$lang_insert_link_target_parent})</td> 354 </tr> 355 <tr> 356 <td><input type="radio" id="top" name="linktarget" class="radio" onclick="setMyTarget('_top');" checked="checked" /></td> 357 <td nowrap="nowrap"><label for="top">_top</label></td> 358 <td nowrap="nowrap"> ({$lang_insert_link_target_top})</td> 359 </tr> 360 <tr> 361 <td><input type="radio" id="blank" name="linktarget" class="radio" onclick="setMyTarget('_blank');" checked="checked" /></td> 362 <td nowrap="nowrap"><label for="blank">_blank</label></td> 363 <td nowrap="nowrap"> ({$lang_insert_link_target_blank})</td> 364 </tr> 365 </table> 366 <table border="0" cellpadding="0" cellspacing="0"> 367 <tr> 368 <td><input type="radio" id="named" name="linktarget" class="radio" onclick="setMyTarget('please_insert_on_target_in_textfield');" /></td> 369 <td nowrap="nowrap"><label for="named">{$lang_insert_link_target_named}:</label> </td> 370 <td nowrap="nowrap"><input type="text" name="framename" value="" id="framename" style="width: 120px; vertical-align: middle;" onblur="if(this.value!=''){ setMyTarget(this.value); }" onfocus="if(this.value!=''){ setMyTarget(this.value); }" maxlength="50" /></td> 371 </tr> 372 </table> 373 </td> 374 </tr> 375 <tr> 376 <td align="right" valign="top"><input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupInputs();" /><label for="ispopup"><b>{$lang_insert_link_popup}:</b></label></td> 377 <td> 378 <table border="0" cellpadding="0" cellspacing="0"> 379 <tr> 380 <td align="right" nowrap="nowrap">{$lang_insert_link_popup_url}: </td> 381 <td id="labelurl"><table border="0" cellspacing="0" cellpadding="0"> 382 <tr> 383 <td><input type="text" name="winurl" id="winurl" value="" style="width: 200px;" /></td> 384 <td id="browser2"></td> 385 </tr> 386 </table></td> 387 </tr> 388 <tr> 389 <td align="right" nowrap="nowrap" id="labelname">{$lang_insert_link_popup_name}: </td> 390 <td><input type="text" name="winname" id="winname" value="" style="width: 200px;" /></td> 391 </tr> 392 <tr> 393 <td align="right" nowrap="nowrap" id="labelwidth">{$lang_insert_link_popup_size}: </td> 394 <td nowrap="nowrap" id="labelheight"> 395 <input type="text" name="winwidth" id="winwidth" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> x 396 <input type="text" name="winheight" id="winheight" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> px 397 </td> 398 </tr> 399 <tr> 400 <td align="right" nowrap="nowrap" id="labelleft">{$lang_insert_link_popup_position}: </td> 401 <td nowrap="nowrap" id="labeltop"> 402 <input type="text" name="winleft" id="winleft" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> / 403 <input type="text" name="wintop" id="wintop" value="" style="width: 30px; vertical-align: middle; text-align: center;" /> (c /c = center) 404 </td> 405 </tr> 406 </table> 407 <table border="0" cellpadding="0" cellspacing="0"> 408 <tr> 409 <td align="right"><input type="checkbox" id="winlocation" name="winloaction" class="radio" /></td> 410 <td nowrap="nowrap" id="labellocation"><label for="winloaction">{$lang_insert_link_popup_location}</label></td> 411 <td nowrap="nowrap"> </td> 412 <td align="right"><input type="checkbox" id="winscrollbars" name="winscrollbars" class="radio" /></td> 413 <td nowrap="nowrap" id="labelscrollbars"><label for="winscrollbars">{$lang_insert_link_popup_scrollbars}</label></td> 414 </tr> 415 <tr> 416 <td align="right"><input type="checkbox" id="winmenubar" name="winmenubar" class="radio" /></td> 417 <td nowrap="nowrap" id="labelmenubar"><label for="winmenubar">{$lang_insert_link_popup_menubar}</label></td> 418 <td nowrap="nowrap"> </td> 419 <td align="right"><input type="checkbox" id="winresizable" name="winresizable" class="radio" /></td> 420 <td nowrap="nowrap" id="labelresizable"><label for="winresizable">{$lang_insert_link_popup_resizable}</label></td> 421 </tr> 422 <tr> 423 <td align="right"><input type="checkbox" id="wintoolbar" name="wintoolbar" class="radio" /></td> 424 <td nowrap="nowrap" id="labeltoolbar"><label for="wintoolbar">{$lang_insert_link_popup_toolbar}</label></td> 425 <td nowrap="nowrap"> </td> 426 <td nowrap="nowrap"> </td> 427 <td nowrap="nowrap"> </td> 428 </tr> 429 <tr> 430 <td align="right"><input type="checkbox" id="winstatus" name="winstatus" class="radio" /></td> 431 <td nowrap="nowrap" id="labelstatus"><label for="winstatus">{$lang_insert_link_popup_statusbar}</label></td> 432 <td nowrap="nowrap"> </td> 433 <td align="right"><input type="checkbox" id="winreturn" name="winreturn" class="radio" checked="checked" /></td> 434 <td nowrap="nowrap" id="labelreturn"><label for="winreturn">{$lang_insert_link_popup_return}</label></td> 435 </tr> 436 </table> 437 </td> 438 </tr> 439 <tr> 440 <td><input type="button" name="insert" value="{$lang_insert}" onclick="insertLink();" id="insert" /></td> 441 <td align="right"><input type="button" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" id="cancel" /></td> 442 </tr> 443 </table></td> 444 </tr> 445 </table> 446 </form> 447 </body> 448 </html>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |