Wikireporter:Saper/scripts/edithysteria.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.
// EditHysteria script by [[:pl:User:ChP94]]
// Standard fix by [[:pl:User:Saper]]
// Released under the [http://www.gnu.org/licenses/gpl.txt GNU Public License (GPL)]
// <pre><nowiki>
var eh_ajax; var cont;
function eh_init() {
        var conts = document.getElementsByTagName("h1");
	for(i=0;i<conts.length;i++) {
	    var c = conts[i];
            if(c.getAttribute("class")=="firstHeading" || 
                  c.getAttribute("class")=="pagetitle") {
                  cont = c; break;
            }
        }
        if(!cont) {
            cont = document.getElementById("section-0");
        }
 
	eh_initAjax();
	eh_getHistory();
}
 
//Function from QuickEdit 2 by ASM
function eh_initAjax()
{
   try
   {
      if (window.XMLHttpRequest)
      {
         eh_ajax = new XMLHttpRequest();
         eh_ajax.overrideMimeType('text/xml');
      }
 
      else if (window.ActiveXObject)
         eh_ajax = new ActiveXObject('Microsoft.XMLHTTP');
 
      else throw 'Nie ma AJAX-ów!';
   }
 
   catch (e)
   {
      return false;
   }
 
   if (!eh_ajax)
   {
      qeShowError('Błąd tworzenia obiektu ajax');
      return false;
   }
 
   return true;
}
 
 
function eh_getHistory()
{
   var title = encodeURIComponent(mw.config.get('wgPageName'));
 
 
   eh_ajax.onreadystatechange = eh_getHistotyResponse;
 
   eh_ajax.open('GET', 'http://pl.wikinews.org/w/index.php?title='+title+'&action=history', true);
   eh_ajax.send(null);
}
 
 
function eh_getHistotyResponse()
{
     if (eh_ajax.readyState != 4 || eh_ajax.status != 200)
         return;
 
      var xml = eh_ajax.responseXML;
	var title = encodeURIComponent(mw.config.get('wgPageName'));
 
        var spans = xml.getElementsByTagName("span");
	var user = ""; var diff = 0; var l_user = ""; var l_diff = -1; var count = 1;
 
	for(i=0;i<spans.length;i++) {
	    var s = spans[i];
 	    if(s.getAttribute("class") == "history-user") {
 	       var u = s.firstChild.innerHTML;
                if(l_diff == -1) { 
                         try {
                              l_diff = s.previousSibling.previousSibling.previousSibling.previousSibling.getAttribute("value");
                         }
                         catch (e) {
 
                         }
                }
		if(l_user == "") l_user = u;
		else if(u != l_user) { 
			user = u; 
			diff=s.previousSibling.previousSibling.previousSibling.previousSibling.getAttribute("value"); 
			break; 
		}
		else {
			count++;
		}
	    }
	}
	if(l_diff!=-1){
		prevuSpan = document.createElement("span");
		prevuSpan.style.fontSize = "8pt";
		prevuSpan.style.marginLeft = "10px";
                prevuSpan.style.lineHeight = "1em";
		prevuSpan.innerHTML = "<br />Ostatnio <a href=\"/w/index.php?title=" + wgPageName + "&diff=" + l_diff + "&oldid=" + diff + "\"/>edytowany</a>" +
			" przez <a href=\"/wiki/Wikireporter:" + l_user + "\">" + l_user + "</a>" +
			" (<a href=\"/wiki/Specjalna:Wkład/"+l_user+"\">wkład</a>, <a href=\"/wiki/Dyskusja_wikireportera:"+l_user+"\">dyskusja</a>, <a href=\"/wiki/Specjalna:Blokuj/"+l_user+"\">zablokuj</a>) (" + count + "x).";
                if(user != "") {
			prevuSpan.innerHTML += " Wcześniejszym edytorem był user " + "<a href=\"/wiki/Wikireporter:" + user + "\">" + user + "</a>" + 
			" (<a href=\"/wiki/Specjalna:Wkład/"+user+"\">wkład</a>, <a href=\"/wiki/Dyskusja_wikireportera:"+user+"\">dyskusja</a>, <a href=\"/wiki/Specjalna:Blokuj/"+user+"\">zablokuj</a>)";
                }
		cont.appendChild(prevuSpan);
	}
        else if(l_user!=""){
		prevuSpan = document.createElement("span");
		prevuSpan.style.fontSize = "8pt";
		prevuSpan.style.marginLeft = "10px";
                prevuSpan.style.lineHeight = "1em";
		prevuSpan.innerHTML = "<br />To jest jedyna wersja tego artykułu. " +
			"Jej twórcą jest <a href=\"/wiki/Wikireporter:" + l_user + "\">" + l_user + "</a>" +
			" (<a href=\"/wiki/Specjalna:Wkład/"+l_user+"\">wkład</a>, <a href=\"/wiki/Dyskusja_wikireportera:"+l_user+"\">dyskusja</a>, <a href=\"/wiki/Specjalna:Blokuj/"+l_user+"\">zablokuj</a>).";
		cont.appendChild(prevuSpan);
	}
}
 
$(eh_init);