User:Phlox/moonobook.js

/*

Scripts présents :

- Boite admin dans le menu - Undelete select all - Suppression Deluxe - Blocage Deluxe



/* Début Boites */

function BoiteAdmin {       var l = document.getElementById("column-one"); if (l) {         l.innerHTML = l.innerHTML + ' '         + ' Boîte admin ' + ' '         + '   ' + '    Bulletin des admins' + '    Vandalisme en cours' + '    Requête aux admins' + '    Suppression immédiate</li>' + '    Pages à supprimer</a></li>' + '    Fusion</a></li>' + '    Renommage</a></li>' + '  </ul>' + ' '         + ' ';           }  }

addLoadEvent(BoiteAdmin);

/* Fin Boites */

/* Début Undelete select all */

function UndeleteSelectAll {       if (window.location.href.indexOf("Special:Undelete") > 0) {               var title2 = document.getElementsByTagName("h2") if (title2.length <= 0) return var all = document.createElement("input") all.setAttribute("type", "checkbox") all.setAttribute("id", "checkAll") if (all.attachEvent) all.attachEvent("onclick", function { selectAll(document.getElementById("checkAll").checked) }) else all.setAttribute("onclick", "javascript: selectAll(this.checked)") all.setAttribute("title", "Sélectionner/Désélectionner tous") title2[title2.length -1].appendChild(all) all.click } }

function selectAll(bool) {       var inputs = document.getElementsByTagName("input") for (var cpt = 0 ; cpt < inputs.length ; cpt++) {               if (inputs[cpt].type == "checkbox") inputs[cpt].checked = bool } }

addLoadEvent(UndeleteSelectAll)

/* Fin Undelete select all */

/* Début Suppression Deluxe */

// Auteur : Dake // Commentaires : Pabix // Suppression de luxe

function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); }

function SuppressionDeluxe {

// Si le titre de la page ne contient pas "Confirmer la suppression, etc." pas besoin de la fonction if (document.title.indexOf("Confirmer la suppression - Wikipédia")!=0) return;

// Obtenir l'ensemble des formulaires dans la variable mainNode var mainNode = document.getElementsByTagName("form");

// Obtenir le premier des formulaires à partir de mainNode, dans la variable firstForm var firstForm = mainNode[0];

// Création du tableau "messages" var messages = new Array; // Initialisation de i à 0 var i = 0; // vous pouvez ajouter et personnaliser vos messages ci-dessous (pour insérer un guillemet dans un message,       // il faut l'échapper avec le backslash comme ceci : \"        messages[i++] = "Vandalisme";        messages[i++] = "Supprimé à la demande de son auteur";        messages[i++] = "Image vandale";        messages[i++] = "Essai de débutant";        messages[i++] = "Contrevient aux règles de nommage";        messages[i++] = "Image sans licence";        messages[i++] = "Publicité ou autopromotion";        messages[i++] = "Redirect orphelin";        messages[i++] = "Fair-use non argumenté";        messages[i++] = "Violation de copyright";        messages[i++] = "Traduction automatique";        messages[i++] = "Image orpheline, sans licence";        // ces lignes initialisent les éléments du tableau messages (i++ incrémentant la valeur de i à chaque fois).

// créer un élément HTML table et un élément HTML tr       var table = document.createElement("table"); var tr = document.createElement("tr"); // Ajouter l'élément tr à l'intérieur de l'élément table (comme ceci : ) table.appendChild(tr);

// normalement, pas besoin de toucher à partir d'ici // Si le premier formulaire de la page a pour attribut ID "deleteconfirm" (voir le code source) if (firstForm.getAttribute("id")=="deleteconfirm") { // récupérer dans les variables actionDelete, et token les variables de formulaire nécessaires // pour la validation (le token permet d'identifier la session) actionDelete = firstForm.getAttribute("action");

var inputs = firstForm.getElementsByTagName("input"); var token = inputs[2].getAttribute("value");

// Pour i variant de 0 jusqu'au nombre d'éléments du tableau de messages for (var i=0;i<messages.length;i++) { // Si i est divisible par 3 if (i%3==0) { // Ajouter un élément <TR></TR> à la table (soit une rangée de tableau en HTML) tr = document.createElement("tr"); table.appendChild(tr); }

// Créer un élément <FORM ID="deleteconfirm" METHOD="post" ACTION= (actionDelete récupéré précédemment) ></FORM> var formElement = document.createElement("form"); formElement.setAttribute("id", "deleteconfirm"); formElement.setAttribute("method", "post"); formElement.setAttribute("action", actionDelete);

// Créer un élément <INPUT NAME="wpReason" VALUE=" (un message du tableau) " TYPE="hidden"/> var inputReason = document.createElement("input"); inputReason.setAttribute("name", "wpReason"); inputReason.setAttribute("value", messages[i]); inputReason.setAttribute("type", "hidden");

// Créer un élément <INPUT NAME="wpConfirmB" VALUE=" (un message du tableau) " TYPE="submit"/> var inputConfirm = document.createElement("input"); inputConfirm.setAttribute("name", "wpConfirmB"); inputConfirm.setAttribute("value", messages[i]); inputConfirm.setAttribute("type", "submit");

// Créer un élément <INPUT NAME="wpEditToken" VALUE= (token récupéré précédemment) TYPE="hidden"/> var inputToken = document.createElement("input"); inputToken.setAttribute("name", "wpEditToken"); inputToken.setAttribute("value", token); inputToken.setAttribute("type", "hidden");

// Ajouter ces trois éléments dans le formulaire formElement.appendChild(inputReason); formElement.appendChild(inputConfirm); formElement.appendChild(inputToken);

// Créer une cellule de tableau contenant le formulaire dans la rangée courante var td = document.createElement("td"); td.appendChild(formElement); tr.appendChild(td); }

// Créer un paragraphe var separation = document.createElement("p"); // Insérer dans ce paragraphe une ligne horizontale <HR> separation.appendChild(document.createElement("hr")); // Placer le formulaire à l'endroit voulu dans la page insertAfter(firstForm.parentNode, separation, firstForm); insertAfter(firstForm.parentNode, table, separation); } }

// Appeler la fonction SuppressionDeluxe à l'ouverture d'une page addLoadEvent(SuppressionDeluxe);

/* Fin Suppression Deluxe */

/* Début Blocage Deluxe */

/************************************************/ /* boutons prédéfinis pour justifier un blocage */ /* Auteur : Pabix                              */ /************************************************/ function BlocageDeluxe { if (document.title.indexOf("Bloquer le compte - Wikipédia")!=0) return; var mainNode = document.getElementsByTagName("form"); var firstForm = mainNode[0]; var ca = 0; var messages = new Array; var duree = new Array;

/***   * Vous pouvez personnaliser les messages et durées * définis ci-dessous (attention à ne pas inclure de  * caractères trop spéciaux et à spécifier les   * durées en anglais). ***/

messages[ca] = "Vandale non averti mais voulant manifestement nuire"; duree[ca++] = "10 minutes";

messages[ca] = "Et vulgaire avec ça"; duree[ca++] = "30 minutes";

messages[ca] = "Vandale averti"; duree[ca++] = "1 hour";

messages[ca] = "Vandale averti plusieurs fois"; duree[ca++] = "6 hours";

messages[ca] = "Récidiviste"; duree[ca++] = "10 days";

messages[ca] = "Suite à décision du comité d'arbitrage"; duree[ca++] = "2 weeks"

messages[ca] = "Identifiant à caractère injurieux"; duree[ca++] = "infinite";

messages[ca] = "Robot fou"; duree[ca++] = "infinite";

messages[ca] = "Spammeur"; duree[ca++] = "infinite";

var table = document.createElement("table"); var tr = document.createElement("tr"); table.appendChild(tr); if (firstForm.getAttribute("id")=="blockip") { actionBlock = firstForm.getAttribute("action"); var inputs = firstForm.getElementsByTagName("input"); var token = inputs[4].getAttribute("value"); var lePauvre = inputs[0].getAttribute("value"); for (var i=0;i<messages.length;i++) { //  if (i%3==0) { tr = document.createElement("tr"); table.appendChild(tr); //  }      var formElement = document.createElement("form"); formElement.setAttribute("id", "blockip"); formElement.setAttribute("method", "post"); formElement.setAttribute("action", actionBlock); var inputReason = document.createElement("input"); inputReason.setAttribute("name", "wpBlockReason"); inputReason.setAttribute("value", messages[i]); inputReason.setAttribute("type", "hidden"); var dureeC = document.createElement("input"); dureeC.setAttribute("name", "wpBlockExpiry"); dureeC.setAttribute("value", "other"); dureeC.setAttribute("type", "hidden"); var dureeC2 = document.createElement("input"); dureeC2.setAttribute("name", "wpBlockOther"); dureeC2.setAttribute("value", duree[i]); dureeC2.setAttribute("type", "text"); var inputConfirm = document.createElement("input"); inputConfirm.setAttribute("name", "wpBlock"); inputConfirm.setAttribute("value", messages[i]); inputConfirm.setAttribute("type", "submit"); var ident = document.createElement("input"); ident.setAttribute("name", "wpBlockAddress"); ident.setAttribute("value", lePauvre); ident.setAttribute("type", "hidden"); var inputToken = document.createElement("input"); inputToken.setAttribute("name", "wpEditToken"); inputToken.setAttribute("value", token); inputToken.setAttribute("type", "hidden"); formElement.appendChild(inputReason); formElement.appendChild(dureeC); formElement.appendChild(dureeC2); formElement.appendChild(inputConfirm); formElement.appendChild(inputToken); formElement.appendChild(ident); 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); } } addLoadEvent(BlocageDeluxe);

/* Fin Blocage Deluxe */

/* */