Utilisateur:Mr Patate/monobook.js

Un article de Wikipédia, l'encyclopédie libre.

Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.

// Résumé Deluxe 
// Fonction ResumeDeluxeModif
//
// Code : Dake
 
function ResumeDeluxeModif(content) {
    if (document.editform.wpSummary.value != 0) {
                document.editform.wpSummary.value+=' - ';
        }
 
        document.editform.wpSummary.value+=content;
}
 
// Résumé Deluxe 
// Fonction ResumeDeluxeModif
//
// Code : Dake
 
function ResumeDeluxe() {
        // vous pouvez ajouter vos messages ci-dessous - attention aux apostrophes et aux 
        // guillemets qui peuvent casser le script
        var messages = new Array()
        messages[0] = "Revert vandale";
        messages[1] = "Revert Bac à sable";
        messages[2] = "Revert copyvio de : ";
        messages[3] = "Revert spam";
        messages[4] = "- {{supression}} Vote conserver en PàS";
        messages[5] = "Orth";
        messages[6] = "Wikification";
        messages[7] = "";
        messages[8] = "";
        messages[9] = "";
        messages[10] = "";
        messages[11] = "";
 
        // texte dans les boutons (pour éviter de prendre trop de place)
        var labelBoutons = new Array()
        labelBoutons[0] = "rv vand";
        labelBoutons[1] = "rv bàs";
        labelBoutons[2] = "rv copy";
        labelBoutons[3] = "rv spam";
        labelBoutons[4] = "- suppr";
        labelBoutons[5] = "Orth";
        labelBoutons[6] = "[[]]";
        labelBoutons[7] = "bl spam";
        labelBoutons[8] = "wiki";
        labelBoutons[9] = "dicuss";
        labelBoutons[10] = "edit";
        labelBoutons[11] = "";
 
        var nombreBoutonsParLigne = 4;
           // ne rien toucher ci-dessous
        var mainNode = document.getElementById("wpSummaryLabel");
        if (!mainNode) {
                return;
        }
        var summaryNode = mainNode;
 
        var formButtons = document.createElement("form");
 
        for (var i=0;i<messages.length;i++) {
                if (i%nombreBoutonsParLigne==0) {
                        formButtons.appendChild(document.createElement("p"));
                }
 
                var nodeInput = document.createElement("input");
                nodeInput.setAttribute("type", "button"); 
                nodeInput.setAttribute("value", labelBoutons[i]); 
                nodeInput.setAttribute("onClick", "ResumeDeluxeModif('" + messages[i] + "')"); 
 
                formButtons.appendChild(nodeInput); 
        }
        summaryNode.appendChild(formButtons);
 
}
 
addLoadEvent(ResumeDeluxe);
 
// Onglet Purge
 
function OngletPurge() {
  var a = document.getElementById("p-cactions");
        if (a) 
        {
          var pageName = document.title.replace(" - Wikipédia", ""); 
          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);
function DeluxeBar() {
  if (document.createTextNode) {
        var toolbar = document.getElementById("toolbar"); 
        if (!toolbar) return;
 
        ///// zone personnalisable ////
        var messages = new Array()
        // le texte a été splitté sinon Mediawiki casse tout...
        messages[0] = "{{subst:" + "Bienvenue sur ta page"  + "}}" +  "~~" + "~~";
        messages[1] = "{{subst:" + "Bienvenue" + "}}" +  "~~" + "~~";
        messages[2] = "{{subst:" + "Bienvenue vandale" + "}}" +  "~~" + "~~";
        messages[3] = "{{subst:" + "Vandalisme|page" + "}}" +  "~~" + "~~";
        messages[4] = "{{subst:" + "Bienvenue spammeur" + "}}" +  "~~" + "~~";
 
        messages[5] = "{{subst:" + "Utilisateur:Dake/Traité||~~" + "~~" + "}}";
        messages[6] = "{{subst:" + "Utilisateur:Dake/TraitéConserver||~~" + "~~" + "}}";
        messages[7] = "{{subst:" + "Utilisateur:Dake/TraitéSupprimer||~~" + "~~" + "}}";
 
        messages[8] = "{{subst:" + "Bienvenue copyvio|[[]]" + "}} " +  "~~" + "~~";
        messages[9] = "{{subst:" + "Bienvenue copié collé" + "}} " +  "~~" + "~~";
        messages[10] = "{{" + "suppression" + "}}";
 
        messages[11] = "{{subst:" + "Utilisateur:Meanos/Modèles/PAdQ rejetée|premier/second tour|0|0|0|-|~~" + "~~}}";
        messages[12] = "{{subst:" + "Utilisateur:Meanos/Modèles/PAdQ validée|premier/second tour|0|0|0|-|~~" + "~~}}";
 
        var images = new Array()
        images[0] = "http://upload.wikimedia.org/wikipedia/fr/1/12/Button_accueilA.png";
        images[1] = "http://upload.wikimedia.org/wikipedia/fr/e/eb/Button_accueilB.png";
        images[2] = "http://upload.wikimedia.org/wikipedia/fr/0/00/Button_vandale.png";
        images[3] = "http://upload.wikimedia.org/wikipedia/fr/a/ad/Button_vandale2.png";
        images[4] = "http://upload.wikimedia.org/wikipedia/fr/f/fb/Button_spam2.png";
 
        images[5] = "http://upload.wikimedia.org/wikipedia/fr/d/d9/Button_trait%C3%A9.png";
        images[6] = "http://upload.wikimedia.org/wikipedia/fr/a/ae/Button_trait%C3%A9conserver.png";
        images[7] = "http://upload.wikimedia.org/wikipedia/fr/9/96/Button_trait%C3%A9supprimer.png";
 
        images[8] = "http://upload.wikimedia.org/wikipedia/fr/e/e5/Button_copyvio.png";
        images[9] = "http://upload.wikimedia.org/wikipedia/fr/e/e5/Button_copyvio.png";
        images[10] = "http://upload.wikimedia.org/wikipedia/fr/f/f8/Button_suppr.png";
        images[11] = "http://upload.wikimedia.org/wikipedia/fr/c/cf/Button_PAdQ_rejet.png";
        images[12] = "http://upload.wikimedia.org/wikipedia/fr/2/29/Button_PAdQ_validation.png";
 
        var commentaires = new Array()
        commentaires[0] = "Bienvenue sur ta page !"
        commentaires[1] = "Bienvenue !"
        commentaires[2] = "Avertissement vandalisme"
 
        commentaires[3] = "Avertissement vandalisme";
        commentaires[4] = "Avertissement spam" ;
 
        commentaires[5] = "Traité"
        commentaires[6] = "Traité : article conservé" 
        commentaires[7] = "Traité : article supprimé"
 
        commentaires[8] = "Violation de copyright"
        commentaires[9] = "Signalement d'une erreur de copié/collé";
        commentaires[10] = "Proposé à la suppression"; 
 
        commentaires[11] = "Notification de rejet de la proposition"
        commentaires[12] = "Notification de validation de la proposition"
        ////////////////////////////////
 
        for (var i=0;i<messages.length;i++) {
                var img = document.createElement("img");
                img.setAttribute("src", images[i]);
 
                var ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags('', \"" + messages[i] + "\", '');" + 
                                 "javascript:changeSummary(\"" + commentaires[i] + "\");" ); 
                ref.appendChild(img); 
 
                toolbar.appendChild(ref);
        }
  }
}
 
function changeSummary(sampleText) {
        document.editform.wpSummary.value = sampleText;
}
 
addLoadEvent(DeluxeBar);
 
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
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] = 'Wikipédia:Le Bistro'
      urls[1] = 'Wikipédia:Pages à supprimer'
      urls[2] = 'Wikipédia:Proposition articles de qualité'
      urls[3] = 'Utilisateur:Dake/Toolbox'
      urls[4] = 'WP:BOT'
      urls[5] = 'Special:Newpages'
      urls[6] = 'Special:Blockip'
      urls[7] = 'Special:Log/delete'
      urls[8] = 'Special:Unusedcategories'
      urls[9] = 'Special:Export'
 
      var labels = new Array()
      labels[0] = 'Bistro'
      labels[1] = 'PàS'
      labels[2] = 'pAdQ'
      labels[3] = 'tBox'
      labels[4] = 'Bots'
      labels[5] = 'nPage'
      labels[6] = 'Block'
      labels[7] = 'Log/Del'
      labels[8] = 'unCat'
      labels[9] = 'Export'
 
      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 insertAfter(parent, node, referenceNode) {
    parent.insertBefore(node, referenceNode.nextSibling);
}
 
function OptimizedSuivi() 
{
        if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist")==0 ||
        document.URL.indexOf("http://fr.wikipedia.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 SuppressionDeluxe() {
        if (document.title.indexOf("Confirmer la suppression")!=0) return; 
        var mainNode = document.getElementsByTagName("form");
        var firstForm = mainNode[0];
 
        // vous pouvez ajouter vos messages ci-dessous
        var messages = new Array()
        messages[0] = "Image orpheline, sans licence";
        messages[1] = "Image sans licence";
        messages[2] = "Violation de copyright";
        messages[3] = "Publicité ou autopromotion";
        messages[4] = "Vandalisme";
        messages[5] = "Essai de débutant";
        messages[6] = "Redirect orphelin";
        messages[7] = "Supprimé à la demande de son auteur";
        messages[8] = "Traduction automatique";
        messages[9] = "Contrevient aux règles de nommage";
 
        var table = document.createElement("table");
        var tr = document.createElement("tr");
        table.appendChild(tr);
 
        // normalement, pas besoin de toucher à partir d'ici
        if (firstForm.getAttribute("id")=="deleteconfirm") {
                actionDelete = firstForm.getAttribute("action");
 
                var inputs = firstForm.getElementsByTagName("input");
                var token = inputs[2].getAttribute("value"); 
 
                for (var i=0;i<messages.length;i++) {
                        if (i%4==0) {
                         tr = document.createElement("tr");
                         table.appendChild(tr);
                        }
                        var formElement = document.createElement("form");
                        formElement.setAttribute("id", "deleteconfirm");
                        formElement.setAttribute("method", "post");
                        formElement.setAttribute("action", actionDelete);
 
                        var inputReason = document.createElement("input");
                        inputReason.setAttribute("name", "wpReason"); 
                        inputReason.setAttribute("value", messages[i]); 
                        inputReason.setAttribute("type", "hidden"); 
 
                        var inputConfirm = document.createElement("input");
                        inputConfirm.setAttribute("name", "wpConfirmB"); 
                        inputConfirm.setAttribute("value", messages[i]); 
                        inputConfirm.setAttribute("type", "submit"); 
 
                        var inputToken = document.createElement("input");
                        inputToken.setAttribute("name", "wpEditToken"); 
                        inputToken.setAttribute("value", token); 
                        inputToken.setAttribute("type", "hidden"); 
 
                        formElement.appendChild(inputReason);
                        formElement.appendChild(inputConfirm);
                        formElement.appendChild(inputToken);
 
                        var td = document.createElement("td");
                        td.appendChild(formElement);
                        tr.appendChild(td); 
                }
 
                var separation = document.createElement("p");
                separation.appendChild(document.createElement("hr"));
                insertAfter(firstForm.parentNode, separation, firstForm);
                insertAfter(firstForm.parentNode, table, separation);
        }
}
 
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.wikipedia.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++]       = "Wikipédia:*"; 
        regexpList[b++]         = "^Wikipédia:";
 
        interfaceMsg[a++]       = "Sous-pages de PàS"; 
        regexpList[b++]         = "^Wikipédia:Pages à supprimer\/";
 
        interfaceMsg[a++]       = "Sous-pages de PàV"; 
        regexpList[b++]         = "^Wikipédia:Pages à vérifier\/";
 
        interfaceMsg[a++]       = "Pages du bistro"; 
        regexpList[b++]         = "^Wikipédia:Le Bistro\/";
 
        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);
 
 
///////////truc de goto pour RCs/////////////
 
function addWatchUserLinks() {
        var a = document.getElementById("p-search")
        if (a)
                a = a.getElementsByTagName("div")[0]
        if (a)
        {
                var str = a.innerHTML + '  <a class="searchLink" href="javascript:watchUser(document.getElementById(\'searchInput\').value)" title="Mettre en évidence les contributions de cet utilisateur">'
                        + 'watch user</a>'
                        + '  <a class="searchLink" href="javascript:unwatchUser(document.getElementById(\'searchInput\').value)" title="Ne plus mettre en évidence les contributions de cet utilisateur">'
                        + 'unwatch user</a>'
                a.innerHTML = str
        }
}
 
function watchUser(usr) {
        if (!isUserWatched(usr)) {
                var all = cookies.get("watchUser")
                cookies.set("watchUser", (all ? all + usr + "/" : usr + "/"))
                highlightWatchedUsers()
        }
}
 
function unwatchUser(usr) {
        if (!isUserWatched(usr))
                return
        var all = cookies.get("watchUser").split("/")
        var out = ""
        for (var cpt = 0 ; cpt < all.length ; cpt++)
                if (all[cpt] != usr && all[cpt])
                        out += all[cpt] + "/"
        cookies.set("watchUser", out)
        highlightWatchedUsers()
}
 
function isUserWatched(usr) {
        var all = cookies.get("watchUser")
        if (!all)
                return null
        for (var cpt = 0 ; cpt < all.split("/").length ; cpt++)
                if (all.split("/")[cpt] == usr)
                        return 1
        return null
}
 
function highlightWatchedUsers() {
        if (getArticleName() != "Modifications récentes")
                return
        var uls = document.getElementsByTagName("ul")
        var ul = uls[0]
        for (var cpt = 1 ; cpt < uls.length && ul.className != "special" ; cpt++)
                ul = uls[cpt]
        var lis = ul.getElementsByTagName("li")
        for (var cpt = 0 ; cpt < lis.length ; cpt++) {
                var usr = lis[cpt].getElementsByTagName("a")[3].innerHTML
                if (lis[cpt].getElementsByTagName("span")) {
                        var spans = lis[cpt].getElementsByTagName("span")
                        for (var cpt2 = 0 ; cpt2 < spans.length ; cpt2++)
                                if (spans[cpt2].className == "newpage")
                                        var usr = lis[cpt].getElementsByTagName("a")[2].innerHTML
                }
                if (isUserWatched(usr))
                        lis[cpt].className = "userWatched"
                else
                        lis[cpt].className = ""
        }
}
 
addLoadEvent(highlightWatchedUsers)
addLoadEvent(addWatchUserLinks)
 
function objCookies() {
        this.value = null
        this.name = null
        this.expires = null
}
 
objCookies.prototype.get = function (which) {
        this.allcookies = document.cookie
        var start = this.allcookies.indexOf("; " + which + "=")
        if (start == -1) {
                start = this.allcookies.indexOf(which + "=")
                if (start != 0)
                        return null
        } else
                start += "; ".length
        this.name = which
        var end = this.allcookies.indexOf(";", start)
        if (end == -1)
                end = this.allcookies.length
        this.value = this.allcookies.substring(start + which.length + 1, end)
        var arr = this.allcookies.substring(start, this.allcookies.length).split("; ")
        this.expires = null
        if (arr.length > 0)
                if (/expires=/.test(arr[1]))
                        this.expires = arr[1].substring("expires=".length, arr[1].length)
        return this.value
}
 
objCookies.prototype.set = function (name, value, expires) {
        document.cookie = name + "=" + value + ";" + (expires ? "expires=" + expires + ";" : "") + "path=/;" + "domain=fr.wikipedia.org;"
        this.allcookies = document.cookie
}
 
objCookies.prototype.setWithDelay = function (name, value, delay) {
        var d = new Date()
        d.setTime(d.getTime() + delay)
        this.set(name, value, d.toGMTString())
}
 
objCookies.prototype.kill = function (which) {
        if (this.get(which))
 
function getArticleName()
{
        var strOut = document.title
        // case search
        if (strOut == "Rechercher - Wikipédia")
                return document.getElementById("lsearchbox").value
        // case article being modified
        strOut = strOut.replace("modification de ", "").replace(" - Modifier", "")
 
        strOut = strOut.replace(" - Prévisualiser", "").replace(" - Wikipédia", "")
        return strOut
}
 
function getDeletionName()
{
        var div = document.getElementById("contentSub")
        var str = div.innerHTML.replace(/.*\(Suppression de « /, "").replace(" »)", "")
        return str
}
 
 
                this.set(which, null, "Thu, 01-Jan-70 00:00:01 GMT")
}