Utilisateur:Arktest/turboEdit.js
Apparence
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.function turboEditSkip()
{
++document.articleId;
turboEditNextArticle();
}
function turboEditPublish()
{
var parameters = 'wpSave=1'
+ '&wpTextbox1=' + encodeURIComponent(document.getElementById('article').value)
+ '&wpStarttime=' + encodeURIComponent(document.wpStarttime)
+ '&wpEdittime=' + encodeURIComponent(document.wpEdittime)
+ '&wpEditToken=' + encodeURIComponent(document.wpEditToken)
+ '&wpSummary=' + encodeURIComponent('[[Discussion utilisateur:Arkanosis/turboEdit.js|turboEdit]] : ' + document.getElementById('summary').value)
+ '&wpMinoredit=on&wpWatchthis=on';
var xhr = new XMLHttpRequest();
with (xhr)
{
open('POST', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=' + encodeURIComponent(document.articles[document.articleId]) + '&action=submit', false);
setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
setRequestHeader('Content-length', parameters.length);
setRequestHeader('Connection', 'close');
send(parameters);
}
turboEditSkip();
}
function turboEditNextArticle()
{
if (document.articleId > document.articles.length)
{
alert('Fini');
return;
}
var xhr = new XMLHttpRequest();
xhr.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=' + encodeURIComponent(document.articles[document.articleId]) + '&action=edit', false);
xhr.send('');
var parser = new DOMParser();
var editForm = parser.parseFromString(xhr.responseText, 'application/xhtml+xml');
var inputs = editForm.getElementsByTagName('input');
for (inputId = 0; inputId < inputs.length; ++inputId)
switch (inputs[inputId].name)
{
case 'wpStarttime':
document.wpStarttime = inputs[inputId].value;
break;
case 'wpEdittime':
document.wpEdittime = inputs[inputId].value;
break;
case 'wpEditToken':
document.wpEditToken = inputs[inputId].value;
break;
default:
break;
}
var text = editForm.getElementById('wpTextbox1');
if (text)
document.getElementById('article').value = text.value;
else
turboEditSkip();
}
function turboEditIterArticles()
{
var content = document.getElementById('bodyContent');
content.innerHTML = '<form><textarea id="article" cols="80" rows="50"></textarea><input class="summary" id="summary" maxlength="200" size="60" type="text" value="" /><a onClick="javascript:turboEditPublish();return false;">Publier</a> | <a onClick="javascript:turboEditSkip();return false;">Passer</a></form>';
document.articleId = 0;
turboEditNextArticle();
}
function turboEdit()
{
if (mw.config.get('wgTitle').indexOf('Portails/Articles sans portail/') != -1)
{
document.articles = [];
var sections = document.getElementsByTagName('ol');
// FIXME starting at 1 to skip references
for (var sectionId = 1; sectionId < sections.length; ++sectionId)
{
var entries = sections[sectionId].getElementsByTagName('li');
for (var entryId = 0; entryId < entries.length; ++entryId)
{
var article = entries[entryId].getElementsByTagName('a')[0];
document.articles.push(article.getAttribute('href').replace('/wiki/', ''));
}
}
turboEditIterArticles();
}
}
addOnloadHook(turboEdit);