views_get_handler

6 views.module views_get_handler($table, $field, $key, $override = NULL)
7 views.module views_get_handler($table, $field, $key, $override = NULL)

Fetch a handler from the data cache.

Parameters

$table: The name of the table this handler is from.

$field: The name of the field this handler is from.

$key: The type of handler. i.e, sort, field, argument, filter, relationship

$override: Override the actual handler object with this class. Used for aggregation when the handler is redirected to the aggregation handler.

Return value

views_handler An instance of a handler object. May be views_handler_broken.

14 calls to views_get_handler()

File

./views.module, line 861
Primarily Drupal hooks and global API functions to manipulate views.

Code

function views_get_handler($table, $field, $key, $override = NULL) {
  $data = views_fetch_data($table);
  $handler = NULL;
  views_include('handlers');

  if (isset($data[$field][$key])) {
    // Set up a default handler:
    if (empty($data[$field][$key]['handler'])) {
      $data[$field][$key]['handler'] = 'views_handler_' . $key;
    }

    if ($override) {
      $data[$field][$key]['override handler'] = $override;
    }

    $handler = _views_prepare_handler($data[$field][$key], $data, $field, $key);
  }

  if ($handler) {
    return $handler;
  }

  vpr("Missing handler: $table $field $key");
  $broken = array(
    'title' => t('Broken handler @table.@field', array('@table' => $table, '@field' => $field)), 
    'handler' => 'views_handler_' . $key . '_broken', 
    'table' => $table, 
    'field' => $field,
  );
  return _views_create_handler($broken, 'handler', $key);
}
Login or register to post comments