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

De BoyWiki
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 3 : Ligne 3 :


function update_citation_du_jour() {
function update_citation_du_jour() {
alert('coucou');
   /* seulement pour page Accueil et utilisateur ayant droit */
   /* seulement pour page Accueil et utilisateur ayant droit */
   //if (document.body.className.match(/page-Accueil/) == null) return;
   //if (document.body.className.match(/page-Accueil/) == null) return;

Version du 14 mars 2009 à 11:06

/* Ajoute une citation dans la page de préparation des citations */
/* les citations sont préparées pour n jours suivants */

function update_citation_du_jour() {
alert('coucou');
   /* seulement pour page Accueil et utilisateur ayant droit */
   //if (document.body.className.match(/page-Accueil/) == null) return;
   if (document.body.className.match(/page-Utilisateur_Pinocchio/) == null) return;
   if (wgUserGroups && wgUserGroups.join(" ").match(/scribe|sysop|bureaucrat/) == null) return;
   if (wgAction != 'view') return;

   /* init requete serveur - get page citation */
   if (window.XMLHttpRequest) { // Firefox
      xhr_object = new XMLHttpRequest();
      xhr_object2 = new XMLHttpRequest();
   }
   else if (window.ActiveXObject) { // IE
      xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
      xhr_object2 = new ActiveXObject("Msxml2.XMLHTTP");
   }
   else return;
   
   xhr_object.open('GET', '/w/index.php?title=Utilisateur:Pinocchio/Test2&action=edit', false);
   xhr_object.send('');
   if (xhr_object.readyState == 4 && xhr_object.status == 200) {
      var pagedit = xhr_object.responseText.substr(4000);

      /* copie contenu <textarea> en conservant les \n */
      var idxtxta = pagedit.search(/<textarea/i);
      if (idxtxta >0) {
         var strtxta = '';
         for (var i = idxtxta; i < pagedit.length; i++) {
            strtxta += pagedit[i];
            if (pagedit[i] == '>' && pagedit[i-1] == 'a' && pagedit[i-2] == 'e' && pagedit[i-3] == 'r' && pagedit[i-9] == '/' && pagedit[i-10] == '<') break;
            if (pagedit[i] == '>' && pagedit[i-1] == 'A' && pagedit[i-2] == 'E' && pagedit[i-3] == 'R' && pagedit[i-9] == '/' && pagedit[i-10] == '<') break;
         }
      }

      pagedit = pagedit.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 text = 'nouveau texte';
      var summary = 'Routine citation du jour';

//alert(startime+'   '+editime+'   '+editoken+'   '+autosummary);
//alert(strtxta);
   }

   /* init requete serveur - maj sous-page Accueil/Citation */
   var boundary = '--------------23242526272829';
   var data = '';
   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'+text+'\r\n';
   data += '--'+boundary+'--\r\n';

   xhr_object.open('POST', '/w/index.php?title=Utilisateur:Pinocchio/Test2&action=submit', false);
   //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));
   xhr_object.send(data);

alert(xhr_object.readyState+'   '+xhr_object.status);

}

addOnloadHook(update_citation_du_jour);