User:Sreejithk2000/deleteorphans.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
Documentation for this user script can be added at User:Sreejithk2000/deleteorphans. |
- Report page listing warnings and errors.
// $('table.wikitable').find('a').length
'use strict'
var currentCount = 0;
var totalCount = 0;
var successCount = 0;
var failCount = 0;
function printError(message) {
currentCount++;
failCount++;
console.log(message);
AjaxQuickDelete.showProgress('Done with ' + currentCount + ' of ' + totalCount + ' links. Success: ' + successCount + " Failure: " + failCount);
}
function printSuccess(message) {
currentCount++;
successCount++;
console.log(message);
AjaxQuickDelete.showProgress('Done with ' + currentCount + ' of ' + totalCount + ' links. Success: ' + successCount + " Failure: " + failCount);
}
function deleteTalkpage(fileName) {
var params = {
action: 'delete',
title: fileName,
token: mw.user.tokens.get('editToken'),
reason: 'Orphaned talk page',
format: 'json'
};
$.ajax({
url: mw.util.wikiScript('api'),
cache: false,
dataType: 'json',
data: params,
type: 'POST',
success: function(result, status, x) {
if (!result) printError("Receive empty API response:\n" + x.responseText);
else if (result.error) printError("API request failed (" + result.error.code + "): " + result.error.info);
else printSuccess('Deleted ' + fileName);
},
error: function(x, status, error) {
printError("API request returned code " + x.status + " " + status + "Error code is " + error);
}
});
}
totalCount = $('table.wikitable').find('a').length;
function deleteOrphans() {
$.each($('table.wikitable').find('a'), function(index, value) {
var fileName = $(value).text();
deleteTalkpage(fileName);
});
}
if (mw.config.get("wgPageName") === "Commons:Database_reports/Orphaned_talk_pages") {
var deleteLink = $('<a>').attr({
href: "javascript:deleteOrphans()"
}).html("[delete all]");
$('h1#firstHeading').append(" ").append($(deleteLink));
}