You are here

function views_get_timezone in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.3 includes/handlers.inc \views_get_timezone()
  2. 6.2 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 1247
Defines the various handler objects to help build and display views.

Code

function views_get_timezone() {
  global $user;
  if (variable_get('configurable_timezones', 1) && $user->uid && 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;
}