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