User:DannyS712 test/Stub bot.js

// $(function { var SN_bot_config = {	name: 'Stub bot',	version: 1.3,	debug: false };

var SN_bot_advert = 'Task 14: Correct name parameter with ' + SN_bot_config.name + ' (version ' + SN_bot_config.version + ')';

var scriptUrl = mw.config.get( 'wgScriptPath' ) + '/api.php';

mw.loader.using( 'mediawiki.util', function {    $(document).ready( function  { if ( mw.config.get( 'wgPageName' ) === "Category:Stub_message_templates_needing_attention") { var link = mw.util.addPortletLink( 'p-cactions', 'javascript:void(0)', 'SN bot', 'ca-SNbot', 'SN bot'); $( link ).click( function ( event ) {	           event.preventDefault;	            SN_bot;	        } ); }   } ); } ); function SN_bot  { var getStubs = { action: 'query', list: 'categorymembers', cmlimit: 'max', cmtitle: 'Category:Stub message templates needing attention', cmprop: 'title', format: 'json' };	$.get( mw.config.get( 'wgScriptPath' ) + '/api.php', getStubs, function( Stubs ) {		console.log(Stubs);		var pages = Stubs.query.categorymembers;		console.log(pages);		for (var i = 0; i < pages.length; i++) {			stub_name( pages[i].title );		}		//location.reload;	} ); } function stub_name( name ){ var page = get_page ( name ); if (SN_bot_config.debug) console.log ( page ); var new_page = page.replace(/(\|\s*name\s*=).*/i, "$1 "); if (SN_bot_config.debug) console.log ( new_page ); set_new ( name, new_page ); } function get_page( name ){ var page_to_get = { action: 'query', titles: name, prop: 'revisions', rvprop: 'content', format: 'json', formatversion: 2 };   var result = null; $.ajax({		url: scriptUrl,		type: 'get',		data: page_to_get,		dataType: 'json',		async: false,		success: function(page) {			if (SN_bot_config.debug) console.log( page );	   	result = page.query.pages["0"].revisions["0"].content;	    	if (SN_bot_config.debug) console.log( result );		} 	}); return result; } function set_new ( page, new_content ){ console.log( page, new_content ); var to_send = { action: 'edit', title: page, text: new_content, minor: true, bot: true, summary: SN_bot_advert, token: mw.user.tokens.get( 'csrfToken' ) };   console.log( to_send ); $.when(       $.post( scriptUrl, to_send, function( response ){ } )    ).done( function {		//location.reload;    } ); } }); //