New file |
0,0 → 1,152 |
var tinyMCE_GZ = { |
settings : { |
plugins : 'style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras', |
themes : 'simple,advanced', |
languages : 'en', |
disk_cache : true, |
page_name : 'tiny_mce_gzip.php', |
debug : false |
}, |
|
init : function(s) { |
var n, d = document, nl, i, b = '', sr, db; |
|
this.isIE = (navigator.appName == "Microsoft Internet Explorer"); |
this.isOpera = navigator.userAgent.indexOf('Opera') != -1; |
|
for (n in s) |
this.settings[n] = s[n]; |
|
for (i=0, nl = d.getElementsByTagName('base'); i<nl.length; i++) { |
if (nl[i].href) |
b = nl[i].href; |
} |
|
for (i=0, nl = d.getElementsByTagName('script'); i<nl.length; i++) { |
if (nl[i].src && nl[i].src.indexOf('tiny_mce_gzip') != -1) { |
sr = nl[i].src; |
sr = sr.substring(0, sr.lastIndexOf('/')); |
|
if (b != '' && b.indexOf('://') == -1) |
b += sr; |
else |
b = sr; |
} |
} |
|
db = document.location.href; |
|
if (db.indexOf('?') != -1) |
db = db.substring(0, db.indexOf('?')); |
|
db = db.substring(0, db.lastIndexOf('/')); |
|
if (b.indexOf('://') == -1 && b.charAt(0) != '/') |
b = db + "/" + b; |
|
this.baseURL = b + '/'; |
this.load(this.settings.page_name); |
}, |
|
load : function(v) { |
var s = this.settings, h, d = document, sp2; |
|
v += '?js=true&plugins=' + escape(s.plugins); |
v += '&themes=' + escape(s.themes); |
v += '&languages=' + escape(s.languages); |
v += '&diskcache=' + (s.disk_cache ? 'true' : 'false'); |
//v += this.checkCompress() ? '' : '&compress=false'; |
|
this.loadFile(this.baseURL + v); |
}, |
|
checkCompress : function() { |
var sp2, ver, na = navigator, ua = navigator.userAgent; |
|
// Non IE browsers are fine |
if (!this.isIE) |
return 1; |
|
sp2 = na.appMinorVersion.indexOf('SP2') != -1; |
ver = parseFloat(ua.match(/MSIE\s+([0-9\.]+)/)[1]); |
|
// IE 6.0+ with SP2 seems fine |
if (ver >= 6 && sp2) |
return 1; |
|
// IE 7.0+ seems fine |
if (ver >= 7) |
return 1; |
|
// All others might fail |
return 0; |
}, |
|
loadFile : function(u) { |
var x, ex; |
|
if (this.settings['debug']) |
alert('JS: ' + u); |
|
if (this.isIE) { |
// Synchronous AJAX load gzip JS file |
try { |
x = new ActiveXObject("Microsoft.XMLHTTP"); |
} catch (ex) { |
x = new ActiveXObject("Msxml2.XMLHTTP"); |
} |
|
x.open("GET", u.replace(/%2C/g, ','), false); |
x.send(null); |
|
this.scriptData = x.responseText; |
|
document.write('<script type="text/javascript">eval(tinyMCE_GZ.scriptData);</script>'); |
} else |
document.write('<script type="text/javascript" src="' + u + '"></script>'); |
}, |
|
start : function() { |
var s = this.settings, p = TinyMCE_Engine.prototype; |
|
p.__loadScript = p.loadScript; |
p.__importThemeLanguagePack = p.importThemeLanguagePack; |
p.__importPluginLanguagePack = p.importPluginLanguagePack; |
p.__loadNextScript = p.loadNextScript; |
p.loadScript = p.importThemeLanguagePack = p.importPluginLanguagePack = p.loadNextScript = function() {}; |
tinyMCE.baseURL = this.baseURL.substring(0, this.baseURL.length - 1); |
tinyMCE.settings = {}; |
tinyMCE.srcMode = ''; |
}, |
|
end : function() { |
var s = this.settings, l = tinyMCE.loadedFiles, la, i, p = TinyMCE_Engine.prototype; |
|
this.addFiles(s.plugins, 'plugins', 'editor_plugin.js'); |
this.addFiles(s.themes, 'themes', 'editor_template.js'); |
|
la = s.languages.replace(/\s+/, '').split(',') |
for (i=0; i<la.length; i++) |
l[l.length] = this.baseURL + 'langs/' + la[i] + '.js'; |
|
p.loadScript = p.__loadScript; |
p.importThemeLanguagePack = p.__importThemeLanguagePack; |
p.importPluginLanguagePack = p.__importPluginLanguagePack; |
p.loadNextScript = p.__loadNextScript; |
}, |
|
addFiles : function(f, c, e) { |
var i, a, s = this.settings, l = tinyMCE.loadedFiles, la, x; |
|
a = f.replace(/\s+/, '').split(','); |
for (i=0; i<a.length; i++) { |
if (a[i]) { |
l[l.length] = this.baseURL + c + '/' + a[i] + '/' + e; |
|
la = s.languages.replace(/\s+/, '').split(',') |
for (x=0; x<la.length; x++) |
l[l.length] = this.baseURL + c + '/' + a[i] + '/langs/' + la[x] + '.js'; |
} |
} |
} |
}; |