annotate media/js/tiny_mce/plugins/advlink/link.htm @ 265:1ba2c6bf6eb7

Closing #98. Animated GIFs were losing their transparency and animated properties when saved as avatars. Reworked the avatar save process to only run the avatar through PIL if it is too big. This preserves the original uploaded file if it is within the desired size settings. This may still mangle big animated gifs. If this becomes a problem, then maybe look into calling the PIL Image.resize() method directly. Moved the PIL image specific functions from bio.forms to a new module: core.image for better reusability in the future.
author Brian Neal <bgneal@gmail.com>
date Fri, 24 Sep 2010 02:12:09 +0000
parents 149c3567fec1
children
rev   line source
bgneal@45 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
bgneal@45 2 <html xmlns="http://www.w3.org/1999/xhtml">
bgneal@45 3 <head>
bgneal@45 4 <title>{#advlink_dlg.title}</title>
bgneal@45 5 <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
bgneal@45 6 <script type="text/javascript" src="../../utils/mctabs.js"></script>
bgneal@45 7 <script type="text/javascript" src="../../utils/form_utils.js"></script>
bgneal@45 8 <script type="text/javascript" src="../../utils/validate.js"></script>
bgneal@45 9 <script type="text/javascript" src="js/advlink.js"></script>
bgneal@45 10 <link href="css/advlink.css" rel="stylesheet" type="text/css" />
bgneal@45 11 </head>
bgneal@45 12 <body id="advlink" style="display: none">
bgneal@45 13 <form onsubmit="insertAction();return false;" action="#">
bgneal@45 14 <div class="tabs">
bgneal@45 15 <ul>
bgneal@45 16 <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advlink_dlg.general_tab}</a></span></li>
bgneal@45 17 <li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{#advlink_dlg.popup_tab}</a></span></li>
bgneal@45 18 <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#advlink_dlg.events_tab}</a></span></li>
bgneal@45 19 <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advlink_dlg.advanced_tab}</a></span></li>
bgneal@45 20 </ul>
bgneal@45 21 </div>
bgneal@45 22
bgneal@45 23 <div class="panel_wrapper">
bgneal@45 24 <div id="general_panel" class="panel current">
bgneal@45 25 <fieldset>
bgneal@45 26 <legend>{#advlink_dlg.general_props}</legend>
bgneal@45 27
bgneal@45 28 <table border="0" cellpadding="4" cellspacing="0">
bgneal@45 29 <tr>
bgneal@45 30 <td class="nowrap"><label id="hreflabel" for="href">{#advlink_dlg.url}</label></td>
bgneal@45 31 <td><table border="0" cellspacing="0" cellpadding="0">
bgneal@45 32 <tr>
bgneal@45 33 <td><input id="href" name="href" type="text" class="mceFocus" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
bgneal@45 34 <td id="hrefbrowsercontainer">&nbsp;</td>
bgneal@45 35 </tr>
bgneal@45 36 </table></td>
bgneal@45 37 </tr>
bgneal@45 38 <tr id="linklisthrefrow">
bgneal@45 39 <td class="column1"><label for="linklisthref">{#advlink_dlg.list}</label></td>
bgneal@45 40 <td colspan="2" id="linklisthrefcontainer"><select id="linklisthref"><option value=""></option></select></td>
bgneal@45 41 </tr>
bgneal@45 42 <tr>
bgneal@45 43 <td class="column1"><label for="anchorlist">{#advlink_dlg.anchor_names}</label></td>
bgneal@45 44 <td colspan="2" id="anchorlistcontainer"><select id="anchorlist"><option value=""></option></select></td>
bgneal@45 45 </tr>
bgneal@45 46 <tr>
bgneal@45 47 <td><label id="targetlistlabel" for="targetlist">{#advlink_dlg.target}</label></td>
bgneal@45 48 <td id="targetlistcontainer"><select id="targetlist"><option value=""></option></select></td>
bgneal@45 49 </tr>
bgneal@45 50 <tr>
bgneal@45 51 <td class="nowrap"><label id="titlelabel" for="title">{#advlink_dlg.titlefield}</label></td>
bgneal@45 52 <td><input id="title" name="title" type="text" value="" /></td>
bgneal@45 53 </tr>
bgneal@45 54 <tr>
bgneal@45 55 <td><label id="classlabel" for="classlist">{#class_name}</label></td>
bgneal@45 56 <td>
bgneal@45 57 <select id="classlist" name="classlist" onchange="changeClass();">
bgneal@45 58 <option value="" selected="selected">{#not_set}</option>
bgneal@45 59 </select>
bgneal@45 60 </td>
bgneal@45 61 </tr>
bgneal@45 62 </table>
bgneal@45 63 </fieldset>
bgneal@45 64 </div>
bgneal@45 65
bgneal@45 66 <div id="popup_panel" class="panel">
bgneal@45 67 <fieldset>
bgneal@45 68 <legend>{#advlink_dlg.popup_props}</legend>
bgneal@45 69
bgneal@45 70 <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
bgneal@45 71 <label id="ispopuplabel" for="ispopup">{#advlink_dlg.popup}</label>
bgneal@45 72
bgneal@45 73 <table border="0" cellpadding="0" cellspacing="4">
bgneal@45 74 <tr>
bgneal@45 75 <td class="nowrap"><label for="popupurl">{#advlink_dlg.popup_url}</label>&nbsp;</td>
bgneal@45 76 <td>
bgneal@45 77 <table border="0" cellspacing="0" cellpadding="0">
bgneal@45 78 <tr>
bgneal@45 79 <td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
bgneal@45 80 <td id="popupurlbrowsercontainer">&nbsp;</td>
bgneal@45 81 </tr>
bgneal@45 82 </table>
bgneal@45 83 </td>
bgneal@45 84 </tr>
bgneal@45 85 <tr>
bgneal@45 86 <td class="nowrap"><label for="popupname">{#advlink_dlg.popup_name}</label>&nbsp;</td>
bgneal@45 87 <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
bgneal@45 88 </tr>
bgneal@45 89 <tr>
bgneal@45 90 <td class="nowrap"><label>{#advlink_dlg.popup_size}</label>&nbsp;</td>
bgneal@45 91 <td class="nowrap">
bgneal@45 92 <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
bgneal@45 93 <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
bgneal@45 94 </td>
bgneal@45 95 </tr>
bgneal@45 96 <tr>
bgneal@45 97 <td class="nowrap" id="labelleft"><label>{#advlink_dlg.popup_position}</label>&nbsp;</td>
bgneal@45 98 <td class="nowrap">
bgneal@45 99 <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /
bgneal@45 100 <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
bgneal@45 101 </td>
bgneal@45 102 </tr>
bgneal@45 103 </table>
bgneal@45 104
bgneal@45 105 <fieldset>
bgneal@45 106 <legend>{#advlink_dlg.popup_opts}</legend>
bgneal@45 107
bgneal@45 108 <table border="0" cellpadding="0" cellspacing="4">
bgneal@45 109 <tr>
bgneal@45 110 <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 111 <td class="nowrap"><label id="popuplocationlabel" for="popuplocation">{#advlink_dlg.popup_location}</label></td>
bgneal@45 112 <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 113 <td class="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{#advlink_dlg.popup_scrollbars}</label></td>
bgneal@45 114 </tr>
bgneal@45 115 <tr>
bgneal@45 116 <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 117 <td class="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{#advlink_dlg.popup_menubar}</label></td>
bgneal@45 118 <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 119 <td class="nowrap"><label id="popupresizablelabel" for="popupresizable">{#advlink_dlg.popup_resizable}</label></td>
bgneal@45 120 </tr>
bgneal@45 121 <tr>
bgneal@45 122 <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 123 <td class="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{#advlink_dlg.popup_toolbar}</label></td>
bgneal@45 124 <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 125 <td class="nowrap"><label id="popupdependentlabel" for="popupdependent">{#advlink_dlg.popup_dependent}</label></td>
bgneal@45 126 </tr>
bgneal@45 127 <tr>
bgneal@45 128 <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
bgneal@45 129 <td class="nowrap"><label id="popupstatuslabel" for="popupstatus">{#advlink_dlg.popup_statusbar}</label></td>
bgneal@45 130 <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
bgneal@45 131 <td class="nowrap"><label id="popupreturnlabel" for="popupreturn">{#advlink_dlg.popup_return}</label></td>
bgneal@45 132 </tr>
bgneal@45 133 </table>
bgneal@45 134 </fieldset>
bgneal@45 135 </fieldset>
bgneal@45 136 </div>
bgneal@45 137
bgneal@45 138 <div id="advanced_panel" class="panel">
bgneal@45 139 <fieldset>
bgneal@45 140 <legend>{#advlink_dlg.advanced_props}</legend>
bgneal@45 141
bgneal@45 142 <table border="0" cellpadding="0" cellspacing="4">
bgneal@45 143 <tr>
bgneal@45 144 <td class="column1"><label id="idlabel" for="id">{#advlink_dlg.id}</label></td>
bgneal@45 145 <td><input id="id" name="id" type="text" value="" /></td>
bgneal@45 146 </tr>
bgneal@45 147
bgneal@45 148 <tr>
bgneal@45 149 <td><label id="stylelabel" for="style">{#advlink_dlg.style}</label></td>
bgneal@45 150 <td><input type="text" id="style" name="style" value="" /></td>
bgneal@45 151 </tr>
bgneal@45 152
bgneal@45 153 <tr>
bgneal@45 154 <td><label id="classeslabel" for="classes">{#advlink_dlg.classes}</label></td>
bgneal@45 155 <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
bgneal@45 156 </tr>
bgneal@45 157
bgneal@45 158 <tr>
bgneal@45 159 <td><label id="targetlabel" for="target">{#advlink_dlg.target_name}</label></td>
bgneal@45 160 <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
bgneal@45 161 </tr>
bgneal@45 162
bgneal@45 163 <tr>
bgneal@45 164 <td class="column1"><label id="dirlabel" for="dir">{#advlink_dlg.langdir}</label></td>
bgneal@45 165 <td>
bgneal@45 166 <select id="dir" name="dir">
bgneal@45 167 <option value="">{#not_set}</option>
bgneal@45 168 <option value="ltr">{#advlink_dlg.ltr}</option>
bgneal@45 169 <option value="rtl">{#advlink_dlg.rtl}</option>
bgneal@45 170 </select>
bgneal@45 171 </td>
bgneal@45 172 </tr>
bgneal@45 173
bgneal@45 174 <tr>
bgneal@45 175 <td><label id="hreflanglabel" for="hreflang">{#advlink_dlg.target_langcode}</label></td>
bgneal@45 176 <td><input type="text" id="hreflang" name="hreflang" value="" /></td>
bgneal@45 177 </tr>
bgneal@45 178
bgneal@45 179 <tr>
bgneal@45 180 <td class="column1"><label id="langlabel" for="lang">{#advlink_dlg.langcode}</label></td>
bgneal@45 181 <td>
bgneal@45 182 <input id="lang" name="lang" type="text" value="" />
bgneal@45 183 </td>
bgneal@45 184 </tr>
bgneal@45 185
bgneal@45 186 <tr>
bgneal@45 187 <td><label id="charsetlabel" for="charset">{#advlink_dlg.encoding}</label></td>
bgneal@45 188 <td><input type="text" id="charset" name="charset" value="" /></td>
bgneal@45 189 </tr>
bgneal@45 190
bgneal@45 191 <tr>
bgneal@45 192 <td><label id="typelabel" for="type">{#advlink_dlg.mime}</label></td>
bgneal@45 193 <td><input type="text" id="type" name="type" value="" /></td>
bgneal@45 194 </tr>
bgneal@45 195
bgneal@45 196 <tr>
bgneal@45 197 <td><label id="rellabel" for="rel">{#advlink_dlg.rel}</label></td>
bgneal@45 198 <td><select id="rel" name="rel">
bgneal@45 199 <option value="">{#not_set}</option>
bgneal@45 200 <option value="lightbox">Lightbox</option>
bgneal@45 201 <option value="alternate">Alternate</option>
bgneal@45 202 <option value="designates">Designates</option>
bgneal@45 203 <option value="stylesheet">Stylesheet</option>
bgneal@45 204 <option value="start">Start</option>
bgneal@45 205 <option value="next">Next</option>
bgneal@45 206 <option value="prev">Prev</option>
bgneal@45 207 <option value="contents">Contents</option>
bgneal@45 208 <option value="index">Index</option>
bgneal@45 209 <option value="glossary">Glossary</option>
bgneal@45 210 <option value="copyright">Copyright</option>
bgneal@45 211 <option value="chapter">Chapter</option>
bgneal@45 212 <option value="subsection">Subsection</option>
bgneal@45 213 <option value="appendix">Appendix</option>
bgneal@45 214 <option value="help">Help</option>
bgneal@45 215 <option value="bookmark">Bookmark</option>
bgneal@45 216 <option value="nofollow">No Follow</option>
bgneal@45 217 <option value="tag">Tag</option>
bgneal@45 218 </select>
bgneal@45 219 </td>
bgneal@45 220 </tr>
bgneal@45 221
bgneal@45 222 <tr>
bgneal@45 223 <td><label id="revlabel" for="rev">{#advlink_dlg.rev}</label></td>
bgneal@45 224 <td><select id="rev" name="rev">
bgneal@45 225 <option value="">{#not_set}</option>
bgneal@45 226 <option value="alternate">Alternate</option>
bgneal@45 227 <option value="designates">Designates</option>
bgneal@45 228 <option value="stylesheet">Stylesheet</option>
bgneal@45 229 <option value="start">Start</option>
bgneal@45 230 <option value="next">Next</option>
bgneal@45 231 <option value="prev">Prev</option>
bgneal@45 232 <option value="contents">Contents</option>
bgneal@45 233 <option value="index">Index</option>
bgneal@45 234 <option value="glossary">Glossary</option>
bgneal@45 235 <option value="copyright">Copyright</option>
bgneal@45 236 <option value="chapter">Chapter</option>
bgneal@45 237 <option value="subsection">Subsection</option>
bgneal@45 238 <option value="appendix">Appendix</option>
bgneal@45 239 <option value="help">Help</option>
bgneal@45 240 <option value="bookmark">Bookmark</option>
bgneal@45 241 </select>
bgneal@45 242 </td>
bgneal@45 243 </tr>
bgneal@45 244
bgneal@45 245 <tr>
bgneal@45 246 <td><label id="tabindexlabel" for="tabindex">{#advlink_dlg.tabindex}</label></td>
bgneal@45 247 <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
bgneal@45 248 </tr>
bgneal@45 249
bgneal@45 250 <tr>
bgneal@45 251 <td><label id="accesskeylabel" for="accesskey">{#advlink_dlg.accesskey}</label></td>
bgneal@45 252 <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
bgneal@45 253 </tr>
bgneal@45 254 </table>
bgneal@45 255 </fieldset>
bgneal@45 256 </div>
bgneal@45 257
bgneal@45 258 <div id="events_panel" class="panel">
bgneal@45 259 <fieldset>
bgneal@45 260 <legend>{#advlink_dlg.event_props}</legend>
bgneal@45 261
bgneal@45 262 <table border="0" cellpadding="0" cellspacing="4">
bgneal@45 263 <tr>
bgneal@45 264 <td class="column1"><label for="onfocus">onfocus</label></td>
bgneal@45 265 <td><input id="onfocus" name="onfocus" type="text" value="" /></td>
bgneal@45 266 </tr>
bgneal@45 267
bgneal@45 268 <tr>
bgneal@45 269 <td class="column1"><label for="onblur">onblur</label></td>
bgneal@45 270 <td><input id="onblur" name="onblur" type="text" value="" /></td>
bgneal@45 271 </tr>
bgneal@45 272
bgneal@45 273 <tr>
bgneal@45 274 <td class="column1"><label for="onclick">onclick</label></td>
bgneal@45 275 <td><input id="onclick" name="onclick" type="text" value="" /></td>
bgneal@45 276 </tr>
bgneal@45 277
bgneal@45 278 <tr>
bgneal@45 279 <td class="column1"><label for="ondblclick">ondblclick</label></td>
bgneal@45 280 <td><input id="ondblclick" name="ondblclick" type="text" value="" /></td>
bgneal@45 281 </tr>
bgneal@45 282
bgneal@45 283 <tr>
bgneal@45 284 <td class="column1"><label for="onmousedown">onmousedown</label></td>
bgneal@45 285 <td><input id="onmousedown" name="onmousedown" type="text" value="" /></td>
bgneal@45 286 </tr>
bgneal@45 287
bgneal@45 288 <tr>
bgneal@45 289 <td class="column1"><label for="onmouseup">onmouseup</label></td>
bgneal@45 290 <td><input id="onmouseup" name="onmouseup" type="text" value="" /></td>
bgneal@45 291 </tr>
bgneal@45 292
bgneal@45 293 <tr>
bgneal@45 294 <td class="column1"><label for="onmouseover">onmouseover</label></td>
bgneal@45 295 <td><input id="onmouseover" name="onmouseover" type="text" value="" /></td>
bgneal@45 296 </tr>
bgneal@45 297
bgneal@45 298 <tr>
bgneal@45 299 <td class="column1"><label for="onmousemove">onmousemove</label></td>
bgneal@45 300 <td><input id="onmousemove" name="onmousemove" type="text" value="" /></td>
bgneal@45 301 </tr>
bgneal@45 302
bgneal@45 303 <tr>
bgneal@45 304 <td class="column1"><label for="onmouseout">onmouseout</label></td>
bgneal@45 305 <td><input id="onmouseout" name="onmouseout" type="text" value="" /></td>
bgneal@45 306 </tr>
bgneal@45 307
bgneal@45 308 <tr>
bgneal@45 309 <td class="column1"><label for="onkeypress">onkeypress</label></td>
bgneal@45 310 <td><input id="onkeypress" name="onkeypress" type="text" value="" /></td>
bgneal@45 311 </tr>
bgneal@45 312
bgneal@45 313 <tr>
bgneal@45 314 <td class="column1"><label for="onkeydown">onkeydown</label></td>
bgneal@45 315 <td><input id="onkeydown" name="onkeydown" type="text" value="" /></td>
bgneal@45 316 </tr>
bgneal@45 317
bgneal@45 318 <tr>
bgneal@45 319 <td class="column1"><label for="onkeyup">onkeyup</label></td>
bgneal@45 320 <td><input id="onkeyup" name="onkeyup" type="text" value="" /></td>
bgneal@45 321 </tr>
bgneal@45 322 </table>
bgneal@45 323 </fieldset>
bgneal@45 324 </div>
bgneal@45 325 </div>
bgneal@45 326
bgneal@45 327 <div class="mceActionPanel">
bgneal@183 328 <input type="submit" id="insert" name="insert" value="{#insert}" />
bgneal@183 329 <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
bgneal@45 330 </div>
bgneal@45 331 </form>
bgneal@45 332 </body>
bgneal@45 333 </html>