Utilisateur:Cherry/monobook.js

Une page de Wikiquote, le recueil des citations libres.

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  • Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
  • Opera : appuyez sur Ctrl + F5.
/*<pre>*/

var suiviManagerAllPages = new Array();
                                        
function SuiviManagerRegexp(regexp)
{
        var match = new RegExp(regexp);

        for (var i=0;i<suiviManagerAllPages.length;i++) {
                var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value");
                if (match.test(pageName)) {
                        suiviManagerAllPages[i].childNodes[0].checked=true; 
                }
        }
}
                
function SuiviManagerLiensRouges()
{

        for (var i=0;i<suiviManagerAllPages.length;i++) {
                var pageClass = suiviManagerAllPages[i].childNodes[1].getAttribute("class");
                if (pageClass && pageClass=="new") {
                        suiviManagerAllPages[i].childNodes[0].checked=true; 
                }
        }
}

function SuiviManagerDeselect()
{
        for (var i=0;i<suiviManagerAllPages.length;i++) {
                suiviManagerAllPages[i].childNodes[0].checked=false; 
        }
}


function SuiviManager() {
        if (document.URL.indexOf("http://fr.wikiquote.org/wiki/Special:Watchlist/edit")!=0) return; 
        
        var a=0;
        var b=0;                        
        var interfaceMsg = new Array(); 
        var regexpList = new Array(); 
        
        //////////////////////////////////////////////////
        // Expressions régulières et liens de l'interface
        //
        // besoin d'aide pour les regexp ? 
        // http://www.commentcamarche.net/javascript/jsregexp.php3
        //////////////////////////////////////////////////

        interfaceMsg[a++]       = "<b>Tout cocher</b>";
        regexpList[b++]         = "^.*"; 
        
        interfaceMsg[a++]       = "Utilisateurs";
        regexpList[b++]         = "^Utilisateur:";
        
        interfaceMsg[a++]       = "Wikiquote:*"; 
        regexpList[b++]         = "^Wikiquote:";
        
        interfaceMsg[a++]       = "Sous-pages de PàS"; 
        regexpList[b++]         = "^Wikiquote:Pages à supprimer\/";

        interfaceMsg[a++]       = "Sous-pages de PàV"; 
        regexpList[b++]         = "^Wikiquote:Pages à vérifier\/";
        
        interfaceMsg[a++]       = "Pages du Salon"; 
        regexpList[b++]         = "^Wikiquote:Le Salon\/";
        
        interfaceMsg[a++]       = "Images"; 
        regexpList[b++]         = "^Image:";
        
        interfaceMsg[a++]       = "Modèles"; 
        regexpList[b++]         = "^Modèle:"; 
        
        interfaceMsg[a++]       = "Aide"; 
        regexpList[b++]         = "^Aide:"; 
        
        interfaceMsg[a++]       = "Catégories"; 
        regexpList[b++]         = "^Catégorie:";      
        
        interfaceMsg[a++]       = "Portails"; 
        regexpList[b++]         = "^Portail:";        

        //////////////////////////////////////////////////
        var topTag = document.getElementById("contentSub")
        
        // récupère toutes les pages
        var watchlist = document.getElementsByTagName("ul");

        for (u=0;u<watchlist.length;u++) {
                        var entries = watchlist[u].getElementsByTagName("li"); 
                        for (i=0;i<entries.length;i++) {
                                suiviManagerAllPages.push(entries[i]);
                        }
        }
        
        // prépare la mini-interface
        var str = "<div style=\"background-color:#8ecfe4;font-size:1px;height:8px;border:1px solid #AAAAAA;-moz-border-radius-topright:0.5em;-moz-border-radius-topleft:0.5em;\"></div>"
        + "<div style=\"border:1px solid #6ac1de;border-top:0px solid white;padding:5px 5px 0 5px;margin-bottom:3ex;\"><p>"
        + "<div style=\"float: left; text-align: left; white-space: nowrap;\"></div>"
        
        for (var cpt = 0; cpt < interfaceMsg.length; cpt ++) {
                str += "<a href=\"javascript:SuiviManagerRegexp('" + regexpList[cpt] + "')\">"
                                                + interfaceMsg[cpt]
                                                + " ·</a> "
                }
        
                str += "<a href=\"javascript:SuiviManagerLiensRouges()\">"
                        + "Retirer les liens rouges"
                        + " ·</a> "
                        
                str += "<a href=\"javascript:SuiviManagerDeselect()\">"
                        + "<b>Enlever toutes les coches</b>"
                        + " ·</a> "
                                
        topTag.innerHTML =       topTag.innerHTML + "<br clear=all />" + str + "<p></div>"
                
}

addLoadEvent(SuiviManager);


/* Lien Editcount */
var tabAction = "p-cactions";
function addECButton()
       {
        if ( window.location.href.indexOf('Contributions') < 0) return;
        var c = document.getElementById('contentSub');
        var a = c.getElementsByTagName('a');
        if (a.length == 3) {
          name = a[0].innerHTML;
        } else {
          name = c.innerHTML.replace(/ \(.*/, '').replace(/.* /, '');
        }
        var l = document.getElementById(tabAction);
        t = l.innerHTML;
        ind = t.toLowerCase().indexOf("</ul>");
        before = t.substring(0,ind);
        after = t.substring(ind); 
        pitem = "<li><a href='http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user="+"&dbname=frwikiquote_p'>"+
                "<div id='EditCount' style='display:inline;'>" + 
                "Editcount"  + 
                "</div></a></li>";
        l.innerHTML = before + pitem + after ;           
      }
addLoadEvent(addECButton);

function OptimizedShortPages() {
        if (document.URL.indexOf("http://fr.wikiquote.org/wiki/Special:Shortpages")!=0) return; 
        
        var mainNode = document.getElementsByTagName("ol");
   
        var allArticles = mainNode[0].getElementsByTagName("li"); 
        for (i=0; i<allArticles.length; i++) {
                var articleName = allArticles[i].childNodes[0].getAttribute("title");

                var historyElement = document.createElement("a");
                var histUrl      = "/w/index.php?title=" + articleName + "&action=history"
                historyElement.setAttribute("href", histUrl);
                var historyText = document.createTextNode("? (hist) ");
                historyElement.appendChild(historyText);
        
                insertAfter(allArticles[i], historyElement, allArticles[i].childNodes[1]); 
                
                var relatedElement = document.createElement("a");
                var relatedUrl  = "/wiki/Special:Whatlinkshere/" + articleName
                relatedElement.setAttribute("href", relatedUrl);
                var relatedText = document.createTextNode(" (liens) ");
                relatedElement.appendChild(relatedText);
                
                var diffElement = document.createElement("a");
                var diffUrl      = "/w/index.php?title=" + articleName + "&diff=0"
                diffElement.setAttribute("href", diffUrl);
                var diffText = document.createTextNode(" (diff) ");
                diffElement.appendChild(diffText);
                
                insertAfter(allArticles[i], relatedElement, historyElement);
                insertAfter(allArticles[i], diffElement, relatedElement);
                insertAfter(allArticles[i], document.createTextNode(allArticles[i].childNodes[1].data), diffElement);
                
                allArticles[i].removeChild(allArticles[i].childNodes[1]); 
          }
}

addLoadEvent(OptimizedShortPages);

function insertAfter(parent, node, referenceNode) {
    parent.insertBefore(node, referenceNode.nextSibling);
}

function OptimizedSuivi() 
{
        if (document.URL.indexOf("http://fr.wikiquote.org/wiki/Special:Watchlist")==0 ||
        document.URL.indexOf("http://fr.wikiquote.org/w/index.php?title=Special:Watchlist")==0 ){
                
                var allDays = document.getElementsByTagName("ul");
                
                for (i=0; i<allDays.length; i++) {
                        if (allDays[i].getAttribute("class") == "special") {
                                
                                var artList = allDays[i].getElementsByTagName("li");
                                for (j=0; j<artList.length; j++) {
                                        var elem = artList[j];
                                        var aTag = elem.getElementsByTagName("a");
                                        var articleName = aTag[0].getAttribute("title");
                                        var stopWatch  = "/w/index.php?title=" + articleName + "&action=unwatch"
                                    
                                        var newElement = document.createElement("a");
                                        newElement.setAttribute("href",stopWatch);
                                        var newText = document.createTextNode("stop");
                                        newElement.appendChild(newText);

                                        var newPar = document.createTextNode(") (")
                                        // séparation des cas (nouvel article, ou déjà existant)
                                        if (aTag[0].childNodes[0].data == "diff") {
                                                insertAfter(elem, newPar, aTag[1]); 
                                        } else {
                                                insertAfter(elem, newPar, aTag[0]); 
                                        }
                                        
                                        insertAfter(elem, newElement, newPar);
                                }       
                        }
                }
        }
}

addLoadEvent(OptimizedSuivi);

function nouvelOnglet() {
  var a = document.getElementById("p-cactions");
        if (a) 
        {
          b = a.getElementsByTagName("ul");
          if(b.length > 0)
          {
            b[0].innerHTML = b[0].innerHTML
            + '<li id="ca-nstab-user">'
            + '<a href="/wiki/Special:Shortpages">'
            + 'shortpages</a></li>';
          }
        }
      }
      
addLoadEvent(nouvelOnglet);

function OptimizedNavig() 
{
  var a = document.getElementById("p-navigation");

  if (a) 
  {
    b = a.getElementsByTagName("ul");
    if(b.length > 0)
    { 
      var startUrl = '/w/index.php?title='
      var endUrl = '&action=purge'

      // liste des URLs
      var urls = new Array()

      urls[0] = 'Special:Newpages'
      urls[1] = 'Special:Blockip'
      urls[2] = 'Special:Log/delete'
      urls[3] = 'Special:Import'
	
      var labels = new Array()

      labels[0] = 'nPage'
      labels[1] = 'Block'
      labels[2] = 'Log/Del'
      labels[3] = 'Import'

      for (var i=0;i<urls.length;i+=2) {
        tableHTML = '<table valign="top" cellspacing="0" cellpadding="0">'
        tableHTML += '<tr>'
        tableHTML += '<li><td><a href="' + startUrl + urls[i] + endUrl + '">' + labels[i] + ' | </a></td>'
        tableHTML += '<td><a href="' + startUrl + urls[i+1] + endUrl + '">' + labels[i+1] + '</a></td></li>'
        tableHTML += '</tr>'
        tableHTML += '</table>' 
        b[0].innerHTML = b[0].innerHTML + tableHTML
      }

    }
  }
}

addLoadEvent(OptimizedNavig);

function OngletPurge() {
  var a = document.getElementById("p-cactions");
        if (a) 
        {
          var pageName = document.title.replace(" - Wikiquote", ""); 
          b = a.getElementsByTagName("ul");
                  
          if(b.length > 0)
          {
            b[0].innerHTML = b[0].innerHTML
            + '<li id="ca-nstab-user">'
            + '<a href="/w/index.php?action=purge&title=' + pageName + '">purger</a>'
            + '</li>';
          }
        }
      }

// Onglet Purge

addLoadEvent(OngletPurge);

//OPTIMISE LE SUIVI
//Auteur : ?
//Version/Date : ?
function OptimizedSuivi() 
{
  if (document.URL.indexOf("http://fr.wikiquote.org/wiki/Special:Watchlist")==0 ||
      document.URL.indexOf("http://fr.wikiquote.org/w/index.php?title=Special:Watchlist")==0) {
                
    var allDays = document.getElementsByTagName("ul");          
    for (i=0; i<allDays.length; i++) {
       if (allDays[i].getAttribute("class") == "special") {
  
          var artList = allDays[i].getElementsByTagName("li");
          for (j=0; j<artList.length; j++) {
             var elem = artList[j];
             var aTag = elem.getElementsByTagName("a");
             var articleName = aTag[0].getAttribute("title");
             var stopWatch  = "/w/index.php?title=" + articleName + "&action=unwatch"
                            
             var newElement = document.createElement("a");
             newElement.setAttribute("href",stopWatch);
             var newText = document.createTextNode("stop");
             newElement.appendChild(newText);

             var newPar = document.createTextNode(") (")
             // séparation des cas (nouvel article, ou déjà existant)
             if (aTag[0].childNodes[0].data == "diff") {
                insertAfter(elem, newPar, aTag[1]); 
             } else {
                insertAfter(elem, newPar, aTag[0]); 
             }
                                        
             insertAfter(elem, newElement, newPar);
          }       
       }
    }
  }
}

/*</pre>