User:DannyS712 test/AD clerk bot.js

//

$(function (){

var AD_bot_config = {

name: 'Abandoned drafts bot',

// testing: true,

// disclaimer: "Bot in trial (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( '       ' );

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();

} );

}

});

//