Simple caching of query results for Views displays. More...
Public Member Functions | |
option_definition () | |
Information about options for all kinds of purposes will be held here. | |
options_form (&$form, &$form_state) | |
Init will be called after construct, when the plugin is attached to a view and a display. | |
summary_title () | |
Return a string to display as the clickable title for the access control. | |
cache_expire ($type) | |
Determine the expiration time of the cache type, or NULL if no expire. | |
cache_set_expire ($type) | |
Determine expiration time in the cache table of the cache type or CACHE_PERMANENT if item shouldn't be removed automatically from cache. | |
init (&$view, &$display) | |
Initialize the plugin. | |
cache_set ($type) | |
Save data to the cache. | |
cache_get ($type) | |
Retrieve data from the cache. | |
cache_flush () | |
Clear out cached data for a view. | |
post_render (&$output) | |
Post process any rendered data. | |
cache_start () | |
Start caching javascript, css and other out of band info. | |
gather_headers () | |
Gather out of band data, compare it to what we started with and store the difference. | |
restore_headers () | |
Restore out of band data saved to cache. | |
get_results_key () | |
get_output_key () | |
options_validate (&$form, &$form_state) | |
Validate the options form. | |
options_submit (&$form, &$form_state) | |
Handle any special handling on the validate form. | |
query () | |
Add anything to the query that we might need to. | |
theme_functions () | |
Provide a full list of possible theme templates used by this style. | |
additional_theme_functions () | |
Provide a list of additional theme functions for the theme information page. | |
validate () | |
Validate that the plugin is correct and can be saved. | |
plugin_title () | |
Return the human readable name of the display. | |
construct () | |
Views handlers use a special construct function so that we can more easily construct them with variable arguments. | |
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 | |
$storage = array() | |
Contains all data that should be written/read from cache. | |
$table = 'cache_views_data' | |
What table to store data in. | |
$view = NULL | |
$display = NULL | |
$plugin_type = NULL | |
The plugin type of this plugin, for example style or query. | |
$options = array() | |
Except for displays, options for the object will be held here. | |
$definition |
Simple caching of query results for Views displays.
Definition at line 6 of file views_plugin_cache_time.inc.
views_plugin::additional_theme_functions | ( | ) | [inherited] |
Provide a list of additional theme functions for the theme information page.
Definition at line 518 of file plugins.inc.
References views_theme_functions().
Referenced by views_plugin_display::options_form().
{ $funcs = array(); if (!empty($this->definition['additional themes'])) { foreach ($this->definition['additional themes'] as $theme => $type) { $funcs[] = views_theme_functions($theme, $this->view, $this->display); } } return $funcs; }
views_plugin_cache_time::cache_expire | ( | $ | type | ) |
Determine the expiration time of the cache type, or NULL if no expire.
Plugins must override this to implement expiration.
$type | The cache type, either 'query', 'result' or 'output'. |
Reimplemented from views_plugin_cache.
Definition at line 41 of file views_plugin_cache_time.inc.
References views_object::options().
{ if ($lifespan = $this->options[$type . '_lifespan']) { $cutoff = REQUEST_TIME - $lifespan; return $cutoff; } else { return FALSE; } }
views_plugin_cache::cache_flush | ( | ) | [inherited] |
Clear out cached data for a view.
We're just going to nuke anything related to the view, regardless of display, to be sure that we catch everything. Maybe that's a bad idea.
Definition at line 140 of file views_plugin_cache.inc.
{ cache_clear_all($this->view->name . ':', $this->table, TRUE); }
views_plugin_cache::cache_get | ( | $ | type | ) | [inherited] |
Retrieve data from the cache.
A plugin should override this to provide specialized caching behavior.
Reimplemented in views_plugin_cache_none.
Definition at line 102 of file views_plugin_cache.inc.
References views_plugin_cache::cache_expire(), and views_plugin_cache::restore_headers().
{ $cutoff = $this->cache_expire($type); switch ($type) { case 'query': // Not supported currently, but this is certainly where we'd put it. return FALSE; case 'results': // Values to set: $view->result, $view->total_rows, $view->execute_time, // $view->current_page. if ($cache = cache_get($this->get_results_key(), $this->table)) { if (!$cutoff || $cache->created > $cutoff) { $this->view->result = $cache->data['result']; $this->view->total_rows = $cache->data['total_rows']; $this->view->set_current_page($cache->data['current_page']); $this->view->execute_time = 0; return TRUE; } } return FALSE; case 'output': if ($cache = cache_get($this->get_output_key(), $this->table)) { if (!$cutoff || $cache->created > $cutoff) { $this->storage = $cache->data; $this->view->display_handler->output = $cache->data['output']; $this->restore_headers(); return TRUE; } } return FALSE; } }
views_plugin_cache::cache_set | ( | $ | type | ) | [inherited] |
Save data to the cache.
A plugin should override this to provide specialized caching behavior.
Reimplemented in views_plugin_cache_none.
Definition at line 75 of file views_plugin_cache.inc.
References views_plugin_cache::cache_set_expire(), and views_plugin_cache::gather_headers().
{ switch ($type) { case 'query': // Not supported currently, but this is certainly where we'd put it. break; case 'results': $data = array( 'result' => $this->view->result, 'total_rows' => isset($this->view->total_rows) ? $this->view->total_rows : 0, 'current_page' => $this->view->get_current_page(), ); cache_set($this->get_results_key(), $data, $this->table, $this->cache_set_expire($type)); break; case 'output': $this->gather_headers(); $this->storage['output'] = $this->view->display_handler->output; cache_set($this->get_output_key(), $this->storage, $this->table, $this->cache_set_expire($type)); break; } }
views_plugin_cache_time::cache_set_expire | ( | $ | type | ) |
Determine expiration time in the cache table of the cache type or CACHE_PERMANENT if item shouldn't be removed automatically from cache.
Plugins must override this to implement expiration in the cache table.
$type | The cache type, either 'query', 'result' or 'output'. |
Reimplemented from views_plugin_cache.
Definition at line 51 of file views_plugin_cache_time.inc.
References views_object::options().
{ if ($lifespan = $this->options[$type . '_lifespan']) { return time() + $lifespan; } else { return CACHE_PERMANENT; } }
views_plugin_cache::cache_start | ( | ) | [inherited] |
Start caching javascript, css and other out of band info.
This takes a snapshot of the current system state so that we don't duplicate it. Later on, when gather_headers() is run, this information will be removed so that we don't hold onto it.
Reimplemented in views_plugin_cache_none.
Definition at line 173 of file views_plugin_cache.inc.
{ $this->storage['head'] = drupal_add_html_head(); $this->storage['css'] = drupal_add_css(); $this->storage['js'] = drupal_add_js(); }
views_object::construct | ( | ) | [inherited] |
Views handlers use a special construct function so that we can more easily construct them with variable arguments.
Reimplemented in views_handler_argument, views_handler_argument_formula, views_handler_field, views_handler_field_markup, views_handler_filter_boolean_operator, views_handler_filter_in_operator, 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_argument_locale_group, views_handler_argument_locale_language, views_handler_field_locale_link_edit, views_handler_argument_node_created_fulldate, views_handler_argument_node_created_year, views_handler_argument_node_created_year_month, views_handler_argument_node_created_month, views_handler_argument_node_created_day, views_handler_argument_node_created_week, views_handler_argument_node_language, views_handler_argument_node_type, 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, views_handler_field_user_roles, views_handler_filter_user_current, and views_plugin_display.
Definition at line 54 of file base.inc.
References views_object::set_default_options().
{ $this->set_default_options(); }
views_plugin_cache::gather_headers | ( | ) | [inherited] |
Gather out of band data, compare it to what we started with and store the difference.
Definition at line 182 of file views_plugin_cache.inc.
Referenced by views_plugin_cache::cache_set().
{ // Simple replacement for head if (isset($this->storage['head'])) { $this->storage['head'] = str_replace($this->storage['head'], '', drupal_add_html_head()); } else { $this->storage['head'] = ''; } // Slightly less simple for CSS: $css = drupal_add_css(); $start = isset($this->storage['css']) ? $this->storage['css'] : array(); $this->storage['css'] = array(); foreach ($css as $file => $data) { if (!isset($this->storage['css'][$file])) { $this->storage['css'][$file] = $data; } } // Get javascript after views renders $js = drupal_add_js(); // Get javascript before views renders. $start = isset($this->storage['js']) ? $this->storage['js'] : array(); $this->storage['js'] = array(); // If there are any differences between the old and the new javascript then // store them to be added later. if ($diff = array_diff_assoc($js, $start)) { $this->storage['js'] = $diff; } // Special case the settings key and get the difference of the data. if ($settings_diff = array_diff_assoc($js['settings']['data'], $start['settings']['data'])) { $this->storage['js']['settings'] = $settings_diff; } }
views_plugin_cache::init | ( | &$ | view, | |
&$ | display | |||
) | [inherited] |
Initialize the plugin.
$view | The view object. | |
$display | The display handler. |
Definition at line 27 of file views_plugin_cache.inc.
References views_object::$options, views_object::options(), and views_object::unpack_options().
{ $this->view = &$view; $this->display = &$display; if (is_object($display->handler)) { $options = $display->handler->get_option('cache'); // Overlay incoming options on top of defaults $this->unpack_options($this->options, $options); } }
views_plugin_cache_time::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_object.
Definition at line 7 of file views_plugin_cache_time.inc.
References views_object::$options.
{ $options = parent::option_definition(); $options['results_lifespan'] = array('default' => 3600); $options['output_lifespan'] = array('default' => 3600); 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(), views_handler_field_field::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(), cache_expire(), cache_set_expire(), views_handler_field_field::click_sort(), views_handler_field::click_sort(), views_handler_field_field::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(), views_handler_field_field::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(), views_handler_field_field::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(), views_handler_field_field::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(), views_handler_field_field::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(), 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(), views_handler_field_field::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(), views_handler_field_field::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(), 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_plugin_cache_time::options_form | ( | &$ | form, | |
&$ | form_state | |||
) |
Init will be called after construct, when the plugin is attached to a view and a display.
Provide a form to edit options for this plugin.
Reimplemented from views_plugin.
Definition at line 15 of file views_plugin_cache_time.inc.
References views_object::$options, and views_object::options().
{ parent::options_form($form, $form_state); $options = array(60, 300, 1800, 3600, 21600, 518400); $options = drupal_map_assoc($options, 'format_interval'); $options = array(-1 => t('Never cache')) + $options; $form['results_lifespan'] = array( '#type' => 'select', '#title' => t('Query results'), '#description' => t('The length of time raw query results should be cached.'), '#options' => $options, '#default_value' => $this->options['results_lifespan'], ); $form['output_lifespan'] = array( '#type' => 'select', '#title' => t('Rendered output'), '#description' => t('The length of time rendered HTML output should be cached.'), '#options' => $options, '#default_value' => $this->options['output_lifespan'], ); }
views_plugin::options_submit | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Handle any special handling on the validate form.
Reimplemented in views_plugin_access, views_plugin_access_role, views_plugin_display, views_plugin_display_attachment, views_plugin_display_block, views_plugin_display_extender, views_plugin_display_feed, views_plugin_display_page, views_plugin_exposed_form_input_required, views_plugin_pager, views_plugin_query, views_plugin_row, and views_plugin_row_fields.
Definition at line 501 of file plugins.inc.
{ }
views_plugin::options_validate | ( | &$ | form, | |
&$ | form_state | |||
) | [inherited] |
Validate the options form.
Reimplemented in views_plugin_access, views_plugin_access_role, views_plugin_argument_default, views_plugin_argument_validate, views_plugin_display, views_plugin_display_extender, views_plugin_display_page, views_plugin_pager, views_plugin_pager_full, views_plugin_query, views_plugin_row, and views_plugin_style.
Definition at line 496 of file plugins.inc.
{ }
views_plugin::plugin_title | ( | ) | [inherited] |
Return the human readable name of the display.
This appears on the ui beside each plugin and beside the settings link.
Definition at line 548 of file plugins.inc.
{ if (isset($this->definition['short title'])) { return check_plain($this->definition['short title']); } return check_plain($this->definition['title']); }
views_plugin_cache::post_render | ( | &$ | output | ) | [inherited] |
Post process any rendered data.
This can be valuable to be able to cache a view and still have some level of dynamic output. In an ideal world, the actual output will include HTML comment based tokens, and then the post process can replace those tokens.
Example usage. If it is known that the view is a node view and that the primary field will be a nid, you can do something like this:
And then in the post render, create an array with the text that should go there:
strtr($output, array('', 'output for FIELD of nid 1');
All of the cached result data will be available in $view->result, as well, so all ids used in the query should be discoverable.
Definition at line 164 of file views_plugin_cache.inc.
{ }
views_plugin::query | ( | ) | [inherited] |
Add anything to the query that we might need to.
Reimplemented in views_plugin_display, views_plugin_display_extender, views_plugin_exposed_form, views_plugin_exposed_form_input_required, views_plugin_pager, views_plugin_pager_full, views_plugin_pager_none, views_plugin_pager_some, views_plugin_row, views_plugin_style, views_plugin_style_summary, and views_plugin_style_summary_jump_menu.
Definition at line 506 of file plugins.inc.
Referenced by views_plugin_query_default::build().
{ }
views_plugin_cache::restore_headers | ( | ) | [inherited] |
Restore out of band data saved to cache.
Copied from Panels.
Definition at line 224 of file views_plugin_cache.inc.
Referenced by views_plugin_cache::cache_get().
{ if (!empty($this->storage['head'])) { drupal_add_html_head($this->storage['head']); } if (!empty($this->storage['css'])) { foreach ($this->storage['css'] as $args) { drupal_add_css($args['data'], $args); } } if (!empty($this->storage['js'])) { foreach ($this->storage['js'] as $key => $args) { if ($key != 'settings') { drupal_add_js($args['data'], $args); } else { foreach ($args as $setting) { drupal_add_js($setting, 'setting'); } } } } }
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_plugin_cache_time::summary_title | ( | ) |
Return a string to display as the clickable title for the access control.
Reimplemented from views_plugin_cache.
Definition at line 37 of file views_plugin_cache_time.inc.
References views_object::options().
views_plugin::theme_functions | ( | ) | [inherited] |
Provide a full list of possible theme templates used by this style.
Definition at line 511 of file plugins.inc.
References views_theme_functions().
Referenced by views_plugin_display::options_form(), views_plugin_style_summary::render(), views_plugin_style_rss::render(), views_plugin_row::render(), views_plugin_display::render(), views_plugin_row_search_view::render(), and views_plugin_style::render_grouping_sets().
{ return views_theme_functions($this->definition['theme'], $this->view, $this->display); }
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_plugin::validate | ( | ) | [inherited] |
Validate that the plugin is correct and can be saved.
Reimplemented in views_plugin_display, views_plugin_display_page, and views_plugin_style.
Definition at line 535 of file plugins.inc.
{ return array(); }
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(), views_handler_field_field::get_base_table(), views_plugin_display::get_field_labels(), views_plugin_display::get_plugin(), views_handler_filter_node_type::get_value_options(), views_handler_field_field::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(), views_handler_field_field::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(), views_handler_field_field::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(), 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(), views_handler_field_field::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(), 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(), views_handler_field_field::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_plugin::$plugin_type = NULL [inherited] |
The plugin type of this plugin, for example style or query.
Definition at line 475 of file plugins.inc.
Referenced by views_plugin_display::export_plugin(), and views_plugin_display::unpack_plugin().
views_plugin_cache::$storage = array() [inherited] |
Contains all data that should be written/read from cache.
Definition at line 12 of file views_plugin_cache.inc.
views_plugin_cache::$table = 'cache_views_data' [inherited] |
What table to store data in.
Definition at line 17 of file views_plugin_cache.inc.