You are here

function quiz_views_handler_argument_quiz_nid::query in Quiz 6.3

Same name and namespace in other branches
  1. 8.4 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()
  2. 6.6 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()
  3. 6.4 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()
  4. 6.5 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()
  5. 7.6 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()
  6. 7 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()
  7. 7.4 includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc \quiz_views_handler_argument_quiz_nid::query()

Override the default behavior of query() to introduce the medial step of retrieving vids from the provided nids.

File

includes/views/handlers/quiz_views_handler_argument_quiz_nid.inc, line 68

Class

quiz_views_handler_argument_quiz_nid

Code

function query() {
  $this
    ->ensure_my_table();
  $this
    ->break_phrase();

  // Do subselect to get relevant vids, then add where clause
  if ($this
    ->subselect_vids()) {
    $placeholders = implode(', ', array_fill(0, count($this->corresponding_vids), '%d'));
    $this->query
      ->add_where(0, "{$this->table_alias}.{$this->nid_field} IN ({$placeholders})", $this->corresponding_vids);
  }
  else {
    $this->query
      ->add_where(0, "{$this->table_alias}.{$this->nid_field} = %d", $this->corresponding_vids);
  }
}