function views_get_timezone

3.x handlers.inc views_get_timezone()
2.x 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 835
handlers.inc 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
  if (in_array($GLOBALS['db_type'], array('mysql', 'mysqli', 'pgsql'))) {
    $offset = '+00:00';
    static $already_set = false;
    if (!$already_set) {
      if ($GLOBALS['db_type'] == 'pgsql') {
        db_query("SET TIME ZONE INTERVAL '$offset' HOUR TO MINUTE");
      }
      elseif ($GLOBALS['db_type'] == 'mysqli') {
        db_query("SET @@session.time_zone = '$offset'");
      }
      elseif ($GLOBALS['db_type'] == 'mysql' && version_compare(db_version(), '4.1.3', '>=')) {
        db_query("SET @@session.time_zone = '$offset'");
      }

      $already_set = true;
    }
  }

  return $timezone;
}