Skip to content
Snippets Groups Projects
Commit 21e5da1b authored by Peter Rotich's avatar Peter Rotich
Browse files

Fix bug in Misc::user2gmtime routine

Stop doing double timezone offset
parent 873616ba
Branches
Tags
No related merge requests found
...@@ -86,23 +86,15 @@ class Misc { ...@@ -86,23 +86,15 @@ class Misc {
$tz = new DateTimeZone($cfg->getTimezone($user)); $tz = new DateTimeZone($cfg->getTimezone($user));
if (!$timestamp) if ($timestamp && is_int($timestamp)) {
$timestamp = 'now'; if (!($date = DateTime::createFromFormat('U', $timestamp)))
if (is_int($timestamp)) {
$time = $timestamp;
} else {
if (!($date = new DateTime($timestamp, $tz))) {
// Timestamp might be invalid
return $timestamp; return $timestamp;
}
$time = $date->format('U');
}
if (!($D = DateTime::createFromFormat('U', $time))) return $timestamp - $tz->getOffset($date);
return $time; }
return $time - $tz->getOffset($D); $date = new DateTime($timestamp ?: 'now', $tz);
return $date ? $date->getTimestamp() : $timestamp;
} }
//Take user time or gmtime and return db (mysql) time. //Take user time or gmtime and return db (mysql) time.
...@@ -131,10 +123,14 @@ class Misc { ...@@ -131,10 +123,14 @@ class Misc {
global $cfg; global $cfg;
$tz = new DateTimeZone($user ? $cfg->getDbTimezone($user) : 'UTC'); $tz = new DateTimeZone($user ? $cfg->getDbTimezone($user) : 'UTC');
if (!($time = new DateTime($time ?: 'now'))) {
if ($time && is_numeric($time))
$time = DateTime::createFromFormat('U', $time);
elseif (!($time = new DateTime($time ?: 'now'))) {
// Old standard // Old standard
return time() - date('Z'); return time() - date('Z');
} }
return $time->getTimestamp() - $tz->getOffset($time); return $time->getTimestamp() - $tz->getOffset($time);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment