Utilisateur:Scorpius59/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.

/*
 * Suivi Deluxe
 *
 * Retirer des pages de sa liste de suivi plus facilement
 *
 * Auteur : Dake
 * Dernière révision : 3 novembre 2006
 */
 
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 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("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);
//
 
/*
 * Catégories à Gauche
 *
 * Met les catégories dans un panneau de navigation
 *
 * Auteur : Jmfayard
 * Dernière révision : 3 novembre 2006
 */
 
function CategoriesAGauche() {
 
        var catlinks = document.getElementById("catlinks");
        if (!catlinks) { return; }
        var categories = catlinks.getElementsByTagName("a") ;
 
        var h5_cats = document.createElement( "h5" );
        var text = document.createTextNode( "Catégories" ) ;
        h5_cats.appendChild( text ) ;
 
        var div_cats = document.createElement( "div" );
        div_cats.setAttribute( "class", "pBody" );
 
        var ul = document.createElement( "ul" );
 
        var a_debut = 1 ; // evitons le lien Categories:
        for (var i = a_debut ; i < categories.length ; i++ ) {
                var a = categories[i] ;
                var li = document.createElement( "li" ) ;
                li.appendChild( a.cloneNode(1) ) ;
                ul.appendChild( li );
        }
 
        div_cats.appendChild( ul ) ;
 
 
        var portlet = document.createElement( "div" ) ;
        portlet.setAttribute( "class", "portlet" );
        portlet.setAttribute( "id", "p-cat" ) ;
 
        portlet.appendChild( h5_cats ) ;
 
        portlet.appendChild( div_cats ) ;
 
        //document.getElementById("column-one").insertBefore( document.getElementById("p-search"),  portlet ) ;
        //document.getElementById("column-one").appendChild(  portlet ) ;
        div_ptb = document.getElementById( "p-tb" );
        document.getElementById("column-one").insertBefore( portlet, div_ptb)
 
}
addLoadEvent( CategoriesAGauche ) ;
 
//
/*
 * Outils pour réverter
 *
 * Fournit des liens dans les pages de diff
 *
 * Auteur : Lorian (en)
 * Dernière révision : 3 novembre 2006
 */
 
function getElementsByClass(searchClass,node,tag) {
        // Function from http://www.dustindiaz.com/getelementsbyclass/
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}
 
// _GET code from NoGray JS Library http://www.nogray.com/new_site/
var _GET = new Array();
var _uri = location.href;
 
var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&");
 
var _temp_get_arr_1 = new Array();
 
for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){
        _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("=");
        _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]);
}
 
delete _uri; delete _temp_get_arr; delete _temp_get_arr_1;
 
function getMessage (where, user1, user2) {
        var message = prompt ('Quel message faut-il laisser ?', '');
        window.location = 'http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message;
}
 
addOnloadHook(function (){
                if (location.href.match(/diff=/)) {
                // Get username of submitter
                var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML;
                var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[2].innerHTML;
                if (user2 == "défaire"){ 
                    user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[3].innerHTML; 
                }
                document.getElementById('contentSub').innerHTML = '(<a href="http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">Annuler</a> / <a href="javascript:var message = getMessage(\'revert\', \''+user1+'\', \''+user2+'\');">Message</a>) (<a href="http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&vandalism=1&user1='+user1+'&user2='+user2+'">Vandalisme</a> / <a href="javascript:var message = getMessage(\'vandalism\', \''+user1+'\', \''+user2+'\');">Message</a>) (Avertir : <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=1">Test0</a> / <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=2">Test1</a> / <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=3">Test2</a> / <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=4">Test3</a>)';
                } else if (location.href.match(/revert=1/)) {
                document.getElementById('wpSummary').value = 'Révocation des modifications par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]';
                document.getElementById('editform').submit();
                } else if (location.href.match(/revert=2/)) {
                document.getElementById('wpSummary').value = 'Révocation des modifications par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')';
                        document.getElementById('editform').submit();
                        } else if (location.href.match(/vandalism=1/)) {
                        document.getElementById('wpSummary').value = 'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]';
                        document.getElementById('editform').submit();
                        } else if (location.href.match(/vandalism=2/)) {
                        document.getElementById('wpSummary').value = 'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')';
                                document.getElementById('editform').submit();
                                } else if (location.href.match(/warn=1/)) {
                                document.getElementById('wpSummary').value = 'Avertissement';
                                document.getElementById('wpTextbox1').value = '{{sub'+'st:test0}} ~~'+'~~';
                                document.getElementById('editform').submit();
                                } else if (location.href.match(/warn=2/)) {
                                document.getElementById('wpSummary').value = 'Avertissement';
                                document.getElementById('wpTextbox1').value = '{{sub'+'st:test1}} ~~'+'~~';
                                document.getElementById('editform').submit();
                                } else if (location.href.match(/warn=3/)) {
                                document.getElementById('wpSummary').value = 'Avertissement';
                                document.getElementById('wpTextbox1').value = '{{sub'+'st:test2}} ~~'+'~~';
                                document.getElementById('editform').submit();
                                } else if (location.href.match(/warn=4/)) {
                                document.getElementById('wpSummary').value = 'Avertissement';
                                document.getElementById('wpTextbox1').value = '{{sub'+'st:test3}} ~~'+'~~';
                                document.getElementById('editform').submit();
                                }
                                });
//
 
loadJs('User:EDUCA33E/LiveRC.js');
 
var alwaysEval = false; //mettez cette valeur à true si vous voulez que l'evaluation soit lancée automatiquement (à éviter en temps normal)
function initEvalProjectNames()
{
        evalProjectNames=new Array(); //liste de vos projets
        evalProjectNames.push("Sport") 
        evalProjectNames.push("Iran") //mettre ici autant de ligne comme celle ci que de projet que vous voulez évaluer
}