59 ed.selection.onBeforeSetContent.add(t._objectsToSpans, t); |
59 ed.selection.onBeforeSetContent.add(t._objectsToSpans, t); |
60 |
60 |
61 if (ed.settings.content_css !== false) |
61 if (ed.settings.content_css !== false) |
62 ed.dom.loadCSS(url + "/css/content.css"); |
62 ed.dom.loadCSS(url + "/css/content.css"); |
63 |
63 |
64 if (ed.theme.onResolveName) { |
64 if (ed.theme && ed.theme.onResolveName) { |
65 ed.theme.onResolveName.add(function(th, o) { |
65 ed.theme.onResolveName.add(function(th, o) { |
66 if (o.name == 'img') { |
66 if (o.name == 'img') { |
67 each(lo, function(v, k) { |
67 each(lo, function(v, k) { |
68 if (ed.dom.hasClass(o.node, k)) { |
68 if (ed.dom.hasClass(o.node, k)) { |
69 o.name = v; |
69 o.name = v; |
163 |
163 |
164 ed.onPostProcess.add(function(ed, o) { |
164 ed.onPostProcess.add(function(ed, o) { |
165 o.content = o.content.replace(/_mce_value=/g, 'value='); |
165 o.content = o.content.replace(/_mce_value=/g, 'value='); |
166 }); |
166 }); |
167 |
167 |
168 if (ed.getParam('media_use_script')) { |
168 function getAttr(s, n) { |
169 function getAttr(s, n) { |
169 n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s); |
170 n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s); |
170 |
171 |
171 return n ? ed.dom.decode(n[1]) : ''; |
172 return n ? ed.dom.decode(n[1]) : ''; |
172 }; |
173 }; |
173 |
174 |
174 ed.onPostProcess.add(function(ed, o) { |
175 ed.onPostProcess.add(function(ed, o) { |
175 if (ed.getParam('media_use_script')) { |
176 o.content = o.content.replace(/<img[^>]+>/g, function(im) { |
176 o.content = o.content.replace(/<img[^>]+>/g, function(im) { |
177 var cl = getAttr(im, 'class'); |
177 var cl = getAttr(im, 'class'); |
178 |
178 |
179 if (/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(cl)) { |
179 if (/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(cl)) { |
180 at = t._parse(getAttr(im, 'title')); |
180 at = t._parse(getAttr(im, 'title')); |
231 if (p.src) |
231 if (p.src) |
232 p.src = ed.convertURL(p.src, 'src', n); |
232 p.src = ed.convertURL(p.src, 'src', n); |
233 |
233 |
234 if (stc) { |
234 if (stc) { |
235 ob = dom.create('span', { |
235 ob = dom.create('span', { |
|
236 id : p.id, |
236 mce_name : 'object', |
237 mce_name : 'object', |
237 type : 'application/x-shockwave-flash', |
238 type : 'application/x-shockwave-flash', |
238 data : p.src, |
239 data : p.src, |
|
240 style : dom.getAttrib(n, 'style'), |
239 width : o.width, |
241 width : o.width, |
240 height : o.height |
242 height : o.height |
241 }); |
243 }); |
242 } else { |
244 } else { |
243 ob = dom.create('span', { |
245 ob = dom.create('span', { |
|
246 id : p.id, |
244 mce_name : 'object', |
247 mce_name : 'object', |
245 classid : "clsid:" + o.classid, |
248 classid : "clsid:" + o.classid, |
|
249 style : dom.getAttrib(n, 'style'), |
246 codebase : o.codebase, |
250 codebase : o.codebase, |
247 width : o.width, |
251 width : o.width, |
248 height : o.height |
252 height : o.height |
249 }); |
253 }); |
250 } |
254 } |
251 |
255 |
252 each (p, function(v, k) { |
256 each (p, function(v, k) { |
253 if (!/^(width|height|codebase|classid|_cx|_cy)$/.test(k)) { |
257 if (!/^(width|height|codebase|classid|id|_cx|_cy)$/.test(k)) { |
254 // Use url instead of src in IE for Windows media |
258 // Use url instead of src in IE for Windows media |
255 if (o.type == 'application/x-mplayer2' && k == 'src') |
259 if (o.type == 'application/x-mplayer2' && k == 'src' && !p.url) |
256 k = 'url'; |
260 k = 'url'; |
257 |
261 |
258 if (v) |
262 if (v) |
259 dom.add(ob, 'span', {mce_name : 'param', name : k, '_mce_value' : v}); |
263 dom.add(ob, 'span', {mce_name : 'param', name : k, '_mce_value' : v}); |
260 } |
264 } |
261 }); |
265 }); |
262 |
266 |
263 if (!stc) |
267 if (!stc) |
264 dom.add(ob, 'span', tinymce.extend({mce_name : 'embed', type : o.type}, p)); |
268 dom.add(ob, 'span', tinymce.extend({mce_name : 'embed', type : o.type, style : dom.getAttrib(n, 'style')}, p)); |
265 |
269 |
266 return ob; |
270 return ob; |
267 }, |
271 }, |
268 |
272 |
269 _spansToImgs : function(p) { |
273 _spansToImgs : function(p) { |
335 }, |
339 }, |
336 |
340 |
337 _createImg : function(cl, n) { |
341 _createImg : function(cl, n) { |
338 var im, dom = this.editor.dom, pa = {}, ti = '', args; |
342 var im, dom = this.editor.dom, pa = {}, ti = '', args; |
339 |
343 |
340 args = ['id', 'name', 'width', 'height', 'bgcolor', 'align', 'flashvars', 'src', 'wmode', 'allowfullscreen', 'quality']; |
344 args = ['id', 'name', 'width', 'height', 'bgcolor', 'align', 'flashvars', 'src', 'wmode', 'allowfullscreen', 'quality', 'data']; |
341 |
345 |
342 // Create image |
346 // Create image |
343 im = dom.create('img', { |
347 im = dom.create('img', { |
344 src : this.url + '/img/trans.gif', |
348 src : this.url + '/img/trans.gif', |
345 width : dom.getAttrib(n, 'width') || 100, |
349 width : dom.getAttrib(n, 'width') || 100, |
346 height : dom.getAttrib(n, 'height') || 100, |
350 height : dom.getAttrib(n, 'height') || 100, |
|
351 style : dom.getAttrib(n, 'style'), |
347 'class' : cl |
352 'class' : cl |
348 }); |
353 }); |
349 |
354 |
350 // Setup base parameters |
355 // Setup base parameters |
351 each(args, function(na) { |
356 each(args, function(na) { |
365 if (pa.movie) { |
370 if (pa.movie) { |
366 pa.src = pa.movie; |
371 pa.src = pa.movie; |
367 delete pa.movie; |
372 delete pa.movie; |
368 } |
373 } |
369 |
374 |
|
375 // No src try data |
|
376 if (!pa.src) { |
|
377 pa.src = pa.data; |
|
378 delete pa.data; |
|
379 } |
|
380 |
370 // Merge with embed args |
381 // Merge with embed args |
371 n = dom.select('.mceItemEmbed', n)[0]; |
382 n = dom.select('.mceItemEmbed', n)[0]; |
372 if (n) { |
383 if (n) { |
373 each(args, function(na) { |
384 each(args, function(na) { |
374 var v = dom.getAttrib(n, na); |
385 var v = dom.getAttrib(n, na); |