Dans cet article, nous explorerons le monde fascinant de
Utilisateur:Dr Brains/ListeSuivi.js et son impact sur différents aspects de la société. De son influence dans l'histoire, en passant par sa pertinence aujourd'hui, jusqu'à sa projection dans le futur,
Utilisateur:Dr Brains/ListeSuivi.js a joué et joue un rôle crucial dans de nombreux domaines. Dans cette optique, nous analyserons comment
Utilisateur:Dr Brains/ListeSuivi.js a façonné et continue d’influencer nos vies, ainsi que les implications de sa présence dans différents domaines. À l’aide d’une approche multidisciplinaire, nous approfondirons les tenants et les aboutissants de
Utilisateur:Dr Brains/ListeSuivi.js et tenterons d’en démêler les complexités pour mieux comprendre sa place dans la société.
/*
Liste de suivi Deluxe
== Fonctions ==
* Retirer/ajouter des pages de sa liste de suivi plus facilement
* Auteur : Dake
* Ajouts : Dr Brains
== CODE SOURCE ==
{{Boîte déroulante début|titre=Code source}}
<source lang=javascript><nowiki><!--
*/
// -->
// 1 *# ] Liens pour cocher une série de pages * Auteur : Dake
var suiviManagerAllPages = new Array();
function SuiviManager_SwitchLinkColor(id){
var Link = $('#'+id);
if(!Link.length) return;
if(Link.hasClass("RegexpLinkChecked")) Link.removeClass("RegexpLinkChecked");
else Link.addClass("RegexpLinkChecked");
}
function SuiviManager_Regexp(regexp, id){
var match = new RegExp(regexp);
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
var pageName = suiviManagerAllPages.childNodes.getAttribute("value");
if (match.test(pageName)) {
if(suiviManagerAllPages.childNodes.checked) suiviManagerAllPages.childNodes.checked=false;
else suiviManagerAllPages.childNodes.checked=true;
}
}
if(id) SuiviManager_SwitchLinkColor(id);
}
function SuiviManager_countPages(regexp){
var match = new RegExp(regexp);
var count = 0;
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
var pageName = suiviManagerAllPages.childNodes.getAttribute("value");
if (match.test(pageName)) {
count = (count+1);
}
}
return count;
}
function SuiviManager_LiensRouges(id){
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
if (suiviManagerAllPages.childNodes.className == "new"
&& (suiviManagerAllPages.childNodes.title.indexOf('/') == -1
|| suiviManagerAllPages.childNodes.className == "new") ) {
if(suiviManagerAllPages.childNodes.checked) suiviManagerAllPages.childNodes.checked=false;
else suiviManagerAllPages.childNodes.checked=true;
}
}
if(id) SuiviManager_SwitchLinkColor(id);
}
function SuiviManager_countLiensRouges(){
var count = 0;
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
if (suiviManagerAllPages.childNodes.className == "new"
&& (suiviManagerAllPages.childNodes.title.indexOf('/') == -1
|| suiviManagerAllPages.childNodes.className == "new") ) {
count = (count+1);
}
}
return count;
}
function SuiviManager_Redirects(id){
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
var Links = $(suiviManagerAllPages).find('a');
if( (
Links.eq(0).hasClass("mw-redirect")
&&
Links.eq(1).hasClass("mw-redirect")
) || (
Links.eq(0).hasClass("mw-redirect")
&&
Links.eq(1).hasClass("new")
) || (
Links.eq(0).hasClass("new")
&&
Links.eq(1).hasClass("mw-redirect")
) ) {
if(suiviManagerAllPages.childNodes.checked) suiviManagerAllPages.childNodes.checked=false;
else suiviManagerAllPages.childNodes.checked=true;
}
}
if(id) SuiviManager_SwitchLinkColor(id);
}
function SuiviManager_countRedirects(){
var count = 0;
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
var Links = $(suiviManagerAllPages).find('a');
if( (
Links.eq(0).hasClass("mw-redirect")
&&
Links.eq(1).hasClass("mw-redirect")
) || (
Links.eq(0).hasClass("mw-redirect")
&&
Links.eq(1).hasClass("new")
) || (
Links.eq(0).hasClass("new")
&&
Links.eq(1).hasClass("mw-redirect")
) ) {
count = (count+1);
}
}
return count;
}
function SuiviManager_Deselect(){
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
suiviManagerAllPages.childNodes.checked=false;
}
}
function SuiviManager_Invert(){
for (var i=0, l=suiviManagerAllPages.length;i<l;i++) {
if(suiviManagerAllPages.childNodes.checked){
suiviManagerAllPages.childNodes.checked=false;
}else{
suiviManagerAllPages.childNodes.checked="checked";
}
}
}
function SuiviManager() {
//////////////////////////////////////////////////
// Expressions régulières et liens de l'interface
//
// besoin d'aide pour les regexp ?
// http://www.commentcamarche.net/javascript/jsregexp.php3
//////////////////////////////////////////////////
var interfaceMsg = new Array();
var regexpList = new Array();
var regexpLien = new Array();
var MainRegexp = new Array();
for(var NS in mw.config.get('wgFormattedNamespaces')){
if(NS<1||NS%2==1) continue;
interfaceMsg.push(mw.config.get('wgFormattedNamespaces'));
regexpList.push("^"+mw.config.get('wgFormattedNamespaces')+":");
regexpLien.push("#editwatchlist-ns"+NS);
MainRegexp.push(mw.config.get('wgFormattedNamespaces')+":");
}
interfaceMsg.unshift("Principal");
regexpList.unshift("^+");
regexpLien.unshift("#editwatchlist-ns0");
// ----------------------------------------------------------
var m=0;
var n=0;
var interfaceMsgTer = new Array();
var regexpListTer = new Array();
interfaceMsgTer = "Utilisateurs IP";
regexpListTer = "^Utilisateur:.*";
// ----------------------------------------------------------
var z=0;
var y=0;
var interfaceMsgBis = new Array();
var regexpListBis = new Array();
interfaceMsgBis = "Mes sous-pages";
regexpListBis = "^"+mw.config.get('wgFormattedNamespaces')+":" + mw.config.get('wgUserName').replace(/_/g," ") + "\/";
interfaceMsgBis = "Sous-pages suppression";
regexpListBis = "\/Suppression$";
interfaceMsgBis = "Sous-pages Bistro";
regexpListBis = "^Wikipédia:Le Bistro\/";
interfaceMsgBis = "Sous-pages Oracle";
regexpListBis = "^Wikipédia:Oracle\/";
interfaceMsgBis = "Sous-pages GdG";
regexpListBis = "^Wikipédia:Guilde des Guides\/";
interfaceMsgBis = "Sous-pages BA";
regexpListBis = "^Wikipédia:Bulletin des administrateurs\/";
//////////////////////////////////////////////////
var topTag = document.getElementById("contentSub")
// récupère toutes les pages
var bc = document.getElementById("content");
if(!bc)bc= document.getElementById("article");
if(!bc)bc= document.getElementById("mw_contentholder");
var watchlist = bc.getElementsByTagName("li");
for (var u=0;u<watchlist.length;u++) {
if(watchlist.firstChild.tagName == "INPUT") {
suiviManagerAllPages.push(watchlist);
}
}
// prépare la mini-interface
var str = "<div id=\"ListeSuiviTop\" ></div>"
+ "<div id=\"ListeSuiviBody\">"
str += "<a href=\"javascript:SuiviManager_Regexp('^.*')\" title=\"Tout cocher\">"
+ "<b>Tout cocher</b>"
+ "</a> · ";
str += "<a href=\"javascript:SuiviManager_Deselect()\" title=\"Tout décocher\">"
+ "<b>Tout décocher</b>"
+ "</a> · ";
str += "<a href=\"javascript:SuiviManager_Invert()\" title=\"Inverser la sélection\">"
+ "<b>Inverser la sélection</b>"
+ "</a>";
str += "<hr />";
str += "<b>Espaces de noms</b><br/>";
for (var cpt = 0; cpt < interfaceMsg.length; cpt ++) {
str += "<a id=\"RegexpLinkNS_"+cpt+"\" href=\"javascript:SuiviManager_Regexp('" + regexpList + "','RegexpLinkNS_"+cpt+"')\" title=\"Cocher les pages de l'espace de noms : " + interfaceMsg + "\">"
+ interfaceMsg
+ "</a> ("
+ "<a href=\"http://fr.wikipedia.orghttps://wiki386.com/fr/Spécial:Liste_de_suivi/edit"
+ regexpLien
+ "\" title=\"Voir les pages suivies dans cet espace de noms\">↓</a> "
+ SuiviManager_countPages(regexpList)
+ ") · ";
}
str += "<hr />";
str += "<b>Sous-pages</b><br/>";
for (var cpt = 0; cpt < interfaceMsgBis.length; cpt ++) {
str += "<a id=\"RegexpLinkBis_"+cpt+"\" href=\"javascript:SuiviManager_Regexp('" + regexpListBis + "','RegexpLinkBis_"+cpt+"')\" title=\"Cocher : " + interfaceMsgBis + "\">"
+ interfaceMsgBis
+ "</a> ("
+ SuiviManager_countPages(regexpListBis)
+ ") · ";
}
str += "<hr />";
str += "<b>Autres</b><br/>";
str += "<a id=\"RedLinks\" href=\"javascript:SuiviManager_LiensRouges(\'RedLinks\')\" title=\"Cocher : Liens Rouges\">"
+ "Liens rouges"
+ "</a> ("
+ SuiviManager_countLiensRouges()
+ ") · ";
str += "<a id=\"Redirects\" href=\"javascript:SuiviManager_Redirects(\'Redirects\')\" title=\"Cocher : Redirections\" >"
+ "Redirections"
+ "</a> ("
+ SuiviManager_countRedirects()
+ ") · ";
for (var cpt = 0; cpt < interfaceMsgTer.length; cpt ++) {
str += "<a id=\"RegexpLinkTer_"+cpt+"\" href=\"javascript:SuiviManager_Regexp('" + regexpListTer + "', \'RegexpLinkTer_"+cpt+"\')\" title=\"Cocher : " + interfaceMsgTer + "\" >"
+ interfaceMsgTer
+ "</a> ("
+ SuiviManager_countPages(regexpListTer)
+ ") · ";
}
str += "<hr />";
str += "<input type=\"submit\" value=\"Retirer les titres sélectionnés\"\/>";
var buttonPlus = document.createElement("div");
buttonPlus.setAttribute("style", "text-align:center;");
buttonPlus.innerHTML = "<br clear=all />" + str + "</div>";
var CibleBouton = document.getElementsByTagName("fieldset");
CibleBouton.insertBefore(buttonPlus,CibleBouton.firstChild);
}
if((mw.config.get('wgCanonicalSpecialPageName') == "Watchlist") && document.URL.indexOf("edit") != -1 ) {
importStylesheetURI('http://fr.wikipedia.org/w/index.php?title=Utilisateur:Dr_Brains/ListeSuivi.css&action=raw&ctype=text/css');
addOnloadHook(SuiviManager);
}
////////////////////////////////////////////////////////////////////////////////////
//</nowiki></source>
//{{Boîte déroulante fin}}