Browse code

tinyMCE '2' is now 2.1.2 - Seems tinyMCE '2' was actually 3.0.9 (my fault for not checking), so '2' is now 2.1.2, and '3' is now 3.4.8... eFiction 3.4.3 used tinyMCE 2.1.0, and 3.5 upgraded that to 3.0.9.

Clarissa Walker authored on 2026/07/28 07:20:33
Showing 1 changed files
... ...
@@ -1,111 +1,91 @@
1
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
-<html xmlns="http://www.w3.org/1999/xhtml">
3
-<head>
4
-	<title></title>
5
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
6
-	<script type="text/javascript" src="../../tiny_mce.js"></script>
7
-	<script type="text/javascript">
8
-		function patchCallback(settings, key) {
9
-			if (settings[key])
10
-				settings[key] = "window.opener." + settings[key];
11
-		}
12
-
13
-		var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings;
14
-
15
-		// Clone array
16
-		for (var n in paSe)
17
-			settings[n] = paSe[n];
18
-
19
-		// Override options for fullscreen
20
-		for (var n in paSe.fullscreen_settings)
21
-			settings[n] = paSe.fullscreen_settings[n];
22
-
23
-		// Patch callbacks, make them point to window.opener
24
-		patchCallback(settings, 'urlconverter_callback');
25
-		patchCallback(settings, 'insertlink_callback');
26
-		patchCallback(settings, 'insertimage_callback');
27
-		patchCallback(settings, 'setupcontent_callback');
28
-		patchCallback(settings, 'save_callback');
29
-		patchCallback(settings, 'onchange_callback');
30
-		patchCallback(settings, 'init_instance_callback');
31
-		patchCallback(settings, 'file_browser_callback');
32
-		patchCallback(settings, 'cleanup_callback');
33
-		patchCallback(settings, 'execcommand_callback');
34
-		patchCallback(settings, 'oninit');
35
-
36
-		// Set options
37
-		delete settings.id;
38
-		settings['mode'] = 'exact';
39
-		settings['elements'] = 'fullscreenarea';
40
-		settings['add_unload_trigger'] = false;
41
-		settings['ask'] = false;
42
-		settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();
43
-		settings['fullscreen_is_enabled'] = true;
44
-		settings['fullscreen_editor_id'] = window.opener.tinyMCE.activeEditor.id;
45
-		settings['theme_advanced_resizing'] = false;
46
-		settings['strict_loading_mode'] = true;
47
-
48
-		settings.save_onsavecallback = function() {
49
-			window.opener.tinyMCE.activeEditor.setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});
50
-			window.opener.tinyMCE.activeEditor.execCommand('mceSave');
51
-			window.close();
52
-		};
53
-
54
-		function unloadHandler(e) {
55
-			moveContent();
56
-		}
57
-
58
-		function moveContent() {
59
-			window.opener.tinyMCE.activeEditor.setContent(tinyMCE.activeEditor.getContent());
60
-		}
61
-
62
-		function closeFullscreen() {
63
-			moveContent();
64
-			window.close();
65
-		}
66
-
67
-		function doParentSubmit() {
68
-			moveContent();
69
-
70
-			if (window.opener.tinyMCE.selectedInstance.formElement.form)
71
-				window.opener.tinyMCE.selectedInstance.formElement.form.submit();
72
-
73
-			window.close();
74
-
75
-			return false;
76
-		}
77
-
78
-		function render() {
79
-			var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
80
-
81
-			e.value = window.opener.tinyMCE.activeEditor.getContent();
82
-
83
-			vp = dom.getViewPort();
84
-			settings.width = vp.w;
85
-			settings.height = vp.h - 15;
86
-
87
-			tinymce.dom.Event.add(window, 'resize', function() {
88
-				var vp = dom.getViewPort();
89
-
90
-				tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
91
-			});
92
-
93
-			tinyMCE.init(settings);
94
-		}
95
-
96
-		// Add onunload
97
-		tinymce.dom.Event.add(window, "beforeunload", unloadHandler);
98
-	</script>
99
-	<base target="_self" />
100
-</head>
101
-<body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no">
102
-<form onsubmit="doParentSubmit();">
103
-<textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>
104
-</form>
105
-
106
-<script type="text/javascript">
107
-	render();
108
-</script>
109
-
110
-</body>
111
-</html>
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>
Browse code

TinyMCE version directories relocated to /tinymce/ directory, each with its own version numbers: 2, 3, 4 - Slight naming tweak to TinyMCE dropdown in site settings

Clarissa Walker authored on 2026/07/27 13:46:03
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,111 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+	<title></title>
5
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
6
+	<script type="text/javascript" src="../../tiny_mce.js"></script>
7
+	<script type="text/javascript">
8
+		function patchCallback(settings, key) {
9
+			if (settings[key])
10
+				settings[key] = "window.opener." + settings[key];
11
+		}
12
+
13
+		var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings;
14
+
15
+		// Clone array
16
+		for (var n in paSe)
17
+			settings[n] = paSe[n];
18
+
19
+		// Override options for fullscreen
20
+		for (var n in paSe.fullscreen_settings)
21
+			settings[n] = paSe.fullscreen_settings[n];
22
+
23
+		// Patch callbacks, make them point to window.opener
24
+		patchCallback(settings, 'urlconverter_callback');
25
+		patchCallback(settings, 'insertlink_callback');
26
+		patchCallback(settings, 'insertimage_callback');
27
+		patchCallback(settings, 'setupcontent_callback');
28
+		patchCallback(settings, 'save_callback');
29
+		patchCallback(settings, 'onchange_callback');
30
+		patchCallback(settings, 'init_instance_callback');
31
+		patchCallback(settings, 'file_browser_callback');
32
+		patchCallback(settings, 'cleanup_callback');
33
+		patchCallback(settings, 'execcommand_callback');
34
+		patchCallback(settings, 'oninit');
35
+
36
+		// Set options
37
+		delete settings.id;
38
+		settings['mode'] = 'exact';
39
+		settings['elements'] = 'fullscreenarea';
40
+		settings['add_unload_trigger'] = false;
41
+		settings['ask'] = false;
42
+		settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();
43
+		settings['fullscreen_is_enabled'] = true;
44
+		settings['fullscreen_editor_id'] = window.opener.tinyMCE.activeEditor.id;
45
+		settings['theme_advanced_resizing'] = false;
46
+		settings['strict_loading_mode'] = true;
47
+
48
+		settings.save_onsavecallback = function() {
49
+			window.opener.tinyMCE.activeEditor.setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});
50
+			window.opener.tinyMCE.activeEditor.execCommand('mceSave');
51
+			window.close();
52
+		};
53
+
54
+		function unloadHandler(e) {
55
+			moveContent();
56
+		}
57
+
58
+		function moveContent() {
59
+			window.opener.tinyMCE.activeEditor.setContent(tinyMCE.activeEditor.getContent());
60
+		}
61
+
62
+		function closeFullscreen() {
63
+			moveContent();
64
+			window.close();
65
+		}
66
+
67
+		function doParentSubmit() {
68
+			moveContent();
69
+
70
+			if (window.opener.tinyMCE.selectedInstance.formElement.form)
71
+				window.opener.tinyMCE.selectedInstance.formElement.form.submit();
72
+
73
+			window.close();
74
+
75
+			return false;
76
+		}
77
+
78
+		function render() {
79
+			var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
80
+
81
+			e.value = window.opener.tinyMCE.activeEditor.getContent();
82
+
83
+			vp = dom.getViewPort();
84
+			settings.width = vp.w;
85
+			settings.height = vp.h - 15;
86
+
87
+			tinymce.dom.Event.add(window, 'resize', function() {
88
+				var vp = dom.getViewPort();
89
+
90
+				tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
91
+			});
92
+
93
+			tinyMCE.init(settings);
94
+		}
95
+
96
+		// Add onunload
97
+		tinymce.dom.Event.add(window, "beforeunload", unloadHandler);
98
+	</script>
99
+	<base target="_self" />
100
+</head>
101
+<body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no">
102
+<form onsubmit="doParentSubmit();">
103
+<textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>
104
+</form>
105
+
106
+<script type="text/javascript">
107
+	render();
108
+</script>
109
+
110
+</body>
111
+</html>