Utilisateur:Toutoune25/OptimizedSuivi.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/**
 * Suivi Deluxe
 *
 * Retirer des pages de sa liste de suivi plus facilement
 *
 * Auteur : Dake
 * Dernière révision : 10 mai 2008
 * {{Catégorisation JS|OptimizedSuivi}}
 */
 
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 liNode = suiviManagerAllPages[i].parentNode;

                if (liNode.childNodes[1].className == "new") {
                        suiviManagerAllPages[i].childNodes[0].checked=true;
                }
        }
}
 
function SuiviManagerRedirects()
{
        for (var i=0;i<suiviManagerAllPages.length;i++) {
                if (suiviManagerAllPages[i].childNodes[1].className == "watchlistredir") {
                        suiviManagerAllPages[i].childNodes[0].checked=true;
                }
        }
}
 
function SuiviManagerDeselect()
{
        for (var i=0;i<suiviManagerAllPages.length;i++) {
                suiviManagerAllPages[i].checked=false;
        }
}
 
 
function SuiviManager() {
        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 IP";
        regexpList[b++]         = "^Utilisateur:[0-9].*";
 
        interfaceMsg[a++]       = "Sous-pages PàS";
        regexpList[b++]         = "^Wikipédia:Pages à supprimer\/";
 
        interfaceMsg[a++]       = "Sous-pages bistro";
        regexpList[b++]         = "^Wikipédia:Le Bistro\/";
 
 
        //////////////////////////////////////////////////
        var topTag = document.getElementById("contentSub")
 
        // récupère toutes les pages
        var watchlist = document.getElementsByTagName("input");
 
        for (u=0;u<watchlist.length;u++) {
                if(watchlist[u].name == "titles[]") {
                        suiviManagerAllPages.push(watchlist[u]);
                }
        }
 
        // 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:SuiviManagerRedirects()\">"
                + "Retirer les redirections"
                + "</a> · ";
 
        str += "<a href=\"javascript:SuiviManagerDeselect()\">"
                + "<b>Enlever toutes les coches</b>"
                + "</a>";
 
        topTag.innerHTML = topTag.innerHTML + "<br clear=all />" + str + "<p></div>"
}
if( mw.config.get('wgPageName') == "Spécial:Liste_de_suivi" && document.URL.indexOf("edit") != -1 ) addOnloadHook(SuiviManager);