Don't let anonymous users change interface language

Language selector is still opened by default

Change-Id: Iee7d83179e71b4546d8f3cd4f6fb053262ce05e2
This commit is contained in:
Amir E. Aharoni
2013-04-28 23:29:50 +03:00
committed by Niklas Laxström
parent b1aed294c0
commit 422371f688
5 changed files with 50 additions and 2 deletions

View File

@@ -160,11 +160,43 @@
* Prepare the UI language selector
*/
prepareLanguages: function () {
var displaySettings = this,
var loginUri, $loginCta,
displaySettings = this,
SUGGESTED_LANGUAGES_NUMBER = 3,
anonsAllowed = mw.config.get( 'wgULSAnonCanChangeLanguage' ),
languagesForButtons, $languages, suggestedLanguages,
lang, i, language, $button;
// Don't let anonymous users change interface language
if ( !anonsAllowed && mw.user.isAnon() ) {
loginUri = new mw.Uri();
loginUri.query = {
title: 'Special:UserLogin'
};
$loginCta = $( '<p>' )
.attr( 'id', 'uls-display-settings-anon-log-in-cta' );
this.$template.find( '.uls-display-settings-language-tab' )
.empty()
.append(
$( '<p>' ).append(
$( '<span>' )
.addClass( 'uls-display-settings-anon-label' )
.html( $.i18n( 'ext-uls-display-settings-anon-label' ) + '&#160;' ),
$( '<span>' )
.text( $.i18n( 'ext-uls-display-settings-anon-same-as-content' ) )
),
$loginCta
);
new mw.Api().parse( $.i18n( 'ext-uls-display-settings-anon-log-in-cta' ) )
.done( function ( parsedCta ) {
$loginCta.html( parsedCta );
} );
return;
}
$languages = this.$template.find( 'div.uls-ui-languages' );
suggestedLanguages = this.frequentLanguageList()
// Common world languages, for the case that there are