« Utilisateur:Pinocchio/citation du jour.js » : différence entre les versions

De BoyWiki
Aucun résumé des modifications
(efface fonction inutile)
 
(56 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
/* La première lecture du jour de la page Accueil provoque le rafraichissement de la citation
/*  par maj d'une sous-page incluse (purge cache) */
function refresh_citation_du_jour() {
  /* seulement pour page Accueil et utilisateur ayant droit écriture dans sous-page Accueil */
  //if (document.body.className.match(/page-Accueil/) == null) return;
  if (wgPageName != 'Accueil') return;
  if (wgUserGroups == null || wgUserGroups.join(" ").match(/scribe|sysop|fsc|bureaucrat/) == null) return;
  if (wgAction != 'view') return;
  /* init syntaxe requete serveur */
  if (window.XMLHttpRequest) { // Firefox
      xhr_object = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) { // IE
      xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
  }
  else return;
 
  /* init requete serveur - get sous-page Accueil/refresh */
  xhr_object.open('GET', '/w/index.php?title=BoyWiki:Accueil/Citation_du_jour_Refresh&action=edit', true);
  /* action sur fin requete async */
  xhr_object.onreadystatechange = function() {
      if (xhr_object.readyState == 4 && xhr_object.status == 200) {
        /* récup éléments du formulaire */
        var pagedit = xhr_object.responseText.replace(/\n/g, '');
        var startime = pagedit.match(/wpSection.*name="wpStarttime/i);
        startime = startime[0].replace(/.*value="([0-9]+)" name="wpStarttime/i, '$1');
        var editime = pagedit.match(/wpStarttime.*name="wpEdittime/i);
        editime = editime[0].replace(/.*value="([0-9]+)" name="wpEdittime/i, '$1');
        var editoken = pagedit.match(/.{80}name="wpEditToken/i);
        editoken = editoken[0].replace(/.*value="([0-f+]+)" name="wpEditToken/i, '$1');
        var autosummary = pagedit.match(/wpAutoSummary.{1,30}value="[^"]+"/i);
        autosummary = autosummary[0].replace(/.*value="([0-f]+)"/i, '$1');
        var summary = 'Routine refresh citation du jour';
        var newtxt = '<!-- Cette page est utilisée pour le rafraichissement de la citation du jour.\nNe pas effacer. -->';
        /* init date du jour au format wpEdittime à partir de wpStarttime */
        var now = new Date(startime.substr(0,4),startime.substr(4,2) - 1,startime.substr(6,2));
        var today = formatdateyyyymmdd(now);
        today = today+'000000';
        /* test date dernière édition de la sous-page */
        if (editime < today) {
            /* init requete serveur - maj sous-page Accueil/refresh */
            var boundary = '--------------23242526272829';
            var data = '--'+boundary+'\r\nContent-Disposition: form-data; name="wpAntispam"\r\n\r\n\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpSection"\r\n\r\n\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpScrolltop"\r\n\r\n0\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpStarttime"\r\n\r\n'+startime+'\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpEdittime"\r\n\r\n'+editime+'\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpEditToken"\r\n\r\n'+editoken+'\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpSummary"\r\n\r\n'+summary+'\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpAutoSummary"\r\n\r\n'+autosummary+'\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpSave"\r\n\r\nPublier\r\n';
            data += '--'+boundary+'\r\nContent-Disposition: form-data; name="wpTextbox1"\r\n\r\n'+newtxt+'\r\n';
            data += '--'+boundary+'--\r\n';
            xhr_object.open('POST', '/w/index.php?title=BoyWiki:Accueil/Citation_du_jour_Refresh&action=submit', true);
            //xhr_object.setRequestHeader("Host", "fr.boywiki.org");
            xhr_object.setRequestHeader("Charset", "utf-8");
            xhr_object.setRequestHeader("Content-Type", "multipart/form-data; boundary="+boundary);
            xhr_object.setRequestHeader("Content-Length", String(data.length));
            /* action sur fin requete async */
            xhr_object.onreadystatechange = function() {
              if (xhr_object.readyState == 4 && xhr_object.status == 200) {
                  /* reload page Accueil */
                  if(confirm('Cette page a été mise à jour : la recharger ?')) window.location.reload(true);
              }
            }
            xhr_object.send(data);
        }
      }
  }
  xhr_object.send('');
}
addOnloadHook(refresh_citation_du_jour);




/* Retourne la date formatée yyyymmdd */


/* Retourne la date formatée yyyymmdd */
function formatdateyyyymmdd(obj) {
function formatdateyyyymmdd(obj) {
   var yer = obj.getFullYear();
   var yer = obj.getFullYear();
Ligne 88 : Ligne 9 :
   if (mon < 10) mon = '0'+mon;
   if (mon < 10) mon = '0'+mon;
   if (day < 10) day = '0'+day;
   if (day < 10) day = '0'+day;
   return yer+mon+day;
   return yer.toString()+mon.toString()+day.toString();
}
}
/* Insère appel à fonction() sur action submit avant envoi de la page  */
function initeventpostform() {
  if (wgAction == 'edit') {
      if (document.forms['editform'].elements['wpTextbox1']== undefined) return;
      document.forms['editform'].onsubmit = ident_citation_du_jour;
  }
}
addOnloadHook(initeventpostform);




Ligne 109 : Ligne 16 :


/* Affecte un identifiant à chaque citation utilisant le modèle Extrait
/* Affecte un identifiant à chaque citation utilisant le modèle Extrait
/* une seule fois au moment de sa création  
/* une seule fois au moment de sa création
/* pour sélection aléatoire citation du jour
/* utilisé pour sélection aléatoire citation du jour
/* et sauve les identifiants créés dans la sous-page Accueil/préparation citation */
/* lancé par submit */


function ident_citation_du_jour() {
function ident_citation_du_jour() {
   /* contenu zone édition */
   // contenu zone édition
   if (document.forms['editform'].elements['wpTextbox1'] == undefined) return true;
   if (document.forms['editform'].elements['wpTextbox1'] == undefined) return true;
   /* seulement les pages articles de l'espace principal (ns0) */
   // seulement les pages articles de l'espace principal (ns0)
   if (wgNamespaceNumber != 0) return true;
   if (wgNamespaceNumber != 0) return true;
   var content = document.forms['editform'].elements['wpTextbox1'].value;
   var content = document.forms['editform'].elements['wpTextbox1'].value;


   /* recherche chaines modèles {{Extrait}} */
   // recherche chaines modèles {{Extrait}}
   var content = content.split(/\{\{[Ee]xtrait\|/g);
   var content = content.split(/\{\{[Ee]xtrait\|/g);
   if (content == null) return;
   if (content == null) return;


   /* copie texte zone edit avant premier {{extrait}} */
   // copie texte zone edit avant premier {{extrait}}
   var buf = content[0];
   var buf = content[0];
   /* liste des idents créés */
   // pour tout les modèles trouvés
  //var rdmlst = '';
  /* pour tout les modèles trouvés */
   for (var m = 1; m < content.length ; m++) {
   for (var m = 1; m < content.length ; m++) {
       /* recherche fin modèle (parenthèses de fermeture) - extraction contenu */
       // recherche fin modèle (parenthèses fermeture) - extraction contenu
       var open = 1;
       var open = 1;
       var close = 0;
       var close = 0;
Ligne 140 : Ligne 45 :
       var submodl = content[m].substr(0,i-1);
       var submodl = content[m].substr(0,i-1);


       /* controle args (si id déjà affecté ou cdj=non) */
       // controle args (si id déjà affecté ou cdj=non)
       if (! submodl.match(/^id=[0-9]{6,9}\||^ ?cdj=non ?\|/)) {
       if (! submodl.match(/^id=[0-9]{6,9}\||^ ?cdj=non ?\|/)) {
         /* génére un nombre aléatoire entre 1000000 et 9999999 */
         // génére nombre aléatoire entre 1000000 et 9999999
         var rdm = Math.floor(8999999 * Math.random()) + 1000000;
         var rdm = Math.floor(8999999 * Math.random()) + 1000000;
         /* recrée syntaxe modèle avec id */
         // recrée syntaxe modèle avec id
         var tmp = '{{Extrait|id='+rdm+'|'+submodl+'}}';
         var tmp = '{{Extrait|id='+rdm+'|'+submodl+'}}';
/* ajoute dans liste idents créés */
      } else {
//rdmlst += rdm+',';
         // recrée modèle orig
  } else {
         /* recrée modèle orig */
         var tmp = '{{Extrait|'+submodl+'}}';
         var tmp = '{{Extrait|'+submodl+'}}';
       }
       }
       /* ajoute contenu modèle + texte restant après fin modèle */
       // ajoute contenu modèle + texte restant après fin modèle
       buf += tmp;
       buf += tmp;
       buf += content[m].substr(i+1);
       buf += content[m].substr(i+1);
   }
   }
    
    
   /* insertion modifs dans zone edit */
   // insertion modifs dans zone edit
  document.forms['editform'].elements['wpTextbox1'].value = buf;
}
 
 
 
/* Affecte un identifiant à chaque commentaire d'image utilisant le modèle {{Image texte}}
/* une seule fois au moment de sa création
/* utilisé pour sélection aléatoire image du jour
/* lancé par submit */
 
function ident_image_du_jour() {
  if (document.forms['editform'].elements['wpTextbox1'] == undefined) return true;
  // seulement les pages commentaires images
  if (! wgPageName.match(/BoyWiki:Commentaires_des_images/)) return true;
  // contenu zone édition
  var content = document.forms['editform'].elements['wpTextbox1'].value;
 
  // recherche chaines modèles {{Image texte}}
  var content = content.split(/\{\{[Ii]mage texte\|/g);
  if (content == null) return;
 
  // copie texte zone edit avant premier {{Image texte}}
  var buf = content[0];
  // pour tout les modèles trouvés
  for (var m = 1; m < content.length ; m++) {
      // recherche fin modèle (parenthèses fermeture) - extraction contenu
      var open = 1;
      var close = 0;
      for (var i = 0; i < content[m].length ; i++) {
        if (content[m][i] == '{' && content[m][i+1] == '{') {open++; i++;}
        if (content[m][i] == '}' && content[m][i+1] == '}') {close++; i++;}
        if (open == close) break;
      }
      var submodl = content[m].substr(0,i-1);
 
      // controle args (si id déjà affecté ou idj=non)
      if (! submodl.match(/^id=[0-9]{6,9}\||^ ?idj=non ?\|/)) {
        // génére nombre aléatoire entre 1000000 et 9999999
        var rdm = Math.floor(8999999 * Math.random()) + 1000000;
        // recrée syntaxe modèle avec id
        var tmp = '{{Image texte|id='+rdm+'|'+submodl+'}}';
      } else {
        // recrée modèle orig
        var tmp = '{{Image texte|'+submodl+'}}';
      }
      // ajoute contenu modèle + texte restant après fin modèle
      buf += tmp;
      buf += content[m].substr(i+1);
  }
 
  // insertion modifs dans zone edit
   document.forms['editform'].elements['wpTextbox1'].value = buf;
   document.forms['editform'].elements['wpTextbox1'].value = buf;
}
}
Ligne 163 : Ligne 117 :




/* Prépare lot de citations pour les jours suivants */
 
/* Recherche des pages de citations et sélection pseudo aléatoire */
/* Prépare lots de citations et images pour les jours suivants
/* Création page de lancement manuel */


function prepare_citation_du_jour() {
function prepare_citation_du_jour() {
/* seulement pour page Accueil/Préparation et utilisateur ayant droit écriture dans sous-page Accueil */
// seulement pour page Accueil/Prépare et utilisateur ayant droit écriture dans sous-page Accueil
   if (wgPageName != 'BoyWiki:Accueil/Citation_du_jour_Prepare') return;
   if (wgPageName != 'BoyWiki:Accueil/Citation_du_jour_Prepare') return;
   if (wgUserGroups == null || wgUserGroups.join(" ").match(/scribe|sysop|fsc|bureaucrat/) == null) return;
   if (wgUserGroups == null || wgUserGroups.join(" ").match(/user|sysop|bureaucrat/) == null) return;
   if (wgAction != 'view') return;
   if (wgAction != 'view') return;


   /* ajout div déroulement procédure */
   // créat div déroulement procédure
   var progressop = document.createElement('div');
   var progressop = document.createElement('div');
   progressop.setAttribute('id', 'progress_op');
   progressop.setAttribute('id', 'progress_op');
   /* ajout bouton continuer */
  progressop.style.textAlign = 'center';
   progressop.innerHTML = '<button type="button" style="display: block; margin: 20px auto;" value="" onclick="prepare_citation_du_jour_cont1()" />Continuer</button>';
   // ajout boutons lancement
   progressop.innerHTML = '<button type="button" style="margin:20px;" value="" onclick="prepare_cdj_idj_load(\'c\')" />Citations</button>';
  progressop.innerHTML += '<button type="button" style="margin:20px;" value="" onclick="prepare_cdj_idj_load(\'i\')" />Images</button>';
   document.getElementById('bodyContent').appendChild(progressop);
   document.getElementById('bodyContent').appendChild(progressop);
}
}
Ligne 183 : Ligne 140 :




/* suite lancé par bouton continuer */
/* suite lancée par action boutons */
function prepare_citation_du_jour_cont1() {
 
   var progressop = document.getElementById('progress_op');
/* Chargement de la page code avant exec */
function prepare_cdj_idj_load(q) {
   importScript('Utilisateur:Pinocchio/citations_images_du_jour.js');
  setTimeout(function() {prepare_cdj_idj_load_wait(q);},500);
}


  /* init syntaxe requete serveur */
/* Attente fin chargement avant exec */
   if (window.XMLHttpRequest) { // Firefox
function prepare_cdj_idj_load_wait(q) {
       xhr_object = new XMLHttpRequest();
   if (typeof(getabcitationperpage) == 'function') {
       switch(q){
        case 'c': prepare_cdj_exec(); break;
        case 'i': prepare_idj_exec(); break;
      }
   }
   }
   else if (window.ActiveXObject) { // IE
   else var x = setTimeout(function() {prepare_cdj_idj_load_wait(q);},500);
      xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
}
  }
 
  else {
 
      progressop.innerHTML = 'Erreur 1 - Abandon';
/************************/
      return;
 
  }
/* Bouton création sous-pages Commentaires des images */
 
 
  progressop.innerHTML = 'Recherche état actuel...';
function creatimgtxt_start() {
 
   /* seulement pour page commentaires des images et utilisateur ayant droit écriture */
   /* init requete serveur - lecture sous-page citations */
   if (wgPageName != 'BoyWiki:Commentaires_des_images') return;
   xhr_object.open('GET', '/w/index.php?title=BoyWiki:Accueil/Citation_du_jour&action=edit', false);
   if (wgUserGroups == null || wgUserGroups.join(" ").match(/user|sysop|bureaucrat/) == null) return;
   xhr_object.send('');
   if (wgAction != 'view') return;
   if (xhr_object.readyState != 4 || xhr_object.status != 200) {
 
      progressop.innerHTML = 'Erreur 2 - Abandon';
   // affiche bouton lancement
      return;
   var ctnr = document.getElementById('creatimgtxt');
   }
  var contxt = '<button type="button" style="margin:20px;" value="" onclick="creatimgtxt_load()" />Créer une nouvelle sous-page commentaire</button>';
/* recup contenu utile */
  ctnr.innerHTML = contxt;
   var pagedit = xhr_object.responseText.split(/<textarea[^>]*>|<\/textarea>/gi);
}
 
addOnloadHook(creatimgtxt_start);
 
 
/* suite lancée par action bouton */


  /* init date du jour - date min - date max */
/* Chargement de la page code avant */
  var now = new Date();
function creatimgtxt_load() {
   var today = formatdateyyyymmdd(now);
   importScript('Utilisateur:Pinocchio/création_commentaire_image.js');
  now.setDate(now.getDate() - 2);
   setTimeout("creatimgtxt_load_wait()",500);
   var minday = formatdateyyyymmdd(now);
}
  now.setDate(now.getDate() + 30);
  var maxday = formatdateyyyymmdd(now);
//alert(today+'  '+minday+'  '+maxday);


  /* découpe contenu par cas du switch */
/* Attente fin chargement code */
  var tabsw = pagedit[1].split(/\n ?\| ?/);
function creatimgtxt_load_wait() {
  /* conserve début page jusqu'à switch */
   if (typeof(creatimgtxt_exec) != 'function') setTimeout("creatimgtxt_load_wait()",500);
  var buf = tabsw[0]+'\n';
  else creatimgtxt_form();
  /* parcourt les dates compte les jours restant élimine les cas obsolètes ajoute à buf les cas conservés */
  var nbj = 0;
  var jtop = '00000000';
  var rtop = '0000000';
  for (var i = 1; i < tabsw.length ; i++) {
      var cas = tabsw[i].match(/^([0-9]{8})=/);
      if (cas == null) break;
      if (cas[1] >= minday) {
        if (cas[1] > jtop) jtop = cas[1];
        if (cas[1] > today) nbj++;
        buf += '| '+tabsw[i]+'\n';
        var rdm = tabsw[i].match(/^[0-9]{8}=\{\{[Ee]xtrait\|id=([0-9]{6,9})\|/);
        if (rdm[1] > rtop) rtop = rdm[1];
      }
  }
   if (nbj >= 30) {progressop.innerHTML = 'Le nombre maximum (30) de jours couverts est atteint'; return;}
  else if (nbj > 1) progressop.innerHTML = 'Il y a actuellement '+nbj+' jours couverts<br />';
  else progressop.innerHTML = 'Il y a actuellement '+nbj+' jour couvert<br />';
//alert(jtop+'  '+rtop); 
 
  /* recherche liste pages citations */
  progressop.innerHTML += 'Recherche pages de citations...';
  xhr_object.open('GET', '/w/index.php?title=Special%3APages+li%C3%A9es&limit=500&target=Mod%C3%A8le%3AExtrait&namespace=0', false);
  xhr_object.send('');
  if (xhr_object.readyState != 4 || xhr_object.status != 200) {
      progressop.innerHTML = 'Erreur 3 - Abandon';
      return;
  }
  /* recup contenu utile */
  var pagesrch = xhr_object.responseText.split(/Voir \([0-9]+ précédentes\)/g);
  tabul = pagesrch[1].split(/<ul><li>|<\/ul>/gi);
  tabli = tabul[1].split(/<li>/gi);
  for (var i = 0; i < tabli.length ; i++) {
      var href = tabli[i].match(/href="([^"]*)"/i);
      var title = tabli[i].match(/title="([^"]*)"/i);
      if (title == 'Accueil') continue;
alert(href[1]+'  '+title[1]);
  }
}
}

Dernière version du 28 avril 2014 à 08:07


/* Retourne la date formatée yyyymmdd */

function formatdateyyyymmdd(obj) {
   var yer = obj.getFullYear();
   var mon = (obj.getMonth() + 1);
   var day = obj.getDate();
   if (mon < 10) mon = '0'+mon;
   if (day < 10) day = '0'+day;
   return yer.toString()+mon.toString()+day.toString();
}




/* Affecte un identifiant à chaque citation utilisant le modèle Extrait
/* une seule fois au moment de sa création
/* utilisé pour sélection aléatoire citation du jour
/* lancé par submit */

function ident_citation_du_jour() {
   // contenu zone édition
   if (document.forms['editform'].elements['wpTextbox1'] == undefined) return true;
   // seulement les pages articles de l'espace principal (ns0)
   if (wgNamespaceNumber != 0) return true;
   var content = document.forms['editform'].elements['wpTextbox1'].value;

   // recherche chaines modèles {{Extrait}}
   var content = content.split(/\{\{[Ee]xtrait\|/g);
   if (content == null) return;

   // copie texte zone edit avant premier {{extrait}}
   var buf = content[0];
   // pour tout les modèles trouvés
   for (var m = 1; m < content.length ; m++) {
      // recherche fin modèle (parenthèses fermeture) - extraction contenu
      var open = 1;
      var close = 0;
      for (var i = 0; i < content[m].length ; i++) {
         if (content[m][i] == '{' && content[m][i+1] == '{') {open++; i++;}
         if (content[m][i] == '}' && content[m][i+1] == '}') {close++; i++;}
         if (open == close) break;
      }
      var submodl = content[m].substr(0,i-1);

      // controle args (si id déjà affecté ou cdj=non)
      if (! submodl.match(/^id=[0-9]{6,9}\||^ ?cdj=non ?\|/)) {
         // génére nombre aléatoire entre 1000000 et 9999999
         var rdm = Math.floor(8999999 * Math.random()) + 1000000;
         // recrée syntaxe modèle avec id
         var tmp = '{{Extrait|id='+rdm+'|'+submodl+'}}';
      } else {
         // recrée modèle orig
         var tmp = '{{Extrait|'+submodl+'}}';
      }
      // ajoute contenu modèle + texte restant après fin modèle
      buf += tmp;
      buf += content[m].substr(i+1);
   }
   
   // insertion modifs dans zone edit
   document.forms['editform'].elements['wpTextbox1'].value = buf;
}



/* Affecte un identifiant à chaque commentaire d'image utilisant le modèle {{Image texte}}
/* une seule fois au moment de sa création
/* utilisé pour sélection aléatoire image du jour
/* lancé par submit */

function ident_image_du_jour() {
   if (document.forms['editform'].elements['wpTextbox1'] == undefined) return true;
   // seulement les pages commentaires images
   if (! wgPageName.match(/BoyWiki:Commentaires_des_images/)) return true;
   // contenu zone édition
   var content = document.forms['editform'].elements['wpTextbox1'].value;

   // recherche chaines modèles {{Image texte}}
   var content = content.split(/\{\{[Ii]mage texte\|/g);
   if (content == null) return;

   // copie texte zone edit avant premier {{Image texte}}
   var buf = content[0];
   // pour tout les modèles trouvés
   for (var m = 1; m < content.length ; m++) {
      // recherche fin modèle (parenthèses fermeture) - extraction contenu
      var open = 1;
      var close = 0;
      for (var i = 0; i < content[m].length ; i++) {
         if (content[m][i] == '{' && content[m][i+1] == '{') {open++; i++;}
         if (content[m][i] == '}' && content[m][i+1] == '}') {close++; i++;}
         if (open == close) break;
      }
      var submodl = content[m].substr(0,i-1);

      // controle args (si id déjà affecté ou idj=non)
      if (! submodl.match(/^id=[0-9]{6,9}\||^ ?idj=non ?\|/)) {
         // génére nombre aléatoire entre 1000000 et 9999999
         var rdm = Math.floor(8999999 * Math.random()) + 1000000;
         // recrée syntaxe modèle avec id
         var tmp = '{{Image texte|id='+rdm+'|'+submodl+'}}';
      } else {
         // recrée modèle orig
         var tmp = '{{Image texte|'+submodl+'}}';
      }
      // ajoute contenu modèle + texte restant après fin modèle
      buf += tmp;
      buf += content[m].substr(i+1);
   }

   // insertion modifs dans zone edit
   document.forms['editform'].elements['wpTextbox1'].value = buf;
}




/* Prépare lots de citations et images pour les jours suivants
/* Création page de lancement manuel */

function prepare_citation_du_jour() {
// seulement pour page Accueil/Prépare et utilisateur ayant droit écriture dans sous-page Accueil
   if (wgPageName != 'BoyWiki:Accueil/Citation_du_jour_Prepare') return;
   if (wgUserGroups == null || wgUserGroups.join(" ").match(/user|sysop|bureaucrat/) == null) return;
   if (wgAction != 'view') return;

   // créat div déroulement procédure
   var progressop = document.createElement('div');
   progressop.setAttribute('id', 'progress_op');
   progressop.style.textAlign = 'center';
   // ajout boutons lancement
   progressop.innerHTML = '<button type="button" style="margin:20px;" value="" onclick="prepare_cdj_idj_load(\'c\')" />Citations</button>';
   progressop.innerHTML += '<button type="button" style="margin:20px;" value="" onclick="prepare_cdj_idj_load(\'i\')" />Images</button>';
   document.getElementById('bodyContent').appendChild(progressop);
}

addOnloadHook(prepare_citation_du_jour);


/* suite lancée par action boutons */

/* Chargement de la page code avant exec */
function prepare_cdj_idj_load(q) {
   importScript('Utilisateur:Pinocchio/citations_images_du_jour.js');
   setTimeout(function() {prepare_cdj_idj_load_wait(q);},500);
}

/* Attente fin chargement avant exec */
function prepare_cdj_idj_load_wait(q) {
   if (typeof(getabcitationperpage) == 'function') {
      switch(q){
         case 'c': prepare_cdj_exec(); break;
         case 'i': prepare_idj_exec(); break;
      }
   }
   else var x = setTimeout(function() {prepare_cdj_idj_load_wait(q);},500);
}


/************************/

/* Bouton création sous-pages Commentaires des images */

function creatimgtxt_start() {
   /* seulement pour page commentaires des images et utilisateur ayant droit écriture */
   if (wgPageName != 'BoyWiki:Commentaires_des_images') return;
   if (wgUserGroups == null || wgUserGroups.join(" ").match(/user|sysop|bureaucrat/) == null) return;
   if (wgAction != 'view') return;

   // affiche bouton lancement
   var ctnr = document.getElementById('creatimgtxt');
   var contxt = '<button type="button" style="margin:20px;" value="" onclick="creatimgtxt_load()" />Créer une nouvelle sous-page commentaire</button>';
   ctnr.innerHTML = contxt;
}

addOnloadHook(creatimgtxt_start);


/* suite lancée par action bouton */

/* Chargement de la page code avant */
function creatimgtxt_load() {
   importScript('Utilisateur:Pinocchio/création_commentaire_image.js');
   setTimeout("creatimgtxt_load_wait()",500);
}

/* Attente fin chargement code */
function creatimgtxt_load_wait() {
   if (typeof(creatimgtxt_exec) != 'function') setTimeout("creatimgtxt_load_wait()",500);
   else creatimgtxt_form();
}