From 3ba42d3dcf252cd2c07f2f1b9c0b7d54cce759c9 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 18 Mar 2021 14:55:01 +0100 Subject: air: deal with timezones when displaying open/close time - this should finally fix issue #1544 --- include/account.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'include/account.php') diff --git a/include/account.php b/include/account.php index a6067a802..c3c7d26b7 100644 --- a/include/account.php +++ b/include/account.php @@ -1238,18 +1238,23 @@ function zar_register_dutystate( $now=NULL, $day=NULL ) { $dutyis = $isduty ? t('open') : t('closed'); $atform = $isduty ? '' : 'disabled'; + $utc_now = datetime_convert(date_default_timezone_get(), 'UTC', $now, 'c'); $nowfmt = t('Registration is currently') - . ' ('.substr($now,0,2) . ':' . substr($now,-2) . ') ' - . ' ' . $dutyis; + . ' (' . $utc_now . ') ' + . $dutyis . '.
'; + if (!$isduty) { $pernext = zarIsDuty($day, $now, 'nextOpen'); + $week_days = ['','monday','tuesday','wednesday','thursday','friday','saturday','sunday']; + $utc_next_open = datetime_convert(date_default_timezone_get(), 'UTC', $week_days[$pernext[0]] . ' ' . $pernext[1], 'c'); + + if (is_array($pernext)) { + $nowfmt .= t('Next opens') . ' ' + . '' . $utc_next_open . '.'; - if (is_array($pernext)) - $nowfmt .= '. ' . t('Next opens') . ' ' - . ucfirst( array('','mo','tu','we','th','fr','sa','so')[$pernext[0]]) . ' ' - . substr($pernext[1],0,2) . ':' . substr($pernext[1],-2); + } } return array( 'isduty' => $isduty, 'nowfmt' => $nowfmt, 'atform' => $atform); -- cgit v1.2.3