MediaWiki:Gadget-directLinkToCommons.js: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
м замена HTTP на HTTPS
Override default language on Commons for non-logged in users only (per Special:Diff/95375054)
Строка 16: Строка 16:
if ( uploadBaseRe.test( $(this).find( 'img' ).attr( 'src' ) ) ) {
if ( uploadBaseRe.test( $(this).find( 'img' ).attr( 'src' ) ) ) {
var url = currVal.replace( localBase, commonsBase ).replace( localBaseScript, commonsBaseScript );
var url = currVal.replace( localBase, commonsBase ).replace( localBaseScript, commonsBaseScript );
// Override default language on Commons for non-logged in users only (per [[Special:Diff/95375054]])
url += ( /\?/.test(url) ? '&' : '?' ) + 'uselang=ru';
if(!mw.config.get('wgUserId')) {
url += ( /\?/.test(url) ? '&' : '?' ) + 'uselang=ru';
}
return url;
return url;
}
}

Версия от 05:56, 12 октября 2018

/**
 * [[ВП:Гаджеты/Прямой переход на Викисклад]]
 * @source: https://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
 */

if( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ){
	mw.loader.using( 'mediawiki.util' ).done( function () {
		$( function() {
			var	commonsBase =  '//commons.wikimedia.org/wiki/File:',
				localBase = mw.util.getUrl( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
				commonsBaseScript =  '//commons.wikimedia.org/w/index.php?title=File:',
				localBaseScript = mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( mw.config.get( 'wgFormattedNamespaces' )['6'] + ':' ),
				uploadBaseRe = new RegExp( '^' + mw.RegExp.escape( '//upload.wikimedia.org/wikipedia/commons/' ) );

			$( 'a.image' ).attr( 'href', function( i, currVal ) {
				if ( uploadBaseRe.test( $(this).find( 'img' ).attr( 'src' ) ) ) {
					var url = currVal.replace( localBase, commonsBase ).replace( localBaseScript, commonsBaseScript );
					// Override default language on Commons for non-logged in users only (per [[Special:Diff/95375054]])
					if(!mw.config.get('wgUserId')) {
						url += ( /\?/.test(url) ? '&' : '?' ) + 'uselang=ru';
					}
					return url;
				}
			});
		});
	});
}