User:Bardic Wizard/reading list sync.js

/*UNTESTED SCRIPT PLEASE BE CAREFUL It will pop up an error on every page load. I have given up fixing it. ( function($, mw) { //Thank you User:The Transhumanist/SearchSuite.js for explaining script error

//some Code from User_scripts/Guide var page = getPname; var listAddress = "User:"+mw.config.get('wgUserName')+"/Reading list"; var pages = ""+ page+""; /* 	function getUserName{// WikiProject User scripts/Scripts/Get user name

switch (wgCanonicalNamespace) { case 'User': case 'User_talk': return wgTitle.split('/')[0]; default: return null; }

}*/ function getPname { //thank you WikiProject User scripts/Scripts/Get Page Name return mw.config.get('wgPageName').replace(/_/g, ' '); } function listAdd { /*if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") { return; }*/   var newElement = mw.util.addPortletLink("p-cactions", '', "Add to reading list", "ca-readinglist", "Add to your reading list"); $(newElement).on( 'click', function(e){   	e.preventDefault;    	editPage( { title: listAddress, text: pages, summary: "adding to reading list using script"} );   } ); }

// Edit page (must be done through POST) // the line "text: info.text," will cause the call // to replace entire page content with supplied data. // alternatively, one can append or prepend the data to the page, by using // "appendtext: info.text," or "prependtext: info.text," instead. // when using "appendtext", it is possible to append the text to a specific section, // by setting the optional field "section". function editPage( info ) { var api = new mw.Api; api.postWithToken( 'edit', {		action: 'edit',		title: info.title,		appendtext: info.text, // will replace entire page content		summary: info.summary	}) .done (function( data ) {		if ( data && data.edit && data.edit.result && data.edit.result == 'Success' ) {			alert( 'Page edited!' );		} else {			alert( 'The edit query returned an error. =(' );		}	})	.fail ( function { alert( 'The ajax request failed.' ); }); }

$.when( $.ready, mw.loader.using( [ 'mediawiki.util', 'user.options', 'mediawiki.api' ])).done(listAdd);

} ) ( jQuery, mediaWiki );