From b65eb49c20dfc9dd9cbe95304990273c3ab7d06e Mon Sep 17 00:00:00 2001 From: maxpozdeev Date: Thu, 11 Aug 2022 20:37:40 +0300 Subject: [PATCH] sort translations in settings by title in English --- src/settings.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/settings.php b/src/settings.php index 61d2e03..348e267 100644 --- a/src/settings.php +++ b/src/settings.php @@ -62,7 +62,7 @@ function _c($key) return Config::get($key); } -function getLangs($withContents = 0) +function getLangs() { $langDir = Lang::instance()->langDir(); if ( ! $h = opendir($langDir) ) { @@ -89,9 +89,15 @@ function getLangs($withContents = 0) } } closedir($h); + uasort($a, 'cmpLangs'); return $a; } +function cmpLangs($a, $b) : int +{ + //return strcmp( mb_strtoupper($a['name']), mb_strtoupper($b['name']) ); + return strcasecmp($a['title'], $b['title']); +} function selectOptions($a, $value, $default=null) { @@ -113,7 +119,10 @@ function selectOptionsA($a, $key, $default=null) { if(!$a) return ''; $s = ''; - if($default !== null && !isset($a[$key])) $key = $default; + if ($default !== null && !isset($a[$key])) $key = $default; + else if ($default === null && !isset($a[$key])) { + $s .= ''; + } foreach($a as $k=>$v) { if (!is_array($v)) { $v = array('name' => $k);