21 |
21 |
22 // Register commands |
22 // Register commands |
23 ed.addCommand('mceMedia', function() { |
23 ed.addCommand('mceMedia', function() { |
24 ed.windowManager.open({ |
24 ed.windowManager.open({ |
25 file : url + '/media.htm', |
25 file : url + '/media.htm', |
26 width : 430 + ed.getLang('media.delta_width', 0), |
26 width : 430 + parseInt(ed.getLang('media.delta_width', 0)), |
27 height : 470 + ed.getLang('media.delta_height', 0), |
27 height : 470 + parseInt(ed.getLang('media.delta_height', 0)), |
28 inline : 1 |
28 inline : 1 |
29 }, { |
29 }, { |
30 plugin_url : url |
30 plugin_url : url |
31 }); |
31 }); |
32 }); |
32 }); |
79 var o = eval("({" + c + "})"); |
79 var o = eval("({" + c + "})"); |
80 |
80 |
81 return '<img class="mceItem' + b + '" title="' + ed.dom.encode(c) + '" src="' + url + '/img/trans.gif" width="' + o.width + '" height="' + o.height + '" />' |
81 return '<img class="mceItem' + b + '" title="' + ed.dom.encode(c) + '" src="' + url + '/img/trans.gif" width="' + o.width + '" height="' + o.height + '" />' |
82 }); |
82 }); |
83 |
83 |
84 h = h.replace(/<object([^>]*)>/gi, '<div class="mceItemObject" $1>'); |
84 h = h.replace(/<object([^>]*)>/gi, '<span class="mceItemObject" $1>'); |
85 h = h.replace(/<embed([^>]*)>/gi, '<div class="mceItemEmbed" $1>'); |
85 h = h.replace(/<embed([^>]*)>/gi, '<span class="mceItemEmbed" $1>'); |
86 h = h.replace(/<\/(object|embed)([^>]*)>/gi, '</div>'); |
86 h = h.replace(/<\/(object|embed)([^>]*)>/gi, '</span>'); |
87 h = h.replace(/<param([^>]*)>/gi, function(a, b) {return '<div ' + b.replace(/value=/g, '_value=') + ' class="mceItemParam"></div>'}); |
87 h = h.replace(/<param([^>]*)>/gi, function(a, b) {return '<span ' + b.replace(/value=/g, '_value=') + ' class="mceItemParam"></span>'}); |
88 h = h.replace(/\/ class=\"mceItemParam\"><\/div>/gi, 'class="mceItemParam"></div>'); |
88 h = h.replace(/\/ class=\"mceItemParam\"><\/span>/gi, 'class="mceItemParam"></span>'); |
89 |
89 |
90 o.content = h; |
90 o.content = h; |
91 }); |
91 }); |
92 |
92 |
93 ed.onSetContent.add(function() { |
93 ed.onSetContent.add(function() { |
94 t._divsToImgs(ed.getBody()); |
94 t._spansToImgs(ed.getBody()); |
95 }); |
95 }); |
96 |
96 |
97 ed.onPreProcess.add(function(ed, o) { |
97 ed.onPreProcess.add(function(ed, o) { |
98 var dom = ed.dom; |
98 var dom = ed.dom; |
99 |
99 |
100 if (o.set) { |
100 if (o.set) { |
101 t._divsToImgs(o.node); |
101 t._spansToImgs(o.node); |
102 |
102 |
103 each(dom.select('IMG', o.node), function(n) { |
103 each(dom.select('IMG', o.node), function(n) { |
104 var p; |
104 var p; |
105 |
105 |
106 if (isMediaElm(n)) { |
106 if (isMediaElm(n)) { |
209 var ob, ed = this.editor, dom = ed.dom, p = this._parse(n.title); |
209 var ob, ed = this.editor, dom = ed.dom, p = this._parse(n.title); |
210 |
210 |
211 p.width = o.width = dom.getAttrib(n, 'width') || 100; |
211 p.width = o.width = dom.getAttrib(n, 'width') || 100; |
212 p.height = o.height = dom.getAttrib(n, 'height') || 100; |
212 p.height = o.height = dom.getAttrib(n, 'height') || 100; |
213 |
213 |
214 ob = dom.create('div', { |
214 ob = dom.create('span', { |
215 mce_name : 'object', |
215 mce_name : 'object', |
216 classid : "clsid:" + o.classid, |
216 classid : "clsid:" + o.classid, |
217 codebase : o.codebase, |
217 codebase : o.codebase, |
218 width : o.width, |
218 width : o.width, |
219 height : o.height |
219 height : o.height |
222 if (p.src) |
222 if (p.src) |
223 p.src = ed.convertURL(p.src, 'src', n); |
223 p.src = ed.convertURL(p.src, 'src', n); |
224 |
224 |
225 each (p, function(v, k) { |
225 each (p, function(v, k) { |
226 if (v && !/^(width|height|codebase|classid)$/.test(k)) |
226 if (v && !/^(width|height|codebase|classid)$/.test(k)) |
227 dom.add(ob, 'div', {mce_name : 'param', name : k, '_value' : v}); |
227 dom.add(ob, 'span', {mce_name : 'param', name : k, '_value' : v}); |
228 }); |
228 }); |
229 |
229 |
230 dom.add(ob, 'div', tinymce.extend({mce_name : 'embed', type : o.type}, p)); |
230 dom.add(ob, 'span', tinymce.extend({mce_name : 'embed', type : o.type}, p)); |
231 |
231 |
232 return ob; |
232 return ob; |
233 }, |
233 }, |
234 |
234 |
235 _divsToImgs : function(p) { |
235 _spansToImgs : function(p) { |
236 var t = this, dom = t.editor.dom, im, ci; |
236 var t = this, dom = t.editor.dom, im, ci; |
237 |
237 |
238 each(dom.select('div', p), function(n) { |
238 each(dom.select('span', p), function(n) { |
239 // Convert object into image |
239 // Convert object into image |
240 if (dom.getAttrib(n, 'class') == 'mceItemObject') { |
240 if (dom.getAttrib(n, 'class') == 'mceItemObject') { |
241 ci = dom.getAttrib(n, "classid").toLowerCase().replace(/\s+/g, ''); |
241 ci = dom.getAttrib(n, "classid").toLowerCase().replace(/\s+/g, ''); |
242 |
242 |
243 switch (ci) { |
243 switch (ci) { |
288 if (v) |
288 if (v) |
289 pa[v] = v; |
289 pa[v] = v; |
290 }); |
290 }); |
291 |
291 |
292 // Add optional parameters |
292 // Add optional parameters |
293 each(dom.select('div', n), function(n) { |
293 each(dom.select('span', n), function(n) { |
294 if (dom.hasClass(n, 'mceItemParam')) |
294 if (dom.hasClass(n, 'mceItemParam')) |
295 pa[dom.getAttrib(n, 'name')] = dom.getAttrib(n, '_value'); |
295 pa[dom.getAttrib(n, 'name')] = dom.getAttrib(n, '_value'); |
296 }); |
296 }); |
297 |
297 |
298 // Use src not movie |
298 // Use src not movie |