A field that displays fields. More...
Public Member Functions | |
init (&$view, &$options) | |
init the handler with necessary data. | |
access () | |
Return TRUE if the user has access to view this field. | |
get_base_table () | |
Set the base_table and base_table_alias. | |
query ($use_groupby=FALSE) | |
Called to add the field to a query. | |
add_field_table ($use_groupby) | |
Determine if the field table should be added to the query. | |
click_sortable () | |
Determine if this field is click sortable. | |
click_sort ($order) | |
Called to determine what to tell the clicksorter. | |
option_definition () | |
Information about options for all kinds of purposes will be held here. | |
options_form (&$form, &$form_state) | |
Default options form that provides the label widget that all fields should have. | |
multiple_options_form (&$form, &$form_state) | |
Provide options for multiple value fields. | |
groupby_form (&$form, &$form_state) | |
Extend the groupby form with group columns. | |
groupby_form_submit (&$form, &$form_state) | |
Perform any necessary changes to the form values prior to storage. | |
post_execute (&$values) | |
Load the entities for all fields that are about to be displayed. | |
render_items ($items) | |
Render all items in this field together. | |
get_items ($values) | |
get_value ($values, $field=NULL) | |
Get the value that's supposed to be rendered. | |
set_items ($values, $row_id) | |
Return an array of items for the field. | |
render_item ($count, $item) | |
document_self_tokens (&$tokens) | |
Document any special tokens this field might use for itself. | |
add_self_tokens (&$tokens, $item) | |
Add any special tokens this field might use for itself. | |
field_language ($entity_type, $entity) | |
Return the language code of the language the field should be displayed in, according to the settings. | |
construct () | |
Construct a new field handler. | |
allow_advanced_render () | |
Determine if this field can allow advanced rendering. | |
query () | |
Called to add the field to a query. | |
add_additional_fields ($fields=NULL) | |
Add 'additional' fields to the query. | |
label () | |
Get this field's label. | |
element_type ($none_supported=FALSE, $default_empty=FALSE, $inline=FALSE) | |
Return an HTML element based upon the field's element type. | |
element_label_type ($none_supported=FALSE, $default_empty=FALSE) | |
Return an HTML element for the label based upon the field's element type. | |
element_wrapper_type ($none_supported=FALSE, $default_empty=FALSE) | |
Return an HTML element for the wrapper based upon the field's element type. | |
get_elements () | |
Provide a list of elements valid for field HTML. | |
element_classes ($row_index=NULL) | |
Return the class of the field. | |
tokenize_value ($value, $row_index=NULL) | |
Replace a value with tokens from the last field. | |
element_label_classes ($row_index=NULL) | |
Return the class of the field's label. | |
element_wrapper_classes ($row_index=NULL) | |
Return the class of the field's wrapper. | |
options_submit (&$form, &$form_state) | |
Performs some cleanup tasks on the options array before saving it. | |
admin_summary () | |
Provide extra data to the administration form. | |
pre_render (&$values) | |
Run before any fields are rendered. | |
render ($values) | |
Render the field. | |
advanced_render ($values) | |
Render a field using advanced settings. | |
render_text ($alter) | |
Perform an advanced text render for the item. | |
render_altered ($alter, $tokens) | |
Render this field as altered text, from a fieldset set by the user. | |
render_trim_text ($alter, $value) | |
Trim the field down to the specified length. | |
render_as_link ($alter, $text, $tokens) | |
Render this field as a link, with the info from a fieldset set by the user. | |
get_render_tokens ($item) | |
Get the 'render' tokens to use for advanced rendering. | |
theme ($values) | |
Call out to the theme() function, which probably just calls render() but allows sites to override output fairly easily. | |
theme_functions () | |
ui_name ($short=FALSE) | |
Return a string representing this handler's name in the UI. | |
get_field ($field=NULL) | |
Shortcut to get a handler's raw field value. | |
sanitize_value ($value, $type=NULL) | |
Sanitize the value for output. | |
case_transform ($string, $option) | |
Transform a string by a certain method. | |
options_validate (&$form, &$form_state) | |
Validate the options form. | |
use_group_by () | |
Provides the handler some groupby. | |
has_extra_options () | |
If a handler has 'extra options' it will get a little settings widget and another form called extra_options. | |
extra_options (&$option) | |
Provide defaults for the handler. | |
extra_options_form (&$form, &$form_state) | |
Provide a form for setting options. | |
extra_options_validate ($form, &$form_state) | |
Validate the options form. | |
extra_options_submit ($form, &$form_state) | |
Perform any necessary changes to the form values prior to storage. | |
can_expose () | |
Determine if a handler can be exposed. | |
expose_options () | |
Set new exposed option defaults when exposed setting is flipped on. | |
exposed_info () | |
Get information about the exposed form for the form renderer. | |
exposed_form (&$form, &$form_state) | |
Render our chunk of the exposed handler form when selecting. | |
exposed_validate (&$form, &$form_state) | |
Validate the exposed handler form. | |
exposed_submit (&$form, &$form_state) | |
Submit the exposed handler form. | |
expose_form (&$form, &$form_state) | |
Form for exposed handler options. | |
expose_validate ($form, &$form_state) | |
Validate the options form. | |
expose_submit ($form, &$form_state) | |
Perform any necessary changes to the form exposes prior to storage. | |
show_expose_button (&$form, &$form_state) | |
Shortcut to display the expose/hide button. | |
show_expose_form (&$form, &$form_state) | |
Shortcut to display the exposed options form. | |
pre_query () | |
Run before the view is built. | |
placeholder () | |
Provides a unique placeholders for handlers. | |
set_relationship () | |
Called just prior to query(), this lets a handler set up any relationship it needs. | |
ensure_my_table () | |
Ensure the main table for this handler is in the query. | |
needs_style_plugin () | |
Determine if the argument needs a style plugin. | |
is_exposed () | |
Determine if this item is 'exposed', meaning it provides form elements to let users modify the view. | |
accept_exposed_input ($input) | |
Take input from exposed handlers and assign to this handler, if necessary. | |
store_exposed_input ($input, $status) | |
If set to remember exposed input in the session, store it there. | |
get_join () | |
Get the join object that should be used for this handler. | |
validate () | |
Validates the handler against the complete View. | |
broken () | |
Determine if the handler is considered 'broken', meaning it's a a placeholder used when a handler can't be found. | |
options (&$options) | |
Set default options on this object. | |
set_default_options () | |
Set default options. | |
_set_option_defaults (&$storage, $options, $level=0) | |
unpack_options (&$storage, $options, $definition=NULL, $all=TRUE, $check=TRUE, $localization_keys=array()) | |
Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
set_definition ($definition) | |
Let the handler know what its full definition is. | |
destroy () | |
export_options ($indent, $prefix) | |
export_option ($indent, $prefix, $storage, $option, $definition, $parents) | |
unpack_translatables (&$translatable, $parents=array()) | |
Unpacks each handler to store translatable texts. | |
unpack_translatable (&$translatable, $storage, $option, $definition, $parents, $keys=array()) | |
Unpack a single option definition. | |
Public Attributes | |
$items = array() | |
An array to store field renderable arrays for use by render_items. | |
$field_info = array() | |
Store the field informations. | |
$field_alias = 'unknown' | |
$aliases = array() | |
$additional_fields = array() | |
$view = NULL | |
$query = NULL | |
$handler_type = NULL | |
The type of the handler, for example filter/footer/field. | |
$table_alias | |
The alias of the table of this handler which is used in the query. | |
$real_field | |
The actual field in the database table, maybe different on other kind of query plugins/special handlers. | |
$relationship = NULL | |
The relationship used for this field. | |
$options = array() | |
Except for displays, options for the object will be held here. | |
$definition |
A field that displays fields.
Definition at line 33 of file views_handler_field_field.inc.
views_handler::accept_exposed_input | ( | $ | input | ) | [inherited] |
Take input from exposed handlers and assign to this handler, if necessary.
Reimplemented in views_handler_filter, views_handler_filter_date, views_handler_filter_in_operator, views_handler_filter_numeric, views_handler_filter_term_node_tid, and views_handler_filter_user_name.
Definition at line 669 of file handlers.inc.
{ return TRUE; }
views_handler_field_field::access | ( | ) |
Return TRUE if the user has access to view this field.
Reimplemented from views_handler.
Definition at line 76 of file views_handler_field_field.inc.
References get_base_table().
{ $base_table = $this->get_base_table(); return field_access('view', $this->field_info, $this->definition['entity_tables'][$base_table]); }
views_handler_field::add_additional_fields | ( | $ | fields = NULL |
) | [inherited] |
Add 'additional' fields to the query.
$fields | An array of fields. The key is an identifier used to later find the field alias used. The value is either a string in which case it's assumed to be a field on this handler's table; or it's an array in the form of
array('table' => $tablename, 'field' => $fieldname) |
Definition at line 100 of file views_handler_field.inc.
References views_handler::$table_alias, views_object::options(), and views_handler_field::query().
Referenced by views_handler_field_user_roles::query(), views_handler_field_user_permissions::query(), views_handler_field_user_link::query(), views_handler_field_node_translation_link::query(), views_handler_field_term_node_tid::query(), views_handler_field_term_link_edit::query(), views_handler_field_node_path::query(), views_handler_field_locale_link_edit::query(), views_handler_field_filter_format_name::query(), query(), views_handler_field_node_new_comments::query(), views_handler_field_comment_node_link::query(), views_handler_field_comment_link::query(), views_handler_field_entity::query(), and views_handler_field::query().
{ if (!isset($fields)) { // notice check if (empty($this->additional_fields)) { return; } $fields = $this->additional_fields; } $group_params = array(); if ($this->options['group_type'] != 'group') { $group_params = array( 'function' => $this->options['group_type'], ); } if (!empty($fields) && is_array($fields)) { foreach ($fields as $identifier => $info) { if (is_array($info)) { if (isset($info['table'])) { $table_alias = $this->query->ensure_table($info['table'], $this->relationship); } else { $table_alias = $this->table_alias; } if (empty($table_alias)) { debug(t('Handler @handler tried to add additional_field @identifier but @table could not be added!', array('@handler' => $this->definition['handler'], '@identifier' => $identifier, '@table' => $info['table']))); $this->aliases[$identifier] = 'broken'; continue; } $params = array(); if (!empty($info['params'])) { $params = $info['params']; } $params += $group_params; $this->aliases[$identifier] = $this->query->add_field($table_alias, $info['field'], NULL, $params); } else { $this->aliases[$info] = $this->query->add_field($this->table_alias, $info, NULL, $group_params); } } } }
views_handler_field_field::add_field_table | ( | $ | use_groupby | ) |
Determine if the field table should be added to the query.
Definition at line 232 of file views_handler_field_field.inc.
References views_object::options().
Referenced by query().
{ // Grouping is enabled, or we are explicitly required to do this. if ($use_groupby || !empty($this->definition['add fields to query'])) { return TRUE; } // This a multiple value field, but "group multiple values" is not checked. if ($this->multiple && !$this->options['group_rows']) { return TRUE; } return FALSE; }
views_handler_field_field::add_self_tokens | ( | &$ | tokens, | |
$ | item | |||
) |
Add any special tokens this field might use for itself.
This method is intended to be overridden by items that generate fields as a list. For example, the field that displays all terms on a node might have tokens for the tid and the term.
By convention, tokens should follow the format of [token-subtoken] where token is the field ID and subtoken is the field. If the field ID is terms, then the tokens might be [terms-tid] and [terms-name].
Reimplemented from views_handler_field.
Definition at line 827 of file views_handler_field_field.inc.
{ $field = $this->field_info; foreach ($field['columns'] as $id => $column) { // Use filter_xss_admin because it's user data and we can't be sure it is safe. // We know nothing about the data, though, so we can't really do much else. if (isset($item['raw'])) { // If $item['raw'] is an array then we can use as is, if it's an object // we cast it to an array, if it's neither, we can't use it. $raw = is_array($item['raw']) ? $item['raw'] : (is_object($item['raw']) ? (array)$item['raw'] : NULL); } if (isset($raw) && isset($raw[$id]) && is_scalar($raw[$id])) { $tokens['[' . $this->options['id'] . '-' . $id . ']'] = filter_xss_admin($raw[$id]); } else { // Take sure that empty values are replaced as well. $tokens['[' . $this->options['id'] . '-' . $id . ']'] = ''; } } }
views_handler_field::admin_summary | ( | ) | [inherited] |
Provide extra data to the administration form.
Reimplemented from views_handler.
Definition at line 974 of file views_handler_field.inc.
{ return $this->label(); }
views_handler_field::advanced_render | ( | $ | values | ) | [inherited] |
Render a field using advanced settings.
This renders a field normally, then decides if render-as-link and text-replacement rendering is necessary.
Definition at line 1006 of file views_handler_field.inc.
{ if ($this->allow_advanced_render() && method_exists($this, 'render_item')) { $raw_items = $this->get_items($values); } else { $value = $this->render($values); if (is_array($value)) { $value = drupal_render($value); } $this->last_render = $value; $this->original_value = $value; } if ($this->allow_advanced_render()) { $tokens = NULL; if (method_exists($this, 'render_item')) { $items = array(); foreach ($raw_items as $count => $item) { $value = $this->render_item($count, $item); if (is_array($value)) { $value = drupal_render($value); } $this->last_render = $value; $this->original_value = $this->last_render; $alter = $item + $this->options['alter']; $alter['phase'] = VIEWS_HANDLER_RENDER_TEXT_PHASE_SINGLE_ITEM; $items[] = $this->render_text($alter); } $value = $this->render_items($items); } else { $alter = array('phase' => VIEWS_HANDLER_RENDER_TEXT_PHASE_COMPLETELY) + $this->options['alter']; $value = $this->render_text($alter); } if (is_array($value)) { $value = drupal_render($value); } // This happens here so that render_as_link can get the unaltered value of // this field as a token rather than the altered value. $this->last_render = $value; } if (empty($this->last_render)) { if (($this->last_render !== 0 && $this->last_render !== '0') || !empty($this->options['empty_zero'])) { $alter = $this->options['alter']; $alter['alter_text'] = 1; $alter['text'] = $this->options['empty']; $alter['phase'] = VIEWS_HANDLER_RENDER_TEXT_PHASE_EMPTY; $this->last_render = $this->render_text($alter); } } return $this->last_render; }
views_handler_field::allow_advanced_render | ( | ) | [inherited] |
Determine if this field can allow advanced rendering.
Fields can set this to FALSE if they do not wish to allow token based rewriting or link-making.
Reimplemented in views_handler_field_prerender_list.
Definition at line 70 of file views_handler_field.inc.
{
return TRUE;
}
views_handler::broken | ( | ) | [inherited] |
Determine if the handler is considered 'broken', meaning it's a a placeholder used when a handler can't be found.
Reimplemented in views_handler_area_broken, views_handler_argument_broken, views_handler_field_broken, views_handler_filter_broken, views_handler_relationship_broken, and views_handler_sort_broken.
Definition at line 716 of file handlers.inc.
{ }
views_handler::can_expose | ( | ) | [inherited] |
Determine if a handler can be exposed.
Reimplemented in views_handler_filter, views_handler_sort, views_handler_filter_node_access, views_handler_filter_node_status, views_handler_filter_node_tnid, and views_handler_filter_node_tnid_child.
Definition at line 487 of file handlers.inc.
{ return FALSE; }
views_handler::case_transform | ( | $ | string, | |
$ | option | |||
) | [inherited] |
Transform a string by a certain method.
$string | The input you want to transform. | |
$option | How do you want to transform it, possible values:
|
Definition at line 347 of file handlers.inc.
Referenced by views_handler_argument_string::summary_argument().
{ global $multibyte; switch ($option) { default: return $string; case 'upper': return drupal_strtoupper($string); case 'lower': return drupal_strtolower($string); case 'ucfirst': return drupal_strtoupper(drupal_substr($string, 0, 1)) . drupal_substr($string, 1); case 'ucwords': if ($multibyte == UNICODE_MULTIBYTE) { return mb_convert_case($string, MB_CASE_TITLE); } else { return ucwords($string); } } }
views_handler_field_field::click_sort | ( | $ | order | ) |
Called to determine what to tell the clicksorter.
Reimplemented from views_handler_field.
Definition at line 264 of file views_handler_field_field.inc.
References views_handler::ensure_my_table(), views_object::options(), and views_handler_field::query().
{ // No column selected, can't continue. if (empty($this->options['click_sort_column'])) { return; } $this->ensure_my_table(); $column = _field_sql_storage_columnname($this->definition['field_name'], $this->options['click_sort_column']); if (!isset($this->aliases[$column])) { // Column is not in query; add a sort on it (without adding the column). $this->aliases[$column] = $this->table_alias . '.' . $column; } $this->query->add_orderby(NULL, NULL, $order, $this->aliases[$column]); }
views_handler_field_field::click_sortable | ( | ) |
Determine if this field is click sortable.
Reimplemented from views_handler_field.
Definition at line 247 of file views_handler_field_field.inc.
References views_object::options().
{ // Not click sortable in any case. if (empty($this->definition['click sortable'])) { return FALSE; } // A field is not click sortable if it's a multiple field with // "group multiple values" checked, since a click sort in that case would // add a join to the field table, which would produce unwanted duplicates. if ($this->multiple && $this->options['group_rows']) { return FALSE; } return TRUE; }
views_handler_field::construct | ( | ) | [inherited] |
Construct a new field handler.
Reimplemented from views_object.
Reimplemented in views_handler_field_markup, views_handler_field_aggregator_category, views_handler_field_aggregator_title_link, views_handler_field_comment_link, views_handler_field_comment_node_link, views_handler_field_last_comment_timestamp, views_handler_field_node_new_comments, views_handler_field_filter_format_name, views_handler_field_locale_link_edit, views_handler_field_node_path, views_handler_field_node_revision_link_delete, views_handler_field_node_revision_link_revert, views_handler_field_taxonomy, views_handler_field_term_link_edit, views_handler_field_node_translation_link, views_handler_field_user_link, views_handler_field_user_permissions, views_handler_field_user_picture, and views_handler_field_user_roles.
Definition at line 51 of file views_handler_field.inc.
References views_object::options().
{ parent::construct(); $this->additional_fields = array(); if (!empty($this->definition['additional fields'])) { $this->additional_fields = $this->definition['additional fields']; } if (!isset($this->options['exclude'])) { $this->options['exclude'] = ''; } }
views_handler_field_field::document_self_tokens | ( | &$ | tokens | ) |
Document any special tokens this field might use for itself.
Reimplemented from views_handler_field.
Definition at line 820 of file views_handler_field_field.inc.
{ $field = $this->field_info; foreach ($field['columns'] as $id => $column) { $tokens['[' . $this->options['id'] . '-' . $id . ']'] = t('Raw @column', array('@column' => $id)); } }
views_handler_field::element_classes | ( | $ | row_index = NULL |
) | [inherited] |
Return the class of the field.
Definition at line 277 of file views_handler_field.inc.
References views_object::options(), views_handler_field::tokenize_value(), and views_clean_css_identifier().
{ $classes = explode(' ', $this->options['element_class']); foreach ($classes as &$class) { $class = $this->tokenize_value($class, $row_index); $class = views_clean_css_identifier($class); } return implode(' ', $classes); }
views_handler_field::element_label_classes | ( | $ | row_index = NULL |
) | [inherited] |
Return the class of the field's label.
Definition at line 327 of file views_handler_field.inc.
References views_object::options(), views_handler_field::tokenize_value(), and views_clean_css_identifier().
{ $classes = explode(' ', $this->options['element_label_class']); foreach ($classes as &$class) { $class = $this->tokenize_value($class, $row_index); $class = views_clean_css_identifier($class); } return implode(' ', $classes); }
views_handler_field::element_label_type | ( | $ | none_supported = FALSE , |
|
$ | default_empty = FALSE | |||
) | [inherited] |
Return an HTML element for the label based upon the field's element type.
Definition at line 207 of file views_handler_field.inc.
References views_object::options().
views_handler_field::element_type | ( | $ | none_supported = FALSE , |
|
$ | default_empty = FALSE , |
|||
$ | inline = FALSE | |||
) | [inherited] |
Return an HTML element based upon the field's element type.
Reimplemented in views_handler_field_markup, and views_handler_field_user_picture.
Definition at line 179 of file views_handler_field.inc.
References views_object::options().
{ if ($none_supported) { if ($this->options['element_type'] === '0') { return ''; } } if ($this->options['element_type']) { return check_plain($this->options['element_type']); } if ($default_empty) { return ''; } if ($inline) { return 'span'; } if (isset($this->definition['element type'])) { return $this->definition['element type']; } return 'span'; }
views_handler_field::element_wrapper_classes | ( | $ | row_index = NULL |
) | [inherited] |
Return the class of the field's wrapper.
Definition at line 339 of file views_handler_field.inc.
References views_object::options(), views_handler_field::tokenize_value(), and views_clean_css_identifier().
{ $classes = explode(' ', $this->options['element_wrapper_class']); foreach ($classes as &$class) { $class = $this->tokenize_value($class, $row_index); $class = views_clean_css_identifier($class); } return implode(' ', $classes); }
views_handler_field::element_wrapper_type | ( | $ | none_supported = FALSE , |
|
$ | default_empty = FALSE | |||
) | [inherited] |
Return an HTML element for the wrapper based upon the field's element type.
Definition at line 227 of file views_handler_field.inc.
References views_object::options().
views_handler::ensure_my_table | ( | ) | [inherited] |
Ensure the main table for this handler is in the query.
This is used a lot.
Reimplemented in views_handler_area_broken, views_handler_argument_broken, views_handler_argument_many_to_one, views_handler_field_broken, views_handler_filter_broken, views_handler_filter_many_to_one, views_handler_relationship_broken, and views_handler_sort_broken.
Definition at line 633 of file handlers.inc.
References vpr().
Referenced by click_sort(), views_handler_filter_user_current::query(), views_handler_field_user_link::query(), views_handler_relationship_translation::query(), views_handler_filter_node_tnid_child::query(), views_handler_filter_node_tnid::query(), views_handler_field_node_translation_link::query(), views_handler_relationship_node_term_data::query(), views_handler_field_term_link_edit::query(), views_handler_argument_term_node_tid_depth::query(), views_handler_filter_search::query(), views_handler_argument_search::query(), views_handler_filter_node_status::query(), views_handler_filter_node_access::query(), views_handler_filter_history_user_timestamp::query(), views_handler_field_node_path::query(), views_handler_argument_node_uid_revision::query(), views_handler_field_locale_link_edit::query(), views_handler_field_filter_format_name::query(), views_handler_relationship_entity_reverse::query(), query(), views_handler_sort_ncs_last_updated::query(), views_handler_sort_ncs_last_comment_name::query(), views_handler_sort_comment_thread::query(), views_handler_filter_ncs_last_updated::query(), views_handler_filter_comment_user_uid::query(), views_handler_field_node_new_comments::query(), views_handler_field_ncs_last_updated::query(), views_handler_field_ncs_last_comment_name::query(), views_handler_field_comment_node_link::query(), views_handler_field_comment_link::query(), views_handler_argument_comment_user_uid::query(), views_handler_sort_menu_hierarchy::query(), views_handler_sort_group_by_numeric::query(), views_handler_sort_date::query(), views_handler_sort::query(), views_handler_relationship_groupwise_max::query(), views_handler_relationship::query(), views_handler_filter_string::query(), views_handler_filter_numeric::query(), views_handler_filter_in_operator::query(), views_handler_filter_group_by_numeric::query(), views_handler_filter_boolean_operator_string::query(), views_handler_filter_boolean_operator::query(), views_handler_filter::query(), views_handler_field::query(), views_handler_argument_string::query(), views_handler_argument_numeric::query(), views_handler_argument_group_by_numeric::query(), views_handler_argument_formula::query(), views_handler_argument_string::summary_query(), views_handler_argument_formula::summary_query(), and views_handler_argument::summary_query().
{ if (!isset($this->table_alias)) { if (!method_exists($this->query, 'ensure_table')) { vpr(t('Ensure my table called but query has no ensure_table method.')); return; } $this->table_alias = $this->query->ensure_table($this->table, $this->relationship); } return $this->table_alias; }
views_handler::expose_form | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Form for exposed handler options.
Reimplemented in views_handler_filter, views_handler_filter_in_operator, views_handler_sort, views_handler_filter_history_user_timestamp, and views_handler_filter_term_node_tid.
Definition at line 518 of file handlers.inc.
Referenced by views_handler::show_expose_form().
{ }
views_handler::expose_options | ( | ) | [inherited] |
Set new exposed option defaults when exposed setting is flipped on.
Reimplemented in views_handler_filter, views_handler_filter_boolean_operator, views_handler_filter_in_operator, and views_handler_sort.
Definition at line 493 of file handlers.inc.
{ }
views_handler::expose_submit | ( | $ | form, | |
&$ | form_state | |||
) | [inherited] |
Perform any necessary changes to the form exposes prior to storage.
There is no need for this function to actually store the data.
Definition at line 529 of file handlers.inc.
Referenced by views_handler_sort::options_submit(), and views_handler_filter::options_submit().
{ }
views_handler::expose_validate | ( | $ | form, | |
&$ | form_state | |||
) | [inherited] |
Validate the options form.
Reimplemented in views_handler_filter.
Definition at line 523 of file handlers.inc.
Referenced by views_handler_sort::options_validate().
{ }
views_handler::exposed_form | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Render our chunk of the exposed handler form when selecting.
Reimplemented in views_handler_filter.
Definition at line 503 of file handlers.inc.
{ }
views_handler::exposed_info | ( | ) | [inherited] |
Get information about the exposed form for the form renderer.
Reimplemented in views_handler_filter.
Definition at line 498 of file handlers.inc.
{ }
views_handler::exposed_submit | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
views_handler::exposed_validate | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Validate the exposed handler form.
Reimplemented in views_handler_filter_date, views_handler_filter_search, views_handler_filter_term_node_tid, and views_handler_filter_user_name.
Definition at line 508 of file handlers.inc.
{ }
views_handler::extra_options | ( | &$ | option | ) | [inherited] |
views_handler::extra_options_form | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Provide a form for setting options.
Reimplemented in views_handler_filter_term_node_tid, and views_handler_filter_term_node_tid_depth.
Definition at line 471 of file handlers.inc.
{ }
views_handler::extra_options_submit | ( | $ | form, | |
&$ | form_state | |||
) | [inherited] |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data.
Definition at line 482 of file handlers.inc.
{ }
views_handler::extra_options_validate | ( | $ | form, | |
&$ | form_state | |||
) | [inherited] |
views_handler_field_field::field_language | ( | $ | entity_type, | |
$ | entity | |||
) |
Return the language code of the language the field should be displayed in, according to the settings.
Definition at line 853 of file views_handler_field_field.inc.
{ global $language_content; if (field_is_translatable($entity_type, $this->field_info)) { $default_language = language_default('language'); $language = str_replace(array('***CURRENT_LANGUAGE***', '***DEFAULT_LANGUAGE***'), array($language_content->language, $default_language), $this->view->display_handler->options['field_language']); // Give the Field Language API a chance to fallback to a different language // (or LANGUAGE_NONE), in case the field has no data for the selected language. // field_view_field() does this as well, but since the returned language code // is used before calling it, the fallback needs to happen explicitly. $language = field_language($entity_type, $entity, $this->field_info['field_name'], $language); return $language; } else { return LANGUAGE_NONE; } }
views_handler_field_field::get_base_table | ( | ) |
Set the base_table and base_table_alias.
Definition at line 84 of file views_handler_field_field.inc.
References views_object::$options, views_object::options(), and views_fetch_data().
Referenced by access(), and query().
{ if (!isset($this->base_table)) { // This base_table is coming from the entity not the field. $this->base_table = $this->view->base_table; // If the current field is under a relationship you can't be sure that the // base table of the view is the base table of the current field. // For example a field from a node author on a node view does have users as base table. if (!empty($this->options['relationship']) && $this->options['relationship'] != 'none') { $relationships = $this->view->display_handler->get_option('relationships'); if (!empty($relationships[$this->options['relationship']])) { $options = $relationships[$this->options['relationship']]; $data = views_fetch_data($options['table']); $this->base_table = $data[$options['field']]['relationship']['base']; } } } return $this->base_table; }
views_handler_field::get_elements | ( | ) | [inherited] |
Provide a list of elements valid for field HTML.
This function can be overridden by fields that want more or fewer elements available, though this seems like it would be an incredibly rare occurence.
Definition at line 251 of file views_handler_field.inc.
{ static $elements = NULL; if (!isset($elements)) { $elements = variable_get('views_field_rewrite_elements', array( '' => t('- Use default -'), '0' => t('- None -'), 'div' => 'DIV', 'span' => 'SPAN', 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6', 'p' => 'P', 'strong' => 'STRONG', 'em' => 'EM', )); } return $elements; }
views_handler::get_field | ( | $ | field = NULL |
) | [inherited] |
Shortcut to get a handler's raw field value.
This should be overridden for handlers with formulae or other non-standard fields. Because this takes an argument, fields overriding this can just call return parent::get_field($formula)
Definition at line 285 of file handlers.inc.
References views_object::options().
Referenced by views_handler_filter_group_by_numeric::query(), views_handler_argument_group_by_numeric::query(), views_handler_sort_group_by_numeric::ui_name(), views_handler_filter_group_by_numeric::ui_name(), and views_handler_argument_group_by_numeric::ui_name().
{ if (!isset($field)) { if (!empty($this->formula)) { $field = $this->get_formula(); } else { $field = $this->table_alias . '.' . $this->real_field; } } // If grouping, check to see if the aggregation method needs to modify the field. if ($this->view->display_handler->use_group_by()) { $this->view->init_query(); if ($this->query) { $info = $this->query->get_aggregation_info(); if (!empty($info[$this->options['group_type']]['method']) && function_exists($info[$this->options['group_type']]['method'])) { return $info[$this->options['group_type']]['method']($this->options['group_type'], $field); } } } return $field; }
views_handler::get_join | ( | ) | [inherited] |
Get the join object that should be used for this handler.
This method isn't used a great deal, but it's very handy for easily getting the join if it is necessary to make some changes to it, such as adding an 'extra'.
Definition at line 683 of file handlers.inc.
References views_get_table_join().
Referenced by views_handler_argument_many_to_one::summary_query().
{ // get the join from this table that links back to the base table. // Determine the primary table to seek if (empty($this->query->relationships[$this->relationship])) { $base_table = $this->query->base_table; } else { $base_table = $this->query->relationships[$this->relationship]['base']; } $join = views_get_table_join($this->table, $base_table); if ($join) { return clone $join; } }
views_handler_field::get_render_tokens | ( | $ | item | ) | [inherited] |
Get the 'render' tokens to use for advanced rendering.
This runs through all of the fields and arguments that are available and gets their values. This will then be used in one giant str_replace().
Definition at line 1318 of file views_handler_field.inc.
Referenced by views_handler_field_math::render().
{ $tokens = array(); if (!empty($this->view->build_info['substitutions'])) { $tokens = $this->view->build_info['substitutions']; } $count = 0; foreach ($this->view->display_handler->get_handlers('argument') as $arg => $handler) { $token = '%' . ++$count; if (!isset($tokens[$token])) { $tokens[$token] = ''; } // Use strip tags as there should never be HTML in the path. // However, we need to preserve special characters like " that // were removed by check_plain(). $tokens['!' . $count] = isset($this->view->args[$count - 1]) ? strip_tags(decode_entities($this->view->args[$count - 1])) : ''; } // Now add replacements for our fields. foreach ($this->view->display_handler->get_handlers('field') as $field => $handler) { if (isset($handler->last_render)) { $tokens["[$field]"] = $handler->last_render; } else { $tokens["[$field]"] = ''; } if (!empty($item)) { $this->add_self_tokens($tokens, $item); } // We only use fields up to (and including) this one. if ($field == $this->options['id']) { break; } } // Store the tokens for the row so we can reference them later if necessary. $this->view->style_plugin->render_tokens[$this->view->row_index] = $tokens; $this->last_tokens = $tokens; return $tokens; }
views_handler_field_field::get_value | ( | $ | values, | |
$ | field = NULL | |||
) |
Get the value that's supposed to be rendered.
This api exists so that other modules can easy set the values of the field without having the need to change the render method as well.
$values | An object containing all retrieved values. | |
$field | Optional name of the field where the value is stored. |
Reimplemented from views_handler_field.
Definition at line 661 of file views_handler_field_field.inc.
{ // Go ahead and render and store in $this->items. $entity = clone $values->_field_data[$this->field_alias]['entity']; $entity_type = $values->_field_data[$this->field_alias]['entity_type']; $langcode = $this->field_language($entity_type, $entity); // If we are grouping, copy our group fields into the cloned entity. // It's possible this will cause some weirdness, but there's only // so much we can hope to do. if (!empty($this->group_fields)) { // first, test to see if we have a base value. $base_value = array(); // Note: We would copy original values here, but it can cause problems. // For example, text fields store cached filtered values as // 'safe_value' which doesn't appear anywhere in the field definition // so we can't affect it. Other side effects could happen similarly. $data = FALSE; foreach ($this->group_fields as $field_name => $column) { if (property_exists($values, $this->aliases[$column])) { $base_value[$field_name] = $values->{$this->aliases[$column]}; if (isset($base_value[$field_name])) { $data = TRUE; } } } // If any of our aggregated fields have data, fake it: if ($data) { // Now, overwrite the original value with our aggregated value. // This overwrites it so there is always just one entry. $entity->{$this->definition['field_name']}[$langcode] = array($base_value); } else { $entity->{$this->definition['field_name']}[$langcode] = array(); } } // The field we are trying to display doesn't exist on this entity. if (!isset($entity->{$this->definition['field_name']})) { return array(); } // We are supposed to show only certain deltas. if ($this->limit_values && !empty($entity->{$this->definition['field_name']})) { $all_values = !empty($entity->{$this->definition['field_name']}[$langcode]) ? $entity->{$this->definition['field_name']}[$langcode] : array(); if ($this->options['delta_reversed']) { $all_values = array_reverse($all_values); } // Offset is calculated differently when row grouping for a field is // not enabled. Since there are multiple rows, the delta needs to be // taken into account, so that different values are shown per row. if (!$this->options['group_rows'] && isset($this->aliases['delta']) && isset($values->{$this->aliases['delta']})) { $delta_limit = 1; $offset = $values->{$this->aliases['delta']}; } // Single fields don't have a delta available so choose 0. elseif (!$this->options['group_rows'] && !$this->multiple) { $delta_limit = 1; $offset = 0; } else { $delta_limit = $this->options['delta_limit']; $offset = intval($this->options['delta_offset']); // We should only get here in this case if there's an offset, and // in that case we're limiting to all values after the offset. if ($delta_limit == 'all') { $delta_limit = count($all_values) - $offset; } } // Determine if only the first and last values should be shown $delta_first_last = $this->options['delta_first_last']; $new_values = array(); for ($i = 0; $i < $delta_limit; $i++) { $new_delta = $offset + $i; if (isset($all_values[$new_delta])) { // If first-last option was selected, only use the first and last values if (!$delta_first_last // Use the first value. || $new_delta == $offset // Use the last value. || $new_delta == ($delta_limit + $offset - 1)) { $new_values[] = $all_values[$new_delta]; } } } $entity->{$this->definition['field_name']}[$langcode] = $new_values; } if ($field == 'entity') { return $entity; } else { return !empty($entity->{$this->definition['field_name']}[$langcode]) ? $entity->{$this->definition['field_name']}[$langcode] : array(); } }
views_handler_field_field::groupby_form | ( | &$ | form, | |
&$ | form_state | |||
) |
Extend the groupby form with group columns.
Reimplemented from views_handler.
Definition at line 531 of file views_handler_field_field.inc.
References views_object::$options, and views_object::options().
{ parent::groupby_form($form, $form_state); // With "field API" fields, the column target of the grouping function // and any additional grouping columns must be specified. $group_columns = array( 'entity_id' => t('Entity ID'), ) + drupal_map_assoc(array_keys($this->field_info['columns']), 'ucfirst'); $form['group_column'] = array( '#type' => 'select', '#title' => t('Group column'), '#default_value' => $this->options['group_column'], '#description' => t('Select the column of this field to apply the grouping function selected above.'), '#options' => $group_columns, ); $options = drupal_map_assoc(array('bundle', 'language', 'entity_type'), 'ucfirst'); // Add on defined fields, noting that they're prefixed with the field name. $form['group_columns'] = array( '#type' => 'checkboxes', '#title' => t('Group columns (additional)'), '#default_value' => $this->options['group_columns'], '#description' => t('Select any additional columns of this field to include in the query and to group on.'), '#options' => $options + $group_columns, ); }
views_handler_field_field::groupby_form_submit | ( | &$ | form, | |
&$ | form_state | |||
) |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data.
Reimplemented from views_handler.
Definition at line 559 of file views_handler_field_field.inc.
{ parent::groupby_form_submit($form, $form_state); $item =& $form_state['handler']->options; // Add settings for "field API" fields. $item['group_column'] = $form_state['values']['options']['group_column']; $item['group_columns'] = array_filter($form_state['values']['options']['group_columns']); }
views_handler::has_extra_options | ( | ) | [inherited] |
If a handler has 'extra options' it will get a little settings widget and another form called extra_options.
Reimplemented in views_handler_filter_term_node_tid.
Definition at line 461 of file handlers.inc.
{ return FALSE; }
views_handler_field_field::init | ( | &$ | view, | |
&$ | options | |||
) |
init the handler with necessary data.
$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. |
Reimplemented from views_handler_field.
Definition at line 44 of file views_handler_field_field.inc.
References views_object::$options, and views_object::options().
{ parent::init($view, $options); $this->field_info = $field = field_info_field($this->definition['field_name']); $this->multiple = FALSE; $this->limit_values = FALSE; if ($field['cardinality'] > 1 || $field['cardinality'] == FIELD_CARDINALITY_UNLIMITED) { $this->multiple = TRUE; // If "Display all values in the same row" is FALSE, then we always limit // in order to show a single unique value per row. if (!$this->options['group_rows']) { $this->limit_values = TRUE; } // If "First and last only" is chosen, limit the values if (!empty($this->options['delta_first_last'])) { $this->limit_values = TRUE; } // Otherwise, we only limit values if the user hasn't selected "all", 0, or // the value matching field cardinality. if ((intval($this->options['delta_limit']) && ($this->options['delta_limit'] != $field['cardinality'])) || intval($this->options['delta_offset'])) { $this->limit_values = TRUE; } } }
views_handler::is_exposed | ( | ) | [inherited] |
Determine if this item is 'exposed', meaning it provides form elements to let users modify the view.
Definition at line 662 of file handlers.inc.
References views_object::options().
{ return !empty($this->options['exposed']); }
views_handler_field::label | ( | ) | [inherited] |
Get this field's label.
Definition at line 169 of file views_handler_field.inc.
References views_object::options().
views_handler_field_field::multiple_options_form | ( | &$ | form, | |
&$ | form_state | |||
) |
Provide options for multiple value fields.
Definition at line 428 of file views_handler_field_field.inc.
References views_object::$options, and views_object::options().
Referenced by options_form().
{ $field = $this->field_info; $form['multiple_field_settings'] = array( '#type' => 'fieldset', '#title' => t('Multiple field settings'), '#collapsible' => TRUE, '#collapsed' => TRUE, '#weight' => 5, ); $form['group_rows'] = array( '#title' => t('Display all values in the same row'), '#type' => 'checkbox', '#default_value' => $this->options['group_rows'], '#description' => t('If checked, multiple values for this field will be shown in the same row. If not checked, each value in this field will create a new row. If using group by, please make sure to group by "Entity ID" for this setting to have any effect.'), '#fieldset' => 'multiple_field_settings', ); // Make the string translatable by keeping it as a whole rather than // translating prefix and suffix separately. list($prefix, $suffix) = explode('@count', t('Display @count value(s)')); if ($field['cardinality'] == FIELD_CARDINALITY_UNLIMITED) { $type = 'textfield'; $options = NULL; $size = 5; } else { $type = 'select'; $options = drupal_map_assoc(range(1, $field['cardinality'])); $size = 1; } $form['multi_type'] = array( '#type' => 'radios', '#title' => t('Display type'), '#options' => array( 'ul' => t('Unordered list'), 'ol' => t('Ordered list'), 'separator' => t('Simple separator'), ), '#dependency' => array('edit-options-group-rows' => array(TRUE)), '#default_value' => $this->options['multi_type'], '#fieldset' => 'multiple_field_settings', ); $form['separator'] = array( '#type' => 'textfield', '#title' => t('Separator'), '#default_value' => $this->options['separator'], '#dependency' => array( 'radio:options[multi_type]' => array('separator'), 'edit-options-group-rows' => array(TRUE), ), '#dependency_count' => 2, '#fieldset' => 'multiple_field_settings', ); $form['delta_limit'] = array( '#type' => $type, '#size' => $size, '#field_prefix' => $prefix, '#field_suffix' => $suffix, '#options' => $options, '#default_value' => $this->options['delta_limit'], '#prefix' => '<div class="container-inline">', '#dependency' => array('edit-options-group-rows' => array(TRUE)), '#fieldset' => 'multiple_field_settings', ); list($prefix, $suffix) = explode('@count', t('starting from @count')); $form['delta_offset'] = array( '#type' => 'textfield', '#size' => 5, '#field_prefix' => $prefix, '#field_suffix' => $suffix, '#default_value' => $this->options['delta_offset'], '#dependency' => array('edit-options-group-rows' => array(TRUE)), '#description' => t('(first item is 0)'), '#fieldset' => 'multiple_field_settings', ); $form['delta_reversed'] = array( '#title' => t('Reversed'), '#type' => 'checkbox', '#default_value' => $this->options['delta_reversed'], '#suffix' => $suffix, '#dependency' => array('edit-options-group-rows' => array(TRUE)), '#description' => t('(start from last values)'), '#fieldset' => 'multiple_field_settings', ); $form['delta_first_last'] = array( '#title' => t('First and last only'), '#type' => 'checkbox', '#default_value' => $this->options['delta_first_last'], '#suffix' => '</div>', '#dependency' => array('edit-options-group-rows' => array(TRUE)), '#fieldset' => 'multiple_field_settings', ); }
views_handler::needs_style_plugin | ( | ) | [inherited] |
Determine if the argument needs a style plugin.
Reimplemented in views_handler_argument.
Definition at line 654 of file handlers.inc.
{ return FALSE; }
views_handler_field_field::option_definition | ( | ) |
Information about options for all kinds of purposes will be held here.
'option_name' => array( - 'default' => default value, - 'translatable' => TRUE/FALSE (wrap in t() on export if true), - 'contains' => array of items this contains, with its own defaults, etc. If contains is set, the default will be ignored and assumed to be array() ),
Each option may have any of the following functions:
Reimplemented from views_handler_field.
Definition at line 279 of file views_handler_field_field.inc.
References views_object::$options.
{ $options = parent::option_definition(); // option_definition runs before init/construct, so no $this->field_info $field = field_info_field($this->definition['field_name']); $field_type = field_info_field_types($field['type']); $column_names = array_keys($field['columns']); $default_column = ''; // Try to determine a sensible default. if (count($column_names) == 1) { $default_column = $column_names[0]; } elseif (in_array('value', $column_names)) { $default_column = 'value'; } // If the field has a "value" column, we probably need that one. $options['click_sort_column'] = array( 'default' => $default_column, ); $options['type'] = array( 'default' => $field_type['default_formatter'], ); $options['settings'] = array( 'default' => array(), ); $options['group_column'] = array( 'default' => $default_column, ); $options['group_columns'] = array( 'default' => array(), ); // Options used for multiple value fields. $options['group_rows'] = array( 'default' => TRUE, ); // If we know the exact number of allowed values, then that can be // the default. Otherwise, default to 'all'. $options['delta_limit'] = array( 'default' => ($field['cardinality'] > 1) ? $field['cardinality'] : 'all', ); $options['delta_offset'] = array( 'default' => 0, ); $options['delta_reversed'] = array( 'default' => FALSE, ); $options['delta_first_last'] = array( 'default' => FALSE, ); $options['multi_type'] = array( 'default' => 'separator' ); $options['separator'] = array( 'default' => ', ' ); $options['field_api_classes'] = array( 'default' => FALSE, ); return $options; }
views_object::options | ( | &$ | options | ) | [inherited] |
Set default options on this object.
Called by the constructor in a complex chain to deal with backward compatibility.
Reimplemented in views_plugin_style_default.
Definition at line 60 of file base.inc.
Referenced by views_handler_filter_term_node_tid::accept_exposed_input(), views_handler_filter_numeric::accept_exposed_input(), views_handler_filter_in_operator::accept_exposed_input(), views_handler_filter_date::accept_exposed_input(), views_handler_filter::accept_exposed_input(), views_test_plugin_access_test_static::access(), views_test_plugin_access_test_dynamic::access(), views_plugin_access_role::access(), views_plugin_access_perm::access(), views_handler_field::add_additional_fields(), add_field_table(), views_handler_field_user_roles::add_self_tokens(), views_handler_field_profile_list::add_self_tokens(), views_handler_filter_history_user_timestamp::admin_summary(), views_handler_sort::admin_summary(), views_handler_filter_string::admin_summary(), views_handler_filter_numeric::admin_summary(), views_handler_filter_in_operator::admin_summary(), views_handler_filter_boolean_operator::admin_summary(), views_plugin_query_default::build(), views_plugin_style_table::build_sort(), views_plugin_style_table::build_sort_post(), views_plugin_cache_time::cache_expire(), views_plugin_cache_time::cache_set_expire(), click_sort(), views_handler_field::click_sort(), click_sortable(), views_handler_field::construct(), views_handler_argument::default_action(), views_handler_argument::default_argument_form(), views_handler_argument::default_summary(), views_handler_argument::default_summary_form(), views_plugin_display_attachment::displays_exposed(), views_handler_field_user_roles::document_self_tokens(), views_handler_field_profile_list::document_self_tokens(), views_handler_field::element_classes(), views_handler_field::element_label_classes(), views_handler_field::element_label_type(), views_handler_field_user_picture::element_type(), views_handler_field::element_type(), views_handler_field::element_wrapper_classes(), views_handler_field::element_wrapper_type(), views_plugin_style_table::even_empty(), views_plugin_query_default::execute(), views_plugin_pager::execute_count_query(), views_handler_argument_date::export_plugin(), views_handler_filter_term_node_tid::expose_form(), views_handler_sort::expose_form(), views_handler_filter_in_operator::expose_form(), views_handler_filter::expose_form(), views_handler_sort::expose_options(), views_handler_filter_in_operator::expose_options(), views_handler_filter_boolean_operator::expose_options(), views_handler_filter::expose_options(), views_handler_filter::exposed_form(), views_plugin_exposed_form::exposed_form_submit(), views_handler_filter::exposed_info(), views_handler_filter::exposed_translate(), views_handler_filter_user_name::exposed_validate(), views_handler_filter_term_node_tid::exposed_validate(), views_handler_filter_search::exposed_validate(), views_handler_filter_date::exposed_validate(), views_handler_filter_term_node_tid_depth::extra_options_form(), views_handler_filter_term_node_tid::extra_options_form(), views_plugin_access_role::get_access_callback(), views_plugin_access_perm::get_access_callback(), views_plugin_argument_default_raw::get_argument(), views_plugin_argument_default_php::get_argument(), views_plugin_argument_default_fixed::get_argument(), views_plugin_argument_default_user::get_argument(), views_plugin_argument_default_taxonomy_tid::get_argument(), get_base_table(), views_handler_argument_date::get_default_argument(), views_handler::get_field(), views_plugin_pager::get_items_per_page(), views_plugin_pager::get_offset(), views_plugin_display::get_option(), views_plugin_pager::get_pager_id(), views_plugin_style::get_row_class(), groupby_form(), views_handler::groupby_form(), views_handler_argument::has_default_argument(), views_plugin_style::init(), views_plugin_row::init(), views_plugin_query::init(), views_plugin_pager::init(), views_plugin_exposed_form::init(), views_plugin_cache::init(), views_plugin_argument_validate::init(), views_plugin_argument_default::init(), views_plugin_access::init(), views_handler_field_user_name::init(), views_handler_field_user::init(), views_plugin_argument_validate_taxonomy_term::init(), views_plugin_argument_default_taxonomy_tid::init(), views_handler_relationship_node_term_data::init(), views_handler_filter_term_node_tid::init(), views_handler_field_term_node_tid::init(), views_handler_field_accesslog_path::init(), views_plugin_row_node_view::init(), views_plugin_row_node_rss::init(), views_handler_field_node_revision::init(), views_handler_field_node::init(), views_handler_field_history_user_timestamp::init(), init(), views_handler_field_node_new_comments::init(), views_handler_field_comment::init(), views_handler::init(), views_handler_filter::init(), views_handler_argument::init(), views_plugin_display::is_defaulted(), views_handler::is_exposed(), views_handler_relationship::label(), views_handler_field::label(), views_handler_area::label(), multiple_options_form(), views_handler_argument::needs_style_plugin(), views_plugin_style_table::options_form(), views_plugin_style_summary_unformatted::options_form(), views_plugin_style_summary_jump_menu::options_form(), views_plugin_style_summary::options_form(), views_plugin_style_rss::options_form(), views_plugin_style_list::options_form(), views_plugin_style_jump_menu::options_form(), views_plugin_style_grid::options_form(), views_plugin_style::options_form(), views_plugin_row_fields::options_form(), views_plugin_row::options_form(), views_plugin_query_default::options_form(), views_plugin_pager_some::options_form(), views_plugin_pager_none::options_form(), views_plugin_pager_full::options_form(), views_plugin_exposed_form_input_required::options_form(), views_plugin_exposed_form::options_form(), views_plugin_display::options_form(), views_plugin_cache_time::options_form(), views_plugin_argument_validate_php::options_form(), views_plugin_argument_default_raw::options_form(), views_plugin_argument_default_php::options_form(), views_plugin_argument_default_fixed::options_form(), views_plugin_access_role::options_form(), views_plugin_access_perm::options_form(), views_plugin_row_user_view::options_form(), views_plugin_argument_validate_user::options_form(), views_plugin_argument_default_user::options_form(), views_handler_field_user_picture::options_form(), views_handler_field_user_name::options_form(), views_handler_field_user_mail::options_form(), views_handler_field_user_link::options_form(), views_handler_field_user::options_form(), views_handler_relationship_translation::options_form(), views_handler_field_node_language::options_form(), views_plugin_argument_validate_taxonomy_term::options_form(), views_plugin_argument_default_taxonomy_tid::options_form(), views_handler_relationship_node_term_data::options_form(), views_handler_field_term_node_tid::options_form(), views_handler_field_term_link_edit::options_form(), views_handler_field_taxonomy::options_form(), views_handler_argument_term_node_tid_depth::options_form(), views_handler_argument_term_node_tid::options_form(), views_handler_field_file_uri::options_form(), views_handler_field_file_filemime::options_form(), views_handler_field_file::options_form(), views_handler_field_accesslog_path::options_form(), views_plugin_row_search_view::options_form(), views_handler_field_search_score::options_form(), views_plugin_row_node_view::options_form(), views_plugin_row_node_rss::options_form(), views_plugin_argument_validate_node::options_form(), views_handler_field_node_type::options_form(), views_handler_field_node_revision::options_form(), views_handler_field_node_path::options_form(), views_handler_field_node_link::options_form(), views_handler_field_node::options_form(), views_handler_field_history_user_timestamp::options_form(), views_handler_field_locale_link_edit::options_form(), views_handler_field_locale_language::options_form(), options_form(), views_handler_argument_field_list::options_form(), views_handler_field_contact_link::options_form(), views_plugin_row_comment_view::options_form(), views_plugin_row_comment_rss::options_form(), views_handler_field_node_new_comments::options_form(), views_handler_field_comment_username::options_form(), views_handler_field_comment_node_link::options_form(), views_handler_field_comment_link_edit::options_form(), views_handler_field_comment_link::options_form(), views_handler_field_comment::options_form(), views_plugin_row_aggregator_rss::options_form(), views_handler_field_aggregator_title_link::options_form(), views_handler_field_aggregator_category::options_form(), views_handler::options_form(), views_handler_sort_date::options_form(), views_handler_relationship_groupwise_max::options_form(), views_handler_relationship::options_form(), views_handler_field_url::options_form(), views_handler_field_time_interval::options_form(), views_handler_field_serialized::options_form(), views_handler_field_prerender_list::options_form(), views_handler_field_numeric::options_form(), views_handler_field_math::options_form(), views_handler_field_machine_name::options_form(), views_handler_field_date::options_form(), views_handler_field_counter::options_form(), views_handler_field_contextual_links::options_form(), views_handler_field_boolean::options_form(), views_handler_argument_string::options_form(), views_handler_argument_numeric::options_form(), views_handler_argument_null::options_form(), views_handler_argument_many_to_one::options_form(), views_handler_argument::options_form(), views_handler_area_view::options_form(), views_handler_area_text::options_form(), views_handler_area_result::options_form(), views_handler_area::options_form(), views_handler_sort::options_submit(), views_handler_relationship_groupwise_max::options_submit(), views_handler_filter::options_submit(), views_handler_sort::options_validate(), views_handler_filter_date::options_validate(), views_handler_filter::options_validate(), views_handler::placeholder(), views_handler_argument_term_node_tid_depth_modifier::pre_query(), views_plugin_argument_validate_user::process_summary_arguments(), views_plugin_argument_validate_taxonomy_term::process_summary_arguments(), views_handler_argument::process_summary_arguments(), views_plugin_style_summary::query(), views_plugin_row::query(), views_plugin_query_default::query(), views_plugin_pager_some::query(), views_plugin_pager_none::query(), views_plugin_pager_full::query(), views_handler_filter_user_current::query(), views_handler_relationship_translation::query(), views_handler_filter_node_tnid_child::query(), views_handler_filter_node_tnid::query(), views_handler_relationship_node_term_data::query(), views_handler_filter_term_node_tid_depth::query(), views_handler_argument_term_node_tid_depth::query(), views_handler_sort_search_score::query(), views_handler_filter_search::query(), views_handler_field_search_score::query(), views_handler_filter_node_status::query(), views_handler_filter_history_user_timestamp::query(), views_handler_relationship_entity_reverse::query(), query(), views_handler_sort_ncs_last_updated::query(), views_handler_sort_ncs_last_comment_name::query(), views_handler_sort_comment_thread::query(), views_handler_filter_comment_user_uid::query(), views_handler_sort_menu_hierarchy::query(), views_handler_sort_group_by_numeric::query(), views_handler_sort_date::query(), views_handler_sort::query(), views_handler_relationship_groupwise_max::query(), views_handler_relationship::query(), views_handler_filter_string::query(), views_handler_filter_numeric::query(), views_handler_filter_in_operator::query(), views_handler_filter_group_by_numeric::query(), views_handler_filter_boolean_operator_string::query(), views_handler_filter_boolean_operator::query(), views_handler_filter::query(), views_handler_field::query(), views_handler_argument_string::query(), views_handler_argument_numeric::query(), views_handler_argument_many_to_one::query(), views_handler_filter_in_operator::reduce_value_options(), views_plugin_style_summary_jump_menu::render(), views_plugin_style_summary::render(), views_plugin_style_rss::render(), views_plugin_style_jump_menu::render(), views_plugin_row::render(), views_plugin_pager_mini::render(), views_plugin_pager_full::render(), views_handler_field_user_picture::render(), views_handler_field_node_language::render(), views_plugin_row_search_view::render(), views_handler_field_profile_date::render(), views_handler_field_node_path::render(), views_handler_field_history_user_timestamp::render(), views_handler_field_ncs_last_comment_name::render(), views_handler_field_last_comment_timestamp::render(), views_handler_field_comment_node_link::render(), views_handler_field_url::render(), views_handler_field_prerender_list::render(), views_handler_field_numeric::render(), views_handler_field_math::render(), views_handler_field_date::render(), views_handler_field_custom::render(), views_handler_field_counter::render(), views_handler_field_contextual_links::render(), views_handler_field_boolean::render(), views_handler_field_file_size::render(), views_handler_area_view::render(), views_handler_area_text::render(), views_handler_area_result::render(), views_plugin_style::render_grouping_sets(), views_handler_field_prerender_list::render_items(), views_handler_field_taxonomy::render_link(), views_handler_field_file::render_link(), views_handler_field_node_revision::render_link(), views_handler_field_node_link_edit::render_link(), views_handler_field_node_link_delete::render_link(), views_handler_field_node::render_link(), views_handler_field_aggregator_category::render_link(), views_handler_field_node_type::render_name(), views_handler_area_text::render_textarea(), views_handler_argument_term_node_tid_depth::set_breadcrumb(), views_handler_argument_term_node_tid::set_breadcrumb(), views_plugin_pager_full::set_current_page(), views_object::set_default_options(), views_plugin_pager::set_items_per_page(), views_plugin_pager::set_offset(), views_plugin_display::set_option(), views_plugin_display::set_override(), views_handler::set_relationship(), views_handler_sort::show_expose_button(), views_handler_filter::show_expose_button(), views_handler::show_expose_form(), views_handler_sort::show_sort_form(), views_handler_filter::store_exposed_input(), views_handler_argument_string::summary_query(), views_handler_argument_many_to_one::summary_query(), views_plugin_pager_some::summary_title(), views_plugin_pager_none::summary_title(), views_plugin_pager_mini::summary_title(), views_plugin_pager_full::summary_title(), views_plugin_cache_time::summary_title(), views_plugin_access_role::summary_title(), views_plugin_access_perm::summary_title(), views_plugin_row_user_view::summary_title(), views_plugin_row_node_view::summary_title(), views_plugin_row_node_rss::summary_title(), views_handler_argument_numeric::title(), views_handler_argument_many_to_one::title(), views_handler_field::tokenize_value(), views_handler::ui_name(), views_object::unpack_translatables(), views_plugin_pager_full::update_page_info(), views_handler_argument::uses_breadcrumb(), views_plugin_display_attachment::uses_exposed(), views_plugin_style::uses_tokens(), views_handler_filter_in_operator::validate(), views_handler_argument_null::validate_argument_basic(), views_handler_argument::validate_fail(), views_handler_filter_term_node_tid::validate_term_strings(), views_handler_filter_user_name::value_form(), views_handler_filter_term_node_tid::value_form(), views_handler_filter_history_user_timestamp::value_form(), views_handler_filter_string::value_form(), views_handler_filter_numeric::value_form(), views_handler_filter_in_operator::value_form(), views_handler_filter_equality::value_form(), views_handler_filter_boolean_operator::value_form(), and views_handler_filter_term_node_tid::value_validate().
{ }
views_handler_field_field::options_form | ( | &$ | form, | |
&$ | form_state | |||
) |
Default options form that provides the label widget that all fields should have.
Reimplemented from views_handler_field.
Definition at line 345 of file views_handler_field_field.inc.
References multiple_options_form(), views_object::options(), and views_ui_build_form_url().
{ parent::options_form($form, $form_state); $field = $this->field_info; $formatters = _field_view_formatter_options($field['type']); $column_names = array_keys($field['columns']); // If this is a multiple value field, add its options. if ($this->multiple) { $this->multiple_options_form($form, $form_state); } // No need to ask the user anything if the field has only one column. if (count($field['columns']) == 1) { $form['click_sort_column'] = array( '#type' => 'value', '#value' => isset($column_names[0]) ? $column_names[0] : '', ); } else { $form['click_sort_column'] = array( '#type' => 'select', '#title' => t('Click sort column'), '#options' => drupal_map_assoc($column_names), '#default_value' => $this->options['click_sort_column'], '#description' => t('Used by Style: Table to determine the actual column to click sort the field on. The default is usually fine.'), '#fieldset' => 'more', ); } $form['type'] = array( '#type' => 'select', '#title' => t('Formatter'), '#options' => $formatters, '#default_value' => $this->options['type'], '#ajax' => array( 'path' => views_ui_build_form_url($form_state), ), '#submit' => array('views_ui_config_item_form_submit_temporary'), '#executes_submit_callback' => TRUE, ); $form['field_api_classes'] = array( '#title' => t('Use field template'), '#type' => 'checkbox', '#default_value' => $this->options['field_api_classes'], '#description' => t('If checked, field api classes will be added using field.tpl.php (or equivalent). This is not recommended unless your CSS depends upon these classes. If not checked, template will not be used.'), '#fieldset' => 'style_settings', '#weight' => 20, ); if ($this->multiple) { $form['field_api_classes']['#description'] .= ' ' . t('Checking this option will cause the group Display Type and Separator values to be ignored.'); } // Get the currently selected formatter. $format = $this->options['type']; $formatter = field_info_formatter_types($format); $settings = $this->options['settings'] + field_info_formatter_settings($format); // Provide an instance array for hook_field_formatter_settings_form(). ctools_include('fields'); $instance = ctools_fields_fake_field_instance($this->definition['field_name'], '_dummy', $formatter, $settings); // Store the settings in a '_dummy' view mode. $instance['display']['_dummy'] = array( 'type' => $format, 'settings' => $settings, ); // Get the settings form. $settings_form = array('#value' => array()); $function = $formatter['module'] . '_field_formatter_settings_form'; if (function_exists($function)) { $settings_form = $function($field, $instance, '_dummy', $form, $form_state); } $form['settings'] = $settings_form; }
views_handler_field::options_submit | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Performs some cleanup tasks on the options array before saving it.
Reimplemented from views_handler.
Definition at line 424 of file views_handler_field.inc.
{ $options = &$form_state['values']['options']; $types = array('element_type', 'element_label_type', 'element_wrapper_type'); $classes = array_combine(array('element_class', 'element_label_class', 'element_wrapper_class'), $types); foreach ($types as $type) { if (!$options[$type . '_enable']) { $options[$type] = ''; } } foreach ($classes as $class => $type) { if (!$options[$class . '_enable'] || !$options[$type . '_enable']) { $options[$class] = ''; } } if (empty($options['custom_label'])) { $options['label'] = ''; $options['element_label_colon'] = FALSE; } }
views_handler::options_validate | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Validate the options form.
Reimplemented in views_handler_argument, views_handler_field_serialized, views_handler_filter, views_handler_filter_date, and views_handler_sort.
Definition at line 372 of file handlers.inc.
{ }
views_handler::placeholder | ( | ) | [inherited] |
Provides a unique placeholders for handlers.
Definition at line 595 of file handlers.inc.
References views_object::options().
Referenced by views_handler_filter_search::query(), views_handler_argument_search::query(), views_handler_argument_node_uid_revision::query(), query(), views_handler_filter_string::query(), views_handler_filter_group_by_numeric::query(), views_handler_argument_string::query(), views_handler_argument_numeric::query(), views_handler_argument_group_by_numeric::query(), views_handler_argument_formula::query(), and views_handler_argument_string::summary_query().
views_handler_field_field::post_execute | ( | &$ | values | ) |
Load the entities for all fields that are about to be displayed.
Reimplemented from views_handler.
Definition at line 571 of file views_handler_field_field.inc.
{ if (!empty($values)) { // Divide the entity ids by entity type, so they can be loaded in bulk. $entities_by_type = array(); $revisions_by_type = array(); foreach ($values as $key => $object) { if (isset($object->{$this->field_alias}) && !isset($values[$key]->_field_data[$this->field_alias])) { $entity_type = $object->{$this->aliases['entity_type']}; if (empty($this->definition['is revision'])) { $entity_id = $object->{$this->field_alias}; $entities_by_type[$entity_type][$key] = $entity_id; } else { $revision_id = $object->{$this->field_alias}; $entity_id = $object->{$this->aliases['entity_id']}; $entities_by_type[$entity_type][$key] = array($entity_id, $revision_id); } } } // Load the entities. foreach ($entities_by_type as $entity_type => $entity_ids) { $entity_info = entity_get_info($entity_type); if (empty($this->definition['is revision'])) { $entities = entity_load($entity_type, $entity_ids); $keys = $entity_ids; } else { // Revisions can't be loaded multiple, so we have to load them // one by one. $entities = array(); $keys = array(); foreach ($entity_ids as $key => $combined) { list($entity_id, $revision_id) = $combined; $entity = entity_load($entity_type, array($entity_id), array($entity_info['entity keys']['revision'] => $revision_id)); if ($entity) { $entities[$revision_id] = array_shift($entity); $keys[$key] = $revision_id; } } } foreach ($keys as $key => $entity_id) { // If this is a revision, load the revision instead. if (isset($entities[$entity_id])) { $values[$key]->_field_data[$this->field_alias] = array( 'entity_type' => $entity_type, 'entity' => $entities[$entity_id], ); } } } // Now, transfer the data back into the resultset so it can be easily used. foreach ($values as $row_id => &$value) { $value->{'field_' . $this->options['id']} = $this->set_items($value, $row_id); } } }
views_handler::pre_query | ( | ) | [inherited] |
Run before the view is built.
This gives all the handlers some time to set up before any handler has been fully run.
Reimplemented in views_handler_argument_term_node_tid_depth_modifier.
Definition at line 581 of file handlers.inc.
{ }
views_handler_field::pre_render | ( | &$ | values | ) | [inherited] |
Run before any fields are rendered.
This gives the handlers some time to set up before any handler has been rendered.
$values | An array of all objects returned from the query. |
Reimplemented in views_handler_field_contextual_links, views_handler_field_entity, views_handler_field_machine_name, views_handler_field_node_new_comments, views_handler_field_profile_list, views_handler_field_term_node_tid, views_handler_field_user_permissions, and views_handler_field_user_roles.
Definition at line 987 of file views_handler_field.inc.
{ }
views_handler_field_field::query | ( | $ | use_groupby = FALSE |
) |
Called to add the field to a query.
By default, the only columns added to the query are entity_id and entity_type. This is because other needed data is fetched by entity_load(). Other columns are added only if they are used in groupings, or if 'add fields to query' is specifically set to TRUE in the field definition.
The 'add fields to query' switch is used by modules which need all data present in the query itself (such as "sphinx").
Definition at line 116 of file views_handler_field_field.inc.
References views_object::$options, views_handler_field::add_additional_fields(), add_field_table(), views_handler::ensure_my_table(), get_base_table(), views_object::options(), views_handler::placeholder(), and views_handler_field::query().
{ $this->get_base_table(); $params = array(); if ($use_groupby) { // When grouping on a "field API" field (whose "real_field" is set to // entity_id), retrieve the minimum entity_id to have a valid entity_id to // pass to field_view_field(). $params = array( 'function' => 'min', ); $this->ensure_my_table(); } // Get the entity type according to the base table of the field. // Then add it to the query as a formula. That way we can avoid joining // the field table if all we need is entity_id and entity_type. $entity_type = $this->definition['entity_tables'][$this->base_table]; $entity_info = entity_get_info($entity_type); if (isset($this->relationship)) { $this->base_table_alias = $this->relationship; } else { $this->base_table_alias = $this->base_table; } // We always need the base field (entity_id / revision_id). if (empty($this->definition['is revision'])) { $this->field_alias = $this->query->add_field($this->base_table_alias, $entity_info['entity keys']['id'], '', $params); } else { $this->field_alias = $this->query->add_field($this->base_table_alias, $entity_info['entity keys']['revision'], '', $params); $this->aliases['entity_id'] = $this->query->add_field($this->base_table_alias, $entity_info['entity keys']['id'], '', $params); } // The alias needs to be unique, so we use both the field table and the entity type. $entity_type_alias = $this->definition['table'] . '_' . $entity_type . '_entity_type'; $this->aliases['entity_type'] = $this->query->add_field(NULL, "'$entity_type'", $entity_type_alias); $fields = $this->additional_fields; // We've already added entity_type, so we can remove it from the list. $entity_type_key = array_search('entity_type', $fields); if ($entity_type_key !== FALSE) { unset($fields[$entity_type_key]); } if ($use_groupby) { // Add the fields that we're actually grouping on. $options = array(); if ($this->options['group_column'] != 'entity_id') { $options = array($this->options['group_column'] => $this->options['group_column']); } $options += $this->options['group_columns']; $fields = array(); $rkey = $this->definition['is revision'] ? 'FIELD_LOAD_REVISION' : 'FIELD_LOAD_CURRENT'; // Go through the list and determine the actual column name from field api. foreach ($options as $column) { $name = $column; if (isset($this->field_info['storage']['details']['sql'][$rkey][$this->table][$column])) { $name = $this->field_info['storage']['details']['sql'][$rkey][$this->table][$column]; } $fields[$column] = $name; } $this->group_fields = $fields; } // Add additional fields (and the table join itself) if needed. if ($this->add_field_table($use_groupby)) { $this->ensure_my_table(); $this->add_additional_fields($fields); // Filter by language, if field translation is enabled. $field = $this->field_info; if (field_is_translatable($entity_type, $field) && !empty($this->view->display_handler->options['field_language_add_to_query'])) { $column = $this->table_alias . '.language'; // By the same reason as field_language the field might be LANGUAGE_NONE in reality so allow it as well. // @see this::field_language() global $language_content; $default_language = language_default('language'); $language = str_replace(array('***CURRENT_LANGUAGE***', '***DEFAULT_LANGUAGE***'), array($language_content->language, $default_language), $this->view->display_handler->options['field_language']); $placeholder = $this->placeholder(); $language_fallback_candidates = array($language); if (variable_get('locale_field_language_fallback', TRUE) && module_exists('locale')) { $language_fallback_candidates = array_merge($language_fallback_candidates, language_fallback_get_candidates()); } else { $language_fallback_candidates[] = LANGUAGE_NONE; } $this->query->add_where_expression(0, "$column IN($placeholder) OR $column IS NULL", array($placeholder => $language_fallback_candidates)); } } // The revision id inhibits grouping. // So, stop here if we're using grouping, or if aren't adding all columns to // the query. if ($use_groupby || empty($this->definition['add fields to query'])) { return; } $this->add_additional_fields(array('revision_id')); }
views_handler_field::query | ( | ) | [inherited] |
Called to add the field to a query.
Reimplemented in views_handler_field_contextual_links, views_handler_field_counter, views_handler_field_custom, views_handler_field_entity, views_handler_field_math, views_handler_field_comment_link, views_handler_field_comment_node_link, views_handler_field_ncs_last_comment_name, views_handler_field_ncs_last_updated, views_handler_field_node_new_comments, views_handler_field_filter_format_name, views_handler_field_locale_link_edit, views_handler_field_history_user_timestamp, views_handler_field_node_path, views_handler_field_search_score, views_handler_field_term_link_edit, views_handler_field_term_node_tid, views_handler_field_node_translation_link, views_handler_field_user_link, views_handler_field_user_permissions, and views_handler_field_user_roles.
Definition at line 81 of file views_handler_field.inc.
References views_handler_field::add_additional_fields(), views_handler::ensure_my_table(), and views_object::options().
Referenced by views_handler_field::add_additional_fields(), click_sort(), views_handler_field::click_sort(), and query().
{ $this->ensure_my_table(); // Add the field. $params = $this->options['group_type'] != 'group' ? array('function' => $this->options['group_type']) : array(); $this->field_alias = $this->query->add_field($this->table_alias, $this->real_field, NULL, $params); $this->add_additional_fields(); }
views_handler_field::render | ( | $ | values | ) | [inherited] |
Render the field.
$values | The values retrieved from the database. |
Reimplemented in views_handler_field_file_size, views_handler_field_xss, views_handler_field_boolean, views_handler_field_contextual_links, views_handler_field_counter, views_handler_field_custom, views_handler_field_date, views_handler_field_machine_name, views_handler_field_markup, views_handler_field_math, views_handler_field_numeric, views_handler_field_prerender_list, views_handler_field_serialized, views_handler_field_time_interval, views_handler_field_url, views_handler_field_aggregator_category, views_handler_field_aggregator_title_link, views_handler_field_aggregator_xss, views_handler_field_comment, views_handler_field_comment_depth, views_handler_field_comment_link, views_handler_field_comment_node_link, views_handler_field_comment_username, views_handler_field_last_comment_timestamp, views_handler_field_ncs_last_comment_name, views_handler_field_node_comment, views_handler_field_node_new_comments, views_handler_field_filter_format_name, views_handler_field_locale_group, views_handler_field_locale_language, views_handler_field_locale_link_edit, views_handler_field_history_user_timestamp, views_handler_field_node, views_handler_field_node_link, views_handler_field_node_path, views_handler_field_node_type, views_handler_field_profile_date, views_handler_field_search_score, views_handler_field_accesslog_path, views_handler_field_file, views_handler_field_file_extension, views_handler_field_file_filemime, views_handler_field_file_status, views_handler_field_file_uri, views_handler_field_taxonomy, views_handler_field_term_link_edit, views_handler_field_node_language, views_handler_field_node_translation_link, views_handler_field_user, views_handler_field_user_language, views_handler_field_user_link, and views_handler_field_user_picture.
Definition at line 995 of file views_handler_field.inc.
{ $value = $this->get_value($values); return $this->sanitize_value($value); }
views_handler_field::render_altered | ( | $ | alter, | |
$ | tokens | |||
) | [inherited] |
Render this field as altered text, from a fieldset set by the user.
Definition at line 1147 of file views_handler_field.inc.
Referenced by views_handler_field::tokenize_value().
{ // Filter this right away as our substitutions are already sanitized. $value = filter_xss_admin($alter['text']); $value = strtr($value, $tokens); return $value; }
views_handler_field::render_as_link | ( | $ | alter, | |
$ | text, | |||
$ | tokens | |||
) | [inherited] |
Render this field as a link, with the info from a fieldset set by the user.
Definition at line 1172 of file views_handler_field.inc.
{ $value = ''; if (!empty($alter['prefix'])) { $value .= filter_xss_admin(strtr($alter['prefix'], $tokens)); } $options = array( 'html' => TRUE, 'absolute' => !empty($alter['absolute']) ? TRUE : FALSE, ); // $path will be run through check_url() by l() so we do not need to // sanitize it ourselves. $path = $alter['path']; // strip_tags() removes <front>, so check whether its different to front. if ($path != '<front>') { // Use strip tags as there should never be HTML in the path. // However, we need to preserve special characters like " that // were removed by check_plain(). $path = strip_tags(decode_entities(strtr($path, $tokens))); if (!empty($alter['path_case']) && $alter['path_case'] != 'none') { $path = $this->case_transform($path, $this->options['alter']['path_case']); } if (!empty($alter['replace_spaces'])) { $path = str_replace(' ', '-', $path); } } // Parse the URL and move any query and fragment parameters out of the path. $url = parse_url($path); // Seriously malformed URLs may return FALSE or empty arrays. if (empty($url)) { return $text; } // If the path is empty do not build a link around the given text and return // it as is. // http://www.example.com URLs will not have a $url['path'], so check host as well. if (empty($url['path']) && empty($url['host']) && empty($url['fragment'])) { return $text; } // If no scheme is provided in the $path, assign the default 'http://'. // This allows a url of 'www.example.com' to be converted to 'http://www.example.com'. // Only do this on for external URLs. if ($alter['external']){ if (!isset($url['scheme'])) { // There is no scheme, add the default 'http://' to the $path. $path = "http://$path"; // Reset the $url array to include the new scheme. $url = parse_url($path); } } if (isset($url['query'])) { $path = strtr($path, array('?' . $url['query'] => '')); $options['query'] = drupal_get_query_array($url['query']); } if (isset($url['fragment'])) { $path = strtr($path, array('#' . $url['fragment'] => '')); // If the path is empty we want to have a fragment for the current site. if ($path == '') { $options['external'] = TRUE; } $options['fragment'] = $url['fragment']; } $alt = strtr($alter['alt'], $tokens); // Set the title attribute of the link only if it improves accessibility if ($alt && $alt != $text) { $options['attributes']['title'] = decode_entities($alt); } $class = strtr($alter['link_class'], $tokens); if ($class) { $options['attributes']['class'] = array($class); } if (!empty($alter['rel']) && $rel = strtr($alter['rel'], $tokens)) { $options['attributes']['rel'] = $rel; } $target = check_plain(trim(strtr($alter['target'],$tokens))); if (!empty($target)) { $options['attributes']['target'] = $target; } // Allow the addition of arbitrary attributes to links. Additional attributes // currently can only be altered in preprocessors and not within the UI. if (isset($alter['link_attributes']) && is_array($alter['link_attributes'])) { foreach ($alter['link_attributes'] as $key => $attribute) { if (!isset($options['attributes'][$key])) { $options['attributes'][$key] = strtr($attribute, $tokens); } } } // If the query and fragment were programatically assigned overwrite any // parsed values. if (isset($alter['query'])) { // Convert the query to a string, perform token replacement, and then // convert back to an array form for l(). $options['query'] = drupal_http_build_query($alter['query']); $options['query'] = strtr($options['query'], $tokens); $options['query'] = drupal_get_query_array($options['query']); } if (isset($alter['alias'])) { // Alias is a boolean field, so no token. $options['alias'] = $alter['alias']; } if (isset($alter['fragment'])) { $options['fragment'] = strtr($alter['fragment'], $tokens); } if (isset($alter['language'])) { $options['language'] = $alter['language']; } // If the url came from entity_uri(), pass along the required options. if (isset($alter['entity'])) { $options['entity'] = $alter['entity']; } if (isset($alter['entity_type'])) { $options['entity_type'] = $alter['entity_type']; } $value .= l($text, $path, $options); if (!empty($alter['suffix'])) { $value .= filter_xss_admin(strtr($alter['suffix'], $tokens)); } return $value; }
views_handler_field_field::render_items | ( | $ | items | ) |
Render all items in this field together.
When using advanced render, each possible item in the list is rendered individually. Then the items are all pasted together.
Definition at line 637 of file views_handler_field_field.inc.
{ if (!empty($items)) { if (!$this->options['group_rows']) { return implode('', $items); } if ($this->options['multi_type'] == 'separator') { return implode(filter_xss_admin($this->options['separator']), $items); } else { return theme('item_list', array( 'items' => $items, 'title' => NULL, 'type' => $this->options['multi_type'] )); } } }
views_handler_field::render_text | ( | $ | alter | ) | [inherited] |
Perform an advanced text render for the item.
This is separated out as some fields may render lists, and this allows each item to be handled individually.
Definition at line 1070 of file views_handler_field.inc.
{ $value = $this->last_render; if (!empty($alter['alter_text']) && $alter['text'] !== '') { $tokens = $this->get_render_tokens($alter); $value = $this->render_altered($alter, $tokens); } if (!empty($this->options['alter']['trim_whitespace'])) { $value = trim($value); } // Check if there should be no further rewrite for empty values. $no_rewrite_for_empty = $this->options['hide_alter_empty'] && empty($this->original_value); // Check whether the value is empty and return nothing, so the field isn't rendered. // First check whether the field should be hidden if the value(hide_alter_empty = TRUE) /the rewrite is empty (hide_alter_empty = FALSE). // For numeric values you can specify whether "0"/0 should be empty. if ((($this->options['hide_empty'] && empty($value)) || ($alter['phase'] != VIEWS_HANDLER_RENDER_TEXT_PHASE_EMPTY && $no_rewrite_for_empty)) && (($value !== 0 && $value !== '0') || $this->options['empty_zero'])) { return ''; } // Only in empty phase. if ($alter['phase'] == VIEWS_HANDLER_RENDER_TEXT_PHASE_EMPTY && $no_rewrite_for_empty) { // If we got here then $alter contains the value of "No results text" // and so there is nothing left to do. return $value; } if (!empty($alter['strip_tags'])) { $value = strip_tags($value, $alter['preserve_tags']); } $suffix = ''; if (!empty($alter['trim']) && !empty($alter['max_length'])) { $length = strlen($value); $value = $this->render_trim_text($alter, $value); if ($this->options['alter']['more_link'] && strlen($value) < $length) { $tokens = $this->get_render_tokens($alter); $more_link_text = $this->options['alter']['more_link_text'] ? $this->options['alter']['more_link_text'] : t('more'); $more_link_text = strtr(filter_xss_admin($more_link_text), $tokens); $more_link_path = $this->options['alter']['more_link_path']; $more_link_path = strip_tags(decode_entities(strtr($more_link_path, $tokens))); // Take sure that paths which was runned through url() does work as well. $base_path = base_path(); // Checks whether the path starts with the base_path. if (strpos($more_link_path, $base_path) === 0) { $more_link_path = drupal_substr($more_link_path, drupal_strlen($base_path)); } $more_link = l($more_link_text, $more_link_path); $suffix .= " " . $more_link; } } if (!empty($alter['nl2br'])) { $value = nl2br($value); } $this->last_render_text = $value; if (!empty($alter['make_link']) && !empty($alter['path'])) { if (!isset($tokens)) { $tokens = $this->get_render_tokens($alter); } $value = $this->render_as_link($alter, $value, $tokens); } return $value . $suffix; }
views_handler_field::render_trim_text | ( | $ | alter, | |
$ | value | |||
) | [inherited] |
Trim the field down to the specified length.
Definition at line 1158 of file views_handler_field.inc.
References views_trim_text().
{ if (!empty($alter['strip_tags'])) { // NOTE: It's possible that some external fields might override the // element type so if someone from, say, CCK runs into a bug here, // this may be why =) $this->definition['element type'] = 'span'; } return views_trim_text($alter, $value); }
views_handler::sanitize_value | ( | $ | value, | |
$ | type = NULL | |||
) | [inherited] |
Sanitize the value for output.
$value | The value being rendered. | |
$type | The type of sanitization needed. If not provided, check_plain() is used. |
Definition at line 317 of file handlers.inc.
Referenced by views_handler_field_user_link::render(), views_handler_field_user_language::render(), views_handler_field_user::render(), views_handler_field_node_translation_link::render(), views_handler_field_file_extension::render(), views_handler_field_file::render(), views_handler_field_accesslog_path::render(), views_handler_field_node::render(), views_handler_field_locale_link_edit::render(), views_handler_field_filter_format_name::render(), views_handler_field_comment_username::render(), views_handler_field_comment_link::render(), views_handler_field_comment::render(), views_handler_field_aggregator_title_link::render(), views_handler_field_aggregator_category::render(), views_handler_field_url::render(), views_handler_field_prerender_list::render(), views_handler_field_numeric::render(), views_handler_field_math::render(), views_handler_field_xss::render(), views_handler_field_prerender_list::render_items(), and views_handler_field_node_type::render_name().
{ switch ($type) { case 'xss': $value = filter_xss($value); break; case 'url': $value = check_url($value); break; default: $value = check_plain($value); break; } return $value; }
views_object::set_default_options | ( | ) | [inherited] |
Set default options.
For backward compatibility, it sends the options array; this is a feature that will likely disappear at some point.
Definition at line 67 of file base.inc.
References views_object::option_definition(), and views_object::options().
Referenced by views_object::construct().
{ $this->_set_option_defaults($this->options, $this->option_definition()); // Retained for complex defaults plus backward compatibility. $this->options($this->options); }
views_object::set_definition | ( | $ | definition | ) | [inherited] |
views_handler_field_field::set_items | ( | $ | values, | |
$ | row_id | |||
) |
Return an array of items for the field.
Definition at line 765 of file views_handler_field_field.inc.
{ if (empty($values->_field_data[$this->field_alias]) || empty($values->_field_data[$this->field_alias]['entity'])) { return array(); } $display = array( 'type' => $this->options['type'], 'settings' => $this->options['settings'], 'label' => 'hidden', // Pass the View object in the display so that fields can act on it. 'views_view' => $this->view, 'views_field' => $this, 'views_row_id' => $row_id, ); $entity_type = $values->_field_data[$this->field_alias]['entity_type']; $entity = $this->get_value($values, 'entity'); if (!$entity) { return array(); } $langcode = $this->field_language($entity_type, $entity); $render_array = field_view_field($entity_type, $entity, $this->definition['field_name'], $display, $langcode); $items = array(); if ($this->options['field_api_classes']) { // Make a copy. $array = $render_array; return array(array('rendered' => drupal_render($render_array))); } foreach (element_children($render_array) as $count) { $items[$count]['rendered'] = $render_array[$count]; // field_view_field() adds an #access property to the render array that // determines whether or not the current user is allowed to view the // field in the context of the current entity. We need to respect this // parameter when we pull out the children of the field array for // rendering. if (isset($render_array['#access'])) { $items[$count]['rendered']['#access'] = $render_array['#access']; } // Only add the raw field items (for use in tokens) if the curent user // has access to view the field content. if ((!isset($items[$count]['rendered']['#access']) || $items[$count]['rendered']['#access']) && !empty($render_array['#items'][$count])) { $items[$count]['raw'] = $render_array['#items'][$count]; } } return $items; }
views_handler::set_relationship | ( | ) | [inherited] |
Called just prior to query(), this lets a handler set up any relationship it needs.
Definition at line 603 of file handlers.inc.
References views_handler::$relationship, and views_object::options().
{ // Ensure this gets set to something. $this->relationship = NULL; // Don't process non-existant relationships. if (empty($this->options['relationship']) || $this->options['relationship'] == 'none') { return; } $relationship = $this->options['relationship']; // Ignore missing/broken relationships. if (empty($this->view->relationship[$relationship])) { return; } // Check to see if the relationship has already processed. If not, then we // cannot process it. if (empty($this->view->relationship[$relationship]->alias)) { return; } // Finally! $this->relationship = $this->view->relationship[$relationship]->alias; }
views_handler::show_expose_button | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Shortcut to display the expose/hide button.
Reimplemented in views_handler_filter, and views_handler_sort.
Definition at line 534 of file handlers.inc.
{ }
views_handler::show_expose_form | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Shortcut to display the exposed options form.
Definition at line 539 of file handlers.inc.
References views_handler::expose_form(), and views_object::options().
Referenced by views_handler_sort::options_form(), and views_handler_filter::options_form().
{ if (empty($this->options['exposed'])) { return; } $this->expose_form($form, $form_state); // When we click the expose button, we add new gadgets to the form but they // have no data in $_POST so their defaults get wiped out. This prevents // these defaults from getting wiped out. This setting will only be TRUE // during a 2nd pass rerender. if (!empty($form_state['force_expose_options'])) { foreach (element_children($form['expose']) as $id) { if (isset($form['expose'][$id]['#default_value']) && !isset($form['expose'][$id]['#value'])) { $form['expose'][$id]['#value'] = $form['expose'][$id]['#default_value']; } } } }
views_handler::store_exposed_input | ( | $ | input, | |
$ | status | |||
) | [inherited] |
If set to remember exposed input in the session, store it there.
Reimplemented in views_handler_filter.
Definition at line 674 of file handlers.inc.
{ return TRUE; }
views_handler_field::theme | ( | $ | values | ) | [inherited] |
Call out to the theme() function, which probably just calls render() but allows sites to override output fairly easily.
Definition at line 1384 of file views_handler_field.inc.
Referenced by views_handler_field_user_picture::render(), views_handler_field_history_user_timestamp::render(), views_handler_field_ncs_last_comment_name::render(), views_handler_field_prerender_list::render(), and views_handler_field_prerender_list::render_items().
views_handler_field::tokenize_value | ( | $ | value, | |
$ | row_index = NULL | |||
) | [inherited] |
Replace a value with tokens from the last field.
This function actually figures out which field was last and uses its tokens so they will all be available.
Definition at line 292 of file views_handler_field.inc.
References views_object::options(), and views_handler_field::render_altered().
Referenced by views_handler_field::element_classes(), views_handler_field::element_label_classes(), and views_handler_field::element_wrapper_classes().
{ if (strpos($value, '[') !== FALSE || strpos($value, '!') !== FALSE || strpos($value, '%') !== FALSE) { $fake_item = array( 'alter_text' => TRUE, 'text' => $value, ); // Use isset() because empty() will trigger on 0 and 0 is // the first row. if (isset($row_index) && isset($this->view->style_plugin->render_tokens[$row_index])) { $tokens = $this->view->style_plugin->render_tokens[$row_index]; } else { // Get tokens from the last field. $last_field = end($this->view->field); if (isset($last_field->last_tokens)) { $tokens = $last_field->last_tokens; } else { $tokens = $last_field->get_render_tokens($fake_item); } } $value = strip_tags($this->render_altered($fake_item, $tokens)); if (!empty($this->options['alter']['trim_whitespace'])) { $value = trim($value); } } return $value; }
views_handler_field::ui_name | ( | $ | short = FALSE |
) | [inherited] |
Return a string representing this handler's name in the UI.
Reimplemented from views_handler.
Reimplemented in views_handler_field_broken.
Definition at line 1419 of file views_handler_field.inc.
{ return $this->get_field(parent::ui_name($short)); }
views_object::unpack_options | ( | &$ | storage, | |
$ | options, | |||
$ | definition = NULL , |
|||
$ | all = TRUE , |
|||
$ | check = TRUE , |
|||
$ | localization_keys = array() | |||
) | [inherited] |
Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
Definition at line 93 of file base.inc.
References views_object::$options, and views_object::option_definition().
Referenced by views_plugin_style::init(), views_plugin_row::init(), views_plugin_query::init(), views_plugin_pager::init(), views_plugin_exposed_form::init(), views_plugin_cache::init(), views_plugin_argument_validate::init(), views_plugin_argument_default::init(), views_plugin_access::init(), and views_handler::init().
{ if ($check && !is_array($options)) { return; } if (!isset($definition)) { $definition = $this->option_definition(); } if (!empty($this->view)) { // Ensure we have a localization plugin. $this->view->init_localization(); // Set up default localization keys. Handlers and such set this for us if (empty($localization_keys) && isset($this->localization_keys)) { $localization_keys = $this->localization_keys; } // but plugins don't because there isn't a common init() these days. else if (!empty($this->is_plugin)) { if ($this->plugin_type != 'display') { $localization_keys = array($this->view->current_display); $localization_keys[] = $this->plugin_type; } } } foreach ($options as $key => $value) { if (is_array($value)) { // Ignore arrays with no definition. if (!$all && empty($definition[$key])) { continue; } if (!isset($storage[$key]) || !is_array($storage[$key])) { $storage[$key] = array(); } // If we're just unpacking our known options, and we're dropping an // unknown array (as might happen for a dependent plugin fields) go // ahead and drop that in. if (!$all && isset($definition[$key]) && !isset($definition[$key]['contains'])) { $storage[$key] = $value; continue; } $this->unpack_options($storage[$key], $value, isset($definition[$key]['contains']) ? $definition[$key]['contains'] : array(), $all, FALSE, array_merge($localization_keys, array($key))); } // Don't localize strings during editing. When editing, we need to work with // the original data, not the translated version. else if (empty($this->view->editing) && !empty($definition[$key]['translatable']) && !empty($value) || !empty($definition['contains'][$key]['translatable']) && !empty($value)) { if (!empty($this->view) && $this->view->is_translatable()) { // Allow other modules to make changes to the string before it's // sent for translation. // The $keys array is built from the view name, any localization keys // sent in, and the name of the property being processed. $format = NULL; if (isset($definition[$key]['format_key']) && isset($options[$definition[$key]['format_key']])) { $format = $options[$definition[$key]['format_key']]; } $translation_data = array( 'value' => $value, 'format' => $format, 'keys' => array_merge(array($this->view->name), $localization_keys, array($key)), ); $storage[$key] = $this->view->localization_plugin->translate($translation_data); } // Otherwise, this is a code-based string, so we can use t(). else { $storage[$key] = t($value); } } else if ($all || !empty($definition[$key])) { $storage[$key] = $value; } } }
views_object::unpack_translatable | ( | &$ | translatable, | |
$ | storage, | |||
$ | option, | |||
$ | definition, | |||
$ | parents, | |||
$ | keys = array() | |||
) | [inherited] |
Unpack a single option definition.
This function run's through all suboptions recursive.
$translatable | Stores all available translatable items. | |
$storage | ||
$option | ||
$definition | ||
$parents | ||
$keys |
Definition at line 275 of file base.inc.
References views_object::$options.
Referenced by views_object::unpack_translatables().
{ // Do not export options for which we have no settings. if (!isset($storage[$option])) { return; } // Special handling for some items if (isset($definition['unpack_translatable']) && method_exists($this, $definition['unpack_translatable'])) { return $this->{$definition['unpack_translatable']}($translatable, $storage, $option, $definition, $parents, $keys); } if (isset($definition['translatable'])) { if ($definition['translatable'] === FALSE) { return; } } // Add the current option to the parents tree. $parents[] = $option; // If it has child items, unpack those separately. if (isset($definition['contains'])) { foreach ($definition['contains'] as $sub_option => $sub_definition) { $translation_keys = array_merge($keys, array($sub_option)); $this->unpack_translatable($translatable, $storage[$option], $sub_option, $sub_definition, $parents, $translation_keys); } } // @todo Figure out this double definition stuff. $options = $storage[$option]; if (is_array($options)) { foreach ($options as $key => $value) { $translation_keys = array_merge($keys, array($key)); if (is_array($value)) { $this->unpack_translatable($translatable, $options, $key, $definition, $parents, $translation_keys); } else if (!empty($definition[$key]['translatable']) && !empty($value)) { // Build source data and add to the array $format = NULL; if (isset($definition['format_key']) && isset($options[$definition['format_key']])) { $format = $options[$definition['format_key']]; } $translatable[] = array( 'value' => $value, 'keys' => $translation_keys, 'format' => $format, ); } } } else if (!empty($definition['translatable']) && !empty($options)) { $value = $options; // Build source data and add to the array $format = NULL; if (isset($definition['format_key']) && isset($storage[$definition['format_key']])) { $format = $options[$definition['format_key']]; } $translatable[] = array( 'value' => $value, 'keys' => isset($translation_keys) ? $translation_keys : $parents, 'format' => $format, ); } }
views_object::unpack_translatables | ( | &$ | translatable, | |
$ | parents = array() | |||
) | [inherited] |
Unpacks each handler to store translatable texts.
Definition at line 256 of file base.inc.
References views_object::option_definition(), views_object::options(), and views_object::unpack_translatable().
{ foreach ($this->option_definition() as $option => $definition) { $this->unpack_translatable($translatable, $this->options, $option, $definition, $parents, array()); } }
views_handler::use_group_by | ( | ) | [inherited] |
Provides the handler some groupby.
Reimplemented in views_handler_area, and views_handler_relationship.
Definition at line 414 of file handlers.inc.
{
return TRUE;
}
views_handler::validate | ( | ) | [inherited] |
Validates the handler against the complete View.
This is called when the complete View is being validated. For validating the handler options form use options_validate().
Reimplemented in views_handler_filter_in_operator.
Definition at line 710 of file handlers.inc.
{ return array(); }
views_handler_field_field::$field_info = array() |
Store the field informations.
Definition at line 42 of file views_handler_field_field.inc.
views_handler::$handler_type = NULL [inherited] |
The type of the handler, for example filter/footer/field.
Definition at line 170 of file handlers.inc.
views_handler_field_field::$items = array() |
An array to store field renderable arrays for use by render_items.
Definition at line 37 of file views_handler_field_field.inc.
views_object::$options = array() [inherited] |
Except for displays, options for the object will be held here.
Definition at line 15 of file base.inc.
Referenced by views_handler_filter_string::admin_summary(), views_handler_filter_numeric::admin_summary(), views_plugin_argument_validate_php::convert_options(), views_plugin_argument_default_php::convert_options(), views_plugin_argument_default_fixed::convert_options(), views_plugin_argument_validate_user::convert_options(), views_plugin_argument_default_user::convert_options(), views_plugin_argument_validate_taxonomy_term::convert_options(), views_plugin_argument_validate_node::convert_options(), views_handler_argument::default_argument_form(), views_handler_argument::default_summary_form(), views_handler_filter_term_node_tid::extra_options_form(), views_test_plugin_access_test_static::get_access_callback(), views_test_plugin_access_test_dynamic::get_access_callback(), get_base_table(), views_plugin_display::get_field_labels(), views_plugin_display::get_plugin(), views_handler_filter_node_type::get_value_options(), groupby_form(), views_plugin_style::init(), views_plugin_row::init(), views_plugin_query_default::init(), views_plugin_query::init(), views_plugin_pager_none::init(), views_plugin_pager::init(), views_plugin_exposed_form::init(), views_plugin_cache::init(), views_plugin_argument_validate::init(), views_plugin_argument_default::init(), views_plugin_access::init(), views_plugin_argument_validate_taxonomy_term::init(), views_plugin_argument_default_taxonomy_tid::init(), views_handler_relationship_node_term_data::init(), views_handler_filter_term_node_tid::init(), views_handler_field_term_node_tid::init(), views_handler_field_file::init(), views_handler_field_accesslog_path::init(), views_plugin_row_node_view::init(), views_plugin_row_node_rss::init(), views_handler_field_node_revision::init(), views_handler_field_node::init(), views_handler_field_history_user_timestamp::init(), views_handler_relationship_entity_reverse::init(), init(), views_handler_argument_field_list::init(), views_handler_field_node_new_comments::init(), views_handler_field_comment::init(), views_handler::init(), views_handler_sort_group_by_numeric::init(), views_handler_relationship::init(), views_handler_filter_many_to_one::init(), views_handler_filter::init(), views_handler_field_entity::init(), views_handler_field_boolean::init(), views_handler_field::init(), views_handler_argument_string::init(), views_handler_argument_many_to_one::init(), views_handler_argument::init(), views_handler_relationship_groupwise_max::left_query(), multiple_options_form(), views_handler_filter::operator_form(), views_handler_filter_string::operator_options(), views_handler_filter_numeric::operator_options(), views_handler_filter_in_operator::operator_options(), views_test_plugin_access_test_static::option_definition(), views_test_plugin_access_test_dynamic::option_definition(), views_plugin_style_table::option_definition(), views_plugin_style_summary_unformatted::option_definition(), views_plugin_style_summary_jump_menu::option_definition(), views_plugin_style_summary::option_definition(), views_plugin_style_rss::option_definition(), views_plugin_style_list::option_definition(), views_plugin_style_jump_menu::option_definition(), views_plugin_style_grid::option_definition(), views_plugin_style::option_definition(), views_plugin_row_fields::option_definition(), views_plugin_row::option_definition(), views_plugin_query_default::option_definition(), views_plugin_pager_some::option_definition(), views_plugin_pager_none::option_definition(), views_plugin_pager_full::option_definition(), views_plugin_exposed_form_input_required::option_definition(), views_plugin_exposed_form::option_definition(), views_plugin_display_page::option_definition(), views_plugin_display_feed::option_definition(), views_plugin_display_block::option_definition(), views_plugin_display_attachment::option_definition(), views_plugin_display::option_definition(), views_plugin_cache_time::option_definition(), views_plugin_argument_validate_php::option_definition(), views_plugin_argument_default_raw::option_definition(), views_plugin_argument_default_php::option_definition(), views_plugin_argument_default_fixed::option_definition(), views_plugin_access_role::option_definition(), views_plugin_access_perm::option_definition(), views_plugin_row_user_view::option_definition(), views_plugin_argument_validate_user::option_definition(), views_plugin_argument_default_user::option_definition(), views_handler_field_user_picture::option_definition(), views_handler_field_user_name::option_definition(), views_handler_field_user_mail::option_definition(), views_handler_field_user_link::option_definition(), views_handler_field_user::option_definition(), views_handler_relationship_translation::option_definition(), views_handler_filter_node_tnid::option_definition(), views_handler_field_node_language::option_definition(), views_plugin_argument_validate_taxonomy_term::option_definition(), views_plugin_argument_default_taxonomy_tid::option_definition(), views_handler_relationship_node_term_data::option_definition(), views_handler_filter_term_node_tid_depth::option_definition(), views_handler_filter_term_node_tid::option_definition(), views_handler_field_term_node_tid::option_definition(), views_handler_field_term_link_edit::option_definition(), views_handler_field_taxonomy::option_definition(), views_handler_argument_term_node_tid_depth::option_definition(), views_handler_argument_term_node_tid::option_definition(), views_handler_field_file_uri::option_definition(), views_handler_field_file_filemime::option_definition(), views_handler_field_file::option_definition(), views_handler_field_accesslog_path::option_definition(), views_plugin_row_search_view::option_definition(), views_handler_filter_search::option_definition(), views_handler_field_search_score::option_definition(), views_plugin_row_node_view::option_definition(), views_plugin_row_node_rss::option_definition(), views_plugin_argument_validate_node::option_definition(), views_handler_field_node_type::option_definition(), views_handler_field_node_revision::option_definition(), views_handler_field_node_path::option_definition(), views_handler_field_node_link::option_definition(), views_handler_field_node::option_definition(), views_handler_field_history_user_timestamp::option_definition(), views_handler_field_locale_link_edit::option_definition(), views_handler_field_locale_language::option_definition(), option_definition(), views_handler_argument_field_list::option_definition(), views_plugin_row_comment_view::option_definition(), views_plugin_row_comment_rss::option_definition(), views_handler_field_node_new_comments::option_definition(), views_handler_field_ncs_last_comment_name::option_definition(), views_handler_field_comment_username::option_definition(), views_handler_field_comment_node_link::option_definition(), views_handler_field_comment_link_edit::option_definition(), views_handler_field_comment_link::option_definition(), views_handler_field_comment::option_definition(), views_plugin_row_aggregator_rss::option_definition(), views_handler_field_aggregator_title_link::option_definition(), views_handler_field_aggregator_category::option_definition(), views_handler::option_definition(), views_handler_sort_date::option_definition(), views_handler_sort::option_definition(), views_handler_relationship_groupwise_max::option_definition(), views_handler_relationship::option_definition(), views_handler_filter_string::option_definition(), views_handler_filter_numeric::option_definition(), views_handler_filter_many_to_one::option_definition(), views_handler_filter_in_operator::option_definition(), views_handler_filter_date::option_definition(), views_handler_filter_boolean_operator::option_definition(), views_handler_filter::option_definition(), views_handler_field_url::option_definition(), views_handler_field_time_interval::option_definition(), views_handler_field_serialized::option_definition(), views_handler_field_prerender_list::option_definition(), views_handler_field_numeric::option_definition(), views_handler_field_math::option_definition(), views_handler_field_machine_name::option_definition(), views_handler_field_date::option_definition(), views_handler_field_custom::option_definition(), views_handler_field_counter::option_definition(), views_handler_field_contextual_links::option_definition(), views_handler_field_boolean::option_definition(), views_handler_field_file_size::option_definition(), views_handler_argument_string::option_definition(), views_handler_argument_numeric::option_definition(), views_handler_argument_null::option_definition(), views_handler_argument_many_to_one::option_definition(), views_handler_argument::option_definition(), views_handler_area_view::option_definition(), views_handler_area_text::option_definition(), views_handler_area_result::option_definition(), views_handler_area::option_definition(), views_plugin_style_default::options(), views_plugin_style_jump_menu::options_form(), views_plugin_style::options_form(), views_plugin_row_fields::options_form(), views_plugin_display::options_form(), views_plugin_cache_time::options_form(), views_plugin_row_user_view::options_form(), views_handler_relationship_translation::options_form(), views_plugin_argument_validate_taxonomy_term::options_form(), views_plugin_argument_default_taxonomy_tid::options_form(), views_handler_relationship_node_term_data::options_form(), views_handler_field_term_node_tid::options_form(), views_handler_field_search_score::options_form(), views_plugin_row_node_view::options_form(), views_plugin_argument_validate_node::options_form(), views_plugin_row_comment_view::options_form(), views_handler_field_boolean::options_form(), views_handler_argument::options_form(), views_handler_area_view::options_form(), views_handler_area_text::options_form(), views_plugin_row_user_view::options_form_summary_options(), views_plugin_row_node_view::options_form_summary_options(), views_plugin_row_node_rss::options_form_summary_options(), views_plugin_row_comment_view::options_form_summary_options(), views_plugin_row_comment_rss::options_form_summary_options(), views_plugin_argument_validate_user::options_submit(), views_plugin_argument_validate_taxonomy_term::options_submit(), views_plugin_argument_default_taxonomy_tid::options_submit(), views_plugin_argument_validate_node::options_submit(), views_handler_argument::options_submit(), views_plugin_display_page::options_summary(), views_plugin_display_feed::options_summary(), views_plugin_display_block::options_summary(), views_plugin_display_attachment::options_summary(), views_plugin_display::options_summary(), views_plugin_pager_full::options_validate(), views_plugin_query_default::query(), query(), views_handler_filter_in_operator::reduce_value_options(), views_plugin_style_summary_jump_menu::render(), views_plugin_style_jump_menu::render(), views_handler_field_locale_language::render(), views_plugin_display::set_override(), views_handler_sort::show_sort_form(), views_plugin_row_user_view::summary_title(), views_plugin_row_node_view::summary_title(), views_plugin_row_node_rss::summary_title(), views_object::unpack_options(), views_object::unpack_translatable(), views_handler_filter_term_node_tid::value_form(), and views_handler_filter_in_operator::value_form().
views_handler::$real_field [inherited] |
The actual field in the database table, maybe different on other kind of query plugins/special handlers.
Definition at line 181 of file handlers.inc.
views_handler::$relationship = NULL [inherited] |
The relationship used for this field.
Definition at line 186 of file handlers.inc.
Referenced by views_handler_field_entity::query(), and views_handler::set_relationship().
views_handler::$table_alias [inherited] |
The alias of the table of this handler which is used in the query.
Definition at line 175 of file handlers.inc.
Referenced by views_handler_field::add_additional_fields().