Wikireporter:Krzysiu Jarzyna/LABS/quickeditcounter.js

Z Wikinews, wolnego źródła informacji.

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
 // QuickEditCounter script by [[w:pl:User:ChP94]]
 // Dostosowanie do Wikinews Krzysiu_Jarzyna
 // Released under the [http://www.gnu.org/licenses/gpl.txt GNU Public License (GPL)]
// <pre><nowiki>
var qec_ajax;
var qec_username;

//Function from QuickEdit 2 by ASM
function qec_initAjax()
{
   try
   {
      if (window.XMLHttpRequest)
      {
         qec_ajax = new XMLHttpRequest();
         qec_ajax.overrideMimeType('text/xml');
      }

      else if (window.ActiveXObject)
         qec_ajax = new ActiveXObject('Microsoft.XMLHTTP');

      else throw 'Nie ma AJAX-ów!';
   }

   catch (e)
   {
      return false;
   }

   if (!qec_ajax)
   {
      alert('Błąd tworzenia obiektu ajax');
      return false;
   }

   return true;
}


function qec_onload()
{
 if(wgNamespaceNumber!=2&&wgNamespaceNumber!=3)
  return;

 qec_initAjax();
 qec_username = wgPageName;
 qec_username = qec_username.substring(qec_username.indexOf(':') + 1); 
 qec_username = qec_username.replace(/\/.*$/, '');
 qec_username = encodeURIComponent(qec_username);


 qec_ajax.onreadystatechange = qec_processResponse;
 qec_ajax.open('GET', 'http://pl.wikinews.org/w/query.php?what=contribcounter&format=xml&titles=User:'+qec_username, true);
 qec_ajax.send(null);
}

function qec_processResponse()
{
 if (qec_ajax.readyState != 4 || qec_ajax.status != 200)
    return;

 var xml = qec_ajax.responseXML;
 var conts = document.getElementsByTagName("h1");
 for(i=0;i<conts.length;i++) {
    var c = conts[i];
    if(c.getAttribute("class")=="firstHeading") {
           cont = c; break;
    }
 }
 if(!cont) {
    cont = document.getElementById("section-0");
 }
 if(xml.getElementsByTagName("count").length>0) { 
  count = xml.getElementsByTagName("count")[0].textContent;
  elem = document.createElement("span");
  elem.style.fontSize = "8pt";
  elem.style.marginLeft = "10px";
  elem.style.lineHeight = "1em";
  elem.innerHTML="<br />Ten użytkownik ma łącznie <a href=\"http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user="+qec_username+"&dbname=plwikinews_p\">"+count+"</a> edycji.";
  cont.appendChild(elem);
 }
}

$(qec_onload);
//</nowiki></pre>