MediaWiki:Gadget-BlocageDeluxe.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./**
* BlocageDeluxe
*
* Rajout de boutons prédéfinis pour justifier un blocage
*
* Auteur : Pabix
* Dernière révision : 5 novembre 2006
* {{Catégorisation JS|BlocageDeluxe}}
*/
//////////////////////ZONE PERSONNALISABLE//////////////////////
var blocagedeluxeMessages = new Array();
var blocagedeluxeDuree = new Array();
var blocagedeluxeInterdireInscription = new Array();
var blocagedeluxeUniquementIP = new Array();
var blocagedeluxeBloquerIPsUtilisees = new Array();
with (blocagedeluxeMessages) {
push ("IP fixe - Pas d'inscription possible");
push ("IP fixe multi utilisateurs (ex. scolaire) - Création de compte autorisée");
push ("IP variable - Aucune nouvelle inscription autorisée, comptes actuels utilisables");
push ("Utilisteur enregistré - Blocage du compte");
push ("Utilisateur enregistré - Blocage du compte et des IPs associées");
}
with (blocagedeluxeInterdireInscription) {
push(true);
push(false);
push(true);
push(false);
push(false);
}
with (blocagedeluxeBloquerIPsUtilisees) {
push(false);
push(false);
push(false);
push(false);
push(true);
}
with (blocagedeluxeUniquementIP) {
push(false);
push(true);
push(true);
push(false);
push(false);
}
with (blocagedeluxeDuree) {
push("1 hour");
push("infinite");
push("1 hour");
push("1 hour");
push("1 hour");
}
/////////////////FIN DE LA ZONE PERSONNALISABLE/////////////////
function BlocageDeluxe() {
if (document.title.indexOf("Bloquer une adresse IP ou un utilisateur - Wikipédia")!=0) return;
var mainNode = document.getElementsByTagName("form");
var firstForm = mainNode[0];
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");
// inputs :
// 0 -> wpBlockAddress Le nom de l'utilisateur ou son IP
// 1 -> wpBlockOther Durée
// 2 -> wpBlockReason Raison invoquée
// 3 -> wpAnonOnly Ne pas bloquer les comptes existants
// 4 -> wpCreateAccount Empêcher la création de compte
// 5 -> wpEnableAutoblock Bloquer toutes les IPs utilisées par ce pseudonyme
// 6 -> (submit) wpBlock Soumission du formulaire
// 7 -> wpEditToken (Variable d'identification)
var token = inputs[7].getAttribute("value");
var lePauvre = inputs[0].getAttribute("value");
for (var i=0;i<blocagedeluxeMessages.length;i++) {
// if (i%3==0) {
tr = document.createElement("tr");
table.appendChild(tr);
// }
// Crée le formulaire
var formElement = document.createElement("form");
with (formElement) {
setAttribute("id", "blockip");
setAttribute("method", "post");
setAttribute("action", actionBlock);
}
// Champ invisible : identification
var inputToken = document.createElement("input");
with (inputToken) {
setAttribute("name", "wpEditToken");
setAttribute("value", token);
setAttribute("type", "hidden");
}
// Champ invisible : nom de l'utilisateur
var ident = document.createElement("input");
with (ident) {
setAttribute("name", "wpBlockAddress");
setAttribute("value", lePauvre);
setAttribute("type", "hidden");
}
// Champ invisible de raison
var inputReason = document.createElement("input");
with (inputReason) {
setAttribute("name", "wpBlockReason");
setAttribute("value", blocagedeluxeMessages[i]);
setAttribute("type", "hidden");
}
// Champ invisible de durée
var dureeC = document.createElement("input");
with (dureeC) {
setAttribute("name", "wpBlockExpiry");
setAttribute("value", "other");
setAttribute("type", "hidden");
}
// Champ modifiable de durée
var dureeC2 = document.createElement("input");
with (dureeC2) {
setAttribute("name", "wpBlockOther");
setAttribute("value", blocagedeluxeDuree[i]);
setAttribute("type", "text");
}
// Case à cocher : bloquer les IPs utilisées par l'utilisateur
var blockIPs = document.createElement("input");
with (blockIPs) {
setAttribute("name", "wpEnableAutoblock");
setAttribute("type", "checkbox");
setAttribute("title", "blocage automatique des IPs utilisées par ce pseudonyme");
checked = blocagedeluxeBloquerIPsUtilisees[i];
}
// Case à cocher : Bloquer seulement les IPs
var anonymousOnly = document.createElement("input");
with (anonymousOnly) {
setAttribute("name", "wpAnonOnly");
setAttribute("type", "checkbox");
setAttribute("title", "Ne pas bloquer les comptes déjà existants");
checked = blocagedeluxeUniquementIP[i];
}
// Case à cocher : empêcher la création de compte
var allowAccCreat = document.createElement("input");
with (allowAccCreat) {
setAttribute("name", "wpCreateAccount");
setAttribute("type", "checkbox");
setAttribute("title", "Empêcher la création de compte");
checked = blocagedeluxeInterdireInscription[i];
}
// Case à cocher : empêcher la création de compte
// Bouton de soumission avec raison
var inputConfirm = document.createElement("input");
with (inputConfirm) {
setAttribute("name", "wpBlock");
setAttribute("value", blocagedeluxeMessages[i]);
setAttribute("type", "submit");
}
with (formElement) {
appendChild(anonymousOnly);
appendChild(allowAccCreat);
appendChild(blockIPs);
appendChild(inputReason);
appendChild(dureeC);
appendChild(dureeC2);
appendChild(inputConfirm);
appendChild(inputToken);
appendChild(ident);
}
var td = document.createElement("td");
td.appendChild(formElement);
tr.appendChild(td);
}
var separation = document.createElement("p");
separation.appendChild(document.createElement("hr"));
firstForm.parentNode.insertBefore(separation, firstForm.nextSibling);
firstForm.parentNode.insertBefore(table, separation.nextSibling);
}
}
$(BlocageDeluxe);