summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc7
-rw-r--r--modules/system.module2
-rw-r--r--modules/system/system.module2
3 files changed, 8 insertions, 3 deletions
diff --git a/includes/common.inc b/includes/common.inc
index 2f5df9e48..feab010d2 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -915,7 +915,12 @@ function format_interval($timestamp, $granularity = 2) {
function format_date($timestamp, $type = 'medium', $format = '', $timezone = NULL) {
if ($timezone === NULL) {
global $user;
- $timezone = $user->uid ? $user->timezone : variable_get('date_default_timezone', 0);
+ if (variable_get('configurable_timezones', 1) && $user->uid && strlen($user->timezone)) {
+ $timezone = $user->timezone;
+ }
+ else {
+ $timezone = variable_get('date_default_timezone', 0);
+ }
}
$timestamp += $timezone;
diff --git a/modules/system.module b/modules/system.module
index 10199e075..1fa3e93e5 100644
--- a/modules/system.module
+++ b/modules/system.module
@@ -106,7 +106,7 @@ function system_user($type, $edit, &$user, $category = NULL) {
if (variable_get('configurable_timezones', 1)) {
$zones = _system_zonelist();
- $data[] = array('title' => t('Locale settings'), 'data' => form_select(t('Time zone'), 'timezone', isset($edit['timezone']) ? $edit['timezone'] : variable_get('date_default_timezone', 0), $zones, t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.')), 'weight' => 2);
+ $data[] = array('title' => t('Locale settings'), 'data' => form_select(t('Time zone'), 'timezone', strlen($edit['timezone']) ? $edit['timezone'] : variable_get('date_default_timezone', 0), $zones, t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.')), 'weight' => 2);
}
return $data;
}
diff --git a/modules/system/system.module b/modules/system/system.module
index 10199e075..1fa3e93e5 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -106,7 +106,7 @@ function system_user($type, $edit, &$user, $category = NULL) {
if (variable_get('configurable_timezones', 1)) {
$zones = _system_zonelist();
- $data[] = array('title' => t('Locale settings'), 'data' => form_select(t('Time zone'), 'timezone', isset($edit['timezone']) ? $edit['timezone'] : variable_get('date_default_timezone', 0), $zones, t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.')), 'weight' => 2);
+ $data[] = array('title' => t('Locale settings'), 'data' => form_select(t('Time zone'), 'timezone', strlen($edit['timezone']) ? $edit['timezone'] : variable_get('date_default_timezone', 0), $zones, t('Select your current local time. Dates and times throughout this site will be displayed using this time zone.')), 'weight' => 2);
}
return $data;
}