Wikipedysta:Saper/scripts/edithysteria.js
Z Wikipedii
Uwaga: po zapisaniu zmian musisz zaktualizować pamięć podręczną (cache) przeglądarki: Mozilla / Firefox: wciśnij Reload (lub CTRL+R), IE / Opera: CTRL+F5, Safari: CMD+R, Konqueror CTRL+R.
// 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(wgPageName); eh_ajax.onreadystatechange = eh_getHistotyResponse; eh_ajax.open('GET', 'http://pl.wikipedia.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(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/Wikipedysta:" + l_user + "\">" + l_user + "</a>" + " (<a href=\"/wiki/Specjalna:Wkład/"+l_user+"\">wkład</a>, <a href=\"/wiki/Dyskusja_wikipedysty:"+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/Wikipedysta:" + user + "\">" + user + "</a>" + " (<a href=\"/wiki/Specjalna:Wkład/"+user+"\">wkład</a>, <a href=\"/wiki/Dyskusja_wikipedysty:"+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/Wikipedysta:" + l_user + "\">" + l_user + "</a>" + " (<a href=\"/wiki/Specjalna:Wkład/"+l_user+"\">wkład</a>, <a href=\"/wiki/Dyskusja_wikipedysty:"+l_user+"\">dyskusja</a>, <a href=\"/wiki/Specjalna:Blokuj/"+l_user+"\">zablokuj</a>)."; cont.appendChild(prevuSpan); } } addOnloadHook(eh_init); // </nowiki></pre>