-<html>\r
-<title></title>\r
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
-<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>\r
-<script language="javascript" type="text/javascript">\r
- function patchCallback(settings, key) {\r
- if (settings[key])\r
- settings[key] = "window.opener." + settings[key];\r
- }\r
-\r
- var settings = new Array();\r
-\r
- // Clone array\r
- for (var name in window.opener.tinyMCE.settings)\r
- settings[name] = window.opener.tinyMCE.settings[name];\r
-\r
- // Override options for fullscreen\r
- for (var name in window.opener.tinyMCE.settings.fullscreen_settings)\r
- settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];\r
-\r
- // Patch callbacks, make them point to window.opener\r
- patchCallback(settings, 'urlconverter_callback');\r
- patchCallback(settings, 'insertlink_callback');\r
- patchCallback(settings, 'insertimage_callback');\r
- patchCallback(settings, 'setupcontent_callback');\r
- patchCallback(settings, 'save_callback');\r
- patchCallback(settings, 'onchange_callback');\r
- patchCallback(settings, 'init_instance_callback');\r
- patchCallback(settings, 'file_browser_callback');\r
- patchCallback(settings, 'cleanup_callback');\r
- patchCallback(settings, 'oninit');\r
-\r
- // Set options\r
- settings['mode'] = 'exact';\r
- settings['elements'] = 'fullscreenarea';\r
- settings['ask'] = false;\r
- settings['setupcontent_callback'] = 'setupContent';\r
- settings['fullscreen_is_enabled'] = true;\r
- settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");\r
- settings['theme_advanced_resizing'] = false;\r
-\r
- // Init\r
- tinyMCE.init(settings);\r
- tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;\r
-\r
- function setupContent(editor_id, body, doc) {\r
- var inst = tinyMCE.getInstanceById(editor_id);\r
- var backInst = window.opener.tinyMCE.getInstanceById(tinyMCE.getParam('fullscreen_editor_id'));\r
-\r
- // Setup title\r
- var divElm = document.createElement("div");\r
- divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];\r
- document.title = divElm.innerHTML;\r
-\r
- // Get content\r
- inst.getBody().innerHTML = backInst.getBody().innerHTML;\r
- }\r
-\r
- function unloadHandler(e) {\r
- window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent("mce_editor_0"));\r
- }\r
-\r
- // Add onunload\r
- tinyMCE.addEvent(window, "beforeunload", unloadHandler);\r
-</script>\r
+<!DOCTYPE html>\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+ <title></title>\r
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />\r
+ <script type="text/javascript" src="../../tiny_mce.js"></script>\r
+ <script type="text/javascript">\r
+ function patchCallback(settings, key) {\r
+ if (settings[key])\r
+ settings[key] = "window.opener." + settings[key];\r
+ }\r
+\r
+ var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id;\r
+\r
+ // Clone array\r
+ for (var n in paSe)\r
+ settings[n] = paSe[n];\r
+\r
+ // Override options for fullscreen\r
+ for (var n in paSe.fullscreen_settings)\r
+ settings[n] = paSe.fullscreen_settings[n];\r
+\r
+ // Patch callbacks, make them point to window.opener\r
+ patchCallback(settings, 'urlconverter_callback');\r
+ patchCallback(settings, 'insertlink_callback');\r
+ patchCallback(settings, 'insertimage_callback');\r
+ patchCallback(settings, 'setupcontent_callback');\r
+ patchCallback(settings, 'save_callback');\r
+ patchCallback(settings, 'onchange_callback');\r
+ patchCallback(settings, 'init_instance_callback');\r
+ patchCallback(settings, 'file_browser_callback');\r
+ patchCallback(settings, 'cleanup_callback');\r
+ patchCallback(settings, 'execcommand_callback');\r
+ patchCallback(settings, 'oninit');\r
+\r
+ // Set options\r
+ delete settings.id;\r
+ settings['mode'] = 'exact';\r
+ settings['elements'] = 'fullscreenarea';\r
+ settings['add_unload_trigger'] = false;\r
+ settings['ask'] = false;\r
+ settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();\r
+ settings['fullscreen_is_enabled'] = true;\r
+ settings['fullscreen_editor_id'] = oeID;\r
+ settings['theme_advanced_resizing'] = false;\r
+ settings['strict_loading_mode'] = true;\r
+\r
+ settings.save_onsavecallback = function() {\r
+ window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});\r
+ window.opener.tinyMCE.get(oeID).execCommand('mceSave');\r
+ window.close();\r
+ };\r
+\r
+ function unloadHandler(e) {\r
+ moveContent();\r
+ }\r
+\r
+ function moveContent() {\r
+ window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent());\r
+ }\r
+\r
+ function closeFullscreen() {\r
+ moveContent();\r
+ window.close();\r
+ }\r
+\r
+ function doParentSubmit() {\r
+ moveContent();\r
+\r
+ if (window.opener.tinyMCE.selectedInstance.formElement.form)\r
+ window.opener.tinyMCE.selectedInstance.formElement.form.submit();\r
+\r
+ window.close();\r
+\r
+ return false;\r
+ }\r
+\r
+ function render() {\r
+ var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;\r
+\r
+ e.value = window.opener.tinyMCE.get(oeID).getContent();\r
+\r
+ vp = dom.getViewPort();\r
+ settings.width = vp.w;\r
+ settings.height = vp.h - 15;\r
+\r
+ tinymce.dom.Event.add(window, 'resize', function() {\r
+ var vp = dom.getViewPort();\r
+\r
+ tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);\r
+ });\r
+\r
+ tinyMCE.init(settings);\r
+ }\r
+\r
+ // Add onunload\r
+ tinymce.dom.Event.add(window, "beforeunload", unloadHandler);\r
+ </script>\r