//<nowiki>
$(function (){
var AD_bot_config = {
name: '[[User:DannyS712/Abandoned drafts bot|Abandoned drafts bot]]',
// testing: true,
// disclaimer: "Bot in trial ([[Wikipedia:Bots/Requests for approval/DannyS712 bot 18|BRFA]])",
version: 1.8,
debug: false
};
var AD_bot_summary = 'Task 18: Clerking with ' + AD_bot_config.name + ' (version ' + AD_bot_config.version + ')';
//if (AD_bot_config.testing){
// AD_bot_summary = AD_bot_config.disclaimer + ": " + AD_bot_summary;
//}
var links_to_remove = [];
mw.loader.using( 'mediawiki.util', function () {
importScript( 'User:DannyS712 test/page.js' );
$(document).ready( function () {
if ( mw.config.get('wgPageName').indexOf( 'Wikipedia:WikiProject_Abandoned_Drafts/Stale_drafts') > -1 ){
$( '#firstHeading' ).append( ' <span id="ca-numberOfRedirectsAndRedlinks" style="font-size: medium !important; color: #000 !important; font-family: sans-serif !important; float: right"> </span> ' );
get_links();
$( '#ca-numberOfRedirectsAndRedlinks' ).html( 'There are: ' + links_to_remove.length + ' links that can be removed.');
$('.mw-redirect').css( {"border": "5px solid yellow", "color": "#006600" } );
$('.new').css( "border", "5px solid yellow" );
mw.util.addPortletLink ( 'p-tb', 'javascript:void(0)', 'Abandoned drafts', 'ca-AD-clerk', 'TOOLTIP');
$('#ca-AD-clerk').on('click', function() {
AD();
} );
}
} );
} );
function get_links(){
// Gather all links with class "new" or "mw-redirect"
var links = [];
var link_class = "";
var a = document.getElementsByTagName('a');
for (var i = 0; i < a.length; i++) {
link_class = a[i].getAttribute('class');
if (link_class){
if (AD_bot_config.debug) console.log(a[i], link_class);
if (link_class.indexOf("mw-redirect") > -1) {
links.push( a[i].getAttribute('title') );
if (AD_bot_config.debug) console.log( "Will remove:", a[i] );
} else if (link_class.indexOf("new") > -1) {
links.push( a[i].getAttribute('title').replace(" (page does not exist)", "") );
if (AD_bot_config.debug) console.log( "Will remove:", a[i] );
}
}
}
console.log( links );
links_to_remove = links;
}
function AD(){
links = links_to_remove;
var page_name = mw.config.get( 'wgPageName' );
var page_content = get_page( page_name );
console.log( page_content );
var lines = page_content.split('\n');
var new_lines = [];
for (var jjj = 0; jjj < lines.length; jjj++){
if (should_keep(links, lines[jjj])) new_lines.push(lines[jjj]);
}
console.log( new_lines );
var new_content = new_lines.join('\n');
console.log( new_content );
var with_empty_removed = new_content.replace(/== Section \d* ==\n*(== Section \d* ==)/gi, '$1');
console.log( with_empty_removed );
set_new( page_name, with_empty_removed );
}
function should_keep( links, line ){
for (var iii = 0; iii < links.length; iii++){
if (line.indexOf(links[iii]) > -1) return false;
}
return true;
}
function set_new ( page, new_content ){
if( AD_bot_config.debug) console.log( page, new_content );
var to_send = {
action: 'edit',
title: page,
//pageid: mw.config.get( 'wgArticleId' ),
text: new_content,
notminor: true,
bot: true,
summary: AD_bot_summary,
token: mw.user.tokens.get( 'csrfToken' )
};
console.log( to_send );
$.when(
$.post( scriptUrl, to_send, function(){ } )
).done( function() {
location.reload();
} );
}
});
//</nowiki>