Don't let anonymous users change interface language
Language selector is still opened by default Change-Id: Iee7d83179e71b4546d8f3cd4f6fb053262ce05e2
This commit is contained in:
committed by
Niklas Laxström
parent
b1aed294c0
commit
422371f688
@@ -22,6 +22,7 @@ $wgResourceModules['ext.uls.displaysettings'] = array(
|
||||
'ext.uls.languagesettings',
|
||||
'ext.uls.webfonts',
|
||||
'jquery.i18n',
|
||||
'mediawiki.api.parse',
|
||||
),
|
||||
) + $resourcePaths;
|
||||
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
"ext-uls-language-buttons-help": "Change the language of menus. Content language will not be affected.",
|
||||
"ext-uls-display-settings-font-settings": "Font settings",
|
||||
"ext-uls-display-settings-ui-language": "Display language",
|
||||
"ext-uls-display-settings-anon-label": "Display language:",
|
||||
"ext-uls-display-settings-anon-same-as-content": "English (same as content)",
|
||||
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Log in]] to select a different language for menus.",
|
||||
"ext-uls-webfonts-settings-title": "Download font when needed",
|
||||
"ext-uls-webfonts-settings-info": "Webfonts will be downloaded for displaying text in special scripts.",
|
||||
"ext-uls-webfonts-settings-info-link": "More information",
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
"ext-uls-language-buttons-help": "Help text that appears above the language selection buttons in the Display settings panel.",
|
||||
"ext-uls-display-settings-font-settings": "Subsection title for font settings",
|
||||
"ext-uls-display-settings-ui-language": "Sub section title for selecting UI language.\n{{Identical|Display language}}",
|
||||
"ext-uls-display-settings-anon-label": "A label that appears to anonymous users before the message {{msg-mw|ext-uls-display-settings-anon-same-as-content}}.",
|
||||
"ext-uls-display-settings-anon-same-as-content": "Text that appears to anonymous users after the label {{msg-mw|ext-uls-display-settings-anon-label}}.
|
||||
Replace \"English\" with the name of your language.",
|
||||
"ext-uls-display-settings-anon-log-in-cta": "A call to action for an anonymous user to log in.",
|
||||
"ext-uls-webfonts-settings-title": "Short title for enabling webfonts",
|
||||
"ext-uls-webfonts-settings-info": "Webfonts will be downloaded for displaying text in special scripts.",
|
||||
"ext-uls-webfonts-settings-info-link": "More information link text for webfonts",
|
||||
@@ -45,4 +49,4 @@
|
||||
"ext-uls-input-enable": "Label for enable input tools button",
|
||||
"ext-uls-input-disable-info": "Info text for the disable input tools button",
|
||||
"ext-uls-input-settings-noime": "Text to be shown when no input methods are available for a selected language"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,3 +100,11 @@ div.display-settings-block {
|
||||
color: #555555;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.uls-display-settings-anon-label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#uls-display-settings-anon-log-in-cta {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
@@ -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' ) + ' ' ),
|
||||
$( '<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
|
||||
|
||||
Reference in New Issue
Block a user