function date_timezone_update_user in Date 5.2
Same name and namespace in other branches
- 6.2 date_timezone/date_timezone.module \date_timezone_update_user()
- 6 date_timezone/date_timezone.module \date_timezone_update_user()
Callback from user timezone settings form to update user timezone info. When the timezone name is updated, update the offset as well.
File
- date_timezone/
date_timezone.module, line 149 - This module will make the alter the user and site timezone forms to select a timezone name instead of a timezone offset.
Code
function date_timezone_update_user($element) {
$timezone = $element['timezone_name']['#value'];
if (!empty($timezone)) {
$date = date_now($timezone);
$offset = date_offset_get($date);
}
else {
$offset = NULL;
}
// We overrode the event module's form handling, give it back
// the values it expected to find in its submission handler.
if (module_exists('event') && db_table_exists('event_timezones')) {
$event_zone = date_event_zonelist_by_name(str_replace('_', ' ', $timezone));
// The Event module will update the user record with the timezone id.
if (!empty($event_zone['timezone'])) {
form_set_value($element['timezone'], $event_zone['timezone'] . '|' . $offset);
}
else {
form_set_value($element['timezone'], $offset);
}
}
else {
form_set_value($element['timezone'], $offset);
}
}