diff --git a/ChangeLog b/ChangeLog index 03a61a5c26..df72c9e517 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ phpMyAdmin - ChangeLog - issue #14128 Show 2FA Secret next to QR code - issue #14212 XML Export from single table throws fatal error - issue #14239 Line and some other charts ignore result set order of values chosen for the x-axis +- issue #14260 Fixed configuration for DefaultLang and Lang 4.8.0.1 (2018-04-19) - issue [security] Multiple CSRF vulnerabilities, See PMASA-2018-02 diff --git a/libraries/classes/LanguageManager.php b/libraries/classes/LanguageManager.php index 19270ded72..25268de0d2 100644 --- a/libraries/classes/LanguageManager.php +++ b/libraries/classes/LanguageManager.php @@ -822,8 +822,8 @@ class LanguageManager public function selectLanguage() { // check forced language - if (! empty($GLOBALS['cfg']['Lang'])) { - $lang = $this->getLanguage($GLOBALS['cfg']['Lang']); + if (! empty($GLOBALS['PMA_Config']->get('Lang'))) { + $lang = $this->getLanguage($GLOBALS['PMA_Config']->get('Lang')); if ($lang !== false) { return $lang; } @@ -883,8 +883,8 @@ class LanguageManager } // Didn't catch any valid lang : we use the default settings - if (isset($langs[$GLOBALS['cfg']['DefaultLang']])) { - return $langs[$GLOBALS['cfg']['DefaultLang']]; + if (isset($langs[$GLOBALS['PMA_Config']->get('DefaultLang')])) { + return $langs[$GLOBALS['PMA_Config']->get('DefaultLang')]; } // Fallback to English diff --git a/test/classes/LanguageTest.php b/test/classes/LanguageTest.php index 39e41de28b..edf952ec66 100644 --- a/test/classes/LanguageTest.php +++ b/test/classes/LanguageTest.php @@ -158,25 +158,25 @@ class LanguageTest extends PmaTestCase */ public function testSelect($lang, $post, $get, $cookie, $accept, $agent, $default, $expect) { - $GLOBALS['cfg']['Lang'] = $lang; + $GLOBALS['PMA_Config']->set('Lang', $lang); $_POST['lang'] = $post; $_GET['lang'] = $get; $_COOKIE['pma_lang'] = $cookie; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = $accept; $_SERVER['HTTP_USER_AGENT'] = $agent; - $GLOBALS['cfg']['DefaultLang'] = $default; + $GLOBALS['PMA_Config']->set('DefaultLang', $default); $lang = $this->manager->selectLanguage(); $this->assertEquals($expect, $lang->getEnglishName()); - $GLOBALS['cfg']['Lang'] = ''; + $GLOBALS['PMA_Config']->set('Lang', ''); $_POST['lang'] = ''; $_GET['lang'] = ''; $_COOKIE['pma_lang'] = ''; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = ''; $_SERVER['HTTP_USER_AGENT'] = ''; - $GLOBALS['cfg']['DefaultLang'] = 'en'; + $GLOBALS['PMA_Config']->set('DefaultLang', 'en'); } /** @@ -191,6 +191,7 @@ class LanguageTest extends PmaTestCase array('', 'cs', '', '' ,'' ,'', '', 'Czech'), array('', 'cs', 'en', '' ,'' ,'', '', 'Czech'), array('', '', 'cs', '' ,'' ,'', '', 'Czech'), + array('', '', '', 'cs' ,'' ,'', '', 'Czech'), array('', '', '', '' ,'cs,en-US;q=0.7,en;q=0.3' ,'', '', 'Czech'), array( '', '', '', '', '',