Naar inhoud springen

Gebruiker:Josse.Cottenier/EditCount.js

Uit Wikipedia, de vrije encyclopedie

Opmerking: na het publiceren is het wellicht nodig uw browsercache te legen om de veranderingen te zien.

  • Firefox / Safari: houd Shift ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
  • Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
  • Edge: houd Ctrl ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5.
/**
 * EDITCOUNTITIS
 *
 * Counts edit for specified user
 * 'Adds' special page [[Speciaal:EditCount]]
 * But it doesn't really exist though
 * License: CC-BY-SA 3.0 2010 by Apoo.
**/
var ECobject1 = ""
var ECuser = ""
var ECeditcount = 0
var ECeditarray = new Array()
    ECeditarray[0] = new Array()
    ECeditarray[1] = new Array()
    ECeditarray[2] = new Array()
    ECeditarray[3] = new Array()
    ECeditarray[4] = new Array()
    ECeditarray[5] = new Array()
    ECeditarray[6] = new Array()
    ECeditarray[7] = new Array()
    ECeditarray[8] = new Array()
    ECeditarray[9] = new Array()
    ECeditarray[10] = new Array()
    ECeditarray[11] = new Array()
    ECeditarray[12] = new Array()
    ECeditarray[13] = new Array()
    ECeditarray[14] = new Array()
    ECeditarray[15] = new Array()
    ECeditarray[274] = new Array()
    ECeditarray[275] = new Array()
    ECeditarray[1000] = new Array()
    ECeditarray[1001] = new Array()
    ECeditarray[1002] = new Array()
    ECeditarray[1003] = new Array()
    ECeditarray[1004] = new Array()
    ECeditarray[1005] = new Array()

var ECapi = sajax_init_object();

function ECstart() {
  if(document.getElementById('mw_contentholder')) {
    ECobject1 = document.getElementById('mw_contentholder') //Modern
  }
  else if(document.getElementById('content')) {
    ECobject1 = document.getElementById('content') //Monobook
  }
  if(document.location.href.indexOf('?user=') != -1) {
    ECuser = document.location.href.substring(document.location.href.indexOf('?user=')+6,document.location.href.length)
  }
  else {
    ECuser = wgUserName
  }
  if (document.location.href.indexOf('wiki/Speciaal:EditCount') != -1) {
    if(document.title) { document.title = "Aantal bewerkingen voor "+ECuser+" - Wikipedia" }
    if(document.getElementById('mw_contentholder')) {
      document.getElementById('firstHeading').innerText = "Editcounter" //Modern
    }
    ECobject1.innerHTML = "<h1 id='firstHeading' class='firstHeading'>Bewerkingen tellen van: "+ECuser+"</h1><div id='bodyContent'><div id='contentSub'></div><p>Via deze pagina kun je de bewerkingen van een gebruiker tellen. Deze pagina telt alleen de bijdragen die op dit moment op de wiki staan en dus niet de verwijderde bijdragen. Dit nummer kan daarom ook verschillen van het nummer in 'mijn voorkeuren'. Niet iedereen kan deze pagina zien, dus wees voorzichtig met geven van links naar deze pagina (dat kan behoorlijk frustrerend zijn).</p><form class='visualClear'><fieldset><legend>Het aantal bewerkingen tellen</legend><b>Bezig met het tellen van de bewerkingen van: </b>"+ECuser+"</span>"
    ECapi.open('GET', wgScriptPath + '/api.php?action=query&format=json&list=usercontribs&ucprop=timestamp|title&uclimit=500&ucuser='+ECuser, true);
    ECapi.onreadystatechange = ECcore;
    ECapi.send(null)
  }
}

function ECaddlinks() {
  //Will add links to sidebar for easy counting!
  if( wgNamespaceNumber == 2 || wgNamespaceNumber == 3) {
    var o1 = document.getElementById('p-tb').getElementsByTagName('ul')[0]
    var t1 = wgTitle
    if (t1.indexOf('/') != -1) {
      t1 = t1.substring(0,t1.indexOf('/'))
    }
    o1.innerHTML += "<li id=\"t-editcount\"><a href=\"/wiki/Speciaal:EditCount?user="+t1+"\" title=\"Tel bewerkingen van een gebruiker\">Bewerkingen tellen</a></li>"
  }
}

function ECcore() {
  if(ECapi.readyState == 4) {
    if(ECapi.status == 200) {
      var info = eval("("+ECapi.responseText+")")
      if(info['query-continue']) {
        //More edits to examine!
        ECeditcount += (info['query']['usercontribs'].length)
        var c1 = 0
        while( info['query']['usercontribs'][info['query']['usercontribs'].length-c1] ==
               info['query']['usercontribs'][info['query']['usercontribs'].length-c1-1] ) {
          c1++
          if(c1 == 0) { ECeditcount-- }
          ECeditcount--
        }
        c3 = info['query']['usercontribs'].length-c1
        for (var c2=0;c2 < c3;c2++) {
          if (!ECeditarray[info['query']['usercontribs'][c2]['ns']]) {
            ECeditarray[info['query']['usercontribs'][c2]['ns']] = new Array();
          }
          ECeditarray[info['query']['usercontribs'][c2]['ns']][ECeditarray[info['query']['usercontribs'][c2]['ns']].length] = new Array()
          ECeditarray[info['query']['usercontribs'][c2]['ns']][ECeditarray[info['query']['usercontribs'][c2]['ns']].length-1]['title'] = info['query']['usercontribs'][c2]['title']
          ECeditarray[info['query']['usercontribs'][c2]['ns']][ECeditarray[info['query']['usercontribs'][c2]['ns']].length-1]['timestamp'] = info['query']['usercontribs'][c2]['timestamp']
        }
        ECapi.open('GET', wgScriptPath + '/api.php?action=query&format=json&list=usercontribs&ucprop=timestamp|title&uclimit=500&ucuser='+ECuser+'&ucstart='+info['query-continue']['usercontribs']['ucstart'], true);
        ECapi.onreadystatechange = ECcore
        ECapi.send(null)
        ECobject1.innerHTML += "."
      }
      else {
        //We reached the end!
        ECeditcount += (info['query']['usercontribs'].length)
        c3 = info['query']['usercontribs'].length
        for (var c2=0;c2 < c3;c2++) {
          ECeditarray[info['query']['usercontribs'][c2]['ns']][ECeditarray[info['query']['usercontribs'][c2]['ns']].length] = new Array()
          ECeditarray[info['query']['usercontribs'][c2]['ns']][ECeditarray[info['query']['usercontribs'][c2]['ns']].length-1]['title'] = info['query']['usercontribs'][c2]['title']
          ECeditarray[info['query']['usercontribs'][c2]['ns']][ECeditarray[info['query']['usercontribs'][c2]['ns']].length-1]['timestamp'] = info['query']['usercontribs'][c2]['timestamp']
        }
        var t1 = "<h1 id='firstHeading' class='firstHeading'>Bewerkingen tellen van: "+ECuser+"</h1><div id='bodyContent'><div id='contentSub'></div><p>Via deze pagina kun je de bewerkingen van een gebruiker tellen. Deze pagina telt alleen de bijdragen die op dit moment op de wiki staan en dus niet de verwijderde bijdragen. Dit nummer kan daarom ook verschillen van het nummer in 'mijn voorkeuren'. Niet iedereen kan deze pagina zien, dus wees voorzichtig met geven van links naar deze pagina (dat kan behoorlijk frustrerend zijn).</p><form class='visualClear'><fieldset><legend>Het aantal bewerkingen tellen</legend>"
         + "Gebruiker <b>" + ECuser + "</b> heeft <b>" + ECeditcount + "</b> wijzigingen gedaan<br/><br/>"
         + "<b>De wijzigingen vonden plaats in de volgende naamruimtes:</b><br/><ul>";
        if(ECeditarray[0].length > 0) { t1+="<tt><b>Hoofdnaamruimte: </b> "+ECeditarray[0].length+"</tt><br/>" }
        if(ECeditarray[1].length > 0) { t1+="<tt><b>Overleg: </b> "+ECeditarray[1].length+"</tt><br/>" }
        if(ECeditarray[2].length > 0) { t1+="<tt><b>Gebruiker: </b> "+ECeditarray[2].length+"</tt><br/>" }
        if(ECeditarray[3].length > 0) { t1+="<tt><b>Overleg gebruiker: </b> "+ECeditarray[3].length+"</tt><br/>" }
        if(ECeditarray[4].length > 0) { t1+="<tt><b>Wikipedia: </b> "+ECeditarray[4].length+"</tt><br/>" }
        if(ECeditarray[5].length > 0) { t1+="<tt><b>Overleg Wikipedia: </b> "+ECeditarray[5].length+"</tt><br/>" }
        if(ECeditarray[6].length > 0) { t1+="<tt><b>Bestand: </b> "+ECeditarray[6].length+"</tt><br/>" }
        if(ECeditarray[7].length > 0) { t1+="<tt><b>Overleg bestand: </b> "+ECeditarray[7].length+"</tt><br/>" }
        if(ECeditarray[8].length > 0) { t1+="<tt><b>MediaWiki: </b> "+ECeditarray[8].length+"</tt><br/>" }
        if(ECeditarray[9].length > 0) { t1+="<tt><b>Overleg MediaWiki: </b> "+ECeditarray[9].length+"</tt><br/>" }
        if(ECeditarray[10].length > 0) { t1+="<tt><b>Sjabloon: </b> "+ECeditarray[10].length+"</tt><br/>" }
        if(ECeditarray[11].length > 0) { t1+="<tt><b>Overleg sjabloon: </b> "+ECeditarray[11].length+"</tt><br/>" }
        if(ECeditarray[12].length > 0) { t1+="<tt><b>Help: </b> "+ECeditarray[12].length+"</tt><br/>" }
        if(ECeditarray[13].length > 0) { t1+="<tt><b>Overleg help: </b> "+ECeditarray[13].length+"</tt><br/>" }
        if(ECeditarray[14].length > 0) { t1+="<tt><b>Categorie: </b> "+ECeditarray[14].length+"</tt><br/>" }
        if(ECeditarray[15].length > 0) { t1+="<tt><b>Overleg categorie: </b> "+ECeditarray[15].length+"</tt><br/>" }
        if(ECeditarray[274].length > 0) { t1+="<tt><b>Widget: </b> "+ECeditarray[274].length+"</tt><br/>" }
        if(ECeditarray[275].length > 0) { t1+="<tt><b>Widget talk: </b> "+ECeditarray[275].length+"</tt><br/>" }
        if(ECeditarray[1000].length > 0) { t1+="<tt><b>WikiForum: </b> "+ECeditarray[1000].length+"</tt><br/>" }
        if(ECeditarray[1001].length > 0) { t1+="<tt><b>Overleg WikiForum: </b> "+ECeditarray[1001].length+"</tt><br/>" }
        if(ECeditarray[1002].length > 0) { t1+="<tt><b>Mededeling: </b> "+ECeditarray[1002].length+"</tt><br/>" }
        if(ECeditarray[1003].length > 0) { t1+="<tt><b>Overleg mededeling: </b> "+ECeditarray[1003].length+"</tt><br/>" }
        if(ECeditarray[1004].length > 0) { t1+="<tt><b>Tijdcode verleden: </b> "+ECeditarray[1004].length+"</tt><br/>" }
        if(ECeditarray[1005].length > 0) { t1+="<tt><b>Overleg tijdcode verleden: </b> "+ECeditarray[1005].length+"</tt><br/>" }
        t1+="<tt><b>Anders: </b>"+(ECeditcount-ECeditarray[0].length- ECeditarray[1].length- ECeditarray[2].length- ECeditarray[3].length- ECeditarray[4].length- ECeditarray[5].length- ECeditarray[6].length- ECeditarray[7].length- ECeditarray[8].length- ECeditarray[9].length- ECeditarray[10].length- ECeditarray[11].length- ECeditarray[12].length- ECeditarray[13].length- ECeditarray[14].length- ECeditarray[15].length- ECeditarray[274].length- ECeditarray[275].length- ECeditarray[1000].length- ECeditarray[1001].length- ECeditarray[1002].length- ECeditarray[1003].length- ECeditarray[1004].length- ECeditarray[1005].length)+"</tt><br/>"
        t1+="</div></ul>"

        ECobject1.innerHTML = t1
      }
    }
  }
}

$(ECstart);
$(ECaddlinks);