Użytkownik:Vae/ozetka.js: Różnice pomiędzy wersjami

Z Nonsensopedii, polskiej encyklopedii humoru
M (:/ kurde)
M (ciekawe, czy to działa)
 
Linia 39: Linia 39:
if(a[i].className=='mw-userlink')
if(a[i].className=='mw-userlink')
{
{
alert('1');
//alert('1');
var nick = a[i].title.replace(/(User|Użytkownik|Specjalna:Wkład|Special:Contributions)./i);
var nick = a[i].title.replace(/(User|Użytkownik|Specjalna:Wkład|Special:Contributions)./i);
if(typeof(this.lista[nick]) == 'undefined')
if(typeof(this.lista[nick]) == 'undefined')
{
{
alert('2');
//alert('2');
this.lista[nick] = new Object();
this.lista[nick] = new Object();
this.lista[nick].ukryty = false;
this.lista[nick].ukryty = false;
alert('3');
//alert('3');
this.lista[nick].pokaz_ukryj = function()
this.lista[nick].pokaz_ukryj = function()
{
{
Linia 59: Linia 59:
this.ukryty=!this.ukryty;
this.ukryty=!this.ukryty;
}
}
alert('4');
//alert('4');
this.lista[nick].ukryj = function()
this.lista[nick].ukryj = function()
{
{
Linia 75: Linia 75:
}
}
this.lista[nick].lista = new Array();
this.lista[nick].lista = new Array();
alert('5');
//alert('5');
}
}
this.lista[nick].lista[this.lista[nick].lista.length()]=a[i].parentNode.parentNode.parentNode;
this.lista[nick].lista[this.lista[nick].lista.length()]=a[i].parentNode.parentNode.parentNode;

Aktualna wersja na dzień 17:41, 19 maj 2011

/*********************************************************/
/* Skrypt ukrywający na OZ zmiany wybranego użytkownika  */
/* Autor: Vae, licencja: Creative Commons Atribution     */
/* http://creativecommons.org/licenses/by/3.0/           */
/* W skrócie: rób co chcesz, tylko nie usuwaj tego tutaj.*/
/*********************************************************/

var ozetka = new Object();

ozetka.otwarta = function()
/* Zwraca true, jeśli obecna strona jest ozetką */
/* lub false w przeciwnym przypadku */
{
    return wgPageName.match(/[Ss]pecjalna.[Oo]statnie[_ ]zmiany/);
}

ozetka.lista = new Array(); /* Lista użytkowników, uzupełniana przez metodę "listuj" */

ozetka.fieldset = function()
/* Zwraca referencję do obiektu ramki p.t. "Opcje ostatnich zmian" */
{
    var l = document.getElementsByTagName('fieldset');
    for (i in l)
    {
        if(l[i].className=='rcoptions')
        {
            return l[i];
        }
    }
}

ozetka.listuj = function()
/* listuje nicki użytkowników, którzy edytowali ostatnio */
{
    var a = document.getElementById("bodyContent").getElementsByTagName("a");
    for(i in a) /* sprawdzamy wszystkie linki na stronie, trochę prowizorka */
    {
        //alert(a[i].className);
        if(a[i].className=='mw-userlink')
        {
            //alert('1');
            var nick = a[i].title.replace(/(User|Użytkownik|Specjalna:Wkład|Special:Contributions)./i);
            if(typeof(this.lista[nick]) == 'undefined')
            {   
                //alert('2');
                this.lista[nick] = new Object();
                this.lista[nick].ukryty = false;
                //alert('3');
                this.lista[nick].pokaz_ukryj = function()
                {
                    if(this.ukryty)
                    {
                        this.pokaz();
                    }
                    else
                    {
                        this.ukryj();
                    }
                    this.ukryty=!this.ukryty;
                }
                //alert('4');
                this.lista[nick].ukryj = function()
                {
                    for(i in this.lista)
                    {
                        this.lista[i].style.display='none';
                    }
                }
                this.lista[nick].pokaz = function()
                {
                    for(i in this.lista)
                    {
                        this.lista[i].style.display='';
                    }
                }
                this.lista[nick].lista = new Array();
                //alert('5');
            }
            this.lista[nick].lista[this.lista[nick].lista.length()]=a[i].parentNode.parentNode.parentNode;
            break;
        }
    }
}

ozetka.init = function()
/* Wstawia przyciski */
{
    if(!ozetka.otwarta())
    {
        return -1;
    }
    var d_ramka = this.fieldset(); 
    var d_linia = document.createElement("hr");
    d_ramka.appendChild(d_linia);

    var d_lista = document.createElement("div");
    this.listuj();
    for(i in this.lista)
    {
        var c = document.createElement("a");
        d_lista.appendChild(c);
        c.innerHTML = i;
        c.href="javascript:void(0);"
        c.onclick="ozetka.lista[\""+nick+"\"].pokaz_ukryj()";
    }
}

window.addOnloadHook(function(){ozetka.init();});