[BUGFIX] Limit available languages in user setup module 21/58821/2
authorGeorg Ringer <georg.ringer@gmail.com>
Thu, 1 Nov 2018 20:14:17 +0000 (21:14 +0100)
committerBenni Mack <benni@typo3.org>
Fri, 2 Nov 2018 05:24:19 +0000 (06:24 +0100)
Limit the available languages not only to the ones having a
translation but also if it is in the list of available languages
which are defined in the LocalConfiguration.php

Resolves: #86796
Releases: master
Change-Id: Ib08619cfaa7fcd2a829dad6bce932a29a450f21c
Reviewed-on: https://review.typo3.org/58821
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Michael Oehlhof <typo3@oehlhof.de>
Tested-by: Michael Oehlhof <typo3@oehlhof.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/setup/Classes/Controller/SetupModuleController.php

index 848c5c1..b4f0795 100644 (file)
@@ -692,7 +692,7 @@ class SetupModuleController
                     $localizedName = htmlspecialchars($name);
                 }
                 $localLabel = '  -  [' . htmlspecialchars($defaultName) . ']';
-                $available = is_dir(Environment::getLabelsPath() . '/' . $locale);
+                $available = in_array($locale, $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['lang']['availableLanguages'], true) && is_dir(Environment::getLabelsPath() . '/' . $locale);
                 if ($available) {
                     $languageOptions[$defaultName] = '<option value="' . $locale . '"' . ($backendUser->uc['lang'] === $locale ? ' selected="selected"' : '') . '>' . $localizedName . $localLabel . '</option>';
                 }