function views_get_timezone

Same name in other branches
  1. 6.x-3.x includes/handlers.inc \views_get_timezone()

Figure out what timezone we're in; needed for some date manipulations.

1 call to views_get_timezone()
views_date_sql_field in includes/handlers.inc
Helper function to create cross-database SQL dates.

File

includes/handlers.inc, line 1254

Code

function views_get_timezone() {
    global $user;
    if (variable_get('configurable_timezones', 1) && $user->uid && isset($user->timezone) && strlen($user->timezone)) {
        $timezone = $user->timezone;
    }
    else {
        $timezone = variable_get('date_default_timezone', 0);
    }
    // Set up the database timezone.
    $db_type = Database::getConnection()->databaseType();
    if (in_array($db_type, array(
        'mysql',
        'pgsql',
    ))) {
        $offset = '+00:00';
        static $already_set = FALSE;
        if (!$already_set) {
            if ($db_type == 'pgsql') {
                db_query("SET TIME ZONE INTERVAL '{$offset}' HOUR TO MINUTE");
            }
            elseif ($db_type == 'mysql') {
                db_query("SET @@session.time_zone = '{$offset}'");
            }
            $already_set = TRUE;
        }
    }
    return $timezone;
}