You are here

function views_handler::init in Views (for Drupal 7) 6.3

Same name and namespace in other branches
  1. 6.2 includes/handlers.inc \views_handler::init()
  2. 7.3 includes/handlers.inc \views_handler::init()

init the handler with necessary data.

Parameters

$view: The $view object this handler is attached to.

$options: The item from the database; the actual contents of this will vary based upon the type of handler.

5 calls to views_handler::init()
views_handler_argument::init in handlers/views_handler_argument.inc
init the handler with necessary data.
views_handler_field::init in handlers/views_handler_field.inc
init the handler with necessary data.
views_handler_filter::init in handlers/views_handler_filter.inc
Provide some extra help to get the operator/value easier to use.
views_handler_relationship::init in handlers/views_handler_relationship.inc
Init handler to let relationships live on tables other than the table they operate on.
views_handler_sort_group_by_numeric::init in handlers/views_handler_sort_group_by_numeric.inc
init the handler with necessary data.
5 methods override views_handler::init()
views_handler_argument::init in handlers/views_handler_argument.inc
init the handler with necessary data.
views_handler_field::init in handlers/views_handler_field.inc
init the handler with necessary data.
views_handler_filter::init in handlers/views_handler_filter.inc
Provide some extra help to get the operator/value easier to use.
views_handler_relationship::init in handlers/views_handler_relationship.inc
Init handler to let relationships live on tables other than the table they operate on.
views_handler_sort_group_by_numeric::init in handlers/views_handler_sort_group_by_numeric.inc
init the handler with necessary data.

File

includes/handlers.inc, line 278
handlers.inc Defines the various handler objects to help build and display views.

Class

views_handler
Base handler, from which all the other handlers are derived. It creates a common interface to create consistency amongst handlers and data.

Code

function init(&$view, $options) {
  $this->view =& $view;
  $display_id = $this->view->current_display;

  // Check to see if this handler type is defaulted. Note that
  // we have to do a lookup because the type is singular but the
  // option is stored as the plural.
  $types = views_object_types();
  $plural = $this->handler_type;
  if (isset($types[$this->handler_type]['plural'])) {
    $plural = $types[$this->handler_type]['plural'];
  }
  if ($this->view->display_handler
    ->is_defaulted($plural)) {
    $display_id = 'default';
  }
  $this->localization_keys = array(
    $display_id,
    $this->handler_type,
    $options['table'],
    $options['id'],
  );
  $this
    ->unpack_options($this->options, $options);

  // This exist on most handlers, but not all. So they are still optional.
  if (isset($options['table'])) {
    $this->table = $options['table'];
  }
  if (isset($this->definition['real field'])) {
    $this->real_field = $this->definition['real field'];
  }
  if (isset($this->definition['field'])) {
    $this->real_field = $this->definition['field'];
  }
  if (isset($options['field'])) {
    $this->field = $options['field'];
    if (!isset($this->real_field)) {
      $this->real_field = $options['field'];
    }
  }
  $this->query =& $view->query;
}