« MediaWiki:Gadget-OptimizedSuivi.js » : différence entre les versions

Une page de Wikiquote, le recueil des citations libres.
Contenu supprimé Contenu ajouté
Pabix (discussion | contributions)
m hop
 
Pabix (discussion | contributions)
m mieux
Ligne 1 : Ligne 1 :
/*
/*
* Suivi optimisé
* Suivi Deluxe
*
*
* Retirer des pages de sa liste de suivi plus facilement
* Insérer dans la liste de suivi des liens pour cesser de suivre une page
*
*
* Auteur : ??
* Auteur : ?
* Dernière révision : 3 novembre 2006
* Dernière révision : 3 novembre 2006
*/
*/


var suiviManagerAllPages = new Array();
function OptimizedSuivi()

function SuiviManagerRegexp(regexp)
{
{
var match = new RegExp(regexp);
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) {


for (var i=0;i<suiviManagerAllPages.length;i++) {
var allDays = document.getElementsByTagName("ul");
for (i=0; i<allDays.length; i++) {
var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value");
if (allDays[i].className == "special") {
if (match.test(pageName)) {
suiviManagerAllPages[i].childNodes[0].checked=true;
}
}
}


function SuiviManagerLiensRouges()
var artList = allDays[i].getElementsByTagName("li");
{
for (j=0; j<artList.length; j++) {
for (var i=0;i<suiviManagerAllPages.length;i++) {
var elem = artList[j];
var aTag = elem.getElementsByTagName("a");
var pageClass = suiviManagerAllPages[i].childNodes[1].getAttribute("class");
var articleName = aTag[0].getAttribute("title");
if (pageClass && pageClass=="new") {
var stopWatch = "/w/index.php?title=" + articleName + "&action=unwatch";
suiviManagerAllPages[i].childNodes[0].checked=true;
}
}
}


function SuiviManagerDeselect()
var newElement = document.createElement("a");
{
newElement.setAttribute("href",stopWatch);
for (var i=0;i<suiviManagerAllPages.length;i++) {
var newText = document.createTextNode("stop");
newElement.appendChild(newText);
suiviManagerAllPages[i].childNodes[0].checked=false;
}
}


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]);
}


function SuiviManager() {
insertAfter(elem, newElement, newPar);
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(OptimizedSuivi);
addLoadEvent(SuiviManager);

Version du 3 novembre 2006 à 19:15

/*

* Suivi Deluxe
*
* Retirer des pages de sa liste de suivi plus facilement
*
* Auteur : ?
* 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++]       = "Tout cocher";
       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 = "

" + "

" + "

";
       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()\">"
               + "Enlever toutes les coches"
               + " ·</a> ";
topTag.innerHTML = topTag.innerHTML + "
" + str + "

"

} addLoadEvent(SuiviManager);