@@ -6,20 +6,20 @@ |
||
6 | 6 | */ |
7 | 7 | class SS_Datetimezone extends SS_Datetime |
8 | 8 | { |
9 | - /** |
|
10 | - * Returns the date in the raw SQL-format specific to a given timezone passed from the Member class, e.g. “2006-01-18 16:32:04” |
|
11 | - */ |
|
12 | - public function Nice() { |
|
13 | - if($timestamp = $this){ |
|
14 | - //instantiate new DateTime object based off received timestamp in the default timezone |
|
15 | - $timestamp = new DateTime($timestamp, new DateTimeZone(date_default_timezone_get())); |
|
16 | - //if a user is logged in, has set a timezone that is in the allowed list and |
|
17 | - //that timezone is NOT the default one then convert the timestamp to use the selected timezone |
|
18 | - if(Member::currentUserID() && isset(Member::CurrentUser()->Timezone) && in_array(Member::CurrentUser()->Timezone, timezone_identifiers_list()) && Member::CurrentUser()->Timezone != date_default_timezone_get()){ |
|
19 | - $timestamp->setTimezone(new DateTimeZone(Member::CurrentUser()->Timezone)); |
|
20 | - } |
|
21 | - } |
|
22 | - //return timestamp in "Nice" format + the user's timezone |
|
23 | - return $timestamp->Format('d/m/Y g:ia'); |
|
24 | - } |
|
9 | + /** |
|
10 | + * Returns the date in the raw SQL-format specific to a given timezone passed from the Member class, e.g. “2006-01-18 16:32:04” |
|
11 | + */ |
|
12 | + public function Nice() { |
|
13 | + if($timestamp = $this){ |
|
14 | + //instantiate new DateTime object based off received timestamp in the default timezone |
|
15 | + $timestamp = new DateTime($timestamp, new DateTimeZone(date_default_timezone_get())); |
|
16 | + //if a user is logged in, has set a timezone that is in the allowed list and |
|
17 | + //that timezone is NOT the default one then convert the timestamp to use the selected timezone |
|
18 | + if(Member::currentUserID() && isset(Member::CurrentUser()->Timezone) && in_array(Member::CurrentUser()->Timezone, timezone_identifiers_list()) && Member::CurrentUser()->Timezone != date_default_timezone_get()){ |
|
19 | + $timestamp->setTimezone(new DateTimeZone(Member::CurrentUser()->Timezone)); |
|
20 | + } |
|
21 | + } |
|
22 | + //return timestamp in "Nice" format + the user's timezone |
|
23 | + return $timestamp->Format('d/m/Y g:ia'); |
|
24 | + } |
|
25 | 25 | } |
26 | 26 | \ No newline at end of file |
@@ -6,24 +6,24 @@ |
||
6 | 6 | */ |
7 | 7 | class TimezoneMemberExtension extends DataExtension |
8 | 8 | { |
9 | - private static $db = [ |
|
10 | - 'Timezone' => 'Varchar(255)', |
|
11 | - ]; |
|
9 | + private static $db = [ |
|
10 | + 'Timezone' => 'Varchar(255)', |
|
11 | + ]; |
|
12 | 12 | |
13 | - public function getTimezones() { |
|
14 | - $timezones = timezone_identifiers_list(); |
|
15 | - return array_combine($timezones, $timezones); |
|
16 | - } |
|
13 | + public function getTimezones() { |
|
14 | + $timezones = timezone_identifiers_list(); |
|
15 | + return array_combine($timezones, $timezones); |
|
16 | + } |
|
17 | 17 | |
18 | - public function updateCMSFields(FieldList $fields) |
|
19 | - { |
|
20 | - $fields->removeFieldFromTab('Root', 'Timezone'); |
|
21 | - $field = DropdownField::create( |
|
22 | - 'Timezone', |
|
23 | - 'Timezone', |
|
24 | - $this->getTimezones())->setEmptyString('For NZ, choose Pacific/Auckland'); |
|
25 | - $fields->addFieldToTab('Root.timezone', $field); |
|
26 | - return $fields; |
|
27 | - } |
|
18 | + public function updateCMSFields(FieldList $fields) |
|
19 | + { |
|
20 | + $fields->removeFieldFromTab('Root', 'Timezone'); |
|
21 | + $field = DropdownField::create( |
|
22 | + 'Timezone', |
|
23 | + 'Timezone', |
|
24 | + $this->getTimezones())->setEmptyString('For NZ, choose Pacific/Auckland'); |
|
25 | + $fields->addFieldToTab('Root.timezone', $field); |
|
26 | + return $fields; |
|
27 | + } |
|
28 | 28 | |
29 | 29 | } |