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 1
deleted file mode 100644
... ...
@@ -1,185 +0,0 @@
1
-var tinyMCE_GZ = {
2
-	settings : {
3
-		themes : '',
4
-		plugins : '',
5
-		languages : '',
6
-		disk_cache : true,
7
-		page_name : 'tiny_mce_gzip.php',
8
-		debug : false,
9
-		suffix : ''
10
-	},
11
-
12
-	init : function(s, cb, sc) {
13
-		var t = this, n, i, nl = document.getElementsByTagName('script');
14
-
15
-		for (n in s)
16
-			t.settings[n] = s[n];
17
-
18
-		s = t.settings;
19
-
20
-		for (i=0; i<nl.length; i++) {
21
-			n = nl[i];
22
-
23
-			if (n.src && n.src.indexOf('tiny_mce') != -1)
24
-				t.baseURL = n.src.substring(0, n.src.lastIndexOf('/'));
25
-		}
26
-
27
-		if (!t.coreLoaded)
28
-			t.loadScripts(1, s.themes, s.plugins, s.languages, cb, sc);
29
-	},
30
-
31
-	loadScripts : function(co, th, pl, la, cb, sc) {
32
-		var t = this, x, w = window, q, c = 0, ti, s = t.settings;
33
-
34
-		function get(s) {
35
-			x = 0;
36
-
37
-			try {
38
-				x = new ActiveXObject(s);
39
-			} catch (s) {
40
-			}
41
-
42
-			return x;
43
-		};
44
-
45
-		// Build query string
46
-		q = 'js=true&diskcache=' + (s.disk_cache ? 'true' : 'false') + '&core=' + (co ? 'true' : 'false') + '&suffix=' + escape(s.suffix) + '&themes=' + escape(th) + '&plugins=' + escape(pl) + '&languages=' + escape(la);
47
-
48
-		if (co)
49
-			t.coreLoaded = 1;
50
-
51
-		// Send request
52
-		x = w.XMLHttpRequest ? new XMLHttpRequest() : get('Msxml2.XMLHTTP') || get('Microsoft.XMLHTTP');
53
-		x.overrideMimeType && x.overrideMimeType('text/javascript');
54
-		x.open('GET', t.baseURL + '/' + s.page_name + '?' + q, !!cb);
55
-//		x.setRequestHeader('Content-Type', 'text/javascript');
56
-		x.send('');
57
-
58
-		// Handle asyncronous loading
59
-		if (cb) {
60
-			// Wait for response
61
-			ti = w.setInterval(function() {
62
-				if (x.readyState == 4 || c++ > 10000) {
63
-					w.clearInterval(ti);
64
-
65
-					if (c < 10000 && x.status == 200) {
66
-						t.loaded = 1;
67
-						t.eval(x.responseText);
68
-						tinymce.dom.Event.domLoaded = true;
69
-						cb.call(sc || t, x);
70
-					}
71
-
72
-					ti = x = null;
73
-				}
74
-			}, 10);
75
-		} else
76
-			t.eval(x.responseText);
77
-	},
78
-
79
-	start : function() {
80
-		var t = this, each = tinymce.each, s = t.settings, sl, ln = s.languages.split(',');
81
-
82
-		tinymce.suffix = s.suffix;
83
-
84
-		// Extend script loader
85
-		tinymce.create('tinymce.compressor.ScriptLoader:tinymce.dom.ScriptLoader', {
86
-			loadScripts : function(sc, cb, s) {
87
-				var ti = this, th = [], pl = [], la = [];
88
-
89
-				each(sc, function(o) {
90
-					var u = o.url;
91
-
92
-					if ((!ti.lookup[u] || ti.lookup[u].state != 2) && u.indexOf(t.baseURL) === 0) {
93
-						// Collect theme
94
-						if (u.indexOf('editor_template') != -1) {
95
-							th.push(/\/themes\/([^\/]+)/.exec(u)[1]);
96
-							load(u, 1);
97
-						}
98
-
99
-						// Collect plugin
100
-						if (u.indexOf('editor_plugin') != -1) {
101
-							pl.push(/\/plugins\/([^\/]+)/.exec(u)[1]);
102
-							load(u, 1);
103
-						}
104
-
105
-						// Collect language
106
-						if (u.indexOf('/langs/') != -1) {
107
-							la.push(/\/langs\/([^.]+)/.exec(u)[1]);
108
-							load(u, 1);
109
-						}
110
-					}
111
-				});
112
-
113
-				if (th.length + pl.length + la.length > 0) {
114
-					if (sl.settings.strict_mode) {
115
-						// Async
116
-						t.loadScripts(0, th.join(','), pl.join(','), la.join(','), cb, s);
117
-						return;
118
-					} else
119
-						t.loadScripts(0, th.join(','), pl.join(','), la.join(','), cb, s);
120
-				}
121
-
122
-				return ti.parent(sc, cb, s);
123
-			}
124
-		});
125
-
126
-		sl = tinymce.ScriptLoader = new tinymce.compressor.ScriptLoader();
127
-
128
-		function load(u, sp) {
129
-			var o;
130
-
131
-			if (!sp)
132
-				u = t.baseURL + u;
133
-
134
-			o = {url : u, state : 2};
135
-			sl.queue.push(o);
136
-			sl.lookup[o.url] = o;
137
-		};
138
-
139
-		// Add core languages
140
-		each (ln, function(c) {
141
-			if (c)
142
-				load('/langs/' + c + '.js');
143
-		});
144
-
145
-		// Add themes with languages
146
-		each(s.themes.split(','), function(n) {
147
-			if (n) {
148
-				load('/themes/' + n + '/editor_template' + s.suffix + '.js');
149
-
150
-				each (ln, function(c) {
151
-					if (c)
152
-						load('/themes/' + n + '/langs/' + c + '.js');
153
-				});
154
-			}
155
-		});
156
-
157
-		// Add plugins with languages
158
-		each(s.plugins.split(','), function(n) {
159
-			if (n) {
160
-				load('/plugins/' + n + '/editor_plugin' + s.suffix + '.js');
161
-
162
-				each (ln, function(c) {
163
-					if (c)
164
-						load('/plugins/' + n + '/langs/' + c + '.js');
165
-				});
166
-			}
167
-		});
168
-	},
169
-
170
-	end : function() {
171
-	},
172
-
173
-	eval : function(co) {
174
-		var w = window;
175
-
176
-		// Evaluate script
177
-		if (!w.execScript) {
178
-			if (/Gecko/.test(navigator.userAgent))
179
-				eval(co, w); // Firefox 3.0
180
-			else
181
-				eval.call(w, co);
182
-		} else
183
-			w.execScript(co); // IE
184
-	}
185
-};
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,185 @@
1
+var tinyMCE_GZ = {
2
+	settings : {
3
+		themes : '',
4
+		plugins : '',
5
+		languages : '',
6
+		disk_cache : true,
7
+		page_name : 'tiny_mce_gzip.php',
8
+		debug : false,
9
+		suffix : ''
10
+	},
11
+
12
+	init : function(s, cb, sc) {
13
+		var t = this, n, i, nl = document.getElementsByTagName('script');
14
+
15
+		for (n in s)
16
+			t.settings[n] = s[n];
17
+
18
+		s = t.settings;
19
+
20
+		for (i=0; i<nl.length; i++) {
21
+			n = nl[i];
22
+
23
+			if (n.src && n.src.indexOf('tiny_mce') != -1)
24
+				t.baseURL = n.src.substring(0, n.src.lastIndexOf('/'));
25
+		}
26
+
27
+		if (!t.coreLoaded)
28
+			t.loadScripts(1, s.themes, s.plugins, s.languages, cb, sc);
29
+	},
30
+
31
+	loadScripts : function(co, th, pl, la, cb, sc) {
32
+		var t = this, x, w = window, q, c = 0, ti, s = t.settings;
33
+
34
+		function get(s) {
35
+			x = 0;
36
+
37
+			try {
38
+				x = new ActiveXObject(s);
39
+			} catch (s) {
40
+			}
41
+
42
+			return x;
43
+		};
44
+
45
+		// Build query string
46
+		q = 'js=true&diskcache=' + (s.disk_cache ? 'true' : 'false') + '&core=' + (co ? 'true' : 'false') + '&suffix=' + escape(s.suffix) + '&themes=' + escape(th) + '&plugins=' + escape(pl) + '&languages=' + escape(la);
47
+
48
+		if (co)
49
+			t.coreLoaded = 1;
50
+
51
+		// Send request
52
+		x = w.XMLHttpRequest ? new XMLHttpRequest() : get('Msxml2.XMLHTTP') || get('Microsoft.XMLHTTP');
53
+		x.overrideMimeType && x.overrideMimeType('text/javascript');
54
+		x.open('GET', t.baseURL + '/' + s.page_name + '?' + q, !!cb);
55
+//		x.setRequestHeader('Content-Type', 'text/javascript');
56
+		x.send('');
57
+
58
+		// Handle asyncronous loading
59
+		if (cb) {
60
+			// Wait for response
61
+			ti = w.setInterval(function() {
62
+				if (x.readyState == 4 || c++ > 10000) {
63
+					w.clearInterval(ti);
64
+
65
+					if (c < 10000 && x.status == 200) {
66
+						t.loaded = 1;
67
+						t.eval(x.responseText);
68
+						tinymce.dom.Event.domLoaded = true;
69
+						cb.call(sc || t, x);
70
+					}
71
+
72
+					ti = x = null;
73
+				}
74
+			}, 10);
75
+		} else
76
+			t.eval(x.responseText);
77
+	},
78
+
79
+	start : function() {
80
+		var t = this, each = tinymce.each, s = t.settings, sl, ln = s.languages.split(',');
81
+
82
+		tinymce.suffix = s.suffix;
83
+
84
+		// Extend script loader
85
+		tinymce.create('tinymce.compressor.ScriptLoader:tinymce.dom.ScriptLoader', {
86
+			loadScripts : function(sc, cb, s) {
87
+				var ti = this, th = [], pl = [], la = [];
88
+
89
+				each(sc, function(o) {
90
+					var u = o.url;
91
+
92
+					if ((!ti.lookup[u] || ti.lookup[u].state != 2) && u.indexOf(t.baseURL) === 0) {
93
+						// Collect theme
94
+						if (u.indexOf('editor_template') != -1) {
95
+							th.push(/\/themes\/([^\/]+)/.exec(u)[1]);
96
+							load(u, 1);
97
+						}
98
+
99
+						// Collect plugin
100
+						if (u.indexOf('editor_plugin') != -1) {
101
+							pl.push(/\/plugins\/([^\/]+)/.exec(u)[1]);
102
+							load(u, 1);
103
+						}
104
+
105
+						// Collect language
106
+						if (u.indexOf('/langs/') != -1) {
107
+							la.push(/\/langs\/([^.]+)/.exec(u)[1]);
108
+							load(u, 1);
109
+						}
110
+					}
111
+				});
112
+
113
+				if (th.length + pl.length + la.length > 0) {
114
+					if (sl.settings.strict_mode) {
115
+						// Async
116
+						t.loadScripts(0, th.join(','), pl.join(','), la.join(','), cb, s);
117
+						return;
118
+					} else
119
+						t.loadScripts(0, th.join(','), pl.join(','), la.join(','), cb, s);
120
+				}
121
+
122
+				return ti.parent(sc, cb, s);
123
+			}
124
+		});
125
+
126
+		sl = tinymce.ScriptLoader = new tinymce.compressor.ScriptLoader();
127
+
128
+		function load(u, sp) {
129
+			var o;
130
+
131
+			if (!sp)
132
+				u = t.baseURL + u;
133
+
134
+			o = {url : u, state : 2};
135
+			sl.queue.push(o);
136
+			sl.lookup[o.url] = o;
137
+		};
138
+
139
+		// Add core languages
140
+		each (ln, function(c) {
141
+			if (c)
142
+				load('/langs/' + c + '.js');
143
+		});
144
+
145
+		// Add themes with languages
146
+		each(s.themes.split(','), function(n) {
147
+			if (n) {
148
+				load('/themes/' + n + '/editor_template' + s.suffix + '.js');
149
+
150
+				each (ln, function(c) {
151
+					if (c)
152
+						load('/themes/' + n + '/langs/' + c + '.js');
153
+				});
154
+			}
155
+		});
156
+
157
+		// Add plugins with languages
158
+		each(s.plugins.split(','), function(n) {
159
+			if (n) {
160
+				load('/plugins/' + n + '/editor_plugin' + s.suffix + '.js');
161
+
162
+				each (ln, function(c) {
163
+					if (c)
164
+						load('/plugins/' + n + '/langs/' + c + '.js');
165
+				});
166
+			}
167
+		});
168
+	},
169
+
170
+	end : function() {
171
+	},
172
+
173
+	eval : function(co) {
174
+		var w = window;
175
+
176
+		// Evaluate script
177
+		if (!w.execScript) {
178
+			if (/Gecko/.test(navigator.userAgent))
179
+				eval(co, w); // Firefox 3.0
180
+			else
181
+				eval.call(w, co);
182
+		} else
183
+			w.execScript(co); // IE
184
+	}
185
+};