Jump to content

User:DannyS712 test/append.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.
/**
mw.loader.using( 'mediawiki.util', function () {
    $(document).ready( function () { 
        var link = mw.util.addPortletLink( 'p-cactions', '#', 'append', 'ca-append', 'append'); 
        $( link ).click( function ( event ) {
            event.preventDefault();
            append();
        } );
    } );
} );**/
function getToken() {
	var tokenReq = {
        action: 'query',
        meta: 'tokens',
        format: 'json'
	};
     var result = null;
     var scriptUrl = mw.config.get( 'wgScriptPath' ) + '/api.php';
     $.ajax({
        url: scriptUrl,
        type: 'get',
        data: tokenReq,
        dataType: 'json',
        async: false,
        success: function(data) {
            result = data.query.tokens.csrftoken;
        } 
     });
     return result;
}
function addNewSection( summary, title, content) {
    $.ajax({
        url: mw.util.wikiScript( 'api' ),
        data: {
            format: 'json',
            action: 'edit',
            title: mw.config.get( 'wgPageName' ),
            section: 'new',
            sectiontitle: title,
            summary: summary,
            text: content,
            token: getToken()
        },
        dataType: 'json',
        type: 'POST',
        success: function( data ) {
            if ( data && data.edit && data.edit.result == 'Success' ) {
                window.location.reload(); // 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.' );
        }
    });
}
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,
            token: getToken()
        },
        dataType: 'json',
        type: 'POST',
        success: function( data ) {
            if ( data && data.edit && data.edit.result == 'Success' ) {
                console.log( 'Section added to ' + 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.' );
        }
    });
}