Benutzer:RevoTest/tbwl0.2.js
aus Wikipedia, der freien Enzyklopädie
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// var document, XMLHttpRequest, ActiveXObject, addOnloadHook, wgUserName, wgPageName, wgNamespaceNumber, wgTitle, cTBWL_Screenreader;
// http://www.jslint.com/
/*
* Project: Toolbar Watchlist, Version: 0.2.0beta, Date: 2007-09-25
* Copyright (C) 2007 [[de:User:Revolus]] (revolus@web.de)
* http://www.gnu.org/copyleft/gpl.html
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
Licence:
You may redistribute this script either under the terms of the GNU GPL
or GNU FDL with no invariant sections. But either way, you have to
accept the non-warranty clause as stated in the GNU GPL.
*/
/////////////////////////////////////////////////////////////
// libTBWL.js
////////////////////////////////////////////////////////////
var cTBWL_Title_Page = wgPageName+" - Wikipedia";
var vTBWL_Addons = [];
if(typeof(cTBWL_Screenreader) === "undefined") { var cTBWL_Screenreader = false; }
var vTBWL_Headline = false;
var vTBWL_Special_Content = false;
var TBWL_LinkTitle = function(ns, title) {
return title;
};
var TBWL_UserTitle = function(name) {
return name;
};
var TBWL_WikiEncodeURI = function(str) {
var elm = /([\x23|\x24|\x26|\x2B|\x2C|\x2F|\x3A|\x3B|\x3D|\x3F|\x40])/g;
var callback = function(a, b) {
var res = b.charCodeAt(0).toString(16).toUpperCase();
if(res.length<2) { res = "0"+res; }
return "%"+res;
};
return encodeURI(str).replace(elm, callback).replace(/\x22/g, "%22").replace(/\\/g, "%5C");
};
var TBWL_WikiEncodeAnchor = function(str) {
var elm = /([\x23|\x26|\x2B|\x2C|\x2F|\x3B|\x3D|\x3F|\x40])/g;
var callback = function(a, b) {
var res = b.charCodeAt(0).toString(16).toUpperCase();
if(res.length<2) { res = "0"+res; }
return "%"+res;
};
return encodeURI(str.replace(/ /g, "_")).replace(elm, callback).replace(/\x22/g, "%22").replace(/\\/g, "%5C").replace(/%/g, ".");
};
var TBWL_CommentTitle = function(depth, res, str, ns, title) {
var pattern = /(.*?)\/\* ?(.*?) ?\*\//g;
var callback = function(a, Text, Section) {
TBWL_CommentTitle.doText(depth, res, Text, ns, title);
TBWL_CommentTitle.doSection(depth, res, Section, ns, title);
};
(str+"/**/").replace(pattern, callback);
};
TBWL_CommentTitle.doLink = function(depth, res, text, ns, title) {
if(!text) { return; }
var pattern = /^([^\x23\x7c]*)\x23?([^\x7c]*)\x7c?(.*)$/;
var callback = function(a, Link, Abs, Text) {
if(Abs === "") {
if(Text === "") { Text = Link; } // Text
res.push(depth, ["WPLink", "", "", Link, Text, "", "", ""],
depth+1, ["SetAttribute", "title", Link]); // Link|Text
}
else {
if(Text === "") { Text = Link+"#"+Abs; } // Link#Abs
res.push(depth, ["WPLink", "", "", Link, Text, "", "", Abs],
depth+1, ["SetAttribute", "title", Link+"#"+Abs]); // Link#Abs|Text
}
};
text.replace(pattern, callback);
};
TBWL_CommentTitle.doText = function(depth, res, text, ns, title) {
if(!text) { return; }
var pattern = /(.*?)\[\[(.*?)\]\]/g;
var callback = function(a, Text, Link) {
res.push(depth, ["Text", Text, ""]);
TBWL_CommentTitle.doLink(depth, res, Link, ns, title);
};
(text+"[[]]").replace(pattern, callback);
};
TBWL_CommentTitle.doSection = function(depth, res, text, ns, title) {
if(!text) { return; }
var pattern = /\[\[\.*?|(.*?)\]\]|\[\[(.*?)\]\]/g;
text = text.replace(pattern, "$1");
res.push(
depth, ["Node", "span", "TBWL_SectionLink"],
depth+1, ["Text", " /* ", ""],
depth+1, ["WPLink", "", "", title, text, "", "", text],
depth+2, ["SetAttribute", "title", title+"#"+text],
depth+1, ["Text", " */ ", ""]);
};
var TBWL_GetAjaxObject = function() {
var res;
if((typeof(XMLHttpRequest) === "function") && (res = new XMLHttpRequest())) { return res; }
if(typeof(ActiveXObject) === "function") {
var MsAjax = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for(var i=0; i<MsAjax.length; i++) {
try { if((res = new ActiveXObject(MsAjax[i]))) { return res; } }
catch(e) {}
}
}
return false;
};
var TBWL_Cookie = {
"Read": (function(name) {
var arr = document.cookie.split(';');
for(var i=0; i<arr.length; i++) {
var b = true;
var c;
var aName = [];
var aText = arr[i].split('');
var cName = name.split('');
while((c = aText.shift()) === ' ') {}
do {
aName.push(c);
if(c !== cName.shift()) { b = false; break; }
} while('=' !== (c = aText.shift()));
if(b && (cName.length===0)) { return aText.join(""); }
}
return false;
}),
"Write": (function(name, value, expires) {
expires = new Date((new Date()).getTime() + expires).toGMTString();
document.cookie = name +"="+ value +"; expires="+ expires +";";
}),
"Delete": (function(name) {
document.cookie = name+ "=; expires=Thu, 01-Jan-70 00:00:01 GMT;";
})
};
var TBWL_CreateElement = {
"generic": (function(/* func, [...] */) {
var a = [];
for(var i=1; i<arguments.length; i++) { a.push(arguments[i]); }
var res = TBWL_CreateElement[arguments[0]].apply(this, a);
if(typeof(res) === "object") { this.appendChild(res); }
return res;
}),
"Node": (function(tag, className) {
var res = document.createElement(tag);
res.className = className;
res.app = TBWL_CreateElement.generic;
return res;
}),
"Text": (function(text, className) {
var res = TBWL_CreateElement.Node("span", className);
res.appendChild((typeof(text) === "string") ?document.createTextNode(text) :text);
return res;
}),
"Space": (function() {
this.appendChild(document.createTextNode(" "));
}),
"Link": (function(text, href, className) {
var res = TBWL_CreateElement.Node("a", "");
res.appendChild((typeof(text) === "string") ?document.createTextNode(text) :text);
res.setAttribute("href", href);
return TBWL_CreateElement.Text(res, className);
}),
"WPLink": (function(server, ns, title, text, data, className, anchor) {
if(server === "") { server = "/w/"; }
if(ns !== "") { title = ns +':'+ title; }
var href = "/w/index.php?title=" +TBWL_WikiEncodeURI(title.replace(/ /g, "_"));
if(data !== "") { href += "&"+data; }
if(anchor !== "") { href += "#" + TBWL_WikiEncodeAnchor(anchor.replace(/ /g, "_")).replace(/%/g, "."); }
return TBWL_CreateElement.Link(text, href, className);
}),
"AddClass": (function(className) {
if(className !== "") {
var s = this.getAttribute("class");
return(this.className = (s === "" ?"" :s+" ") + className);
}
return className;
}),
"SetAttribute": (function(name, value) {
return this.setAttribute(name, value);
}),
"AddNode": (function(obj) {
if(!obj) { return obj; }
return this.appendChild((typeof(obj)==="string") ?document.createTextNode(obj) :obj);
})
};
var TBWL_StructureToHMTL = function(container, arr) {
if(!arr) { return false; }
var index = 0;
var e;
var iter = function(container) {
var depth = arr[index];
while(true) {
if(typeof(e = arr[index+1]) === "undefined") { return; }
var i = arr[index+2];
var elem = e && container && TBWL_CreateElement.generic.apply(container, e);
index += 2;
switch(i - depth) {
case 1: iter(elem); continue;
case 0: continue;
default: return;
}
}
};
iter(container);
return container;
};
var TBWL_SetHeadline = function(str) {
vTBWL_Headline.replaceChild(TBWL_CreateElement.Text(str, "TBWL_H1"), vTBWL_Headline.firstChild);
};
var TBWL_Replace_Special = function(obj) {
vTBWL_Special_Content = vTBWL_Special_Content.parentNode.replaceChild(obj, vTBWL_Special_Content);
};
var TBWL_Inititalize_Replace_Special = function() {
TBWL_Inititalize_Replace_Special = function() {};
var e = document.getElementById("bodyContent");
var f = e.getElementsByTagName("p");
e.removeChild(f[1]);
vTBWL_Special_Content = f[0];
};
var TBWL_CallArrayFunctions = function(/* funcs, [...] */) {
var funcs = arguments[0];
var a = [];
for(var i=1; i<arguments.length; i++) {
a.push(arguments[i]);
}
for(i=0; i<funcs.length; i++) {
funcs[i].apply(this, a);
}
};
var TBWL_Initialize = function() {
document.getElementById("pt-watchlist").firstChild.setAttribute("href", "/wiki/Special:TBWL");
vTBWL_Headline = document.getElementsByTagName("h1")[0];
TBWL_CallArrayFunctions(vTBWL_Addons);
};
addOnloadHook((function() {
TBWL_Initialize();
}));
/////////////////////////////////////////////////////////////
// tbwlAjax.js
/////////////////////////////////////////////////////////////
var cTBWL_SynchronJAX = false;
var vTBWL_AjaxCallback = [];
var TBWL_AjaxCallback = function(req, callbacks, correctAnswer, usefullEdits) {
TBWL_CallArrayFunctions(callbacks, req.readyState);
if(req.readyState === 4) {
if(req.status === 200) {
var rsp = eval("("+req.responseText+")");
if((rsp = correctAnswer(rsp))) {
rsp = usefullEdits(rsp);
TBWL_CallArrayFunctions(callbacks, rsp[0], rsp[1], rsp[2]);
}
else { TBWL_CallArrayFunctions(callbacks, false); }
}
else { TBWL_CallArrayFunctions(callbacks, req.status); }
}
};
var TBWL_Request = function(req, callbacks, correctAnswer, usefullEdits, what) {
var callback = function() {
TBWL_AjaxCallback(req, callbacks, correctAnswer, usefullEdits);
};
req.open("GET", what, !cTBWL_SynchronJAX);
req.onreadystatechange = callback;
req.send("rand1=" +String(Math.random())+ "&rand2=" +String(Math.random()));
};
/////////////////////////////////////////////////////////////
// tbwlPage.js
/////////////////////////////////////////////////////////////
var cTBWL_UsefullDelta = (new Date()).getTime() - 7 * 24 * 3600000;
var vTBWL_Page_Ajax = false;
var cTBWL_Page_Request = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+"/api.php?action=query&list=watchlist&wllimit=500&wlprop=user|title|ids|flags|comment|timestamp|sizes&format=json";
var vTBWL_Page_Date = "";
var TBWL_Page_Structure = function(obj, p, index) {
var difflen = obj.newlen-obj.oldlen;
var aDate = p("Date") + '.' + p("Month") + '.' + p("FullYear");
var aTime = p("Hours") + ':' + p("Minutes") + ':' + p("Seconds");
var res = [
0, ["Text", aDate, "TBWL_date"+(vTBWL_Page_Date===aDate ?" TBWL_same_date" :'') ],
0, ["Space"],
0, ["Node", "span", "TBWL_entry"],
1, ["WPLink", "", "", obj.title, TBWL_LinkTitle(obj.ns, obj.title), "", "TBWL_title", ""],
1, ["Text", " .. ", "TBWL_delim"],
1, ["WPLink", "", "User", obj.user, TBWL_UserTitle(obj.user), "", "TBWL_user", ""],
1, ["Text", " .. ", "TBWL_delim"],
1, ["WPLink", "", "", obj.title, aTime, "diff=prev&oldid="+obj.revid, "TBWL_time", ""],
1, ["Text", " .. ", "TBWL_delim"],
1, ["Node", "span", "TBWL_len"],
2, ["Text", String(obj.oldlen)+" ", "TBWL_oldlen"],
2, ["Text", String(obj.newlen)+" ", "TBWL_newlen"],
2, (difflen> 0) && ["Text", "+"+String(difflen), "TBWL_difflen TBWL_diffplus"],
2, (difflen===0) && ["Text", String(difflen), "TBWL_difflen TBWL_diffequal"],
2, (difflen< 0) && ["Text", "−"+String(Math.abs(difflen)), "TBWL_difflen TBWL_diffminus"],
1, ["Space"],
1, ["Node", "span", "TBWL_flags"],
2, (typeof(obj.bot) !== "undefined") && ["Text", "B", "TBWL_bot"],
3, ["SetAttribute", "title", "Bot-Edit"],
2, (typeof(obj["new"]) !== "undefined") && ["Text", "N", "TBWL_new"],
3, ["SetAttribute", "title", "kleiner Edit"],
2, (typeof(obj.minor) !== "undefined") && ["Text", "K", "TBWL_minor"],
3, ["SetAttribute", "title", "Seite neu angelegt"],
1, ["Text", " .. ", "TBWL_delim"],
1, ["Node", "span", "TBWL_comment"]
];
TBWL_CommentTitle(2, res, obj.comment||"ohne Kommentar", obj.ns, obj.title);
vTBWL_Page_Date = aDate;
return res;
};
var TBWL_Page_CorrectAnswer = function(obj) {
return (("undefined" !== typeof(obj)) &&
("undefined" !== typeof(obj.query)) &&
("undefined" !== typeof(obj.query.watchlist)) &&
(obj.query.watchlist.length>0)) ?obj.query.watchlist :false;
};
var TBWL_Page_UsefullEdits = function(obj) {
var res = [[], [], []]; // Alle, usefull, !usefull
for(var i=0; i<obj.length; i++) {
var t = /(....)-(..)-(..)T(..):(..):(..)Z/.exec(obj[i].timestamp);
res[2][i] = obj[i];
res[2][i].index = i;
var d = new Date(Number(t[1]), Number(t[2])-1, Number(t[3]), Number(t[4]), Number(t[5]), Number(t[6]));
d.setTime(d.getTime() - d.getTimezoneOffset()*60000);
res[2][i].date = d;
if((res[2][i].usefull = TBWL_Page_UsefullEdits.UsefullEdit(res[2][i]))) { res[0].push(res[2][i]); }
else { res[1].push(res[2][i]); }
}
return res;
};
TBWL_Page_UsefullEdits.UsefullEdit = function(obj) {
return (wgUserName !== obj.user) && (obj.date.getTime() > cTBWL_UsefullDelta);
};
var TBWL_Page_EntryWrapper = function(obj, index) {
var res = TBWL_CreateElement.Node("li", "TBWL_entry");
res.app("AddClass", "TBWL_entry_" + (index%2 === 0 ?"even" :"odd"));
res.app("AddClass", "TBWL_entry_"+ String(index%3) +"mod3");
res.app("AddClass", "TBWL_entry_"+ String(index));
return res;
};
var TBWL_Page_ItemToHTML = function(obj, index) {
var res = TBWL_Page_EntryWrapper(obj, index);
if((typeof(obj.bot)==="undefined") && (typeof(obj["new"])==="undefined") && (typeof(obj.minor)==="undefined")) {
res.app("AddClass", "TBWL_noflags");
}
if((typeof(obj.comment) === "undefined") || (obj.comment === "")) {
res.app("AddClass", "TBWL_nocomment");
}
var p = function(n) {
var i = obj.date["get"+n]();
return(i<10 ?"0"+String(i) :String(i));
};
TBWL_StructureToHMTL(res, TBWL_Page_Structure(obj, p, index));
return res;
};
var TBWL_Page_ItemsToHTML = function(obj) {
var res = TBWL_CreateElement.Node("ol", "");
res.id = "TBWL_entries";
for(var i=0; i<obj.length; i++) {
res.appendChild(TBWL_Page_ItemToHTML(obj[i], i));
}
return res;
};
var TBWL_AjaxCallback_Page = function(obj) {
switch(typeof obj) {
case "number" : switch(obj) {
case(1): TBWL_SetHeadline("(1) Anfrage wird gesendet…", "TBWL_H1"); break;
case(2): TBWL_SetHeadline("(2) Warte auf Antwort…", "TBWL_H1"); break;
case(3): TBWL_SetHeadline("(3) Erhalte Anwort…", "TBWL_H1"); break;
case(4): TBWL_SetHeadline("Verbesserte Beobachtungsliste", "TBWL_H1"); break;
case(0): TBWL_Replace_Special(TBWL_CreateElement.Text("Die Beobachtungsliste enthält keine Einträge", "")); break;
default: TBWL_Replace_Special(TBWL_CreateElement.Text("Fehler-Nummer: "+String(obj), "")); break;
} break;
case "number" : if(obj>=100) { TBWL_Replace_Special(TBWL_CreateElement.Text(obj, "TBWL_HTTP")); } break;
case "boolean": TBWL_Replace_Special(TBWL_CreateElement.Text("Fehlerhafte Antwort", "TBWL_WrongAnswer")); break;
case "object" : TBWL_Replace_Special(TBWL_Page_ItemsToHTML(obj)); break;
}
};
var TBWL_Initialize_Page = function() {
document.title = cTBWL_Title_Page;
vTBWL_Page_Ajax = TBWL_GetAjaxObject();
if(vTBWL_Page_Ajax) {
document.title = cTBWL_Title_Page;
TBWL_SetHeadline("(0) Initialisiere…", "TBWL_H1");
TBWL_Request((vTBWL_Page_Ajax = TBWL_GetAjaxObject()), vTBWL_AjaxCallback, TBWL_Page_CorrectAnswer, TBWL_Page_UsefullEdits, cTBWL_Page_Request);
}
else {
TBWL_SetHeadline("Fehlgeschlagen, kein Ajax-Objekt", "TBWL_H1");
}
};
if((wgNamespaceNumber === -1) && (wgTitle === "TBWL")) {
vTBWL_Addons.unshift(TBWL_Initialize_Page);
vTBWL_AjaxCallback.push(TBWL_AjaxCallback_Page);
vTBWL_Addons.unshift(TBWL_Inititalize_Replace_Special);
}
/////////////////////////////////////////////////////////////
// tbwlHistory.js
/////////////////////////////////////////////////////////////
var vTBWL_History_AjaxCallback = [];
var cTBWL_History_Request = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+"/api.php?action=query&prop=revisions&rvprop=ids|flags|timestamp|user|size|comment&rvlimit=50&format=json&titles=";
var vTBWL_Hist_Date = "";
var TBWL_Hist_Structure = function(obj, p, index) {
var difflen = obj.newlen-obj.oldlen;
var aDate = p("Date") + '.' + p("Month") + '.' + p("FullYear");
var aTime = p("Hours") + ':' + p("Minutes") + ':' + p("Seconds");
var res = [
0, ["Node", "span", "TBWL_comment"]
];
TBWL_CommentTitle(2, res, obj.comment||"ohne Kommentar", obj.ns, obj.title);
vTBWL_Hist_Date = aDate;
return res;
};
var TBWL_Hist_CorrectAnswer = function(obj) {
if("undefined" === typeof(obj)) { return false; }
if("undefined" === typeof(obj.pages)) { return false; }
for(var e in obj) { obj = obj[e]; break; }
return ("undefined" !== typeof(obj.revisions)) && (obj.revisions.length>0) && obj.revisions;
};
var TBWL_Hist_UsefullEdits = function(obj) {
var res = [[], [], []]; // Alle, usefull, !usefull
for(var i=0; i<obj.length; i++) {
var t = /(....)-(..)-(..)T(..):(..):(..)Z/.exec(obj[i].timestamp);
res[2][i] = obj[i];
res[2][i].index = i;
var d = new Date(Number(t[1]), Number(t[2])-1, Number(t[3]), Number(t[4]), Number(t[5]), Number(t[6]));
d.setTime(d.getTime() - d.getTimezoneOffset()*60000);
res[2][i].date = d;
if((res[2][i].usefull = TBWL_Hist_UsefullEdits.UsefullEdit(res[2][i]))) { res[0].push(res[2][i]); }
else { res[1].push(res[2][i]); }
}
return res;
};
TBWL_Hist_UsefullEdits.UsefullEdit = function(obj) {
return true;
};
var TBWL_Hist_EntryWrapper = function(obj, index) {
var res = TBWL_CreateElement.Node("li", "TBWL_entry");
res.app("AddClass", "TBWL_entry_" + (index%2 === 0 ?"even" :"odd"));
res.app("AddClass", "TBWL_entry_"+ String(index%3) +"mod3");
res.app("AddClass", "TBWL_entry_"+ String(index));
return res;
};
var TBWL_Hist_ItemToHTML = function(obj, index) {
var res = TBWL_Hist_EntryWrapper(obj, index);
if((typeof(obj.bot)==="undefined") && (typeof(obj["new"])==="undefined") && (typeof(obj.minor)==="undefined")) {
res.app("AddClass", "TBWL_noflags");
}
if((typeof(obj.comment) === "undefined") || (obj.comment === "")) {
res.app("AddClass", "TBWL_nocomment");
}
var p = function(n) {
var i = obj.date["get"+n]();
return(i<10 ?"0"+String(i) :String(i));
};
TBWL_StructureToHMTL(res, TBWL_Hist_Structure(obj, p, index));
return res;
};
var TBWL_Hist_ItemsToHTML = function(obj) {
var res = TBWL_CreateElement.Node("ol", "");
res.id = "TBWL_entries";
for(var i=0; i<obj.length; i++) {
res.appendChild(TBWL_Hist_ItemToHTML(obj[i], i));
}
return res;
};
var TBWL_AjaxCallback_History = function(obj) {
switch(typeof obj) {
case "number" : switch(obj) {
case(1): TBWL_SetHeadline("(1) Anfrage wird gesendet…", "TBWL_H1"); break;
case(2): TBWL_SetHeadline("(2) Warte auf Antwort…", "TBWL_H1"); break;
case(3): TBWL_SetHeadline("(3) Erhalte Anwort…", "TBWL_H1"); break;
case(4): TBWL_SetHeadline("Verbesserte Beobachtungsliste", "TBWL_H1"); break;
case(0): TBWL_Replace_Special(TBWL_CreateElement.Text("Die Versionsgeschichte enthält keine Einträge", "")); break;
default: TBWL_Replace_Special(TBWL_CreateElement.Text("Fehler-Nummer: "+String(obj)), ""); break;
} break;
case "number" : if(obj>=100) { TBWL_Watchlist_Status(TBWL_CreateElement.Text(obj, "TBWL_HTTP")); } break;
case "boolean": TBWL_Replace_Special(TBWL_CreateElement.Text("Fehlerhafte Antwort", "TBWL_WrongAnswer")); break;
case "object" : TBWL_Replace_Special(TBWL_Hist_ItemsToHTML(obj)); break;
}
};
var TBWL_Initialize_History = function() {
document.title = cTBWL_Title_Page;
vTBWL_Page_Ajax = TBWL_GetAjaxObject();
if(vTBWL_Page_Ajax) {
document.title = cTBWL_Title_Page;
TBWL_SetHeadline("(0) Initialisiere…", "TBWL_H1");
TBWL_Request((vTBWL_Page_Ajax = TBWL_GetAjaxObject()), vTBWL_AjaxCallback, TBWL_Page_CorrectAnswer, TBWL_Page_UsefullEdits, cTBWL_Page_Request);
}
else {
TBWL_SetHeadline("Fehlgeschlagen, kein Ajax-Objekt", "TBWL_H1");
}
};
if((wgNamespaceNumber === -1) && (wgTitle === "HISTORY")) {
vTBWL_Addons.unshift(TBWL_Initialize_History);
vTBWL_Addons.unshift(TBWL_Inititalize_Replace_Special);
vTBWL_AjaxCallback.push(TBWL_AjaxCallback_History);
}
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
if(cTBWL_Screenreader) {
cTBWL_SynchronJAX = true; // (A)JAX-Aufrufe sychron: Blockierender Aufruf für Screenreader; scheint wirkungslos zu sein...
/////////////////////////////////////////////////////////////
// tbwlPageSR.js
/////////////////////////////////////////////////////////////
TBWL_Page_Structure = function(obj, p, index) {
var difflen = obj.newlen-obj.oldlen;
var aDate = p("Date") + '.' + p("Month") + '.' + p("FullYear");
var aTime = p("Hours") + ':' + p("Minutes");
var res = [
0, ["Node", "span", "TBWL_entry"],
1, (aDate !== vTBWL_Page_Date) && ["Node", "h3", ""],
2, ["Text", aDate, "TBWL_date"],
1, ["Node", "h4", ""],
2, ["WPLink", "", "", obj.title, TBWL_LinkTitle(obj.ns, obj.title), "", "TBWL_title", ""],
1, ["WPLink", "", "", obj.title, aTime, "oldid="+obj.revid, "TBWL_time", ""],
1, ["Space"],
1, ["WPLink", "", "User", obj.user, TBWL_UserTitle(obj.user), "", "TBWL_user", ""],
1, ["Space"],
1, ["Node", "span", "TBWL_flags"],
2, (typeof(obj.bot) !== "undefined") && ["Text", "B", "TBWL_bot"],
2, (typeof(obj["new"]) !== "undefined") && ["Text", "N", "TBWL_new"],
2, (typeof(obj.minor) !== "undefined") && ["Text", "K", "TBWL_minor"],
1, ["Space"],
1, ["Node", "span", "TBWL_len"],
2, ["Text", String(obj.oldlen)+" ", "TBWL_oldlen"],
2, ["Text", String(obj.newlen)+" ", "TBWL_newlen"],
2, (difflen > 0) && ["Text", "+"+String(difflen), "TBWL_difflen TBWL_diffplus"],
2, (difflen===0) && ["Text", String(difflen), "TBWL_difflen TBWL_diffequal"],
2, (difflen < 0) && ["Text", "−"+String(Math.abs(difflen)), "TBWL_difflen TBWL_diffminus"],
1, ["Space"],
1, ["Text", "Bytes", ""],
1, ["Space"],
1, ["Node", "span", "TBWL_comment"]
];
if(typeof(obj.comment) === "string") { TBWL_CommentTitle(2, res, obj.comment, obj.ns, obj.title); }
res.push(
1, ["Space"],
1, ["WPLink", "", "", obj.title, "Unterschied", "diff=prev&oldid="+obj.revid, "TBWL_diff", ""],
1, ["Space"],
1, ["WPLink", "", "", obj.title, "Versionen", "action=history", "TBWL_history", ""],
1, ["Space"],
1, ["WPLink", "", "", "Special:Contributions", "Beiträge", "contribs=user&target="+encodeURIComponent(obj.user), "TBWL_contributions", ""]
);
vTBWL_Page_Date = aDate;
return res;
};
TBWL_CommentTitle.doSection = function(depth, res, text, ns, title) {
if(!text) { return; }
var pattern = /\[\[\.*?|(.*?)\]\]|\[\[(.*?)\]\]/g;
text = text.replace(pattern, "$1");
res.push(
depth, ["Node", "span", "TBWL_SectionLink"],
depth+1, ["WPLink", "", "", title, "#", "", "", text],
depth+2, ["Text", text, ""],
depth+2, ["SetAttribute", "title", title+"#"+text]);
};
TBWL_Page_ItemsToHTML = function(obj) {
var res = TBWL_CreateElement.Node("ul", "");
res.id = "TBWL_entries";
for(var i=0; i<obj.length; i++) {
res.appendChild(TBWL_Page_ItemToHTML(obj[i], i));
}
return res;
};
/////////////////////////////////////////////////////////////
// tbwlJAWS.js
/////////////////////////////////////////////////////////////
var TBWL_AjaxCallback_JawsHack = function(obj) {
if(typeof(obj) !== "object") { return; }
var e = document.getElementById("searchInput");
if(!e) { return; }
var s = e.value;
e.value = String(Math.random());
window.setTimeout((function() {
e.value = s;
}), 100);
};
vTBWL_AjaxCallback.push(TBWL_AjaxCallback_JawsHack);
}