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 {
$tz = new DateTimeZone($cfg->getTimezone($user));
if (!$timestamp)
$timestamp = 'now';
if (is_int($timestamp)) {
$time = $timestamp;
} else {
if (!($date = new DateTime($timestamp, $tz))) {
// Timestamp might be invalid
if ($timestamp && is_int($timestamp)) {
if (!($date = DateTime::createFromFormat('U', $timestamp)))
return $timestamp;
}
$time = $date->format('U');
}
if (!($D = DateTime::createFromFormat('U', $time)))
return $time;
return $timestamp - $tz->getOffset($date);
}
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.
......@@ -131,10 +123,14 @@ class Misc {
global $cfg;
$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
return time() - date('Z');
}
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