[ Index ] |
|
Code source de Seagull 0.6.1 |
1 /** 2 * $RCSfile: editor_plugin_src.js,v $ 3 * $Revision: 1.30 $ 4 * $Date: 2006/02/10 16:29:37 $ 5 * 6 * @author Moxiecode 7 * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved. 8 */ 9 10 /* Import plugin specific language pack */ 11 tinyMCE.importPluginLanguagePack('advimage', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da'); 12 13 var TinyMCE_AdvancedImagePlugin = { 14 getInfo : function() { 15 return { 16 longname : 'Advanced image', 17 author : 'Moxiecode Systems', 18 authorurl : 'http://tinymce.moxiecode.com', 19 infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html', 20 version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion 21 }; 22 }, 23 24 getControlHTML : function(cn) { 25 switch (cn) { 26 case "image": 27 return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage'); 28 } 29 30 return ""; 31 }, 32 33 execCommand : function(editor_id, element, command, user_interface, value) { 34 switch (command) { 35 case "mceAdvImage": 36 var template = new Array(); 37 38 template['file'] = '../../plugins/advimage/image.htm'; 39 template['width'] = 480; 40 template['height'] = 380; 41 42 // Language specific width and height addons 43 template['width'] += tinyMCE.getLang('lang_advimage_delta_width', 0); 44 template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0); 45 46 var inst = tinyMCE.getInstanceById(editor_id); 47 var elm = inst.getFocusElement(); 48 49 if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1) 50 return true; 51 52 tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); 53 54 return true; 55 } 56 57 return false; 58 }, 59 60 cleanup : function(type, content) { 61 switch (type) { 62 case "insert_to_editor_dom": 63 var imgs = content.getElementsByTagName("img"); 64 for (var i=0; i<imgs.length; i++) { 65 var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover')); 66 var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout')); 67 68 if ((src = this._getImageSrc(onmouseover)) != "") { 69 if (tinyMCE.getParam('convert_urls')) 70 src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src); 71 72 imgs[i].setAttribute('onmouseover', "this.src='" + src + "';"); 73 } 74 75 if ((src = this._getImageSrc(onmouseout)) != "") { 76 if (tinyMCE.getParam('convert_urls')) 77 src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src); 78 79 imgs[i].setAttribute('onmouseout', "this.src='" + src + "';"); 80 } 81 } 82 break; 83 84 case "get_from_editor_dom": 85 var imgs = content.getElementsByTagName("img"); 86 for (var i=0; i<imgs.length; i++) { 87 var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover')); 88 var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout')); 89 90 if ((src = this._getImageSrc(onmouseover)) != "") { 91 if (tinyMCE.getParam('convert_urls')) 92 src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);"); 93 94 imgs[i].setAttribute('onmouseover', "this.src='" + src + "';"); 95 } 96 97 if ((src = this._getImageSrc(onmouseout)) != "") { 98 if (tinyMCE.getParam('convert_urls')) 99 src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);"); 100 101 imgs[i].setAttribute('onmouseout', "this.src='" + src + "';"); 102 } 103 } 104 break; 105 } 106 107 return content; 108 }, 109 110 handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { 111 if (node == null) 112 return; 113 114 do { 115 if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) { 116 tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected'); 117 return true; 118 } 119 } while ((node = node.parentNode)); 120 121 tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal'); 122 123 return true; 124 }, 125 126 /** 127 * Returns the image src from a scripted mouse over image str. 128 * 129 * @param {string} s String to get real src from. 130 * @return Image src from a scripted mouse over image str. 131 * @type string 132 */ 133 _getImageSrc : function(s) { 134 var sr, p = -1; 135 136 if (!s) 137 return ""; 138 139 if ((p = s.indexOf('this.src=')) != -1) { 140 sr = s.substring(p + 10); 141 sr = sr.substring(0, sr.indexOf('\'')); 142 143 return sr; 144 } 145 146 return ""; 147 } 148 }; 149 150 tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 30 01:27:52 2007 | par Balluche grâce à PHPXref 0.7 |