From bd779eeaea3f4ec95646d1608fa3dc1ba7208958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 12 Jan 2016 14:07:43 +0100 Subject: [PATCH] Implement language selection using LanguageManager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #11847 Signed-off-by: Michal Čihař --- libraries/Language.php | 12 +++++++++++ libraries/LanguageManager.php | 2 +- libraries/display_select_lang.lib.php | 31 ++++++--------------------- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/libraries/Language.php b/libraries/Language.php index c40b5b9bd1..1704cd8a9d 100644 --- a/libraries/Language.php +++ b/libraries/Language.php @@ -86,6 +86,18 @@ class Language return $this->code; } + /** + * Compare function used for sorting + * + * @param Language $other Other object to compare + * + * @return int same as strcmp + */ + public function cmp($other) + { + return strcmp($this->name, $other->name); + } + /** * Checks whether language is currently active. * diff --git a/libraries/LanguageManager.php b/libraries/LanguageManager.php index 7c4b31c5a9..cce10d1a2b 100644 --- a/libraries/LanguageManager.php +++ b/libraries/LanguageManager.php @@ -568,7 +568,7 @@ class LanguageManager $this->availableLanguages(); uasort($this->_available_languages, function($a, $b) { - return strcmp($a->name, $b->name); + return $a->cmp($b); } ); return $this->_available_languages; diff --git a/libraries/display_select_lang.lib.php b/libraries/display_select_lang.lib.php index 1318c8b10d..295894e574 100644 --- a/libraries/display_select_lang.lib.php +++ b/libraries/display_select_lang.lib.php @@ -5,20 +5,7 @@ * * @package PhpMyAdmin */ - -/** - * Compares the names of two languages. - * Used by uasort in PMA_getLanguageSelectorHtml() - * - * @param array $a The first language being compared - * @param array $b The second language being compared - * - * @return int the sorted array - */ -function PMA_languageCmp($a, $b) -{ - return strcmp($a[1], $b[1]); -} +use PMA\libraries\LanguageManager; /** * Returns HTML code for the language selector @@ -32,13 +19,12 @@ function PMA_languageCmp($a, $b) */ function PMA_getLanguageSelectorHtml($use_fieldset = false, $show_doc = true) { - global $lang; - $retval = ''; + $available_languages = LanguageManager::getInstance()->sortedLanguages(); // Display language selection only if there // is more than one language to choose from - if (count($GLOBALS['available_languages']) > 1) { + if (count($available_languages) > 1) { $retval .= '
'; $_form_params = array( @@ -66,18 +52,15 @@ function PMA_getLanguageSelectorHtml($use_fieldset = false, $show_doc = true) $retval .= '