Created
September 4, 2015 14:07
-
-
Save dingzj/74a4803b9c667248e208 to your computer and use it in GitHub Desktop.
qtranslate-x fix for divi theme, save it in admin/js folder
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function qtranxj_get_cookie(n) { | |
for (var e = document.cookie.split(";"), a = 0; a < e.length; ++a) { | |
var t = e[a], | |
i = t.split("="); | |
if (i[0].trim() == n && !(e.length < 2)) return i[1].trim() | |
} | |
return "" | |
} | |
function qtranxj_ce(n, e, a, t) { | |
var i = document.createElement(n); | |
if (e) | |
for (prop in e) i[prop] = e[prop]; | |
return a && (t && a.firstChild ? a.insertBefore(i, a.firstChild) : a.appendChild(i)), i | |
} | |
qtranxj_get_split_blocks = function(n) { | |
var e = /(<!--:[a-z]{2}-->|<!--:-->|\[:[a-z]{2}\]|\[:\]|\{:[a-z]{2}\}|\{:\})/gi; | |
return n.xsplit(e) | |
}, qtranxj_split = function(n) { | |
var e = qtranxj_get_split_blocks(n); | |
return qtranxj_split_blocks(e) | |
}, qtranxj_split_blocks = function(n) { | |
var e = new Object; | |
for (var a in qTranslateConfig.language_config) e[a] = ""; | |
if (!n || !n.length) return e; | |
if (1 == n.length) { | |
var t = n[0]; | |
for (var a in qTranslateConfig.language_config) e[a] += t; | |
return e | |
} | |
for (var i, r = /<!--:([a-z]{2})-->/gi, o = /\[:([a-z]{2})\]/gi, s = /\{:([a-z]{2})\}/gi, a = !1, l = 0; l < n.length; ++l) { | |
var t = n[l]; | |
if (t.length) | |
if (i = r.exec(t), r.lastIndex = 0, null == i) | |
if (i = o.exec(t), o.lastIndex = 0, null == i) | |
if (i = s.exec(t), s.lastIndex = 0, null == i) | |
if ("<!--:-->" != t && "[:]" != t && "{:}" != t) | |
if (a) e[a] ? e[a] += t : e[a] = t, a = !1; | |
else | |
for (var c in e) e[c] += t; | |
else a = !1; | |
else a = i[1]; | |
else a = i[1]; | |
else a = i[1] | |
} | |
return e | |
}, String.prototype.xsplit = function(n) { | |
if (3 === "a~b".split(/(~)/).length) return this.split(n); | |
n.global || (n = new RegExp(n.source, "g" + (n.ignoreCase ? "i" : ""))); | |
for (var e, a = 0, t = []; null != (e = n.exec(this));) t.push(this.slice(a, e.index)), e.length > 1 && t.push(e[1]), a = n.lastIndex; | |
return a < this.length && t.push(this.slice(a)), a == this.length && t.push(""), t | |
}; | |
var qTranslateX = function(n) { | |
var e = this; | |
qTranslateConfig.qtx = this, this.getLanguages = function() { | |
return qTranslateConfig.language_config | |
}, this.getFlagLocation = function() { | |
return qTranslateConfig.flag_location | |
}, this.isLanguageEnabled = function(n) { | |
return !!qTranslateConfig.language_config[n] | |
}; | |
var a = function(n) { | |
document.cookie = "qtrans_edit_language=" + n | |
}; | |
qTranslateConfig.activeLanguage, qTranslateConfig.LSB ? (qTranslateConfig.activeLanguage = qtranxj_get_cookie("qtrans_edit_language"), qTranslateConfig.activeLanguage && this.isLanguageEnabled(qTranslateConfig.activeLanguage) || (qTranslateConfig.activeLanguage = qTranslateConfig.language, this.isLanguageEnabled(qTranslateConfig.activeLanguage) ? a(qTranslateConfig.activeLanguage) : qTranslateConfig.LSB = !1)) : (qTranslateConfig.activeLanguage = qTranslateConfig.language, a(qTranslateConfig.activeLanguage)), this.getActiveLanguage = function() { | |
return qTranslateConfig.activeLanguage | |
}, this.getLanguages = function() { | |
return qTranslateConfig.language_config | |
}; | |
var t = {}; | |
this.hasContentHook = function(n) { | |
return t[n] | |
}, this.addContentHook = function(n, a, i) { | |
if (!n) return !1; | |
switch (n.tagName) { | |
case "TEXTAREA": | |
break; | |
case "INPUT": | |
if ("text" != n.type) return !1; | |
break; | |
default: | |
return !1 | |
} | |
if (!i) { | |
if (!n.name) return !1; | |
i = n.name | |
} | |
if (n.id) { | |
if (t[n.id]) { | |
if (jQuery.contains(document, n)) return t[n.id]; | |
e.removeContentHook(n) | |
} | |
} else jQuery(n).uniqueId(); | |
var r = t[n.id] = {}; | |
r.name = i, r.contentField = n, r.lang = qTranslateConfig.activeLanguage; | |
var o = qtranxj_split(n.value); | |
n.value = o[r.lang]; | |
var s; | |
if (a) switch (a) { | |
case "slug": | |
s = "qtranslate-slugs["; | |
break; | |
case "term": | |
s = "qtranslate-terms["; | |
break; | |
default: | |
s = "qtranslate-fields[" | |
} else a = "[", s = "qtranslate-fields["; | |
var l, c, f = r.name.indexOf("["); | |
if (0 > f) l = s + r.name + "]"; | |
else if (l = s + r.name.substring(0, f) + "]", r.name.lastIndexOf("[]") < 0) l += r.name.substring(f); | |
else { | |
var g = r.name.length - 2; | |
g > f && (l += r.name.substring(f, g)), c = "[]" | |
} | |
r.fields = {}; | |
for (var u in o) { | |
var d = o[u], | |
h = l + "[" + u + "]"; | |
c && (h += c); | |
var v = qtranxj_ce("input", { | |
name: h, | |
type: "hidden", | |
className: "hidden", | |
value: d | |
}); | |
r.fields[u] = v, n.parentNode.insertBefore(v, n) | |
} | |
switch (a) { | |
case "slug": | |
case "term": | |
r.sepfield = qtranxj_ce("input", { | |
name: l + "[qtranslate-original-value]", | |
type: "hidden", | |
className: "hidden", | |
value: o[qTranslateConfig.default_language] | |
}); | |
break; | |
default: | |
r.sepfield = qtranxj_ce("input", { | |
name: l + "[qtranslate-separator]", | |
type: "hidden", | |
className: "hidden", | |
value: a | |
}) | |
} | |
return n.parentNode.insertBefore(r.sepfield, n), r.encode = a, n.className += " qtranxs-translatable", r | |
}, this.addContentHookC = function(n) { | |
return e.addContentHook(n, "[") | |
}, this.addContentHookB = function(n) { | |
return e.addContentHook(n, "[") | |
}, this.addContentHookById = function(n, a, t) { | |
return e.addContentHook(document.getElementById(n), a, t) | |
}, this.addContentHookByIdName = function(n) { | |
var a; | |
switch (n[0]) { | |
case "<": | |
case "[": | |
a = n.substring(0, 1), n = n.substring(1) | |
} | |
return e.addContentHookById(n, a) | |
}, this.addContentHookByIdC = function(n) { | |
return e.addContentHookById(n, "[") | |
}, this.addContentHookByIdB = function(n) { | |
return e.addContentHookById(n, "[") | |
}, this.addContentHooks = function(n, a, t) { | |
for (var i = 0; i < n.length; ++i) { | |
var r = n[i]; | |
e.addContentHook(r, a, t) | |
} | |
}; | |
var i = function(n, a, t) { | |
a || (a = document); | |
var i = a.getElementsByClassName(n); | |
e.addContentHooks(i, t) | |
}; | |
this.addContentHooksByClass = function(n, e) { | |
var a; | |
(0 == n.indexOf("<") || 0 == n.indexOf("[")) && (a = n.substring(0, 1), n = n.substring(1)), i(n, e, a) | |
}, this.addContentHooksByTagInClass = function(n, a, t) { | |
for (var i = t.getElementsByClassName(n), r = 0; r < i.length; ++r) { | |
var o = i[r], | |
s = o.getElementsByTagName(a); | |
e.addContentHooks(s) | |
} | |
}; | |
var r = function(n) { | |
if (!n) return !1; | |
n.sepfield && jQuery(n.sepfield).remove(); | |
for (var e in n.fields) jQuery(n.fields[e]).remove(); | |
return delete t[n.contentField.id], !0 | |
}; | |
this.removeContentHook = function(n) { | |
if (!n) return !1; | |
if (!n.id) return !1; | |
if (!t[n.id]) return !1; | |
var e = t[n.id]; | |
return r(e), jQuery(n).removeClass("qtranxs-translatable"), !0 | |
}, this.refreshContentHook = function(n) { | |
if (!n) return !1; | |
if (!n.id) return !1; | |
var a = t[n.id]; | |
return a && r(a), e.addContentHook(n) | |
}; | |
var o = [], | |
s = function(n) { | |
if (!n.nodeValue) return 0; | |
var e = qtranxj_get_split_blocks(n.nodeValue); | |
if (!e || !e.length || 1 == e.length) return 0; | |
var a = {}; | |
return a.nd = n, a.contents = qtranxj_split_blocks(e), n.nodeValue = a.contents[qTranslateConfig.activeLanguage], o.push(a), 1 | |
}, | |
l = [], | |
c = function(n) { | |
if (!n.value) return 0; | |
var e = qtranxj_get_split_blocks(n.value); | |
if (!e || !e.length || 1 == e.length) return 0; | |
var a = {}; | |
return a.nd = n, a.contents = qtranxj_split_blocks(e), n.value = a.contents[qTranslateConfig.activeLanguage], l.push(a), 1 | |
}; | |
this.addDisplayHook = function(n) { | |
if (!n || !n.tagName) return 0; | |
switch (n.tagName) { | |
case "TEXTAREA": | |
return 0; | |
case "INPUT": | |
switch (n.type) { | |
case "submit": | |
if (n.value) return c(n); | |
default: | |
return 0 | |
} | |
} | |
var a = 0; | |
if (n.childNodes && n.childNodes.length) | |
for (var t = 0; t < n.childNodes.length; ++t) { | |
var i = n.childNodes[t]; | |
switch (i.nodeType) { | |
case 1: | |
a += e.addDisplayHook(i); | |
break; | |
case 2: | |
case 3: | |
a += s(i) | |
} | |
} | |
return a | |
}, this.addDisplayHookById = function(n) { | |
return e.addDisplayHook(document.getElementById(n)) | |
}; | |
var f = function(n) { | |
text = n.contentField.value, n.wpautop && window.switchEditors && (text = window.switchEditors.wpautop(text)), n.mce.setContent(text, { | |
format: "html" | |
}) | |
}, | |
g = function(n) { | |
a(n); | |
for (var e = 0; e < o.length; ++e) { | |
var i = o[e]; | |
i.nd.nodeValue = i.contents[n] | |
} | |
for (var e = 0; e < l.length; ++e) { | |
var i = l[e]; | |
i.nd.value = i.contents[n] | |
} | |
for (var r in t) { | |
var i = t[r], | |
s = i.mce && !i.mce.hidden; | |
s && i.mce.save({ | |
format: "html" | |
}), i.fields[i.lang].value = i.contentField.value, i.lang = n; | |
var c = i.fields[i.lang].value; | |
i.contentField.placeholder && "" != c && (i.contentField.placeholder = ""), i.contentField.value = c, s && f(i) | |
} | |
}; | |
function n(n) { | |
var e = n.id; | |
if (e) { | |
var a = t[e]; | |
if (a && !a.mce) { | |
a.mce = n, n.getContainer().className += " qtranxs-translatable", n.getElement().className += " qtranxs-translatable"; | |
var i = a.updateTinyMCEonInit; | |
if (null == i) { | |
var r = n.getContent({ | |
format: "html" | |
}).replace(/\s+/g, ""), | |
o = a.contentField.value.replace(/\s+/g, ""); | |
i = r != o | |
} | |
return i && f(a), a | |
} | |
} | |
}; | |
setTinyMceInit = function() { | |
if (window.tinyMCE) | |
for (var e in t) { | |
var a = t[e]; | |
if ("TEXTAREA" === a.contentField.tagName && !a.mce && !a.mceInit && tinyMCEPreInit.mceInit[e]) { | |
if (a.mceInit = tinyMCEPreInit.mceInit[e], a.mceInit.wpautop) { | |
a.wpautop = a.mceInit.wpautop; | |
var i = tinymce.DOM.select("#wp-" + e + "-wrap"); | |
i && i.length && (a.wrapper = i[0], a.wrapper && (tinymce.DOM.hasClass(a.wrapper, "tmce-active") && (a.updateTinyMCEonInit = !0), tinymce.DOM.hasClass(a.wrapper, "html-active") && (a.updateTinyMCEonInit = !1))) | |
} else a.updateTinyMCEonInit = !1; | |
tinyMCEPreInit.mceInit[e].init_instance_callback = function(e) { | |
n(e) | |
} | |
} | |
} | |
}; | |
this.addDisplayHooks = function(n) { | |
for (var a = 0; a < n.length; ++a) { | |
var t = n[a]; | |
e.addDisplayHook(t) | |
} | |
}, this.addDisplayHooksByClass = function(n, a) { | |
var t = a.getElementsByClassName(n); | |
e.addDisplayHooks(t) | |
}, this.addDisplayHooksByTagInClass = function(n, a, t) { | |
for (var i = t.getElementsByClassName(n), r = 0; r < i.length; ++r) { | |
var o = i[r], | |
s = o.getElementsByTagName(a); | |
e.addDisplayHooks(s) | |
} | |
}, this.addCustomContentHooks = function() { | |
for (var n = 0; n < qTranslateConfig.custom_fields.length; ++n) { | |
var a = qTranslateConfig.custom_fields[n]; | |
e.addContentHookByIdName(a) | |
} | |
for (var n = 0; n < qTranslateConfig.custom_field_classes.length; ++n) { | |
var a = qTranslateConfig.custom_field_classes[n]; | |
e.addContentHooksByClass(a) | |
} | |
setTinyMceInit() | |
}; | |
var u = function(n) { | |
n(".i18n-multilingual").each(function(n, a) { | |
e.addContentHook(a, "[") | |
}), n(".i18n-multilingual-curly").each(function(n, a) { | |
e.addContentHook(a, "{") | |
}), n(".i18n-multilingual-term").each(function(n, a) { | |
e.addContentHook(a, "term") | |
}), n(".i18n-multilingual-slug").each(function(n, a) { | |
e.addContentHook(a, "slug") | |
}), n(".i18n-multilingual-display").each(function(n, a) { | |
e.addDisplayHook(a) | |
}) | |
}, | |
d = function(n) { | |
for (var a in n) { | |
var t, i = n[a]; | |
if (i.form) { | |
if (i.form.id) t = document.getElementById(i.form.id); | |
else if (i.form.jquery) t = $(i.form.jquery); | |
else if (i.form.name) { | |
var r = document.getElementsByName(i.form.name); | |
r && r.length && (t = r[0]) | |
} | |
} else t = document.getElementById(a); | |
t || (t = v(), t || (t = document)); | |
for (var o in i.fields) { | |
var s = i.fields[o], | |
l = []; | |
if (s.container_id) { | |
var c = document.getElementById(s.container_id); | |
c && l.push(c) | |
} else s.container_jquery ? l = $(s.container_jquery) : s.container_class ? l = document.getElementsByClassName(s.container_class) : l.push(t); | |
var f = s.encode; | |
switch (f) { | |
case "none": | |
continue; | |
case "display": | |
if (s.jquery) | |
for (var g = 0; g < l.length; ++g) { | |
var c = l[g], | |
u = jQuery(c).find(s.jquery); | |
e.addDisplayHooks(u) | |
} else { | |
var d = s.id ? s.id : o; | |
e.addDisplayHook(document.getElementById(d)) | |
} | |
break; | |
case "[": | |
case "<": | |
case "{": | |
case "byline": | |
default: | |
if (s.jquery) | |
for (var g = 0; g < l.length; ++g) { | |
var c = l[g], | |
u = jQuery(c).find(s.jquery); | |
e.addContentHooks(u, f, s.name) | |
} else { | |
var d = s.id ? s.id : o; | |
e.addContentHookById(d, f, s.name) | |
} | |
} | |
} | |
} | |
}, | |
h = function() { | |
function n(n) { | |
var e = n.id; | |
if (e) { | |
var a = t[e]; | |
if (a && !a.mce) { | |
a.mce = n, n.getContainer().className += " qtranxs-translatable", n.getElement().className += " qtranxs-translatable"; | |
var i = a.updateTinyMCEonInit; | |
if (null == i) { | |
var r = n.getContent({ | |
format: "html" | |
}).replace(/\s+/g, ""), | |
o = a.contentField.value.replace(/\s+/g, ""); | |
i = r != o | |
} | |
return i && f(a), a | |
} | |
} | |
} | |
setTinyMceInit = function() { | |
if (window.tinyMCE) | |
for (var e in t) { | |
var a = t[e]; | |
if ("TEXTAREA" === a.contentField.tagName && !a.mce && !a.mceInit && tinyMCEPreInit.mceInit[e]) { | |
if (a.mceInit = tinyMCEPreInit.mceInit[e], a.mceInit.wpautop) { | |
a.wpautop = a.mceInit.wpautop; | |
var i = tinymce.DOM.select("#wp-" + e + "-wrap"); | |
i && i.length && (a.wrapper = i[0], a.wrapper && (tinymce.DOM.hasClass(a.wrapper, "tmce-active") && (a.updateTinyMCEonInit = !0), tinymce.DOM.hasClass(a.wrapper, "html-active") && (a.updateTinyMCEonInit = !1))) | |
} else a.updateTinyMCEonInit = !1; | |
tinyMCEPreInit.mceInit[e].init_instance_callback = function(e) { | |
n(e) | |
} | |
} | |
} | |
}, setTinyMceInit(), loadTinyMceHooks = function() { | |
if (window.tinyMCE) | |
for (var e = 0; e < tinyMCE.editors.length; ++e) { | |
var a = tinyMCE.editors[e]; | |
n(a) | |
} | |
}, window.addEventListener("load", loadTinyMceHooks) | |
}; | |
qTranslateConfig.onTabSwitchFunctions || (qTranslateConfig.onTabSwitchFunctions = []), qTranslateConfig.onTabSwitchFunctionsSave || (qTranslateConfig.onTabSwitchFunctionsSave = []), qTranslateConfig.onTabSwitchFunctionsLoad || (qTranslateConfig.onTabSwitchFunctionsLoad = []), this.addLanguageSwitchListener = function(n) { | |
qTranslateConfig.onTabSwitchFunctions.push(n) | |
}, this.addLanguageSwitchBeforeListener = function(n) { | |
qTranslateConfig.onTabSwitchFunctionsSave.push(n) | |
}, this.delLanguageSwitchBeforeListener = function(n) { | |
for (var e = 0; e < qTranslateConfig.onTabSwitchFunctionsSave.length; ++e) { | |
var a = qTranslateConfig.onTabSwitchFunctionsSave[e]; | |
if (a == n) return void qTranslateConfig.onTabSwitchFunctionsSave.splice(e, 1) | |
} | |
}, this.addLanguageSwitchAfterListener = function(n) { | |
qTranslateConfig.onTabSwitchFunctionsLoad.push(n) | |
}, this.delLanguageSwitchAfterListener = function(n) { | |
for (var e = 0; e < qTranslateConfig.onTabSwitchFunctionsLoad.length; ++e) { | |
var a = qTranslateConfig.onTabSwitchFunctionsLoad[e]; | |
if (a == n) return void qTranslateConfig.onTabSwitchFunctionsLoad.splice(e, 1) | |
} | |
}, this.enableLanguageSwitchingButtons = function(n) { | |
var e = n ? "block" : "none"; | |
for (var a in qTranslateConfig.tabSwitches) { | |
for (var t = qTranslateConfig.tabSwitches[a], i = 0; i < t.length; ++i) { | |
var r = (t[i], t[i].parentElement); | |
r.style.display = e; | |
break | |
} | |
break | |
} | |
}; | |
var v = function() { | |
for (var n = document.getElementsByClassName("wrap"), e = 0; e < n.length; ++e) { | |
var a = n[e], | |
t = a.getElementsByTagName("form"); | |
if (t.length) return t[0] | |
} | |
var t = document.getElementsByTagName("form"); | |
if (1 === t.length) return t[0]; | |
for (var e = 0; e < t.length; ++e) { | |
var i = t[e]; | |
if (n = i.getElementsByClassName("wrap"), n.length) return i | |
} | |
return null | |
}; | |
if ("function" == typeof n.addContentHooks && n.addContentHooks(this), qTranslateConfig.page_config && qTranslateConfig.page_config.forms && d(qTranslateConfig.page_config.forms), u(jQuery), !o.length && !l.length) { | |
var C = !1; | |
for (var m in t) { | |
C = !0; | |
break | |
} | |
if (!C) return | |
} | |
this.switchActiveLanguage = function() { | |
var n = this, | |
e = n.lang; | |
if (!e) return void alert("qTranslate-X: This should not have happened: Please, report this incident to the developers: !lang"); | |
if (qTranslateConfig.activeLanguage !== e) { | |
if (qTranslateConfig.activeLanguage) { | |
for (var a = !0, t = qTranslateConfig.onTabSwitchFunctionsSave, i = 0; i < t.length; ++i) { | |
var r = t[i].call(qTranslateConfig.qtx, qTranslateConfig.activeLanguage, e); | |
r === !1 && (a = !1) | |
} | |
if (!a) return; | |
for (var o = qTranslateConfig.tabSwitches[qTranslateConfig.activeLanguage], i = 0; i < o.length; ++i) o[i].classList.remove(qTranslateConfig.lsb_style_active_class) | |
} | |
var s = qTranslateConfig.activeLanguage; | |
qTranslateConfig.activeLanguage = e; | |
for (var o = qTranslateConfig.tabSwitches[qTranslateConfig.activeLanguage], i = 0; i < o.length; ++i) o[i].classList.add(qTranslateConfig.lsb_style_active_class); | |
for (var l = qTranslateConfig.onTabSwitchFunctions, i = 0; i < l.length; ++i) l[i].call(qTranslateConfig.qtx, e, s); | |
for (var c = qTranslateConfig.onTabSwitchFunctionsLoad, i = 0; i < c.length; ++i) c[i].call(qTranslateConfig.qtx, e, s) | |
} | |
}; | |
var q = function() { | |
var n = qtranxj_ce("ul", { | |
className: qTranslateConfig.lsb_style_wrap_class | |
}), | |
e = qTranslateConfig.language_config; | |
qTranslateConfig.tabSwitches || (qTranslateConfig.tabSwitches = {}); | |
for (var a in e) { | |
var t = e[a], | |
i = qTranslateConfig.flag_location, | |
r = qtranxj_ce("li", { | |
lang: a, | |
className: "qtranxs-lang-switch", | |
onclick: qTranslateConfig.qtx.switchActiveLanguage | |
}, n); | |
qtranxj_ce("img", { | |
src: i + t.flag | |
}, r), qtranxj_ce("span", { | |
innerHTML: t.name | |
}, r), qTranslateConfig.activeLanguage == a && r.classList.add(qTranslateConfig.lsb_style_active_class), qTranslateConfig.tabSwitches[a] || (qTranslateConfig.tabSwitches[a] = []), qTranslateConfig.tabSwitches[a].push(r) | |
} | |
return n | |
}, | |
T = function(n) { | |
var e = document.getElementById("qtranxs-meta-box-lsb"); | |
if (e) { | |
var a = e.getElementsByClassName("inside"); | |
if (a.length) { | |
e.className += " closed", n(e).find(".hndle").remove(); | |
var t = document.createElement("span"); | |
e.insertBefore(t, a[0]), t.className = "hndle ui-sortable-handle"; | |
var i = q(); | |
t.appendChild(i), n(function(n) { | |
n("#qtranxs-meta-box-lsb .hndle").unbind("click.postboxes") | |
}) | |
} | |
} | |
}; | |
if (qTranslateConfig.LSB) { | |
h(), T(jQuery); | |
var p = []; | |
if (qTranslateConfig.page_config && qTranslateConfig.page_config.anchors) | |
for (var y in qTranslateConfig.page_config.anchors) { | |
var w = document.getElementById(y); | |
if (w) { | |
var b = qTranslateConfig.page_config.anchors[y]; | |
b.id = y, b.f = w, p.push(b) | |
} | |
} | |
if (!p.length) { | |
var w = n.langSwitchWrapAnchor; | |
w || (w = v()), w && p.push({ | |
f: w, | |
where: "before" | |
}) | |
} | |
for (var _ = 0; _ < p.length; ++_) { | |
var b = p[_]; | |
if (!b.where || b.where.indexOf("before") >= 0) { | |
var k = q(); | |
b.f.parentNode.insertBefore(k, b.f) | |
} | |
if (b.where && b.where.indexOf("after") >= 0) { | |
var k = q(); | |
b.f.parentNode.insertBefore(k, b.f.nextSibling) | |
} | |
if (b.where && b.where.indexOf("first") >= 0) { | |
var k = q(); | |
b.f.insertBefore(k, b.f.firstChild) | |
} | |
if (b.where && b.where.indexOf("last") >= 0) { | |
var k = q(); | |
b.f.insertBefore(k, null) | |
} | |
} | |
this.addLanguageSwitchListener(g), n.onTabSwitch && this.addLanguageSwitchListener(n.onTabSwitch) | |
} | |
}; | |
qTranslateConfig.js.get_qtx = function() { | |
return qTranslateConfig.qtx || new qTranslateX(qTranslateConfig.js), qTranslateConfig.qtx | |
}, jQuery(document).ready(qTranslateConfig.js.get_qtx); | |
jQuery(document).ready(function(e) { | |
var a, n, t, r, l, i, s, d, h = qTranslateConfig.js.get_qtx(), | |
o = function(e, a) { | |
switch (qTranslateConfig.url_mode.toString()) { | |
case "1": | |
e.search ? e.search += "&lang=" + a : e.search = "?lang=" + a; | |
break; | |
case "2": | |
var n = qTranslateConfig.url_info_home, | |
t = e.pathname.indexOf(n); | |
e.pathname = n + a + e.pathname.substring(t + n.length - 1); | |
break; | |
case "3": | |
e.host = a + "." + e.host; | |
break; | |
case "4": | |
e.host = qTranslateConfig.domains[a] | |
} | |
}, | |
c = function(h) { | |
if (!a) { | |
var c = document.getElementById("view-post-btn"); | |
if (!c || !c.children.length) return; | |
if (a = c.children[0], "A" != a.tagName) return; | |
n = a.href, t = qtranxj_ce("a", {}), r = n.search(/\?/) > 0 | |
} | |
t.href = n, o(t, h), a.href = t.href; | |
var g = document.getElementById("preview-action"); | |
if (g && g.children.length && (g.children[0].href = t.href), 1 != qTranslateConfig.url_mode) { | |
if (!l) { | |
var m = document.getElementById("sample-permalink"); | |
m && m.childNodes.length && (l = m.childNodes[0], i = l.nodeValue) | |
} | |
l && (t.href = i, o(t, h), l.nodeValue = t.href) | |
} else d || (e("#sample-permalink").append('<span id="sample-permalink-lang-query"></span>'), d = e("#sample-permalink-lang-query")), d && d.text((n.search(/\?/) < 0 ? "/?lang=" : "&lang=") + h); | |
s || (s = document.getElementById("wp-admin-bar-view")), s && s.children.length && (s.children[0].href = t.href) | |
}, | |
g = jQuery("#title"), | |
m = jQuery("#title-prompt-text"), | |
f = function() { | |
var e = g.attr("value"); | |
e ? m.addClass("screen-reader-text") : m.removeClass("screen-reader-text") | |
}; | |
h.addCustomContentHooks(), c(h.getActiveLanguage()), h.addLanguageSwitchAfterListener(c), m && g && h.addLanguageSwitchAfterListener(f) | |
}); //]]> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment