User:Mr. Stradivarius/delsort.js

function defineLink(category){

addPortletLink('pt-delsort', 'javascript:doDelsort("' + category + '")', category, '');

}

if (wgPageName.indexOf('Wikipedia:Articles_for_deletion/') != -1 && wgPageName.indexOf('Wikipedia:Articles_for_deletion/Log/201') == -1) { mw.util.addPortletLink ('p-cactions', 'javascript:delsortIt', 'Delsort', 'pt-delsort', 'Perform deletion sorting'); // Define custom ones here defineLink("Language");

defineLink("Education");

defineLink("Japan");

defineLink("People");

defineLink("Academics and educators");

defineLink("Actors and filmmakers");

defineLink("Authors");

defineLink("Bands and musicians");

defineLink("Businesspeople");

defineLink("Politicians");

defineLink("Sportspeople");

defineLink("Organizations");

defineLink("Football");

defineLink("Martial arts");

defineLink("Albums and songs");

defineLink("Television");

defineLink("Music");

defineLink("Film");

defineLink("United States of America");

defineLink("New York");

defineLink("California");

defineLink("United Kingdom");

defineLink("England");

defineLink("India");

defineLink("Christianity");

defineLink("Fictional elements");

defineLink("Business");

defineLink("Software");

defineLink("Internet");

defineLink("Websites");

// End custom defs }

function delsortIt{

x = prompt("Category: ");

if (x != null){doDelsort(x);}

else{alert('Delsort cancelled!');}

} function doDelsort(cat){

var url = "//en.wikipedia.org/w/api.php?action=tokens&format=json&type=edit"; var xhr = new XMLHttpRequest; xhr.open("GET", url); //Code now working, was set to async xhr.send; xhr.onreadystatechange = function { if (xhr.readyState == 4 && xhr.status == 200) { var resp = JSON.parse(xhr.responseText); console.log("Token first: ", resp.tokens.edittoken); $.each(resp, function(i,v){console.log(i,"=",v);}); var etoken = resp.tokens.edittoken; console.log("The token is: ", etoken); if (cat != null){ var editData = { action: "edit", format: "json", summary: "Listing at WP:DELSORT under " + cat + " (FWDS)", token: etoken, title: mw.config.get('wgPageName'), appendtext: "\{\{subst:Delsort|" + cat + "|\~\~\~\~\}\}" }; $.each(editData, function(i,v){console.log(i,"=",v);}); $.post('//en.wikipedia.org/w/api.php', editData, function(data){jQuery.each(data, function( index, value ) {

console.log( "index", index, "value", value );

});}); // Add to the Delsort page

//First, get the content

$.post('//en.wikipedia.org/w/api.php', {action:'query', format:'json', prop:'revisions', rvprop:'content', rvlimit:'1', titles:'Wikipedia:WikiProject Deletion sorting/'+cat},

function(data){

$.each(data.query.pages,

function(i,v){

window.editContent = v.revisions[0]['*'].replace('directly below this line -->', 'directly below this line -->\n\{\{' + mw.config.get('wgPageName') + '\}\}');

} );

var editData = { action: "edit", format: "json", token: etoken,

summary: "Listing " + mw.config.get('wgPageName') + " (FWDS)", title: 'Wikipedia:WikiProject Deletion sorting/' + cat, text: window.editContent }; $.each(editData, function(i,v){console.log(i,"=",v);}); $.post('//en.wikipedia.org/w/api.php', editData, function(data){jQuery.each(data, function( index, value ) { console.log( "index", index, "value", value );});}); alert('Delsort complete.'); } );

}   }  } }