Benutzer:CF/revisionMainspaceCounter.js

aus Stargate Wiki, dem deutschsprachigen Stargate-Lexikon
Wechseln zu: Navigation, Suche

Hinweis: Leere nach dem Speichern 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: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
//===========================================================================
// 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);