Utente:Ramac/monobook.js: differenze tra le versioni

Da Wikimedia Italia.
Vai alla navigazione Vai alla ricerca
m (fix)
m (fix)
 
Riga 82: Riga 82:
}
}


addOnloadHook( function () {
function aggiungiPortlet() {
     //elementi già esistenti
     //elementi già esistenti
     var barra = document.getElementById('p-navigation').parentNode;
     var barra = document.getElementById('p-navigation').parentNode;
Riga 107: Riga 107:
     //ora appende gli elementi prima di p-search
     //ora appende gli elementi prima di p-search
     barra.insertBefore(pSoci, pSearch );
     barra.insertBefore(pSoci, pSearch );
    }
}
);


   
   
function CustomizeModificationsOfSidebar() {
function CustomizeModificationsOfSidebar() {
     //aggiunge i link per soli utenti registrati
     //aggiunge i link per soli utenti registrati
    aggiungiPortlet();
     ModifySidebar("add", "soci", "Pagina principale", "/index.php/Associazione:Pagina_principale");
     ModifySidebar("add", "soci", "Pagina principale", "/index.php/Associazione:Pagina_principale");
     ModifySidebar("add", "soci", "Bar", "/index.php/Associazione:Bar");
     ModifySidebar("add", "soci", "Bar", "/index.php/Associazione:Bar");
Riga 123: Riga 123:
         }
         }
     }
     }
//</pre>
//</pre>

Versione attuale delle 13:54, 20 mar 2008

//<pre>

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);
        }
    }
//</pre>