Jump to content

User:JJMC89/common.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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>
/*******************************************************************************
* Variables
*******************************************************************************/

lwgScript = mw.config.get( 'wgScript' );
lwgUserName = mw.config.get( 'wgUserName' );
lwgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' );
lwgPageName = mw.config.get( 'wgPageName' );
maxUsersCUStaleness = 500;

/*******************************************************************************
* Functions
*******************************************************************************/

function importMwScript( page, family, lang ) {
	$.when( $.ready, mw.loader.using( ['mediawiki.util'] ) ).then( function() {
		if ( typeof family === 'undefined' && typeof lang === 'undefined' ) {
			console.log( 'Loading ' + page );
			mw.loader.load( lwgScript + '?title=' + mw.util.wikiUrlencode( page ) + '&action=raw&ctype=text/javascript' );
		} else {
			if ( typeof family === 'undefined' ) {
				family = 'wikipedia';
			} else if ( typeof lang === 'undefined' ) {
				lang = 'en';
			}
			console.log( 'Loading script: ' + lang + ':' + family + ':' + page );
			mw.loader.load( '//' + mw.util.wikiUrlencode( lang + '.' + family + '.org' ) + lwgScript + '?title=' + mw.util.wikiUrlencode( page ) + '&action=raw&ctype=text/javascript' );
		}
	} );
}

function importMwStylesheet( page, family, lang ) {
	$.when( $.ready, mw.loader.using( ['mediawiki.util'] ) ).then( function() {
		if ( typeof family === 'undefined' && typeof lang === 'undefined' ) {
			console.log( 'Adding ' + page );
			mw.loader.load( lwgScript + '?title=' + mw.util.wikiUrlencode( page ) + '&action=raw&ctype=text/css', 'text/css' );
		} else {
			if ( typeof family === 'undefined' ) {
				family = 'wikipedia';
			} else if ( typeof lang === 'undefined' ) {
				lang = 'en';
			}
			console.log( 'Loading stylesheet: ' + lang + ':' + family + ':' + page );
			mw.loader.load( '//' + mw.util.wikiUrlencode( lang + '.' + family + '.org' ) + lwgScript + '?title=' + mw.util.wikiUrlencode( page ) + '&action=raw&ctype=text/css', 'text/css' );
		}
	} );
}

/*******************************************************************************
* Gadget and global script configurations
*******************************************************************************/

// [[m:MoreMenu]]
mw.loader.using(['mediawiki.util', 'mediawiki.api'], function () {
	importMwScript( 'MediaWiki:Gadget-MoreMenu.enwiki.js' );
});

window.charinsertCustom = {
	'Wiki markup': '␥{{Administrator.note}} ␥<small>(not.watching)</small>.~~\~~ '
};

var wikEdConfig = {};
wikEdConfig.regExTypoFix = true;
wikEdConfig.comboPresetOptions = {};
wikEdConfig.comboPresetOptions.summary = [
	'reply',
	'Add maintenance template(s)',
	'Add/update reference details',
	'Copyedit',
	'No evidence of [[WP:N|notability]]',
	'Remove image(s) lacking a [[WP:NFUR|fair use rationale]] for this page',
	'Remove image(s) not satisifying the [[WP:NFCC|non-free content criteria]]',
	'Remove [[WP:EL|external links]]',
	'Remove [[WP:ELMINOFFICIAL|external links]]',
	'Remove [[WP:RS|unreliable sources]]',
	'Remove [[WP:RS|unreliably sourced]] content',
	'Remove [[WP:UNSOURCED|unsourced]]',
	'Remove [[WP:BLP|unsourced personal information]]',
	'Restore deletion notice',
	'Restore maintenance template(s)',
	'Revert: Failure to [[WP:CITE|cite]] a [[WP:RS|reliable source]]',
	'Revert: Unexplained removal of content',
];
wikEdConfig.comboPresetOptions.find = [
	'(“|”|″|«|»)',
	"(‘|’)",
	' *([|=]) *',
	'\\[http[^ ]+ ([^\\]]+)\\]',
	'\\|\\s*([^|}]+)\\s*=\\s*([|}])',
	'([^\\.,:;])<\\s*ref(\\s*[^>]*)>([^<]*)<\\s*\\/\\s*ref\\s*>([\\.,:;])',
	'\\|\\s*author(\\d*)\\s*=\\s*([^,|}]+) ([^,|} ]+)\\s*([|}])',
	'\\|\\s*author(\\d*)\\s*=\\s*([^,|}]+), ([^,|}]+)\\s*([|}])'
];
wikEdConfig.comboPresetOptions.replace = [
	'"',
	'\'',
	'$1',
	'$2',
	'$1$4<ref$2>$3</ref>',
	'|last$1=$3|first$1=$2$4',
	'|last$1=$2|first$1=$3$4'
];

// local config for [[:m:User:Dragoniez/Selective Rollback]]
if ( typeof( selectiveRollbackConfig ) === 'undefined' ) selectiveRollbackConfig = {};
if ( typeof( selectiveRollbackConfig.editSummaries ) === 'undefined' ) selectiveRollbackConfig.editSummaries = {};
selectiveRollbackConfig.editSummaries.Hidden = 'Reverted to revision $3 by $1';
selectiveRollbackConfig.editSummaries.Sock = selectiveRollbackConfig.editSummaries.Hidden + ': [[WP:SOCK|sockpuppetry]]';
selectiveRollbackConfig.editSummaries.Unsourced = selectiveRollbackConfig.editSummaries.Hidden + ': failure to [[WP:CITE|cite]] a [[WP:RS|reliable source]]';

// local config for [[:m:User:WhitePhosphorus/all-in-one]]
if ( typeof( p4js_all_in_one ) === 'undefined' ) p4js_all_in_one = {};
if ( typeof( p4js_all_in_one.packages ) === 'undefined' ) p4js_all_in_one.packages = {};
p4js_all_in_one.packages.MAB = {
	tracingedits: {
		duration: 111600,
		indefregistered: true,
	},
	rollback: {
		enabled: true,
		bot: true,
		showname: false,
	},
	block: {
		enabled: true,
		duration: '31 hours',
		indefregistered: true,
		reason: 'WMF banned user: MidAtlanticBaby',
		autoblock: true,
		hardblock: false,
		create: true,
		talk: true,
		mail: true,
		hidename: false,
	},
	pagedelete: {
		enabled: true,
		reason: '[[WP:G5|G5]]: Creation by a [[WP:BAN|banned]] user in violation of ban: MidAtlanticBaby',
	},
	revisiondelete: {
		enabled: true,
		content: true,
		summary: true,
		username: false,
		reason: '[[WP:RD3|RD3]]: Purely disruptive material',
		oversight: false,
	},
};
p4js_all_in_one.default_package = "MAB";

/*******************************************************************************
* Links
*******************************************************************************/

$.when( $.ready, mw.loader.using( ['mediawiki.util'] ) ).then( function() {
	
	// My dashboard
	mw.util.addPortletLink(
		'p-personal',
		mw.util.getUrl( 'User:' ) + mw.util.wikiUrlencode( lwgUserName + '/dashboard' ),
		'Dashboard',
		'pt-mydashboard',
		'Show your dashboard',
		null,
		'#pt-subpages'
	);
	
	// Admin dashboard
	mw.util.addPortletLink(
		'p-personal',
		mw.util.getUrl( 'Template:Admin dashboard' ),
		'(admin)',
		'pt-admindashboard',
		'Show the admin dashboard',
		null,
		'#pt-subpages'
	);
	
	//mw.util.addPortletLink(portletId,href,text[,id[,tooltip[,accesskey[,nextnode]]]]);
} );

/*******************************************************************************
* Scripts for all namespaces
*******************************************************************************/

// [[User:Theopolisme/Scripts/adminhighlighter]] fork
window.ADMINHIGHLIGHT_EXTLINKS = true; // highlights exteral links too; needs to be at the top
importMwScript( 'User:Galobtter/scripts/adminhighlighter.js' ); // [[User:Galobtter/scripts/adminhighlighter.js]]

importMwScript( 'User:Anomie/linkclassifier.js' ); // [[User:Anomie/linkclassifier.js]]
importMwStylesheet( 'User:Anomie/linkclassifier.css' ); // [[User:Anomie/linkclassifier.css]]	

importMwScript( 'User:Anomie/previewtemplatelastmod.js' ); // [[User:Anomie/previewtemplatelastmod]]

importMwScript( 'User:Ahecht/Scripts/pageswap.js' ); // [[User:Ahecht/Scripts/pageswap]]

importMwScript( 'User:Enterprisey/url-select-revdel.js' ); // [[User:Enterprisey/url-select-revdel]]

importMwScript( 'User:The Earwig/revdel-responder.js' ); // [[User:The Earwig/revdel-responder]]

importMwScript( 'User:Ale jrb/Scripts/csdhelper.js' );  // [[User:Ale jrb/Scripts]]

importMwScript( 'User:Evad37/Xunlink.js' ); // [[User:Evad37/Xunlink]]

importMwScript( 'User:JJMC89/scripts/T210739.js' );  // [[User:JJMC89/scripts/T210739.js]]

importMwScript( 'User:Beetstra/Gadget-Spam-blacklist-Handler.js' ); // [[User:Beetstra/Gadget-Spam-blacklist-Handler]]
importMwScript( 'User:Beetstra/Gadget-Spam-whitelist-Handler.js' ); // [[User:Beetstra/Gadget-Spam-whitelist-Handler]]

/*******************************************************************************
* Scripts by namespace
*******************************************************************************/

if ( [ 0, 118 ].indexOf( lwgNamespaceNumber ) !== -1 ) { // Main and draft
	
	importMwScript( 'User:Erutuon/scripts/imageSize.js' ); // [[User:Erutuon/scripts/imageSize.js]]
	
	importMwScript( 'User:Evad37/duplinks-alt.js' ); // [[User:Evad37/duplinks-alt]]
	
	importMwScript( 'User:Qwertyytrewqqwerty/DisamAssist.js' ); // [[User:Qwertyytrewqqwerty/DisamAssist]]
	
	// [[User:Evad37/MoveToDraft]]
	importMwScript( 'User:Evad37/MoveToDraft.js' );
	window.m2d_rationale = "incubate in draftspace";
	window.m2d_notification = "Hello {{SUBST:BASEPAGENAME}}. I have moved an article you created, $1, to a [[WP:Drafts|draft]] at [[Draft:$1]] to give you more time to work on it before publishing it. When you are sure that it [[WP:NOT|belongs on Wikipedia]] and satisfies our [[WP:42|inclusion criteria]], please submit your draft for review by following the instructions at the top of the draft. ~~~~";
	
	//importMwScript( 'User:Salix alba/Citoid.js' ); // [[User:Salix alba/Citoid]]
	
} else if ( [ 2, 3 ].indexOf( lwgNamespaceNumber ) !== -1 ) { // User + talk

	// [[User:Mr. Stradivarius/gadgets/SpamUserPage]]
	SpamUserPage = {};
	SpamUserPage.watchlist = 'nochange';
	importMwScript( 'User:Mr. Stradivarius/gadgets/SpamUserPage.js' );
	
} else if ( lwgNamespaceNumber === 4 ) { // Project
	
	importMwScript( 'User:MusikAnimal/responseHelper.js' ); // [[User:MusikAnimal/responseHelper]]
	
	importMwScript( 'User:MusikAnimal/userRightsManager.js' ); // [[User:MusikAnimal/userRightsManager]]
	
	importMwScript( 'User:Enterprisey/delsort.js' ); // [[User:Enterprisey/delsort]]
	
	// importMwScript( 'User:Timotheus Canens/spihelper.js' ); // [[User:Timotheus Canens/spihelper.js]]
	importMwScript( 'User:GeneralNotability/spihelper.js' ); // [[User:GeneralNotability/spihelper.js]]
	
	importMwScript( 'User:Writ Keeper/Scripts/cuStaleness.js' ); // [[User:Writ Keeper/Scripts/cuStaleness.js]]
	
	window.charinsertCustom['Wiki markup'] += 'SPI: {{Clerk.note}} {{bnt}} {{bwt}} {{IPblock}} {{CURequest}} {{Endorse}} {{Requestandendorse}} {{Selfendorse}} {{Decline}} {{StaleIP}} {{More.info}} {{subst:DiffsNeeded|moreinfo}}';
	
} else if ( lwgNamespaceNumber === 6 ) { // File

	if ( mw.config.get('wgCategories').indexOf('All non-free media') !== -1 ) { // Non-free
		
		document.getElementById( 'ca-fileExporter' ).remove(); // Remove FileExporter
		
		importMwScript( 'User:Ronhjones/rescaledsidebar.js' ); // [[User:Ronhjones/rescaledsidebar.js]]
		
	}
	
} else if ( lwgNamespaceNumber === 10 ) { // Template
	
	importMwScript( 'User:Frietjes/addcheckforunknownparameters.js' ); // [[User:Frietjes/addcheckforunknownparameters.js]]

} else if ( lwgNamespaceNumber === 14 ) { // Category
	
	importMwScript( 'User:Writ Keeper/Scripts/sockStaleness.js' ); // [[User:Writ Keeper/Scripts/sockStaleness.js]]

}

if ( lwgNamespaceNumber % 2 === 1 ) { // Talk namespaces
	
	importMwScript( 'User:Jackmcbarn/editProtectedHelper.js' ); // [[User:Jackmcbarn/editProtectedHelper]]
	
}
// </nowiki>