Utente:L0ll0/statopersonale.js
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5.
/* <pre> */
// Codice originale su http://en.wikipedia.org/wiki/User:Topaz/Wikiscripts
// Istruzioni su http://it.wikisource.org/wiki/Utente:IPork/scripts/Indicatore_di_stato
iPork.indicatoredistato = new Object();
iPork.indicatoredistato.version = 20070302;
// INIZIO SEZIONE MODIFICABILE DALL'UTENTE
// Modifica le indicazioni come preferisci. Puoi aggiungere nuove linee, purchè si mantenga la
// stessa forma (parola:'codice'). Si può usare anche il linguaggio wiki per formattare le scritte.
// Si suggerisce di lasciare inalterate i tre stati principali (online, occupato e offline)
iPork.indicatoredistato.statuscode = {
online:'<font color="green">online</font>',
occupato:'<font color="orange"> occupato </font>',
offline:'<font color="red">offline</font>'
};
// true: permette di usare il linguaggio wiki nel codice (se attivato la pagina non si aggiorna automaticamente)
// false: non puoi usare il linguaggio wiki nel codice
iPork.indicatoredistato.enablewikimarkup = false;
// true: mostra il menu in alto a destra
// false: mostra il menu a sinistra sotto la sezione "strumenti"
iPork.indicatoredistato.usepersonalbar = true;
// true: aggiunge la pagina Utente:NOME/Stats nella lista degli osservati speciali
// false: non mostra la pagina nella lista degli osservati speciali
iPork.indicatoredistato.watchstatus = false;
// FINE SEZIONE MODIFICABILE DALL'UTENTE
iPork.indicatoredistato.buttonlist = {};
iPork.indicatoredistato.oldonload = window.onload;
window.onload = function() {
if (typeof iPork.indicatoredistato.oldonload == "function") {
setTimeout('iPork.indicatoredistato.oldonload()',50);
}
if (!iPork.indicatoredistato.usepersonalbar) {
iPork.wputil.addsidepanel("tz-indicatoredistato", "indicatore di stato");
}
var buttonlist = [];
for (status in iPork.indicatoredistato.statuscode) {
buttonlist.push(status);
iPork.indicatoredistato.buttonlist[status] =
iPork.wputil.addsidepanelbutton(
iPork.indicatoredistato.usepersonalbar ? "p-personal" : "tz-indicatoredistato",
status,
'javascript:iPork.indicatoredistato.setstatus("' + status + '")'
);
}
if (iPork.indicatoredistato.usepersonalbar) {
for(var i=0; i<buttonlist.length; i++) {
with (iPork.indicatoredistato.buttonlist[buttonlist[i]].style) {
if (i != buttonlist.length-1) {
borderRight = "1px solid #aaaaaa";
paddingRight = "2px";
}
if (i != 0) {
marginLeft = "0px";
paddingLeft = "2px";
}
}
}
}
var spanlist = document.getElementsByTagName("span");
for (var i=0; i<spanlist.length; i++) {
if (spanlist[i].className == "iPork.indicatoredistato.curstatus."+escape(iPork.wputil.username())) {
iPork.util.cookie.set("iPork.indicatoredistato.curstatus", spanlist[i].innerHTML);
}
}
iPork.indicatoredistato.update();
};
iPork.indicatoredistato.setstatus = function(statusname) {
iPork.wputil.setpagecontent(
"User:"+iPork.wputil.username()+"/Status",
(!iPork.indicatoredistato.enablewikimarkup ?
'<span class="iPork.indicatoredistato.inlinestatus.'
+ escape(iPork.wputil.username())
+ '">'
: '') +
iPork.indicatoredistato.statuscode[statusname] +
(!iPork.indicatoredistato.enablewikimarkup ?
'</span>'
: '') +
'<span class="iPork.indicatoredistato.curstatus.'+escape(iPork.wputil.username()) +
'" style="display:none">'+statusname+'</span>',
statusname,
iPork.indicatoredistato.watchstatus);
iPork.util.cookie.set("iPork.indicatoredistato.curstatus", statusname);
iPork.indicatoredistato.update();
};
iPork.indicatoredistato.laststatus = null;
iPork.indicatoredistato.update = function() {
var curstatus = iPork.util.cookie.get("iPork.indicatoredistato.curstatus");
if (curstatus && curstatus != iPork.indicatoredistato.laststatus) {
for (status in iPork.indicatoredistato.buttonlist) {
with (iPork.indicatoredistato.buttonlist[status].style) {
if (status == curstatus) {
fontWeight = "bold";
} else {
fontWeight = "normal";
}
}
}
if (!iPork.indicatoredistato.enablewikimarkup) {
var spanlist = document.getElementsByTagName("span");
for (var i=0; i<spanlist.length; i++) {
if (spanlist[i].className == "iPork.indicatoredistato.inlinestatus."+escape(iPork.wputil.username())) {
spanlist[i].innerHTML = iPork.indicatoredistato.statuscode[curstatus];
}
}
}
}
iPork.indicatoredistato.laststatus = curstatus;
};
setInterval("iPork.indicatoredistato.update()", 5000);
/* </pre> */