User:Padenton/delsort.js

function defineLink(category) { mw.util.addPortletLink('p-delsort', 'javascript:doDelsort("' + category + '")', category,'', 'delsort XfD into '+category+ '.'); } var padentonDebug =1; if ((wgPageName.indexOf('Wikipedia:Articles_for_deletion/') != -1 && wgPageName.indexOf('Wikipedia:Articles_for_deletion/Log/201') == -1)||padentonDebug ==1) { Twinkle.addPortlet("right-navigation",'p-delsort','Delsort','menu','p-search'); mw.util.addPortletLink('p-delsort', 'javascript:delsortIt', 'Delsort', 'ca-delsort2', '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 + " (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.');                }); }       }    } }