author | Dan |
Wed, 26 Mar 2008 16:51:42 -0400 | |
changeset 510 | 290fa071842a |
parent 509 | 175df10e0b56 |
child 544 | 81b4499a963e |
permissions | -rw-r--r-- |
1 | 1 |
/* |
2 |
* Enano - an open source wiki-like CMS |
|
3 |
* Copyright (C) 2006-2007 Dan Fuhry |
|
4 |
* Javascript client library |
|
5 |
* |
|
6 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
|
7 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
|
10 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
|
11 |
* |
|
86
c162ca39db8f
Finished pagination code (was incomplete in previous revision) and added a few hacks for an upcoming theme
Dan
parents:
85
diff
changeset
|
12 |
* For more information about Enano, please visit http://enanocms.org/. |
420
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
13 |
* Unless otherwise noted, all of the code in these script files may be used freely so long as the above license block |
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
14 |
* is displayed and your modified code is distributed in compliance with the GPL. See the special page "About Enano" on |
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
15 |
* this website for more information. |
1 | 16 |
*/ |
17 |
||
18 |
if(typeof title != 'string') |
|
19 |
{ |
|
20 |
alert('Uh-oh! The required dynamic (PHP-generated) Javascript variables don\'t seem to be available. Javascript is going to be seriously broken.'); |
|
21 |
} |
|
22 |
||
23 |
// Run-time variables |
|
24 |
||
25 |
var detect = navigator.userAgent.toLowerCase(); |
|
26 |
var IE; |
|
21
663fcf528726
Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents:
1
diff
changeset
|
27 |
var is_Safari; |
1 | 28 |
|
29 |
// Detect whether the user is running the Evil One or not... |
|
30 |
||
31 |
function checkIt(string) { |
|
32 |
place = detect.indexOf(string) + 1; |
|
33 |
thestring = string; |
|
34 |
return place; |
|
35 |
} |
|
36 |
if (checkIt('msie')) IE = true; |
|
37 |
else IE = false; |
|
38 |
||
117
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
39 |
var is_Opera = ( checkIt('opera') ) ? true : false; |
509
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
40 |
var is_iPhone = ( checkIt('iphone') || checkIt('ipod') ) ? true : false; |
117
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
41 |
|
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
42 |
var KILL_SWITCH = false; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
43 |
|
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
44 |
if ( IE ) |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
45 |
{ |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
46 |
var version = window.navigator.appVersion; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
47 |
version = version.substr( ( version.indexOf('MSIE') + 5 ) ); |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
48 |
var rawversion = ''; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
49 |
for ( var i = 0; i < version.length; i++ ) |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
50 |
{ |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
51 |
var chr = version.substr(i, 1); |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
52 |
if ( !chr.match(/[0-9\.]/) ) |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
53 |
{ |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
54 |
break; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
55 |
} |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
56 |
rawversion += chr; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
57 |
} |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
58 |
rawversion = parseInt(rawversion); |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
59 |
if ( rawversion < 6 ) |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
60 |
{ |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
61 |
KILL_SWITCH = true; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
62 |
} |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
63 |
} |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
64 |
|
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
65 |
// dummy tinyMCE object |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
66 |
var tinyMCE = new Object(); |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
67 |
|
348
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
68 |
if ( typeof(DISABLE_MCE) == undefined ) |
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
69 |
{ |
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
70 |
var DISABLE_MCE = false; |
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
71 |
} |
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
72 |
|
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
73 |
// Obsolete JSON kill switch |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
74 |
function disableJSONExts() { }; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
75 |
|
21
663fcf528726
Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents:
1
diff
changeset
|
76 |
is_Safari = checkIt('safari') ? true : false; |
663fcf528726
Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents:
1
diff
changeset
|
77 |
|
1 | 78 |
var cmt_open; |
79 |
var list; |
|
80 |
var edit_open = false; |
|
81 |
var catlist = new Array(); |
|
82 |
var arrDiff1Buttons = new Array(); |
|
83 |
var arrDiff2Buttons = new Array(); |
|
84 |
var arrTimeIdList = new Array(); |
|
85 |
var list; |
|
86 |
var unObj; |
|
87 |
var unSelectMenuOn = false; |
|
88 |
var unObjDivCurrentId = false; |
|
89 |
var unObjCurrentSelection = false; |
|
90 |
var userlist = new Array(); |
|
91 |
var submitAuthorized = true; |
|
92 |
var rDnsObj; |
|
93 |
var rDnsBannerObj; |
|
94 |
var ns4 = document.layers; |
|
95 |
var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1); |
|
96 |
var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1); |
|
97 |
var agt=navigator.userAgent.toLowerCase(); |
|
98 |
var mac = (agt.indexOf("mac")!=-1); |
|
99 |
var ie = (agt.indexOf("msie") != -1); |
|
100 |
var mac_ie = mac && ie; |
|
101 |
var mouseX = 0; |
|
102 |
var mouseY = 0; |
|
103 |
var menuheight; |
|
104 |
var inertiabase = 1; |
|
105 |
var inertiainc = 1; |
|
106 |
var slideintervalinc = 20; |
|
107 |
var inertiabaseoriginal = inertiabase; |
|
108 |
var heightnow; |
|
109 |
var targetheight; |
|
110 |
var block; |
|
111 |
var slideinterval; |
|
112 |
var divheights = new Array(); |
|
113 |
var __menutimeout = false; |
|
114 |
var startmouseX = false; |
|
115 |
var startmouseY = false; |
|
116 |
var startScroll = false; |
|
117 |
var is_dragging = false; |
|
118 |
var current_ta = false; |
|
119 |
var startwidth = false; |
|
120 |
var startheight = false; |
|
121 |
var do_width = false; |
|
200
63fddf1335d9
Nothing real special. The AJAX loading icon can be changed using the Javascript variable ajax_load_icon in header.tpl.
Dan
parents:
184
diff
changeset
|
122 |
var ajax_load_icon = scriptPath + '/images/loading.gif'; |
473
518bc2b214f1
Added modal dialog support for page editor; added customizability for breadcrumbs (thanks to Manoj for idea)
Dan
parents:
472
diff
changeset
|
123 |
var editor_use_modal_window = false; |
1 | 124 |
|
125 |
// You have an NSIS coder in your midst... |
|
126 |
var MB_OK = 1; |
|
127 |
var MB_OKCANCEL = 2; |
|
128 |
var MB_YESNO = 4; |
|
129 |
var MB_YESNOCANCEL = 8; |
|
130 |
var MB_ABORTRETRYIGNORE = 16; |
|
131 |
var MB_ICONINFORMATION = 32; |
|
132 |
var MB_ICONEXCLAMATION = 64; |
|
133 |
var MB_ICONSTOP = 128; |
|
134 |
var MB_ICONQUESTION = 256; |
|
135 |
var MB_ICONLOCK = 512; |
|
136 |
||
137 |
// Syntax: |
|
138 |
// messagebox(MB_OK|MB_ICONINFORMATION, 'Title', 'Text'); |
|
139 |
// :-D |
|
140 |
||
141 |
var main_css = document.getElementById('mdgCss').href; |
|
142 |
if(main_css.indexOf('?') > -1) { |
|
143 |
sep = '&'; |
|
144 |
} else sep = '?'; |
|
145 |
var _css = false; |
|
146 |
var print_css = main_css + sep + 'printable'; |
|
147 |
||
148 |
var shift; |
|
149 |
||
150 |
function makeUrl(page, query, html_friendly) |
|
151 |
{ |
|
152 |
url = contentPath+page; |
|
153 |
if(url.indexOf('?') > 0) sep = '&'; |
|
154 |
else sep = '?'; |
|
155 |
if(query) |
|
156 |
{ |
|
157 |
url = url + sep + query; |
|
158 |
} |
|
159 |
if(html_friendly) |
|
160 |
{ |
|
161 |
url = url.replace('&', '&'); |
|
162 |
url = url.replace('<', '<'); |
|
163 |
url = url.replace('>', '>'); |
|
164 |
} |
|
165 |
return url; |
|
166 |
} |
|
167 |
||
168 |
function makeUrlNS(namespace, page, query, html_friendly) |
|
169 |
{ |
|
170 |
var url = contentPath+namespace_list[namespace]+(page.replace(/ /g, '_')); |
|
171 |
if(url.indexOf('?') > 0) sep = '&'; |
|
172 |
else sep = '?'; |
|
173 |
if(query) |
|
174 |
{ |
|
175 |
url = url + sep + query; |
|
176 |
} |
|
177 |
if(html_friendly) |
|
178 |
{ |
|
179 |
url = url.replace('&', '&'); |
|
180 |
url = url.replace('<', '<'); |
|
181 |
url = url.replace('>', '>'); |
|
182 |
} |
|
183 |
return append_sid(url); |
|
184 |
} |
|
185 |
||
186 |
function strToPageID(string) |
|
187 |
{ |
|
188 |
// Convert Special:UploadFile to ['UploadFile', 'Special'], but convert 'Image:Enano.png' to ['Enano.png', 'File'] |
|
189 |
for(var i in namespace_list) |
|
190 |
if(namespace_list[i] != '') |
|
191 |
if(namespace_list[i] == string.substr(0, namespace_list[i].length)) |
|
192 |
return [string.substr(namespace_list[i].length), i]; |
|
193 |
return [string, 'Article']; |
|
194 |
} |
|
195 |
||
196 |
function append_sid(url) |
|
197 |
{ |
|
198 |
sep = ( url.indexOf('?') > 0 ) ? '&' : '?'; |
|
199 |
if(ENANO_SID.length > 10) |
|
200 |
{ |
|
201 |
url = url + sep + 'auth=' + ENANO_SID; |
|
202 |
sep = '&'; |
|
203 |
} |
|
204 |
if ( pagepass.length > 0 ) |
|
205 |
{ |
|
206 |
url = url + sep + 'pagepass=' + pagepass; |
|
207 |
} |
|
208 |
return url; |
|
209 |
} |
|
210 |
||
211 |
var stdAjaxPrefix = append_sid(scriptPath+'/ajax.php?title='+title); |
|
212 |
||
213 |
var $_REQUEST = new Object(); |
|
214 |
if ( window.location.hash ) |
|
215 |
{ |
|
216 |
var hash = String(window.location.hash); |
|
217 |
hash = hash.substr(1); |
|
218 |
var reqobj = hash.split(';'); |
|
219 |
var a, b; |
|
220 |
for ( var i = 0; i < reqobj.length; i++ ) |
|
221 |
{ |
|
222 |
a = reqobj[i].substr(0, reqobj[i].indexOf(':')); |
|
223 |
b = reqobj[i].substr( ( reqobj[i].indexOf(':') + 1 ) ); |
|
224 |
$_REQUEST[a] = b; |
|
225 |
} |
|
226 |
} |
|
227 |
||
117
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
228 |
var onload_hooks = new Array(); |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
229 |
|
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
230 |
function addOnloadHook(func) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
231 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
232 |
if ( typeof ( func ) == 'function' ) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
233 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
234 |
if ( typeof(onload_hooks.push) == 'function' ) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
235 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
236 |
onload_hooks.push(func); |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
237 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
238 |
else |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
239 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
240 |
onload_hooks[onload_hooks.length] = func; |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
241 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
242 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
243 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
244 |
|
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
245 |
function runOnloadHooks(e) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
246 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
247 |
var _errorTrapper = 0; |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
248 |
for ( var _oLc = 0; _oLc < onload_hooks.length; _oLc++ ) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
249 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
250 |
_errorTrapper++; |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
251 |
if ( _errorTrapper >= 1000 ) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
252 |
break; |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
253 |
var _f = onload_hooks[_oLc]; |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
254 |
if ( typeof(_f) == 'function' ) |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
255 |
{ |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
256 |
_f(e); |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
257 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
258 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
259 |
} |
7cfdbb2fd17a
Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents:
86
diff
changeset
|
260 |
|
1 | 261 |
var head = document.getElementsByTagName('head')[0]; |
348
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
262 |
if ( !KILL_SWITCH && !DISABLE_MCE ) |
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
263 |
{ |
461 | 264 |
if ( IE ) |
265 |
{ |
|
266 |
document.write('<script type="text/javascript" src="' + scriptPath + '/includes/clientside/tinymce/tiny_mce.js"></script>'); |
|
267 |
} |
|
268 |
else |
|
269 |
{ |
|
270 |
var script = document.createElement('script'); |
|
271 |
script.type="text/javascript"; |
|
272 |
script.src=scriptPath+"/includes/clientside/tinymce/tiny_mce.js"; |
|
273 |
head.appendChild(script); |
|
274 |
} |
|
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
275 |
} |
1 | 276 |
|
509
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
277 |
var script = document.createElement('script'); |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
278 |
script.type="text/javascript"; |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
279 |
script.src=scriptPath+"/includes/clientside/firebug/firebug.js"; |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
280 |
head.appendChild(script); |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
281 |
|
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
282 |
// placeholder for window.console - used if firebug isn't present |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
283 |
// http://getfirebug.com/firebug/firebugx.js |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
284 |
if (!window.console || !console.firebug) |
472
bc4b58034f4d
Implemented password reset (albeit hackishly) into the new login API; added dummy window.console object to hopefully reduce errors when Firebug isn't around; fixed the longstanding ACL dismiss/close button bug; fixed a couple undefined variables in mailer; fixed PHP error on attempted opening of /dev/(u)random in rijndael.php; clarified documentation for PageProcessor::update_page(); fixed some logic problems in theme ACL code; disabled CAPTCHA debug
Dan
parents:
461
diff
changeset
|
285 |
{ |
509
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
286 |
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
287 |
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
288 |
|
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
289 |
window.console = {}; |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
290 |
for (var i = 0; i < names.length; ++i) |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
291 |
window.console[names[i]] = function() {} |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
292 |
} |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
293 |
|
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
294 |
// safari has window.console but not the .debug() method |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
295 |
if ( is_Safari && !window.console.debug ) |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
296 |
{ |
175df10e0b56
Added a copy of Firebug Lite for debugging purposes. License is uncertain but being treated as MPL. (If is is not MPL then it is under something more permissive that permits relicensing anyway)
Dan
parents:
473
diff
changeset
|
297 |
window.console.debug = function() {}; |
472
bc4b58034f4d
Implemented password reset (albeit hackishly) into the new login API; added dummy window.console object to hopefully reduce errors when Firebug isn't around; fixed the longstanding ACL dismiss/close button bug; fixed a couple undefined variables in mailer; fixed PHP error on attempted opening of /dev/(u)random in rijndael.php; clarified documentation for PageProcessor::update_page(); fixed some logic problems in theme ACL code; disabled CAPTCHA debug
Dan
parents:
461
diff
changeset
|
298 |
} |
bc4b58034f4d
Implemented password reset (albeit hackishly) into the new login API; added dummy window.console object to hopefully reduce errors when Firebug isn't around; fixed the longstanding ACL dismiss/close button bug; fixed a couple undefined variables in mailer; fixed PHP error on attempted opening of /dev/(u)random in rijndael.php; clarified documentation for PageProcessor::update_page(); fixed some logic problems in theme ACL code; disabled CAPTCHA debug
Dan
parents:
461
diff
changeset
|
299 |
|
420
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
300 |
// Do not remove the following comments, they are used by jsres.php. |
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
301 |
/*!START_INCLUDER*/ |
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
302 |
|
1 | 303 |
// Start loading files |
420
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
304 |
// The string from the [ to the ] needs to be valid JSON, it's parsed by jsres.php. |
1 | 305 |
var thefiles = [ |
420
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
306 |
'dynano.js', |
1 | 307 |
'misc.js', |
436
242353360e37
Added support for Diffie-Hellman key exchange during login. w00t!
Dan
parents:
430
diff
changeset
|
308 |
'login.js', |
1 | 309 |
'admin-menu.js', |
310 |
'ajax.js', |
|
311 |
'autocomplete.js', |
|
184
d74ff822acc9
Replaced autocompleting username with a much more efficient algorithm and caching system
Dan
parents:
174
diff
changeset
|
312 |
'autofill.js', |
1 | 313 |
'base64.js', |
314 |
'dropdown.js', |
|
315 |
'faders.js', |
|
316 |
'fat.js', |
|
317 |
'grippy.js', |
|
318 |
'json.js', |
|
319 |
'md5.js', |
|
436
242353360e37
Added support for Diffie-Hellman key exchange during login. w00t!
Dan
parents:
430
diff
changeset
|
320 |
'libbigint.js', |
242353360e37
Added support for Diffie-Hellman key exchange during login. w00t!
Dan
parents:
430
diff
changeset
|
321 |
'enanomath.js', |
242353360e37
Added support for Diffie-Hellman key exchange during login. w00t!
Dan
parents:
430
diff
changeset
|
322 |
'diffiehellman.js', |
242353360e37
Added support for Diffie-Hellman key exchange during login. w00t!
Dan
parents:
430
diff
changeset
|
323 |
'sha256.js', |
1 | 324 |
'sliders.js', |
325 |
'toolbar.js', |
|
326 |
'rijndael.js', |
|
210
2b283402e4e4
Added language export to JSON page and localization for Javascript using $lang.get(). Localized AJAX login interface.
Dan
parents:
200
diff
changeset
|
327 |
'l10n.js', |
1 | 328 |
'template-compiler.js', |
329 |
'acl.js', |
|
330 |
'comments.js', |
|
331 |
'editor.js', |
|
332 |
'flyin.js', |
|
85
7c68a18a27be
AJAX comments are now paginated; plugin manager can now show system plugins; typo in installer corrected; links in oxygen/stpatty/admin footers changed to "About Enano" page; 1.0.1 release candidate
Dan
parents:
59
diff
changeset
|
333 |
'paginate.js', |
133
af0f6ec48de3
Fully implemented password complexity enforcement; added encryption for passwords on registration form; some baby steps taken towards supporting international usernames - this is not working very well, we might need a hackish fix; TODO: implement password strength meter into installer UI and get international usernames 100% working
Dan
parents:
117
diff
changeset
|
334 |
'pwstrength.js', |
430
ec90736b9cb9
Started (but disabled) work on the new theme manager, 1.1.2 is being released with this thing halfway done.
Dan
parents:
420
diff
changeset
|
335 |
'theme-manager.js', |
174
4c5c2b66a34d
SECURITY: remove debug message in session manager; implemented alternate MediaWiki syntax for template embedding; added Adobe Spry for "shake" effect on unsuccessful login
Dan
parents:
133
diff
changeset
|
336 |
'SpryEffects.js', |
1 | 337 |
'loader.js' |
338 |
]; |
|
339 |
||
340 |
var problem_scripts = { |
|
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
341 |
'json.js' : true, |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
342 |
'template-compiler.js' : true |
1 | 343 |
}; |
344 |
||
345 |
for(var f in thefiles) |
|
346 |
{ |
|
347 |
if ( typeof(thefiles[f]) != 'string' ) |
|
348 |
continue; |
|
349 |
var script = document.createElement('script'); |
|
350 |
script.type="text/javascript"; |
|
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
351 |
if ( problem_scripts[thefiles[f]] && KILL_SWITCH ) |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
352 |
{ |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
353 |
// alert('kill switch and problem script'); |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
354 |
continue; |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
355 |
} |
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
parents:
40
diff
changeset
|
356 |
script.src=scriptPath+"/includes/clientside/static/"+thefiles[f]; |
1 | 357 |
head.appendChild(script); |
358 |
} |
|
359 |
||
420
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
360 |
// Do not remove the following comment, it is used by jsres.php. |
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
361 |
/*!END_INCLUDER*/ |
301f546688d1
Re-enabled, debugged, and optimized Javascript compression code
Dan
parents:
348
diff
changeset
|
362 |
|
1 | 363 |
addOnloadHook(function() { |
364 |
if ( $_REQUEST['do'] ) |
|
365 |
{ |
|
366 |
var act = $_REQUEST['do']; |
|
367 |
switch(act) |
|
368 |
{ |
|
369 |
case 'comments': |
|
370 |
ajaxComments(); |
|
371 |
break; |
|
372 |
case 'edit': |
|
373 |
ajaxEditor(); |
|
374 |
break; |
|
375 |
case 'login': |
|
376 |
ajaxStartLogin(); |
|
377 |
break; |
|
378 |
case 'history': |
|
379 |
ajaxHistory(); |
|
380 |
break; |
|
381 |
case 'catedit': |
|
382 |
ajaxCatEdit(); |
|
383 |
break; |
|
384 |
} |
|
385 |
} |
|
386 |
}); |
|
387 |
||
388 |
//*/ |