function views_plugin_display::get_handlers

cis7 views_plugin_display.inc views_plugin_display::get_handlers($type)
cle7 views_plugin_display.inc views_plugin_display::get_handlers($type)
elmsmedia7 views_plugin_display.inc views_plugin_display::get_handlers($type)
icor7 views_plugin_display.inc views_plugin_display::get_handlers($type)
meedjum_blog7 views_plugin_display.inc views_plugin_display::get_handlers($type)
mooc7 views_plugin_display.inc views_plugin_display::get_handlers($type)

Get a full array of handlers for $type. This caches them.

8 calls to views_plugin_display::get_handlers()
views_content_plugin_display_ctools_context::get_argument_input in sites/all/modules/ulmus/ctools/views_content/plugins/views/views_content_plugin_display_ctools_context.inc
Adjust the array of argument input to match the current list of arguments available for this display. This ensures that changing the arguments doesn't cause the argument input field to just break.
views_content_plugin_display_panel_pane::get_argument_input in sites/all/modules/ulmus/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc
Adjust the array of argument input to match the current list of arguments available for this display. This ensures that changing the arguments doesn't cause the argument input field to just break.
views_plugin_display::get_field_labels in sites/all/modules/ulmus/views/plugins/views_plugin_display.inc
Retrieve a list of fields for the current display with the relationship associated if it exists.
views_plugin_display::get_handler in sites/all/modules/ulmus/views/plugins/views_plugin_display.inc
Get the handler object for a single handler.
views_plugin_display::is_identifier_unique in sites/all/modules/ulmus/views/plugins/views_plugin_display.inc
Check if the provided identifier is unique.

... See full list

File

sites/all/modules/ulmus/views/plugins/views_plugin_display.inc, line 921
Contains the base display plugin.

Class

views_plugin_display
The default display plugin handler. Display plugins handle options and basic mechanisms for different output methods.

Code

function get_handlers($type) {
  if (!isset($this->handlers[$type])) {
    $this->handlers[$type] = array();
    $types = views_object_types();
    $plural = $types[$type]['plural'];

    foreach ($this->get_option($plural) as $id => $info) {
      // If this is during form submission and there are temporary options
      // which can only appear if the view is in the edit cache, use those
      // options instead. This is used for AJAX multi-step stuff.
      if (isset($_POST['form_id']) && isset($this->view->temporary_options[$type][$id])) {
        $info = $this->view->temporary_options[$type][$id];
      }

      if ($info['id'] != $id) {
        $info['id'] = $id;
      }

      // If aggregation is on, the group type might override the actual
      // handler that is in use. This piece of code checks that and,
      // if necessary, sets the override handler.
      $override = NULL;
      if ($this->use_group_by() && !empty($info['group_type'])) {
        if (empty($this->view->query)) {
          $this->view->init_query();
        }
        $aggregate = $this->view->query->get_aggregation_info();
        if (!empty($aggregate[$info['group_type']]['handler'][$type])) {
          $override = $aggregate[$info['group_type']]['handler'][$type];
        }
      }

      if (!empty($types[$type]['type'])) {
        $handler_type = $types[$type]['type'];
      }
      else {
        $handler_type = $type;
      }

      $handler = views_get_handler($info['table'], $info['field'], $handler_type, $override);
      if ($handler) {
        // Special override for area types so they know where they come from.
        if ($handler_type == 'area') {
          $handler->handler_type = $type;
        }

        $handler->init($this->view, $info);
        $this->handlers[$type][$id] = &$handler;
      }

      // Prevent reference problems.
      unset($handler);
    }
  }

  return $this->handlers[$type];
}