Upgrade TinyMCE to v3.4.5
[citadel.git] / webcit / tiny_mce / plugins / advimage / editor_plugin_src.js
old mode 100755 (executable)
new mode 100644 (file)
index fbfd654..d2678cb
 /**\r
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $\r
+ * editor_plugin_src.js\r
  *\r
- * @author Moxiecode\r
- * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.\r
+ * Copyright 2009, Moxiecode Systems AB\r
+ * Released under LGPL License.\r
+ *\r
+ * License: http://tinymce.moxiecode.com/license\r
+ * Contributing: http://tinymce.moxiecode.com/contributing\r
  */\r
 \r
-/* Import plugin specific language pack */\r
-tinyMCE.importPluginLanguagePack('advimage');\r
-\r
-var TinyMCE_AdvancedImagePlugin = {\r
-       getInfo : function() {\r
-               return {\r
-                       longname : 'Advanced image',\r
-                       author : 'Moxiecode Systems AB',\r
-                       authorurl : 'http://tinymce.moxiecode.com',\r
-                       infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',\r
-                       version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
-               };\r
-       },\r
-\r
-       getControlHTML : function(cn) {\r
-               switch (cn) {\r
-                       case "image":\r
-                               return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');\r
-               }\r
-\r
-               return "";\r
-       },\r
-\r
-       execCommand : function(editor_id, element, command, user_interface, value) {\r
-               switch (command) {\r
-                       case "mceAdvImage":\r
-                               var template = new Array();\r
-\r
-                               template['file']   = '../../plugins/advimage/image.htm';\r
-                               template['width']  = 480;\r
-                               template['height'] = 380;\r
-\r
-                               // Language specific width and height addons\r
-                               template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);\r
-                               template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);\r
-\r
-                               var inst = tinyMCE.getInstanceById(editor_id);\r
-                               var elm = inst.getFocusElement();\r
-\r
-                               if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)\r
-                                       return true;\r
-\r
-                               tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});\r
-\r
-                               return true;\r
+(function() {\r
+       tinymce.create('tinymce.plugins.AdvancedImagePlugin', {\r
+               init : function(ed, url) {\r
+                       // Register commands\r
+                       ed.addCommand('mceAdvImage', function() {\r
+                               // Internal image object like a flash placeholder\r
+                               if (ed.dom.getAttrib(ed.selection.getNode(), 'class', '').indexOf('mceItem') != -1)\r
+                                       return;\r
+\r
+                               ed.windowManager.open({\r
+                                       file : url + '/image.htm',\r
+                                       width : 480 + parseInt(ed.getLang('advimage.delta_width', 0)),\r
+                                       height : 385 + parseInt(ed.getLang('advimage.delta_height', 0)),\r
+                                       inline : 1\r
+                               }, {\r
+                                       plugin_url : url\r
+                               });\r
+                       });\r
+\r
+                       // Register buttons\r
+                       ed.addButton('image', {\r
+                               title : 'advimage.image_desc',\r
+                               cmd : 'mceAdvImage'\r
+                       });\r
+               },\r
+\r
+               getInfo : function() {\r
+                       return {\r
+                               longname : 'Advanced image',\r
+                               author : 'Moxiecode Systems AB',\r
+                               authorurl : 'http://tinymce.moxiecode.com',\r
+                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',\r
+                               version : tinymce.majorVersion + "." + tinymce.minorVersion\r
+                       };\r
                }\r
+       });\r
 \r
-               return false;\r
-       },\r
-\r
-       cleanup : function(type, content) {\r
-               switch (type) {\r
-                       case "insert_to_editor_dom":\r
-                               var imgs = content.getElementsByTagName("img"), src, i;\r
-                               for (i=0; i<imgs.length; i++) {\r
-                                       var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));\r
-                                       var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));\r
-\r
-                                       if ((src = this._getImageSrc(onmouseover)) != "") {\r
-                                               if (tinyMCE.getParam('convert_urls'))\r
-                                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);\r
-\r
-                                               imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");\r
-                                       }\r
-\r
-                                       if ((src = this._getImageSrc(onmouseout)) != "") {\r
-                                               if (tinyMCE.getParam('convert_urls'))\r
-                                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);\r
-\r
-                                               imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");\r
-                                       }\r
-                               }\r
-                               break;\r
-\r
-                       case "get_from_editor_dom":\r
-                               var imgs = content.getElementsByTagName("img");\r
-                               for (var i=0; i<imgs.length; i++) {\r
-                                       var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));\r
-                                       var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));\r
-\r
-                                       if ((src = this._getImageSrc(onmouseover)) != "") {\r
-                                               if (tinyMCE.getParam('convert_urls'))\r
-                                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");\r
-\r
-                                               imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");\r
-                                       }\r
-\r
-                                       if ((src = this._getImageSrc(onmouseout)) != "") {\r
-                                               if (tinyMCE.getParam('convert_urls'))\r
-                                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");\r
-\r
-                                               imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");\r
-                                       }\r
-                               }\r
-                               break;\r
-               }\r
-\r
-               return content;\r
-       },\r
-\r
-       handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {\r
-               if (node == null)\r
-                       return;\r
-\r
-               do {\r
-                       if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {\r
-                               tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');\r
-                               return true;\r
-                       }\r
-               } while ((node = node.parentNode));\r
-\r
-               tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');\r
-\r
-               return true;\r
-       },\r
-\r
-       /**\r
-        * Returns the image src from a scripted mouse over image str.\r
-        *\r
-        * @param {string} s String to get real src from.\r
-        * @return Image src from a scripted mouse over image str.\r
-        * @type string\r
-        */\r
-       _getImageSrc : function(s) {\r
-               var sr, p = -1;\r
-\r
-               if (!s)\r
-                       return "";\r
-\r
-               if ((p = s.indexOf('this.src=')) != -1) {\r
-                       sr = s.substring(p + 10);\r
-                       sr = sr.substring(0, sr.indexOf('\''));\r
-\r
-                       return sr;\r
-               }\r
-\r
-               return "";\r
-       }\r
-};\r
-\r
-tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);\r
+       // Register plugin\r
+       tinymce.PluginManager.add('advimage', tinymce.plugins.AdvancedImagePlugin);\r
+})();
\ No newline at end of file