diff --git a/include/functions.php b/include/functions.php index 8ecdb71e5..b54187e18 100644 --- a/include/functions.php +++ b/include/functions.php @@ -125,8 +125,6 @@ require_once 'lib/pubsubhubbub/publisher.php'; - $tz_offset = -1; - $utc_tz = new DateTimeZone('UTC'); $schema_version = false; /** @@ -853,26 +851,25 @@ if (!$timestamp) $timestamp = '1970-01-01 0:00'; global $utc_tz; - global $tz_offset; + global $user_tz; + + if (!$utc_tz) $utc_tz = new DateTimeZone('UTC'); $timestamp = substr($timestamp, 0, 19); # We store date in UTC internally $dt = new DateTime($timestamp, $utc_tz); - if ($tz_offset == -1) { + $user_tz_string = get_pref('USER_TIMEZONE', $owner_uid); - $user_tz_string = get_pref('USER_TIMEZONE', $owner_uid); - - try { - $user_tz = new DateTimeZone($user_tz_string); - } catch (Exception $e) { - $user_tz = $utc_tz; - } - - $tz_offset = $user_tz->getOffset($dt); + try { + if (!$user_tz) $user_tz = new DateTimeZone($user_tz_string); + } catch (Exception $e) { + $user_tz = $utc_tz; } + $tz_offset = $user_tz->getOffset($dt); + $user_timestamp = $dt->format('U') + $tz_offset; if (!$no_smart_dt) {