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

Z Nonsensopedii, polskiej encyklopedii humoru
M (40%)
M (ciekawe, czy to działa)
 
(Nie pokazano 8 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 31: Linia 31:


ozetka.listuj = function()
ozetka.listuj = function()
/* listuje nicki użytkowników, którzy edytowali ostatnio */
{
{
var a = document.getElementsByTagName('a');
var a = document.getElementById("bodyContent").getElementsByTagName("a");
for(i in a) /* sprawdzamy wszystkie linki na stronie, trochę prowizorka */
for(i in a) /* sprawdzamy wszystkie linki na stronie, trochę prowizorka */
{
{
//alert(a[i].className);
if(a[i].className=='mw-userlink')
if(a[i].className=='mw-userlink')
{
{
var nick = a[i].title.replace(/|(User:|Użytkownik:)/i);
//alert('1');
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');
this.lista[nick] = new Object();
this.lista[nick] = new Object();
this.lista[nick].ukryty = false;
this.lista[nick].ukryty = false;
//alert('3');
this.lista[nick].pokaz_ukryj = function()
this.lista[nick].pokaz_ukryj = function()
{
{
Linia 54: Linia 59:
this.ukryty=!this.ukryty;
this.ukryty=!this.ukryty;
}
}
//alert('4');
this.lista[nick].ukryj = function()
this.lista[nick].ukryj = function()
{
{
Linia 69: Linia 75:
}
}
this.lista[nick].lista = new Array();
this.lista[nick].lista = new Array();
//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;
Linia 81: Linia 88:
if(!ozetka.otwarta())
if(!ozetka.otwarta())
{
{
alert('aaa');
return -1;
return -1;
}
}
Linia 100: Linia 106:
}
}


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

Aktualna wersja na dzień 18: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();});