diff -r 488665d49417 -r 57ce13805b6f includes/clientside/tinymce/plugins/preview/editor_plugin_src.js --- a/includes/clientside/tinymce/plugins/preview/editor_plugin_src.js Sun Dec 21 15:35:46 2008 -0500 +++ b/includes/clientside/tinymce/plugins/preview/editor_plugin_src.js Sun Dec 21 16:28:00 2008 -0500 @@ -1,5 +1,5 @@ /** - * $Id: editor_plugin_src.js 537 2008-01-14 16:38:33Z spocke $ + * $Id: editor_plugin_src.js 895 2008-07-10 14:34:23Z spocke $ * * @author Moxiecode * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. @@ -8,11 +8,29 @@ (function() { tinymce.create('tinymce.plugins.Preview', { init : function(ed, url) { - var t = this; + var t = this, css = tinymce.explode(ed.settings.content_css); t.editor = ed; - ed.addCommand('mcePreview', t._preview, t); + // Force absolute CSS urls + tinymce.each(css, function(u, k) { + css[k] = ed.documentBaseURI.toAbsolute(u); + }); + + ed.addCommand('mcePreview', function() { + ed.windowManager.open({ + file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"), + width : parseInt(ed.getParam("plugin_preview_width", "550")), + height : parseInt(ed.getParam("plugin_preview_height", "600")), + resizable : "yes", + scrollbars : "yes", + popup_css : css.join(','), + inline : ed.getParam("plugin_preview_inline", 1) + }, { + base : ed.documentBaseURI.getURI() + }); + }); + ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'}); }, @@ -24,161 +42,6 @@ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview', version : tinymce.majorVersion + "." + tinymce.minorVersion }; - }, - - // Private methods - - _preview : function() { - var ed = this.editor, win, html, c, pos, pos2, css, i, page = ed.getParam("plugin_preview_pageurl", null), w = ed.getParam("plugin_preview_width", "550"), h = ed.getParam("plugin_preview_height", "600"); - - // Use a custom preview page - if (page) { - ed.windowManager.open({ - file : ed.getParam("plugin_preview_pageurl", null), - width : w, - height : h - }, { - resizable : "yes", - scrollbars : "yes", - inline : 1 - }); - } else { - win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + w + ",height=" + h); - html = ""; - c = ed.getContent(); - pos = c.indexOf('', pos); - pos2 = c.lastIndexOf(''); - c = c.substring(pos + 1, pos2); - } - - html += ed.getParam('doctype'); - html += ''; - html += ''; - html += '' + ed.getLang('preview.preview_desc') + ''; - html += ''; - html += ''; - - for (i=0; i'; - - html += ''; - html += ''; - html += c; - html += ''; - html += ''; - - win.document.write(html); - win.document.close(); - } - }, - - _onLoad : function(w, d) { - var t = this, nl, i, el = [], sv, ne; - - t._doc = d; - w.writeFlash = t._writeFlash; - w.writeShockWave = t._writeShockWave; - w.writeQuickTime = t._writeQuickTime; - w.writeRealMedia = t._writeRealMedia; - w.writeWindowsMedia = t._writeWindowsMedia; - w.writeEmbed = t._writeEmbed; - - nl = d.getElementsByTagName("script"); - for (i=0; i'; - - h += '