timezon and param_sep blueprints

This commit is contained in:
Gert
2015-05-04 15:18:31 +02:00
parent 08c4fd02d2
commit ce8513d3ff
2 changed files with 51 additions and 0 deletions

View File

@@ -362,3 +362,26 @@ form:
0: No
validate:
type: bool
system:
type: section
title: System
underline: true
fields:
timezone:
type: select
label: Timezone
classes: fancy
@data-options: '\Grav\Common\Utils::timezones'
default: ''
options:
'': '- None -'
param_sep:
type: select
label: Parameter separator
classes: fancy
default: ''
options:
':': ': (default)'
';': '; (use this for apache on Windows)'

View File

@@ -348,4 +348,32 @@ abstract class Utils
}
return $root . implode('/', $ret);
}
public static function timezones()
{
$timezones = \DateTimeZone::listIdentifiers(\DateTimeZone::ALL);
$offsets = [];
$testDate = new \DateTime;
foreach ($timezones as $zone) {
$tz = new \DateTimeZone($zone);
$offsets[$zone] = $tz->getOffset($testDate);
}
asort($offsets);
$timezone_list = array();
foreach( $offsets as $timezone => $offset )
{
$offset_prefix = $offset < 0 ? '-' : '+';
$offset_formatted = gmdate( 'H:i', abs($offset) );
$pretty_offset = "UTC${offset_prefix}${offset_formatted}";
$timezone_list[$timezone] = "(${pretty_offset}) $timezone";
}
return $timezone_list;
}
}