From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

function defineLink(category){



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



}



if (mw.config.get('wgPageName').indexOf('Wikipedia:Articles_for_deletion/') != -1 && mw.config.get('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("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");



defineLink("Australia");

// 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 + " ([[WP:FWDS|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.revisions0]['*'].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') + "]] ([[WP:FWDS|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.');

  }

);



}

    }

  }

}