summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/functions.php23
1 files changed, 10 insertions, 13 deletions
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);
-
- try {
- $user_tz = new DateTimeZone($user_tz_string);
- } catch (Exception $e) {
- $user_tz = $utc_tz;
- }
+ $user_tz_string = get_pref('USER_TIMEZONE', $owner_uid);
- $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) {