Benutzer:CF/revisionMainspaceCounter.js
Zur Navigation springen
Zur Suche springen
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
//===========================================================================
// Zählt die Anzahl der Bearbeitungen eines Benutzers
// Bearbeitung von [[MediaWiki:Gadget-revisionCounter.js]]
//===========================================================================
var revisionMainspaceCounter =
{
queryUrl : function(i) { return (i < revisionMainspaceCounter.queries.length && i >= 0 && revisionMainspaceCounter.queries[i] !== null) ? (wgScriptPath + '/api.php?action=query&list=usercontribs&ucuser=' + encodeURIComponent(revisionMainspaceCounter.queries[i].User) + '&ucnamespace=' + revisionMainspaceCounter.queries[i].Namespaces + '&ucprop=ids&format=json&uclimit=max&callback=revisionMainspaceCounter.queryResult&requestid=' + i) : null; },
queries : [
/*{
revisionCountUser : 0,
User : wgUserName,
Namespaces : '0',
OutputId : 'revisionMainspaceCounter',
ReplaceFirstChild : false
}*/
],
execute : function()
{
for (var i=0; i<revisionMainspaceCounter.queries.length; ++i)
if (revisionMainspaceCounter.queryUrl(i))
importScriptURI(revisionMainspaceCounter.queryUrl(i));
},
queryResult : function(res)
{
if (!res['query'] || !res['query']['usercontribs'] || !res['requestid'] || res.requestid >= revisionMainspaceCounter.queries.length || res.requestid < 0 || revisionMainspaceCounter.queries[res.requestid] === null) return;
var revs = res['query']['usercontribs'];
var i = res.requestid;
revisionMainspaceCounter.queries[i].revisionCountUser += revs.length;
if (res && res['query-continue'])
{
importScriptURI(revisionMainspaceCounter.queryUrl(i) + '&ucstart=' + encodeURIComponent(res['query-continue'].usercontribs.ucstart));
}
else if (document.getElementById(revisionMainspaceCounter.queries[i].OutputId))
{
var info = document.createElement("span");
info.appendChild(document.createTextNode(revisionMainspaceCounter.queries[i].revisionCountUser));
var infoTitle = document.createAttribute("title");
infoTitle.nodeValue = revisionMainspaceCounter.queries[i].User + " hat " + revisionMainspaceCounter.queries[i].revisionCountUser + " Bearbeitungen i" + (revisionMainspaceCounter.queries[i].Namespaces==="0" ? "m Hauptnamensraum." : ((revisionMainspaceCounter.queries[i].Namespaces.indexOf("|")>-1 ? "n den Namensräumen ": "m Namensraum ") + revisionMainspaceCounter.queries[i].Namespaces));
info.setAttributeNode(infoTitle);
var e = document.getElementById(revisionMainspaceCounter.queries[i].OutputId);
if (revisionMainspaceCounter.queries[i].ReplaceFirstChild) e.replaceChild(info, e.firstChild);
else e.appendChild(info);
revisionMainspaceCounter.queries[i] = null;
}
},
findCounter : function()
{
var found = 0;
$('span.revisionMainspaceCounter').each(function()
{
var i = this.innerHTML.split("#");
if (i.length == 4 && ++found)
revisionMainspaceCounter.queries.push({
revisionCountUser : 0,
User : i[0],
Namespaces : i[1].replace(/ /g,"").split(",").join("|"),
OutputId : i[2],
ReplaceFirstChild : i[3]==="j"
});
});
if (found) revisionMainspaceCounter.execute();
}
};
$(revisionMainspaceCounter.findCounter);