summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/system.inc
diff options
context:
space:
mode:
Diffstat (limited to 'src/etc/inc/system.inc')
-rw-r--r--src/etc/inc/system.inc17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc
index 1a8f9dd..4218262 100644
--- a/src/etc/inc/system.inc
+++ b/src/etc/inc/system.inc
@@ -1501,13 +1501,26 @@ EOD;
function system_get_timezone_list() {
global $g;
- $file_list = glob("/usr/share/zoneinfo/*/*");
+ $file_list = array_merge(
+ glob("/usr/share/zoneinfo/[A-Z]*"),
+ glob("/usr/share/zoneinfo/*/*")
+ );
if (empty($file_list)) {
$file_list[] = $g['default_timezone'];
+ } else {
+ /* Remove directories from list */
+ $file_list = array_filter($file_list, function($v) {
+ return !is_dir($v);
+ });
}
- return str_replace('/usr/share/zoneinfo/', '', $file_list);
+ /* Remove directory prefix */
+ $file_list = str_replace('/usr/share/zoneinfo/', '', $file_list);
+
+ sort($file_list);
+
+ return $file_list;
}
function system_timezone_configure() {
OpenPOWER on IntegriCloud