Utente:Ramac/monobook.js

//

function isObject(obj) { if (typeof obj == "object" && obj != null) return true; else return false; }

function isArray(obj) { if (isObject(obj)) { if (obj.constructor.toString.indexOf("Array") == -1) return false; else return true; }   else return false; }

Array.prototype.Contains = function(element,strict) { for(i in this) { if(this[i] == element && !strict) return true; else if(this[i] === element) return true; }    return false; }

function ModifySidebar(action, section, name, link) { try { switch (section) { case "languages": var target = "p-lang"; break; case "toolbox": var target = "p-tb"; break; case "navigation": var target = "p-navigation"; break; default: var target = "p-" + section; break; }       if (action == "add") { var node = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var aNode = document.createElement('a'); var liNode = document.createElement('li'); aNode.appendChild(document.createTextNode(name)); aNode.setAttribute('href', link); liNode.appendChild(aNode); liNode.className='plainlinks'; node.appendChild(liNode); }       if (action == "remove") { var list = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; var listelements = list.getElementsByTagName('li'); for (var i = 0; i < listelements.length; i++) { if (listelements[i].getElementsByTagName('a')[0].innerHTML == name ||                   listelements[i].getElementsByTagName('a')[0].href == link) { list.removeChild(listelements[i]); }           }        }    } catch(e) { // lets just ignore what's happened return; } }

function aggiungiPortlet { //elementi già esistenti var barra = document.getElementById('p-navigation').parentNode; var pSearch = document.getElementById('p-search'); //crea i nuovi elementi e imposta gli attributi var pSoci = document.createElement('DIV'); var titolo = document.createElement('H5'); var divBody = document.createElement('DIV'); var ul = document.createElement('UL'); pSoci.setAttribute("class","portlet"); pSoci.setAttribute("id","p-soci"); var textTitolo = document.createTextNode("associazione"); titolo.appendChild(textTitolo); divBody.setAttribute("class","pBody"); divBody.appendChild(ul); pSoci.appendChild(titolo); pSoci.appendChild(divBody); //ora appende gli elementi prima di p-search barra.insertBefore(pSoci, pSearch ); }

function CustomizeModificationsOfSidebar { //aggiunge i link per soli utenti registrati aggiungiPortlet; ModifySidebar("add", "soci", "Pagina principale", "/index.php/Associazione:Pagina_principale"); ModifySidebar("add", "soci", "Bar", "/index.php/Associazione:Bar"); ModifySidebar("add", "soci", "Ultime modifiche", "/index.php/Speciale:UltimeModifiche"); }

if (isArray(wgUserGroups)) { if (wgUserGroups.Contains('users')) { addOnloadHook(CustomizeModificationsOfSidebar); }   } //