Jump to content

User:DannyS712 test/sandbox2.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//<nowiki>
$(function (){
var Bot_log_config = {
	name: '[[User:DannyS712/Log|Log.js]]',
	version: 1.0,
	debug: true
};
var Bot_log_summary = 'Logging with ' + Bot_log_config.name + ' (version ' + Bot_log_config.version + ')';

mw.loader.using( 'mediawiki.util', function () {
    $(document).ready( function () { 
    	mw.util.addPortletLink ( 'p-cactions', 'javascript:void(0)', 'log', 'ca-logTest', 'Test the logging function');
    	$('#ca-logTest').on('click', function() {
        	add_log();
    	} );
    } );
} );
function add_log(){
	var log = [
		"Starting task #",
		"Error detected with page",
		"Ending task"
		];
	var target = "User:DannyS712 test/sandbox";
	var summary = Bot_log_summary;
	var title = "Logging – {{subst:#time: d F Y}}";
	var content = "* " + log.join('\n* ');
	console.log( content );
	addNewSectionTo( summary, title, content, target );
}
function addNewSectionTo( summary, title, content, target) {
    $.ajax({
        url: mw.util.wikiScript( 'api' ),
        data: {
            format: 'json',
            action: 'edit',
            title: target,
            section: 'new',
            sectiontitle: title,
            summary: summary,
            text: content,
//            bot: true,
            token: mw.user.tokens.get( 'editToken' )
        },
        dataType: 'json',
        type: 'POST',
        success: function( data ) {
            if ( data && data.edit && data.edit.result == 'Success' ) {
                console.log( 'Logging complete at ' + target ); // reload page if edit was successful
            } else if ( data && data.error ) {
                alert( 'Error: API returned error code "' + data.error.code + '": ' + data.error.info );
            } else {
                alert( 'Error: Unknown result from API.' );
            }
        },
        error: function( xhr ) {
            alert( 'Error: Request failed.' );
        }
    });
}
});
//</nowiki>