User:Sander Säde/allest.js

//Script to quickly get a list of all WikiProject Estonia articles $(CollectButton); function CollectButton { addPortletLink( chooseBox( 'wpe: AllEstTest', TwinkleConfig.toolboxButtons ), "javascript:allEstTest", "wpe: allEstTest", "", "", ""); } var estAjax; var estArticles = new Array;

function allEstTest {	document.getElementById("contentSub").innerHTML = ""; getAllEstonianArticles; }

function getAllEstonianArticles {	ajaxEstGet("http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:WikiProject_Estonia_articles&cmlimit=500&cmnamespace=1&cmprop=title&format=json"); }

function ajaxEstGet(url) { estAjax = sajax_init_object(null); estAjax.onreadystatechange = ajaxEstGetReceived; estAjax.open("GET", url, true); estAjax.send(null); }

function ajaxEstGetReceived { if (estAjax.readyState != 4) return; var response = eval('(' + estAjax.responseText + ')'); for(i = 0; i < response["query"]["categorymembers"].length; i++) {		estArticles.push(response["query"]["categorymembers"][i]["title"].replace("Talk:", "")); }	//nice progressbar var s = ""; for(i = 0; i < Math.floor(estArticles.length / 30); i++) {		s = s + "|"; }	document.getElementById("contentSub").innerHTML = s + " " + estArticles.length; if (response["query-continue"] == null) {		updateEstArticles; document.getElementById("contentSub").innerHTML = "Posting..."; }	else {	document.getElementById("contentSub").innerHTML = document.getElementById("contentSub").innerHTML + " " + response["query-continue"]["categorymembers"]["cmcontinue"]; ajaxEstGet("http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:WikiProject_Estonia_articles&cmlimit=500&cmnamespace=1&cmprop=title&format=json&cmcontinue=" + response["query-continue"]["categorymembers"]["cmcontinue"]); } }

function updateEstArticles { var getForm = sajax_init_object(null); getForm.overrideMimeType('text/xml'); getForm.open( 'GET', 'http://en.wikipedia.org/w/index.php?title=User:Sander_S%C3%A4de/WPEarticles&action=submit', true); getForm.onreadystatechange = function { if(getForm.readyState != 4) return; doUpdateEstArticles(getForm.responseXML); };	getForm.send(null) }

function doUpdateEstArticles(pg) { form = pg.getElementById('editform'); if(!form ) return; var text = ''; for(i = 0; i < estArticles.length; i++) { text = text + " " + estArticles[i] + "·(talk) | "; }	text = estArticles.length + " articles found " + text; var summary = 'Updating Estonia-related articles'; var postData = { 'wpMinoredit': form.wpMinoredit.checked, 'wpWatchthis': form.wpWatchthis.checked, 'wpStarttime': form.wpStarttime.value, 'wpEdittime': form.wpEdittime.value, 'wpAutoSummary': form.wpAutoSummary.value, 'wpEditToken': form.wpEditToken.value, 'wpSummary': summary, 'wpTextbox1': text}; var postFormAjax = sajax_init_object; postFormAjax.overrideMimeType('text/xml'); postFormAjax.open( 'POST', "http://en.wikipedia.org/w/index.php?title=User:Sander_S%C3%A4de/WPEarticles&action=submit", true); postFormAjax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); postFormAjax.onload = function { return; }	postFormAjax.send( QueryString.create(postData)); document.getElementById("contentSub").innerHTML = "Update finished. " + estArticles.length + " articles found. " + QueryString.create(postData) + " " + text; }