public function Sql::setupTimezone

Overrides \Drupal\views\Plugin\views\query\QueryPluginBase::setupTimezone().

Overrides QueryPluginBase::setupTimezone

1 call to Sql::setupTimezone()
Sql::getDateField in drupal/core/modules/views/lib/Drupal/views/Plugin/views/query/Sql.php
Overrides \Drupal\views\Plugin\views\query\QueryPluginBase::getDateField().

File

drupal/core/modules/views/lib/Drupal/views/Plugin/views/query/Sql.php, line 1710
Definition of Drupal\views\Plugin\views\query\Sql.

Class

Sql
@todo.

Namespace

Drupal\views\Plugin\views\query

Code

public function setupTimezone() {
  $timezone = drupal_get_user_timezone();

  // 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') {
        Database::getConnection()
          ->query("SET TIME ZONE INTERVAL '{$offset}' HOUR TO MINUTE");
      }
      elseif ($db_type == 'mysql') {
        Database::getConnection()
          ->query("SET @@session.time_zone = '{$offset}'");
      }
      $already_set = TRUE;
    }
  }
  return $timezone;
}