|
1 <html xmlns="http://www.w3.org/1999/xhtml"> |
|
2 <head> |
|
3 <title>{$lang_fullscreen_title}</title> |
|
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
|
5 <script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script> |
|
6 <script language="javascript" type="text/javascript"> |
|
7 function patchCallback(settings, key) { |
|
8 if (settings[key]) |
|
9 settings[key] = "window.opener." + settings[key]; |
|
10 } |
|
11 |
|
12 var settings = new Array(); |
|
13 |
|
14 // Clone array |
|
15 for (var name in window.opener.tinyMCE.settings) |
|
16 settings[name] = window.opener.tinyMCE.settings[name]; |
|
17 |
|
18 // Override options for fullscreen |
|
19 for (var name in window.opener.tinyMCE.settings.fullscreen_settings) |
|
20 settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name]; |
|
21 |
|
22 // Patch callbacks, make them point to window.opener |
|
23 patchCallback(settings, 'urlconverter_callback'); |
|
24 patchCallback(settings, 'insertlink_callback'); |
|
25 patchCallback(settings, 'insertimage_callback'); |
|
26 patchCallback(settings, 'setupcontent_callback'); |
|
27 patchCallback(settings, 'save_callback'); |
|
28 patchCallback(settings, 'onchange_callback'); |
|
29 patchCallback(settings, 'init_instance_callback'); |
|
30 patchCallback(settings, 'file_browser_callback'); |
|
31 patchCallback(settings, 'cleanup_callback'); |
|
32 patchCallback(settings, 'execcommand_callback'); |
|
33 patchCallback(settings, 'oninit'); |
|
34 |
|
35 // Set options |
|
36 settings['mode'] = 'exact'; |
|
37 settings['elements'] = 'fullscreenarea'; |
|
38 settings['ask'] = false; |
|
39 settings['setupcontent_callback'] = 'setupContent'; |
|
40 settings['fullscreen_is_enabled'] = true; |
|
41 settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id"); |
|
42 settings['theme_advanced_resizing'] = false; |
|
43 |
|
44 // Init |
|
45 tinyMCE.init(settings); |
|
46 tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath; |
|
47 |
|
48 function setupContent(editor_id, body, doc) { |
|
49 var inst = tinyMCE.getInstanceById(editor_id); |
|
50 var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id')); |
|
51 |
|
52 // Setup title |
|
53 var divElm = document.createElement("div"); |
|
54 divElm.innerHTML = tinyMCELang['lang_fullscreen_title']; |
|
55 document.title = divElm.innerHTML; |
|
56 |
|
57 // Get content |
|
58 inst.execCommand('mceSetContent', false, content); |
|
59 } |
|
60 |
|
61 function unloadHandler(e) { |
|
62 moveContent(); |
|
63 } |
|
64 |
|
65 function moveContent() { |
|
66 var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument; |
|
67 window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML); |
|
68 } |
|
69 |
|
70 // Add onunload |
|
71 tinyMCE.addEvent(window, "beforeunload", unloadHandler); |
|
72 |
|
73 function doParentSubmit() { |
|
74 moveContent(); |
|
75 |
|
76 if (window.opener.tinyMCE.selectedInstance.formElement.form) |
|
77 window.opener.tinyMCE.selectedInstance.formElement.form.submit(); |
|
78 |
|
79 window.close(); |
|
80 |
|
81 return false; |
|
82 } |
|
83 </script> |
|
84 <base target="_self" /> |
|
85 </head> |
|
86 <body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no"> |
|
87 <form onsubmit="doParentSubmit();" style="height: 100%"> |
|
88 <textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea> |
|
89 </form> |
|
90 </body> |
|
91 </html> |