Utilisateur:Fabizor/monobook.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.mw.loader.using('mediawiki.util', function () {
/* LiveRC */
importScript('User:EDUCA33E/LiveRC.js');
/**
* Bistro du jour
*
* Lien vers le bistro du jour dans le panneau de navigation
*
* Auteur : ??
* Contributeur : Tieno, Maloq
* Dernière révision : 2 septembre 2008
* {{Catégorisation JS}}
*/
function TodayDate() {
var m = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];
var today = new Date();
var day = today.getDate();
var year = today.getYear();
if (year < 2000)
year = year + 1900;
return (day + " " + m[today.getMonth()] + " " + year);
}
function BistroDuJour()
{
mw.util.addPortletLink('p-navigation', '/wiki/Wikipédia:Le_Bistro/' + TodayDate().replace(new RegExp(' ','g'),'_'), 'Bistro du jour', 'n-bistro');
}
$(BistroDuJour);
//////////////////////////////////////////////////////////////////////////////////////////
// Evaluation
//////////////////////////////////////////////////////////////////////////////////////////
var alwaysEval = false;
function initEvalProjectNames()
{
evalProjectNames=new Array(); //liste de vos projets
evalProjectNames.push("Monténégro")
};
/******************************************************************************************************************
* - FAVORIS.JS - *
* *
* Fonction : *
** Ajoute un panneau supplémentaire au dessus de la boîte de recherche permettant de lister des pages favorites. *
** La liste est stockée localement dans un cookie. *
* *
* Tests : *
** Monobook et Firefox 3 ou 3.5 : OK *
** Monobook et Internet Explorer 7 : affichage incorrect mais fonctionne quand même *
** Moderne et Firefox 3.5 : OK *
** Moderne et Internet Explorer 7 : OK *
** Autres skins : en cours d'adaptation. *
* *
* Crédits : *
** Code original de Andy Cook (http://cookandy.com/downloads/mediawiki/andy-s-mediawiki-skin) *
** Adapté en gadget par Dr Brains (http://fr.wikipedia.org/wiki/Utilisateur:Dr_Brains/favoris.js) *
* *
* {{Catégorisation JS}} *
******************************************************************************************************************/
// ** FONCTION PRINCIPALE **
function DisplayFavoritesPortlet() {
/////////////////////////////// PARTIE PERSONNALISABLE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////// POPUPS //////////
// popup titre //
var PopupTitle_fav = "Cliquer pour ajouter la page courante aux favoris" ;
// popup aide (?) //
var PopupHelp_fav = "INFORMATION : Cette liste est stockée sur un cookie local. Si vous effacez vos cookies, cette liste disparaîtra." ;
// popup retrait [-] //
var PopupRemove_fav = "Cliquer pour retirer de la liste la page : " ;
//////////////////////////////// TEXTES ///////////
// titre de la boîte //
var Title_fav = "Ajouter aux favoris" ;
// texte de la boîte vide //
var NoFavorites_fav = "Vous n'avez pas de favoris." ;
/////////////////////////////// PARAMÈTRES /////////////////
// début de l'URL des liens //
var Path_fav = "http://fr.wikipedia.org/wiki/" ;
// affichage de l'aide (icône (?) à droite du titre) //
var ShowHelp_fav = true;
/////////////////////////////// FIN DE LA PARTIE PERSONNALISABLE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// * création du titre du panneau *
var span_fav = document.createElement( "span" );
span_fav.setAttribute( "title",PopupTitle_fav );
span_fav.setAttribute( "fixdabsx","3");
span_fav.setAttribute( "requireclick","off");
span_fav.setAttribute( "style","cursor:pointer");
var a_fav = document.createElement( "a" );
a_fav.setAttribute( "href", "javascript:storePage()" );
var title_fav = document.createTextNode( Title_fav ) ;
a_fav.appendChild( title_fav ) ;
span_fav.appendChild( a_fav ) ;
if (ShowHelp_fav == true){
var spanhelp_fav = document.createElement( "span" );
spanhelp_fav.setAttribute( "title", PopupHelp_fav );
spanhelp_fav.setAttribute( "fixdabsx","3");
spanhelp_fav.setAttribute( "requireclick","off");
spanhelp_fav.setAttribute( "style","cursor:pointer");
var help_fav = document.createTextNode( " (?)" ) ;
spanhelp_fav.appendChild( help_fav ) ;
}
var h5_fav = document.createElement( "h5" );
h5_fav.appendChild( span_fav ) ;
if (ShowHelp_fav == true){
h5_fav.appendChild( spanhelp_fav ) ;
}
// * création de la liste de favoris *
var ul_fav = document.createElement( "ul" );
var pageList = getCookie("pageList");
var pageListTitle = getCookie("pageListTitle");
if (pageList != "" && pageList != null) {
pSplit = pageList.split(";")
for (a=0;a<pSplit.length;a++) {
if (pSplit[a] != '' && pSplit[a] != 'null') {
if (pageListTitle != "" && pageListTitle != null) {
pSplitTitle = pageListTitle.split(";")
for (a=0;a<pSplitTitle.length;a++) {
if (pSplitTitle[a] != '' && pSplitTitle[a] != 'null') {
var li_fav = document.createElement( "li" );
li_fav.setAttribute( "id", "t-whatlinkshere");
var spanaCR_fav = document.createElement( "span" );
spanaCR_fav.setAttribute( "title", PopupRemove_fav + pSplitTitle[a] );
spanaCR_fav.setAttribute( "fixdabsx","3");
spanaCR_fav.setAttribute( "requireclick","off");
spanaCR_fav.setAttribute( "style","cursor:pointer");
var aCR_fav = document.createElement( "a" );
aCR_fav.setAttribute( "href", "javascript:removePage('" + pSplitTitle[a] + "')" );
var smallR_fav = document.createElement( "small" );
var font_fav = document.createElement( "font" );
font_fav.setAttribute( "color", "red" );
var textaCR_fav = document.createTextNode( "[-]");
font_fav.appendChild( textaCR_fav );
smallR_fav.appendChild( font_fav );
aCR_fav.appendChild( smallR_fav );
spanaCR_fav.appendChild( aCR_fav ) ;
var spanaC_fav = document.createElement( "span" );
spanaC_fav.setAttribute( "title", "" + pSplitTitle[a] + "");
spanaC_fav.setAttribute( "fixdabsx","3");
spanaC_fav.setAttribute( "requireclick","off");
spanaC_fav.setAttribute( "style","cursor:pointer");
var aC_fav = document.createElement( "a" );
aC_fav.setAttribute( "href", "" + Path_fav + pSplitTitle[a] +"");
var smallT_fav = document.createElement( "small" );
var textaC_fav = document.createTextNode( "" + pSplitTitle[a] + "") ;
smallT_fav.appendChild( textaC_fav ) ;
aC_fav.appendChild( smallT_fav );
spanaC_fav.appendChild( aC_fav ) ;
li_fav.appendChild( spanaCR_fav );
li_fav.appendChild( spanaC_fav );
ul_fav.appendChild( li_fav );
}
}
}
}
}
} else {
var li_fav = document.createElement( "li" );
var nofav_fav = document.createTextNode( NoFavorites_fav );
li_fav.appendChild( nofav_fav );
ul_fav.appendChild( li_fav );
}
// * insertion du panneau (suivant le skin actif) *
if( skin == "monobook" ){
var div_fav = document.createElement( "div" );
div_fav.setAttribute( "class", "pBody" );
div_fav.appendChild( ul_fav ) ;
var portlet_fav = document.createElement( "div" ) ;
portlet_fav.setAttribute( "class", "portlet" );
portlet_fav.setAttribute( "id", "p-fav" ) ;
portlet_fav.appendChild( h5_fav ) ;
portlet_fav.appendChild( div_fav ) ;
div_ptb = document.getElementById( "p-search" );
document.getElementById("column-one").insertBefore( portlet_fav, div_ptb)
}
if( skin == "modern" ){
var div_fav = document.createElement( "div" );
div_fav.setAttribute( "class", "pBody" );
div_fav.setAttribute( "style", "overflow:hidden" );
div_fav.appendChild( ul_fav ) ;
var portlet_fav = document.createElement( "div" ) ;
portlet_fav.setAttribute( "class", "portlet" );
portlet_fav.setAttribute( "id", "p-fav" ) ;
portlet_fav.appendChild( h5_fav ) ;
portlet_fav.appendChild( div_fav ) ;
div_ptb = document.getElementById( "p-search" );
document.getElementById("mw_portlets").insertBefore( portlet_fav, div_ptb);
}
//////////////////////////////////// Vector : affichage au-dessus de la boîte à outils
if( skin == "vector" ){
var div_fav = document.createElement( "div" );
div_fav.setAttribute( "class", "body" );
div_fav.appendChild( ul_fav ) ;
var portlet_fav = document.createElement( "div" ) ;
portlet_fav.setAttribute( "class", "portal" );
portlet_fav.setAttribute( "id", "p-fav" ) ;
portlet_fav.appendChild( h5_fav ) ;
portlet_fav.appendChild( div_fav ) ;
div_ptb = document.getElementById( "p-tb" );
document.getElementById("panel").insertBefore( portlet_fav, div_ptb);
}
/////////////////////////////////////////////////////////////// Ne fonctionne pas encore
if( skin == "cologneblue" ){
}
///////////////////////////////////////////////////////////////
}
addOnloadHook( DisplayFavoritesPortlet ) ;
// ** FONCTIONS SUBALTERNES **
// * Ajout d'une page à la liste *
function storePage(){
thisPage = document.location.href;
thisPageTitle = mw.config.get('wgPageName');
var pageList = getCookie("pageList");
var pageListTitle = getCookie("pageListTitle");
var linkFound = false;
if (pageList != "" && pageList != null) {
pSplit = pageList.split(";");
for (a=0;a<pSplit.length;a++) {
}
}
if (!linkFound) {
if (pageList == null || pageList == ";") {
pageList = thisPage;
pageListTitle = thisPageTitle;
} else {
pageList += ";" + thisPage;
pageListTitle += ";" + thisPageTitle;
}
}
var now = new Date();
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
setCookie("pageList",pageList,nextYear);
setCookie("pageListTitle",pageListTitle,nextYear);
window.location.reload();
}
// * Suppression d'une page de la liste *
function removePage(url){
var pageListTitle = getCookie("pageListTitle");
var linkList = ""
if (pageListTitle != "" && pageListTitle != null) {
pSplitTitle = pageListTitle.split(";");
for (a=0;a<pSplitTitle.length;a++) {
if (pSplitTitle[a] != url && pSplitTitle[a] != '') linkList += ";" + pSplitTitle[a];
}
}
var now = new Date();
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
setCookie("pageList",linkList,nextYear);
setCookie("pageListTitle",linkList,nextYear);
window.location.reload();
}
// * Mise à jour du cookie *
function setCookie (cookieName, cookieValue, expires, path) {
document.cookie = escape(cookieName) + '=' + escape(cookieValue) + (expires ? '; EXPIRES=' + expires.toGMTString() : '') + "; PATH=/" ;
}
// * Interrogation du cookie *
function getCookie (cookieName) {
var cookieValue = null;
var posName = document.cookie.indexOf(escape(cookieName) + '=' );
if (posName != -1) {
var posValue = posName + (escape(cookieName) + '=' ).length;
var endPos = document.cookie.indexOf(';', posValue) ;
if (endPos != -1) {
cookieValue = unescape(document.cookie.substring(posValue, endPos));
} else {
cookieValue = unescape(document.cookie.substring(posValue));
}
}
return cookieValue;
}
/*
== Code JavaScript ==
* Durée :
{{Boîte déroulante début|titre=Articles récents}}<!--
*/
// --><source lang=javascript>
var ArticlesRecents_TailleListe = 10;
var ArticlesRecents_ModeleDefautDebut = '{{Articles récents\n'
+ '|pageportail=$1\n'
+ '|catégorie=$2\n'
+ '|nbMax=$3\n'
+ '|defilant=oui'
+ '|hauteur=250\n'
+ '|listeRecents=\n'
+ '$4\n'
+ '|listeCatégorie=\n'
+ '$5\n'
+ '}}\n'
var ArticlesRecents_ModeleDefautFin = '{{Articles récents fin}}\n';
var ArticlesRecents_DebutListeRecents = '<!-- Ce tableau est créé automatiquement par un robot. Articles Récents DEBUT -->\n';
var ArticlesRecents_FinListeRecents = '<!-- Ce tableau est créé automatiquement par un robot. Articles Récents FIN -->\n'
var ArticlesRecents_DebutListeCategorie = '<!-- Ce tableau est créé automatiquement par un robot. Articles Récents Liste DEBUT -->\n'
var ArticlesRecents_FinListeCategorie = '<!-- Ce tableau est créé automatiquement par un robot. Articles Récents Liste FIN -->\n'
var ArticlesRecents_ResumeModif = 'Mise à jour du modèle {{Articles récents}}';
var ArticlesRecents_Adresse = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=";
if( (mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit") ){
addOnloadHook(ArticlesRecents_initCategoryRecentChanges);
}
// recherche des modèles {{Articles récents}} de la page et ajout des liens de mise à jour
var ArticlesRecents_AnalysisDivCount = 0;
function ArticlesRecents_initCategoryRecentChanges(){
var Cadres = document.getElementsByTagName('div');
for(s=0;s<Cadres.length;s++){
if( $(Cadres[s]).hasClass('categoryRecentChanges') ){
ArticlesRecents_AnalysisDivCount++
Cadres[s].id = 'categoryRecentChanges_'+ArticlesRecents_AnalysisDivCount;
var ParamCategorie = Cadres[s].firstChild.innerHTML;
var ParamPage = Cadres[s].firstChild.title;
var NewButton = '<a href="javascript:ArticlesRecents_doRecentChangesAnalisys(\'categoryRecentChanges_'
+ArticlesRecents_AnalysisDivCount+ '\');" title="Cliquer pour mettre à jour l\'analyse de la catégorie ' + ParamCategorie + ' sur la page '+ParamPage+'" >Mettre à jour le tableau Articles récents</a>' ;
Cadres[s].innerHTML = NewButton + Cadres[s].innerHTML;
}
}
}
// vérifie les paramètres du modèle {{Articles récents}} cliqué et crée le tableau de bord
var ArticlesRecents_Categorie; // Catégorie à analyser
var ArticlesRecents_PagePortai; // Page à éditer
var ArticlesRecents_Informations; // Tableau de bord : cadre informations
var ArticlesRecents_BoutonCancel; // Tableau de bord : cadre bouton pour annuler
var ArticlesRecents_PageCible; // Tableau de bord : cadre affichage de la page ciblée
var ArticlesRecents_PageRequete; // Tableau de bord : cadre affichage des requêtes
var ArticlesRecents_ListeArticles; // Tableau de bord : liste des articles de la catégorie
var ArticlesRecents_ListeArticlesAnciens; // Tableau de bord : liste des anciens articles récents de la catégorie
var ArticlesRecents_AutoProcess= false; // Fonctionnement en boucle (dès qu'il a fini, le script recommence).
var ArticlesRecents_ListeArticlesRecents = '';
var ArticlesRecents_ListeArticlesCategorie = '';
function ArticlesRecents_doRecentChangesAnalisys(id){
if(!id) return;
var Cadre = document.getElementById(id);
var Bouton = Cadre.getElementsByTagName('span')[0];
ArticlesRecents_Categorie = Bouton.innerHTML;
ArticlesRecents_PagePortail = Bouton.title;
TailleListe= Bouton.className;
if(TailleListe!='') ArticlesRecents_TailleListe = parseInt(TailleListe);
//alert(ArticlesRecents_Categorie + ' - ' + ArticlesRecents_PagePortail + ' - ' + ArticlesRecents_TailleListe);
if( (ArticlesRecents_Categorie=='')||(ArticlesRecents_PagePortail=='') ) return;
window.scrollTo(0,0); void 0;
var TableauDeBord = document.createElement('div');
TableauDeBord.id = 'Tableau_de_bord';
TableauDeBord.innerHTML = ''
+ '<div style="position:absolute;top:0px;left:0px;width:800px;height:40px;padding:5px;font-weight:bold;background-color:white;border:3px double black;" ><ul id="Informations" ></ul></div>'
+ '<div id="Bouton_Cancel" style="position:absolute;top:0px;left:820px;width:420px;height:40px;padding:5px;font-weight:bold;background-color:white;border:3px double black;text-align:center;" ></div>'
+ '<div id="Page_cible" style="position:absolute;top:60px;left:0px;width:800px;height:800px;overflow:scroll;padding: 0.5em;background-color:white;border:3px double black;" ></div>'
+ '<div id="Page_requete" style="position:absolute;top:880px;left:0px;width:800px;height:800px;overflow:scroll;padding: 0.5em;background-color:white;border:3px double black;" ></div>'
+ '<div style="position:absolute;top:60px;left:820px;height:1620px;overflow-y: auto;width:200px; padding: 0.5em;background-color:white;border:3px double black;" >'
+ '<hr size="2" style="margin:0.5em;" /><center>Actuelle catégorie : </br><b>'+ArticlesRecents_Categorie.split('Catégorie:').join('')+'</b></center><hr size="1" style="margin:0.5em;" /><ul id="Liste_Articles"></ul></div>'
+ '<div style="position:absolute;top:60px;left:1040px;height:1620px;overflow-y: auto;width:200px; padding: 0.5em;background-color:white;border:3px double black;" >'
+ '<hr size="2" style="margin:0.5em;" /><center>Anciens articles récents : </br><b>'+ArticlesRecents_Categorie.split('Catégorie:').join('')+'</b></center><hr size="1" style="margin:0.5em;" /><ul id="Liste_ArticlesAnciens"></ul>'
+ '<hr size="2" style="margin:0.5em;" /><center>Ancienne catégorie : </br><b>'+ArticlesRecents_Categorie.split('Catégorie:').join('')+'</b></center><hr size="1" style="margin:0.5em;" /><ul id="Liste_AncienneCategorie"></ul>'
+ '</div>';
document.body.appendChild(TableauDeBord);
TableauDeBord.style.position = 'absolute';
TableauDeBord.style.zIndex = '150';
TableauDeBord.style.top = '20px';
TableauDeBord.style.left = '20px';
ArticlesRecents_Informations = document.getElementById("Informations");
ArticlesRecents_BoutonCancel = document.getElementById("Bouton_Cancel");
ArticlesRecents_PageRequete = document.getElementById("Page_requete");
ArticlesRecents_PageCible = document.getElementById("Page_cible");
ArticlesRecents_ListeArticles = document.getElementById("Liste_Articles");
ArticlesRecents_ListeArticlesAnciens = document.getElementById("Liste_ArticlesAnciens");
ArticlesRecents_ListeAncienneCategorie = document.getElementById("Liste_AncienneCategorie");
if( (!ArticlesRecents_PageCible)||(!ArticlesRecents_BoutonCancel)||(!ArticlesRecents_ListeArticles)||(!ArticlesRecents_ListeArticlesAnciens)||(!ArticlesRecents_ListeAncienneCategorie)||(!ArticlesRecents_PageRequete) ){
return;
}else{
ArticlesRecents_BoutonCancel.innerHTML = '<a href="'+ArticlesRecents_Adresse + encodeURIComponent(mw.config.get('wgPageName'))+'"title="Arrêter la mise à jour" >'
+'<img src="http://upload.wikimedia.org/wikipedia/commons/0/0c/Crystal_Clear_action_exit.png" height="40" width="40" /></a>';
var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
var url = ArticlesRecents_Adresse + decodeURIComponent(ArticlesRecents_PagePortail).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'")+ '&action=render' ;
ArticlesRecents_Informations.innerHTML = '<li>Requête ajax de la page à éditer : '+ArticlesRecents_PagePortail+'</li><li>' + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
ArticlesRecents_PageCible.innerHTML = ajaxResponse;
ArticlesRecents_Informations.innerHTML = '<li>Analyse des listes déjà établies : </li><li>Page '+ArticlesRecents_PagePortail+'</li>';
var Suretcertain = confirm('Paramètres :'
+ '\n* Page à mettre à jour : -( ' + ArticlesRecents_PagePortail + ' )- '
+ '\n* Catégorie : -( ' + ArticlesRecents_Categorie + ' )- '
+ '\n* Maximum : -( ' + ArticlesRecents_TailleListe + ' )- '
+ '\n\n Lancer la mise à jour ?' );
if(!Suretcertain) return;
var Liste1 = ArticlesRecents_PageCible.getElementsByTagName('ol')[0];
if(Liste1) ArticlesRecents_ListeArticlesRecents = Liste1.getElementsByTagName('a');
if( (ArticlesRecents_ListeArticlesRecents!='')&&(ArticlesRecents_ListeArticlesRecents.length>0) ){
for(a=0;a<ArticlesRecents_ListeArticlesRecents.length;a++){
Page = ArticlesRecents_ListeArticlesRecents[a].innerHTML;
ArticlesRecents_ListeArticlesAnciens.innerHTML += '<li>' + Page + '</li>';
}
}
var Liste2 = ArticlesRecents_PageCible.getElementsByTagName('ul')[0];
if(Liste2) ArticlesRecents_ListeArticlesCategorie = Liste2.getElementsByTagName('a');
if( (ArticlesRecents_ListeArticlesCategorie!='')&&(ArticlesRecents_ListeArticlesCategorie.length>0) ){
for(a=0;a<ArticlesRecents_ListeArticlesCategorie.length;a++){
Page = ArticlesRecents_ListeArticlesCategorie[a].innerHTML;
ArticlesRecents_ListeAncienneCategorie.innerHTML += '<li>' + Page + '</li>';
}
}
ArticlesRecents_doCategoryRecentChangesAnalisys(ArticlesRecents_Adresse + encodeURIComponent(ArticlesRecents_Categorie) + '&action=render');
}
}
}
}
}
// analyse la catégorie : requête ajax, recopie des liens dans une colonne du tableau de bord, renouvellement si il y a d'autres pages puis lancement de la fonction analyse d'historique
var ArticlesRecents_PagesCategorieCible = 1;
var ArticlesRecents_TotalArticles = 0;
var ArticlesRecents_PagesSupplementairesCount = 0;
var ArticlesRecents_PagesSupplementaires = new Array();
function ArticlesRecents_doCategoryRecentChangesAnalisys(Cible){
var AutrePage=false;
var AutrePageAdresse ='';
ArticlesRecents_PageRequete.innerHTML = '';
var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
var url = decodeURIComponent(Cible).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'") ;
ArticlesRecents_Informations.innerHTML = '<li>Requête ajax de la catégorie : page '+ArticlesRecents_PagesCategorieCible+'</li><li>' + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
ArticlesRecents_PageRequete.innerHTML = ajaxResponse;
var ContenuCategorie = getElementWithId(ArticlesRecents_PageRequete, 'div', 'mw-pages');
var LiensCategorie = ContenuCategorie.getElementsByTagName('li');
for(a=0;a<LiensCategorie.length;a++){
PageCibleCategory = LiensCategorie[a].textContent;
PageMatch=false;
var AncienneCat = ArticlesRecents_ListeAncienneCategorie.getElementsByTagName('li');
for(b=0;b<AncienneCat.length;b++){
var Titre = AncienneCat[b].textContent;
//alert(Titre + ' - ' + PageCibleCategory);
if(PageCibleCategory == Titre) PageMatch=true;
}
if(PageMatch==false){
ArticlesRecents_PagesSupplementaires[ArticlesRecents_PagesSupplementairesCount] = PageCibleCategory;
ArticlesRecents_PagesSupplementairesCount++
ArticlesRecents_ListeAncienneCategorie.innerHTML = '<li><span style="font-weight:bold;color:red !important;" >' + PageCibleCategory + '</span></li>' +ArticlesRecents_ListeAncienneCategorie.innerHTML
ArticlesRecents_ListeArticles.innerHTML += '<li><span style="font-weight:bold;color:red !important;" >' + PageCibleCategory + '</span></li>';
}else{
ArticlesRecents_ListeArticles.innerHTML += '<li>' + PageCibleCategory + '</li>';
}
ArticlesRecents_TotalArticles++
}
ArticlesRecents_Informations.innerHTML = 'Recherche de page supplémentaires';
var TousLiens = ArticlesRecents_PageRequete.getElementsByTagName('a');
var length = TousLiens.length;
var dernierLien = TousLiens[(length-1)].href;
if(dernierLien.indexOf("&from=")!=-1){
AutrePage = true;
ArticlesRecents_PagesCategorieCible++
AutrePageAdresse = dernierLien + '&action=render';
}
if(AutrePage==true){
ArticlesRecents_doCategoryRecentChangesAnalisys(AutrePageAdresse);
}else{
ArticlesRecents_initEditTableau();
}
}
}
}
}
// édition de la page : cherche la présence d'un tableau précédent, crée un tableau et remplace le tableau existant
function ArticlesRecents_initEditTableau(){
ArticlesRecents_PageRequete.innerHTML = '';
var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
url = ArticlesRecents_Adresse + decodeURIComponent(ArticlesRecents_PagePortail).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'").replace(/&/g, "%26") + '&action=edit';
ArticlesRecents_Informations.innerHTML = '<li>Édition de la page : ' + ArticlesRecents_PagePortail + '</li><li>' + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
ArticlesRecents_PageCible.innerHTML = ajaxResponse;
var ContenuPage = document.getElementById("wpTextbox1").value;
var AncienResumeModif = document.editform.wpSummary.value;
var NouvelleListeRecents = ArticlesRecents_DebutListeRecents;
var ArticlesCount = 0;
for(a=0;a<ArticlesRecents_PagesSupplementaires.length;a++){
NouvelleListeRecents += '# [[' + ArticlesRecents_PagesSupplementaires[a] + ']]\n';
ArticlesCount++
}
var AncienneListe = ArticlesRecents_ListeArticlesAnciens.getElementsByTagName('li');
for(b=0;b<AncienneListe.length;b++){
if(ArticlesCount<ArticlesRecents_TailleListe) NouvelleListeRecents += '# [[' + AncienneListe[b].textContent + ']]\n';
ArticlesCount++
}
NouvelleListeRecents += ArticlesRecents_FinListeRecents;
var NouvelleListeCategorie = ArticlesRecents_DebutListeCategorie;
var Liste = ArticlesRecents_ListeArticles.getElementsByTagName('li');
for(a=0;a<Liste.length;a++){
NouvelleListeCategorie += '* [[' + Liste[a].textContent + ']]\n';
}
NouvelleListeCategorie += ArticlesRecents_FinListeCategorie;
if( (ContenuPage.indexOf(ArticlesRecents_DebutListeCategorie)!=-1) && (ContenuPage.indexOf(ArticlesRecents_FinListeCategorie)!=-1) && (ContenuPage.indexOf(ArticlesRecents_DebutListeRecents)!=-1) && (ContenuPage.indexOf(ArticlesRecents_FinListeRecents)!=-1) ){
var debutTexte = ContenuPage.substring(0, ContenuPage.indexOf(ArticlesRecents_DebutListeCategorie));
var AncienModele = ContenuPage.substring(0, ContenuPage.indexOf(ArticlesRecents_FinListeCategorie)) + ArticlesRecents_FinListeCategorie;
AncienModele = AncienModele.replace(debutTexte, "");
var finTexte = ContenuPage.split(debutTexte).join('').split(AncienModele).join('');
var TexteFinal = debutTexte + NouvelleListeCategorie + finTexte;
debutTexte = TexteFinal.substring(0, TexteFinal.indexOf(ArticlesRecents_DebutListeRecents));
AncienModele = TexteFinal.substring(0, TexteFinal.indexOf(ArticlesRecents_FinListeRecents)) + ArticlesRecents_FinListeRecents;
AncienModele = AncienModele.replace(debutTexte, "");
finTexte = TexteFinal.split(debutTexte).join('').split(AncienModele).join('');
TexteFinal = debutTexte + NouvelleListeRecents + finTexte;
}else{
var TexteFinal = ArticlesRecents_ModeleDefautDebut + ArticlesRecents_ModeleDefautFin;
TexteFinal = TexteFinal.split('$1').join(ArticlesRecents_PagePortail);
TexteFinal = TexteFinal.split('$2').join(ArticlesRecents_Categorie);
TexteFinal = TexteFinal.split('$3').join(ArticlesRecents_TailleListe);
TexteFinal = TexteFinal.split('$4').join(NouvelleListeRecents);
TexteFinal = TexteFinal.split('$5').join(NouvelleListeCategorie);
}
document.getElementById ("wpTextbox1").value = TexteFinal ;
document.editform.wpSummary.value = AncienResumeModif + ArticlesRecents_ResumeModif ;
ArticlesRecents_Informations.innerHTML = '<li>Sauvegarde de la page : ' + ArticlesRecents_PagePortail + '</li>';
var SurEtCertain = confirm('Sauvegarder la modification ?');
if(SurEtCertain) document.editform.submit();
}
}
}
}
// * Recherche d'un élement dont on connait l'Id mais non unique, donc sans utiliser document.getElementById()
function getElementWithId( elementParentNode , elementTagName , elementId ){
if(!elementParentNode) elementParentNode = document;
var TheElement = false;
var Elements = elementParentNode.getElementsByTagName(elementTagName);
var elementcount = 0;
while(elementcount<Elements.length){
var Id = Elements[elementcount].id;
if(Id){
if(Id.indexOf(elementId)!=-1){
TheElement = Elements[elementcount];
}
}
elementcount++
}
return TheElement;
}
//</source>{{Boîte déroulante fin}}
});