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.' );
}
});
}