]> code.citadel.org Git - citadel.git/blobdiff - webcit/tiny_mce/plugins/media/editor_plugin_src.js
Upgrade TinyMCE
[citadel.git] / webcit / tiny_mce / plugins / media / editor_plugin_src.js
index 4555ff46f3c5af03ba00c8b552155c7b2bbe57d4..fc84e5b6c5bfcd31ab44a21f3e541b4836b000a5 100644 (file)
@@ -1,5 +1,11 @@
-/*\r
- * Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\r
+/**\r
+ * editor_plugin_src.js\r
+ *\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
 (function() {\r
@@ -58,7 +64,7 @@
                                if (ed.settings.content_css !== false)\r
                                        ed.dom.loadCSS(url + "/css/content.css");\r
 \r
-                               if (ed.theme.onResolveName) {\r
+                               if (ed.theme && ed.theme.onResolveName) {\r
                                        ed.theme.onResolveName.add(function(th, o) {\r
                                                if (o.name == 'img') {\r
                                                        each(lo, function(v, k) {\r
                                o.content = o.content.replace(/_mce_value=/g, 'value=');\r
                        });\r
 \r
-                       if (ed.getParam('media_use_script')) {\r
-                               function getAttr(s, n) {\r
-                                       n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s);\r
+                       function getAttr(s, n) {\r
+                               n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s);\r
 \r
-                                       return n ? ed.dom.decode(n[1]) : '';\r
-                               };\r
+                               return n ? ed.dom.decode(n[1]) : '';\r
+                       };\r
 \r
-                               ed.onPostProcess.add(function(ed, o) {\r
+                       ed.onPostProcess.add(function(ed, o) {\r
+                               if (ed.getParam('media_use_script')) {\r
                                        o.content = o.content.replace(/<img[^>]+>/g, function(im) {\r
                                                var cl = getAttr(im, 'class');\r
 \r
 \r
                                                return im;\r
                                        });\r
-                               });\r
-                       }\r
+                               }\r
+                       });\r
                },\r
 \r
                getInfo : function() {\r
 \r
                        if (stc) {\r
                                ob = dom.create('span', {\r
-                                       mce_name : 'object',\r
+                                       id : p.id,\r
+                                       _mce_name : 'object',\r
                                        type : 'application/x-shockwave-flash',\r
                                        data : p.src,\r
+                                       style : dom.getAttrib(n, 'style'),\r
                                        width : o.width,\r
                                        height : o.height\r
                                });\r
                        } else {\r
                                ob = dom.create('span', {\r
-                                       mce_name : 'object',\r
+                                       id : p.id,\r
+                                       _mce_name : 'object',\r
                                        classid : "clsid:" + o.classid,\r
+                                       style : dom.getAttrib(n, 'style'),\r
                                        codebase : o.codebase,\r
                                        width : o.width,\r
                                        height : o.height\r
                        }\r
 \r
                        each (p, function(v, k) {\r
-                               if (!/^(width|height|codebase|classid|_cx|_cy)$/.test(k)) {\r
+                               if (!/^(width|height|codebase|classid|id|_cx|_cy)$/.test(k)) {\r
                                        // Use url instead of src in IE for Windows media\r
-                                       if (o.type == 'application/x-mplayer2' && k == 'src')\r
+                                       if (o.type == 'application/x-mplayer2' && k == 'src' && !p.url)\r
                                                k = 'url';\r
 \r
                                        if (v)\r
-                                               dom.add(ob, 'span', {mce_name : 'param', name : k, '_mce_value' : v});\r
+                                               dom.add(ob, 'span', {_mce_name : 'param', name : k, '_mce_value' : v});\r
                                }\r
                        });\r
 \r
                        if (!stc)\r
-                               dom.add(ob, 'span', tinymce.extend({mce_name : 'embed', type : o.type}, p));\r
+                               dom.add(ob, 'span', tinymce.extend({_mce_name : 'embed', type : o.type, style : dom.getAttrib(n, 'style')}, p));\r
 \r
                        return ob;\r
                },\r
                _createImg : function(cl, n) {\r
                        var im, dom = this.editor.dom, pa = {}, ti = '', args;\r
 \r
-                       args = ['id', 'name', 'width', 'height', 'bgcolor', 'align', 'flashvars', 'src', 'wmode', 'allowfullscreen', 'quality'];        \r
+                       args = ['id', 'name', 'width', 'height', 'bgcolor', 'align', 'flashvars', 'src', 'wmode', 'allowfullscreen', 'quality', 'data'];        \r
 \r
                        // Create image\r
                        im = dom.create('img', {\r
                                src : this.url + '/img/trans.gif',\r
                                width : dom.getAttrib(n, 'width') || 100,\r
                                height : dom.getAttrib(n, 'height') || 100,\r
+                               style : dom.getAttrib(n, 'style'),\r
                                'class' : cl\r
                        });\r
 \r
                                delete pa.movie;\r
                        }\r
 \r
+                       // No src try data\r
+                       if (!pa.src) {\r
+                               pa.src = pa.data;\r
+                               delete pa.data;\r
+                       }\r
+\r
                        // Merge with embed args\r
                        n = dom.select('.mceItemEmbed', n)[0];\r
                        if (n) {\r
 \r
        // Register plugin\r
        tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin);\r
-})();\r
+})();
\ No newline at end of file