Weitere Optionen
Rene (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
CF (Diskussion | Beiträge) |
||
| Zeile 378: | Zeile 378: | ||
} | } | ||
//================================================================================ | //================================================================================ | ||
//=========================================================================== | |||
// Zählt die Anzahl der Bearbeitungen eines Benutzers | |||
// Siehe auch [[Benutzer:CF/revisionMainspaceCounter.js]] | |||
// 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; | |||
$j('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(); | |||
} | |||
}; | |||
addOnloadHook(revisionMainspaceCounter.findCounter); | |||