User:Zhuyifei1999/uploadwmo.js

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/* jshint esversion: 6 */
/* eslint vars-on-top: 0 */

( function ( mw, $ ) {
	var promise;
	if ( window.MD5_js_loaded ) {
		promise = $.when();
	} else {
		promise = $.getScript( '//commons.wikimedia.org/w/index.php?title=MediaWiki:MD5.js&action=raw&ctype=text/javascript' );
	}

	$.when( promise, $.ready ).then( function () {
		if ( mw.config.get( 'wgNamespaceNumber' ) !== 6 ) {
			return;
		}

		var title = mw.util.wikiUrlencode( mw.config.get( 'wgTitle' ) ),
			md5 = window.hex_md5( title ),
			[ , lang, family ] = mw.config.get( 'wgServer' ).match( /^(?:.*\/\/)?(.+?)\.(.+?)(?:\.|\/|$)/ ),
			url = 'https://upload.wikimedia.org/';

		if ( lang === 'www' ) {
			[ lang, family ] = [ family, 'wikimedia' ];
		} else if  ( family === 'org' ) {
			family = 'wikimedia';
		}
		url += ( family == 'wikimedia' ? 'wikipedia' : family ) + '/' + lang + '/';
		url += md5.substr( 0, 1 ) + '/' + md5.substr( 0, 2 ) + '/' + title;

		mw.util.addPortletLink( 'p-namespaces', url, 'upload.wm.o' );
	} );
}( mediaWiki, jQuery ) );