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;    } ); } }); //