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

Contenu supprimé Contenu ajouté
Pabix (discussion | contributions)
m hop
 
Pabix (discussion | contributions)
m mieux
Ligne 1 :
/*
* Suivi optimisé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 : ??
* 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");
forvar pageName (i=0; suiviManagerAllPages[i<allDays].lengthchildNodes[0].getAttribute("value"); i++) {
if (allDays[i]match.className == "special"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 aTagpageClass = elemsuiviManagerAllPages[i].childNodes[1].getElementsByTagNamegetAttribute("aclass");
if (pageClass && var articleName pageClass== aTag[0].getAttribute("titlenew"); {
var stopWatch = "/w/indexsuiviManagerAllPages[i].php?title=" + articleName + "&actionchildNodes[0].checked=unwatch"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");
newElementsuiviManagerAllPages[i].appendChild(newText)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(OptimizedSuiviSuiviManager);