Aller au contenu

Utilisateur:Voxhominis/monobook.js

Une page de Wikipédia, l'encyclopédie libre.
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) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
// [[:en:User:Lupin/popups.js]]
// Traduction de [[Utilisateur:Leag|Leag]] : [[Utilisateur:Leag/Navigation popups|Navigation popups]]

importScript('MediaWiki:Gadget-Popups.js');

popupOnEditSelection=true;
popupImages=false;
popupAdminLinks=true;
popupRedlinkRemoval=true;
popupFixDabs=true;
popupRevertSummaryPrompt=true;
popupDabRegexp='([{][{]\\s*homonymie|homonymie\\s*[}][}])';

//==========sélection d'historiques
importScript('User:Alphos/historyselect.js');

//==========fonctions communes
function MygetObj(name) { 
 if (document.getElementById) {
    this.obj = document.getElementById(name);
 } else if (document.all) {
    this.obj = document.all[name];
 } else if (document.layers) {
    this.obj = document.layers[name];
 }
} //endGetObj


function getHTTPObject() {
  var xmlhttp = false;
  /* on teste la présence des fonctions */
    /*@cc_on  
    @if (@_jscript_version >= 5)
      try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
        try {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) {
          xmlhttp = false;
          }
        }
    @else
      xmlhttp = false;
    @end @*/
  /* fin du test */
  /* on essaie de créer l'objet si ce n'est pas déjà fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
      } catch (e) {
      xmlhttp = false;
      }
    }
  return xmlhttp;
}

//--------------Bistro
obtenir("BistroDuJour");

//--------------LiveRC
importScript('User:EDUCA33E/LiveRC.js');

//--------------wikEd
var wikEdFixPunctFrench = true;
var wikEdRegExTypoFix = true;
var wikEdRegExTypoFixURL = 'http://fr.wikipedia.org/w/index.php?title=Wikipédia:AutoWikiBrowser/Typos&action=raw';

// Installe wikEd pour l'édition des pages (pour tous)
// Traduction de [[Utilisateur:Leag|Leag]] : [[Utilisateur:Leag/wikEd|wikEd]]

// installe la traduction française pour [[Utilisateur:Leag/wikEd|wikEd]]
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Leag/wikEd-fr.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

// install [[:en:User:Cacycle/diff]] text diff code
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/diff.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

// install [[:en:User:Pilaf/Live_Preview]] page preview tool
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Pilaf/livepreview.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

// install [[:en:User:Cacycle/wikEd]] editing page extension
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

//--------------Liens externes
importScript('Utilisateur:Lgd test/cache.js');

//--------------Diff révocation
importScript('Utilisateur:Stef48/revocation.js');

//--------------Renommage cat
//<pre><nowiki>
/* ***************************************************************************************************************
 
Fonction : Renommage/vidage de catégorie
 
* Ajoute un onglet "renommer" en haut d'une page de catégorie.
 
* Détail du fonctionnement :
1. ajout/modification/retrait¹ automatique de lien catégorie dans les pages et les sous-catégories d'une catégorie;
2. si nécessaire² : recopie du contenu de l'ancienne catégorie dans la nouvelle;
3. si nécessaire² : suppression de l'ancienne catégorie³;
 
¹ basé sur la partie "édition" du gadget [[Mediawiki:Gadget-Hotcats.js]], plusieurs pop-up permettent de définir les paramètres.
² après une pop-up de confirmation
³ si utilisateur sysop uniquement
 
******************************************************************************************************************* */
 
////////////////////////////////////////////// TEXTES ///////////////////////////
 
var RenommageCategorie_Text_Move = 'Renommer';
 
var RenommageCategorie_Text_Script = '[[Utilisateur:Dr Brains/RenommageCategorie.js|script]]';
 
 
var RenommageCategorie_Text_PopRemoveCat = 'Catégorie à supprimer : ';
var RenommageCategorie_Text_PopAddCat = 'Catégorie à ajouter : ';
var RenommageCategorie_Text_PopConfirm = 'Publier sans confirmation manuelle ?';
 
var RenommageCategorie_Text_ConfirmEdit = "$1 -> $2\n\nRésumé de modification : $3";
var RenommageCategorie_Text_ResumeEditModif = "Bot : Modification de la catégorie [[Catégorie:$1]] → [[Catégorie:$2]]";
var RenommageCategorie_Text_ResumeEditDelete = "Bot : Retrait de la catégorie [[Catégorie:$1]]";
var RenommageCategorie_Text_AlertEditPb = "Impossible de trouver une occurrence unique de la catégorie $1\n\nElle est peut-être incluse via un modèle.\n";
var RenommageCategorie_Text_AlertEditNextPage = 'Page suivante ?'
var RenommageCategorie_Text_AlertEditTryAgain = 'Problème !\n\nRéessayer ?';
 
 
var RenommageCategorie_Text_ConfirmMove = "Recopier le contenu de $1 dans $2 ?";
var RenommageCategorie_Text_ResumeMove = "Renommage : Transfert du contenu depuis [[:Catégorie:$1]]";
var RenommageCategorie_Text_ConfirmMoveBis = 'Publier la modification ?'
 
 
var RenommageCategorie_Text_ConfirmDelete = "Supprimer la catégorie $1 ?";
var RenommageCategorie_Text_ResumeDelete = "Catégorie remplacée par [[Catégorie:$2]]";
 
 
//////////////////////////////////////////////////////////////////////////////
 
var RenommageCategorie_TimeOut = 10;
 
var  RenommageCategorie_RemoveCat = '';
var  RenommageCategorie_AddCat = '';
var  RenommageCategorie_Autoconfirm = false;
 
if(mw.config.get('wgNamespaceNumber')==14){
addOnloadHook(RenommageCategorie_AddLink);
}
 
function RenommageCategorie_AddLink(){
var OngletsCactions = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
OngletsCactions.innerHTML += '<li><a href="javascript:RenommageCategorie_GetOptions();">'+RenommageCategorie_Text_Move+'</a></li>';
}
 
 
function RenommageCategorie_GetOptions(){
RenommageCategorie_RemoveCat = prompt(RenommageCategorie_Text_PopRemoveCat, mw.config.get('wgTitle'));
RenommageCategorie_AddCat = prompt(RenommageCategorie_Text_PopAddCat, RenommageCategorie_RemoveCat);
if(((RenommageCategorie_AddCat=='')&&(RenommageCategorie_RemoveCat==''))||(!RenommageCategorie_AddCat)||(!RenommageCategorie_RemoveCat)){
return;
}else{
RenommageCategorie_Autoconfirm = confirm(RenommageCategorie_Text_PopConfirm);
RenommageCategorie();
}
}
 
 
 
if( (mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)){
var RenommageCategorie_APILimit = 4999;
}else{
var RenommageCategorie_APILimit = 499;
}
if(mw.config.get('wgUserGroups').indexOf("bot")!=-1){
var RenommageCategorie_IsBot = true;
}else{
var RenommageCategorie_IsBot = false;
}
 
var RenommageCategorie_PageInCategory = new Array();
var RenommageCategorie_PageInCategoryCount = 0;
 
 
function RenommageCategorie(category, categorycontinue){
if(!category) category = mw.config.get('wgPageName');
if(!categorycontinue) categorycontinue = '';
var NouvelleRequete = new XMLHttpRequest()
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=categorymembers&cmlimit='+RenommageCategorie_APILimit+'&cmtitle=' + category + '&cmcontinue=' + categorycontinue;
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
var AutreRequeteNecessaire = false;
for(a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('pageid=')!=-1){
var TitrePage = ContenuInformation.split('title="')[1].split('"')[0];
RenommageCategorie_PageInCategory[RenommageCategorie_PageInCategoryCount] = RenommageCategorie_CleanAPIResult(TitrePage);
RenommageCategorie_PageInCategoryCount++
}
if(ContenuInformation.indexOf('cmcontinue=')!=-1){
AutreRequeteNecessaire = true;
var AutreRequeteContinue = RenommageCategorie_CleanAPIResult(ContenuInformation.split('cmcontinue="')[1].split('"')[0]);
}
}
if(AutreRequeteNecessaire==true){
RenommageCategorie(category, AutreRequeteContinue);
}else{
RenommageCategorie_SortList();
}
}
}
}
 
function RenommageCategorie_CleanAPIResult(text){
while(text.indexOf('&amp;')!=-1){
text = text.split('&amp;').join("&");
if(text.indexOf('&amp;')==-1) break;
}
while(text.indexOf('&#039;')!=-1){
text = text.split('&#039;').join("'");
if(text.indexOf('&#039;')==-1) break;
}
while(text.indexOf('&quot;')!=-1){
text = text.split('&quot;').join('"');
if(text.indexOf('&quot;')==-1) break;
}
return text;
}
 
var RenommageCategorie_SortedPageInCategory = new Array();
var RenommageCategorie_SortedPageInCategoryCount = 0;
 
function RenommageCategorie_SortList(){
var PagesTemp = RenommageCategorie_PageInCategory.sort();
for(var a=0;a<PagesTemp.length;a++){
if(PagesTemp[a]!=PagesTemp[(a+1)]){
RenommageCategorie_SortedPageInCategory[RenommageCategorie_SortedPageInCategoryCount] = PagesTemp[a];
RenommageCategorie_SortedPageInCategoryCount++
}
}
RenommageCategorie_AddBandeau(0);
}
 
function RenommageCategorie_AddBandeau(position){
var Page = RenommageCategorie_SortedPageInCategory[position];
if(!Page){
if(RenommageCategorie_AddCat!='') var CreateNewCat_SurEtCertain = confirm(RenommageCategorie_Text_ConfirmMove.split('$1').join(RenommageCategorie_RemoveCat).split('$2').join(RenommageCategorie_AddCat));
if(!CreateNewCat_SurEtCertain){
if(mw.config.get('wgUserGroups').indexOf('sysop')!=-1){
var DeleteOldCat_SurEtCertain = confirm(RenommageCategorie_Text_ConfirmDelete.split('$1').join(RenommageCategorie_RemoveCat));
if(DeleteOldCat_SurEtCertain) RenommageCategorie_DeleteOldCat();
}
}else{
RenommageCategorie_CreateNewCat();
}
return;
}
var url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + Page.replace(/&/g, "%26") + '&action=edit';
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", url, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
while(document.body.firstChild){ document.body.removeChild(document.body.firstChild);}
var ElementTraitement = document.createElement('div');
document.body.appendChild(ElementTraitement);
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var TextArea = document.getElementById('wpTextbox1');
if(!TextArea){alert('Pb : \n' + url); return; }
 
var OldText = TextArea.value;
var Sommaire = '';
if ( typeof RenommageCategorie_RemoveCat != "undefined" && RenommageCategorie_RemoveCat != null && RenommageCategorie_RemoveCat != "" ) {
var CatRegExp = new RegExp("(\\s*)\\[\\[ *(?:Catégorie|Category) *: *" + RenommageCategorie_RemoveCat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1") + " *(\\|[^\\]]*)?\\]\\]", "gi");
var matches = OldText.match(CatRegExp);
if (matches != null && matches.length == 1) { // Found one occurrence of the category - good!
if ( typeof RenommageCategorie_AddCat != "undefined" && RenommageCategorie_AddCat != null && RenommageCategorie_AddCat != "" ) {
OldText = OldText.replace(CatRegExp, "$1[[Catégorie:" + RenommageCategorie_AddCat + "$2]]");
Sommaire = RenommageCategorie_Text_ResumeEditModif.split('$1').join(RenommageCategorie_RemoveCat).split('$2').join(RenommageCategorie_AddCat);
} else {
OldText = OldText.replace(CatRegExp, "");
Sommaire = RenommageCategorie_Text_ResumeEditDelete.split('$1').join(RenommageCategorie_RemoveCat);
}
} else {
var Suivante = confirm(RenommageCategorie_Text_AlertEditPb.split('$1').join(RenommageCategorie_RemoveCat) + RenommageCategorie_Text_AlertEditNextPage);
if(!Suivante){
window.location.reload();
}else{
RenommageCategorie_AddBandeau((position+1));
return;
}
}
}
 
var TexteFinal = OldText;
var SommaireFinal = Sommaire + ' ; ('+RenommageCategorie_Text_Script+')';
 
document.getElementById('wpTextbox1').value = TexteFinal;
document.getElementById('wpSummary').value = SommaireFinal;
//document.getElementById('wpMinoredit').checked = "checked";
//document.editform.submit();
 
if(!RenommageCategorie_Autoconfirm){
var SurEtCertain = confirm(RenommageCategorie_Text_ConfirmEdit.split('$1').join(RenommageCategorie_RemoveCat).split('$2').join(RenommageCategorie_AddCat).split('$3').join(Sommaire));
if(!SurEtCertain){
var SurEtCertainBis = confirm(RenommageCategorie_Text_AlertEditNextPage);
if(!SurEtCertainBis){
window.location.reload();
}else{
RenommageCategorie_AddBandeau((position+1));
return;
}
}
}
 
var action = document.getElementById("editform").action;
var boundary = '--------123xyz';
var data = '';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + TexteFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSection"\n\n' + document.editform.wpSection.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSummary"\n\n' + SommaireFinal + '\n'
//data += '--' + boundary + '\nContent-Disposition: form-data; name="wpMinorEdit"\n\n' + document.editform.wpMinorEdit.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpStarttime"\n\n' + document.editform.wpStarttime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + document.editform.wpEdittime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + document.editform.wpEditToken.value + '\n'
var ajaxSubmit = new XMLHttpRequest();
ajaxSubmit.open('POST', action, true);
ajaxSubmit.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
ajaxSubmit.send(data + '--' + boundary);
ajaxSubmit.onreadystatechange = function(){
if (ajaxSubmit.readyState == 4){
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
var ElementTraitementBis = document.createElement('div');
document.body.appendChild(ElementTraitementBis);
ElementTraitementBis.innerHTML = ajaxSubmit.responseText;
if(!document.getElementById("editform")){
if(RenommageCategorie_IsBot) RenommageCategorie_AddBandeau((position+1));
if(!RenommageCategorie_IsBot) setTimeout("RenommageCategorie_AddBandeau("+(position+1)+")",RenommageCategorie_TimeOut*1000);
}else{
var DeuxiemeEssai = confirm(RenommageCategorie_Text_AlertEditTryAgain);
if(DeuxiemeEssai) RenommageCategorie_AddBandeau(position);
}
}
}
}
}
}
 
function RenommageCategorie_CreateNewCat(){
var urlNewCat = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgFormattedNamespaces')[14]+':'+RenommageCategorie_AddCat.replace(/&/g, "%26") + '&action=edit';
var NouvelleRequeteNewCat = new XMLHttpRequest();
NouvelleRequeteNewCat.open("GET", urlNewCat, true);
NouvelleRequeteNewCat.send(null);
NouvelleRequeteNewCat.onreadystatechange = function() {
if(NouvelleRequeteNewCat.readyState == 4 && NouvelleRequeteNewCat.status == 200) {
while(document.body.firstChild){ document.body.removeChild(document.body.firstChild);}
var ElementTraitement = document.createElement('div');
document.body.appendChild(ElementTraitement);
ElementTraitement.innerHTML = NouvelleRequeteNewCat.responseText;
var TextArea = document.getElementById('wpTextbox1');
if(!TextArea){alert('ERREUR : \n' + url); return; }
var urlOldCat = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgFormattedNamespaces')[14] + ':' + RenommageCategorie_RemoveCat.replace(/&/g, "%26") + '&action=raw';
var NouvelleRequeteOldCat = new XMLHttpRequest();
NouvelleRequeteOldCat.open("GET", urlOldCat, true);
NouvelleRequeteOldCat.send(null);
NouvelleRequeteOldCat.onreadystatechange = function() {
if(NouvelleRequeteOldCat.readyState == 4 && NouvelleRequeteOldCat.status == 200) {
var TexteFinal = NouvelleRequeteOldCat.responseText
var SommaireFinal = RenommageCategorie_Text_ResumeMove.split('$1').join(RenommageCategorie_RemoveCat);
document.getElementById('wpTextbox1').value = TexteFinal;
document.getElementById('wpSummary').value = SommaireFinal;
if(!RenommageCategorie_Autoconfirm){
var SurEtCertainNewCat = confirm(RenommageCategorie_Text_ConfirmMoveBis);
if(!SurEtCertainNewCat){
return;
}
}
var action = document.getElementById("editform").action;
var boundary = '--------123xyz';
var data = '';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + TexteFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSection"\n\n' + document.editform.wpSection.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSummary"\n\n' + SommaireFinal + '\n'
//data += '--' + boundary + '\nContent-Disposition: form-data; name="wpMinorEdit"\n\n' + document.editform.wpMinorEdit.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpStarttime"\n\n' + document.editform.wpStarttime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + document.editform.wpEdittime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + document.editform.wpEditToken.value + '\n'
var ajaxSubmit = new XMLHttpRequest();
ajaxSubmit.open('POST', action, true);
ajaxSubmit.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
ajaxSubmit.send(data + '--' + boundary);
ajaxSubmit.onreadystatechange = function(){
if (ajaxSubmit.readyState == 4){
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
var ElementTraitementBis = document.createElement('div');
document.body.appendChild(ElementTraitementBis);
ElementTraitementBis.innerHTML = ajaxSubmit.responseText;
if(!document.getElementById("editform")){
if(mw.config.get('wgUserGroups').indexOf('sysop')!=-1){
var DeleteOldCat_SurEtCertain = confirm(RenommageCategorie_Text_ConfirmDelete.split('$1').join(RenommageCategorie_RemoveCat));
if(DeleteOldCat_SurEtCertain){
RenommageCategorie_DeleteOldCat();
}else{
window.location.reload;
}
}
}else{
var DeuxiemeEssai = confirm(RenommageCategorie_Text_AlertEditTryAgain);
if(DeuxiemeEssai) RenommageCategorie_CreateNewCat();
}
}
}
}
}
}
}
}
 
function RenommageCategorie_DeleteOldCat(){
var urlOldCat = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +mw.config.get('wgFormattedNamespaces')[14]+':'+RenommageCategorie_RemoveCat.replace(/&/g, "%26") + '&action=delete';
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", urlOldCat, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
while(document.body.firstChild){ document.body.removeChild(document.body.firstChild);}
var ElementTraitement = document.createElement('div');
document.body.appendChild(ElementTraitement);
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var SelectReason = document.getElementById('wpDeleteReasonList');
var InputReason = document.getElementById('wpReason');
if(RenommageCategorie_AddCat==''){
var AllReasons = SelectReason.getElementsByTagName('option');
for(var a=0;a<AllReasons.length;a++){
if(AllReasons[a].value=="Catégorie vide ou remplacée") AllReasons[a].selected = "selected";
}
}else{
InputReason.value = RenommageCategorie_Text_ResumeDelete.split('$2').join(RenommageCategorie_AddCat);
}
var CheckWatch = document.getElementById('wpWatch');
CheckWatch.checked = '';
var DeleteForm = document.getElementById('deleteconfirm');
if(RenommageCategorie_Autoconfirm) DeleteForm.submit();
}
}
}
 
// </nowiki></pre>