class domain_views_plugin_cache_time in Domain Views 7
Cache plugin that provides caching on a per domain basis.
Hierarchy
- class \views_object
- class \views_plugin
- class \views_plugin_cache
- class \views_plugin_cache_time
- class \views_plugin_cache
- class \views_plugin
Expanded class hierarchy of domain_views_plugin_cache_time
1 string reference to 'domain_views_plugin_cache_time'
- domain_views_views_plugins in ./
domain_views.views.inc - Implements hook_views_plugins().
File
- includes/
domain_views_plugin_cache_time.inc, line 18 - Domain Views plugin that caches views on a per domain basis. This is necessary for views that filter on "current domain" (ex. SELECT * FROM {node} WHERE domain_source = current_domain) otherwise "current domain" will be cached.
View source
class domain_views_plugin_cache_time extends views_plugin_cache_time {
function summary_title() {
// Return a sumary title for the views admin screen (ex. 1 min/1min (Per Domain)).
return format_interval($this->options['results_lifespan'], 1) . '/' . format_interval($this->options['output_lifespan'], 1) . ' (Per Domain)';
}
function get_results_key() {
/**
* Create an md5 hashed key including the current domain
* to use as the cache key for caching the views results.
*/
if (!isset($this->_results_key)) {
// Set the results key.
$this->_results_key = $this->view->name . ':' . $this->display->id . ':results:' . $this
->get_cache_key();
}
return $this->_results_key;
}
function get_output_key() {
/**
* Create an md5 hashed key including the current domain
* to use as the cache key for caching the views output.
*/
if (!isset($this->_output_key)) {
$key_data = array(
'theme' => $GLOBALS['theme'],
);
// Match the results key.
$this->_output_key = $this->view->name . ':' . $this->display->id . ':output:' . $this
->get_cache_key($key_data);
}
return $this->_output_key;
}
/**
* Returns cache key.
* @see views_plugin_cache::get_cache_key()
*
* @param array $key_data
* Additional data for cache segmentation and/or overrides for default
* segmentation.
*
* @return string
*/
function get_cache_key($key_data = array()) {
global $user;
global $_domain;
$key_data += array(
'roles' => array_keys($user->roles),
'super-user' => $user->uid == 1,
// special caching for super user.
'language' => $GLOBALS['language'],
'domain' => $_domain['domain_id'],
);
if (empty($key_data['build_info'])) {
$build_info = $this->view->build_info;
foreach (array(
'query',
'count_query',
) as $index) {
// If the default query back-end is used generate SQL query strings from
// the query objects.
if ($build_info[$index] instanceof SelectQueryInterface) {
$query = clone $build_info[$index];
$query
->preExecute();
$key_data['build_info'][$index] = array(
'sql' => (string) $query,
'arguments' => $query
->getArguments(),
);
}
}
}
$key = md5(serialize($key_data));
return $key;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
domain_views_plugin_cache_time:: |
function |
Returns cache key. Overrides views_plugin_cache:: |
||
domain_views_plugin_cache_time:: |
function |
Overrides views_plugin_cache:: |
||
domain_views_plugin_cache_time:: |
function |
Overrides views_plugin_cache:: |
||
domain_views_plugin_cache_time:: |
function |
Return a string to display as the clickable title for the
access control. Overrides views_plugin_cache_time:: |
||
views_object:: |
public | property | Handler's definition. | |
views_object:: |
public | property | Except for displays, options for the object will be held here. | 1 |
views_object:: |
function | Collect this handler's option definition and alter them, ready for use. | ||
views_object:: |
public | function | Views handlers use a special construct function. | 4 |
views_object:: |
public | function | Destructor. | 2 |
views_object:: |
public | function | 1 | |
views_object:: |
public | function | ||
views_object:: |
public | function | Always exports the option, regardless of the default value. | |
views_object:: |
public | function | Set default options on this object. | 1 |
views_object:: |
public | function | Set default options. | |
views_object:: |
public | function | Let the handler know what its full definition is. | |
views_object:: |
public | function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
views_object:: |
public | function | Unpack a single option definition. | |
views_object:: |
public | function | Unpacks each handler to store translatable texts. | |
views_object:: |
public | function | ||
views_plugin:: |
public | property | The current used views display. | |
views_plugin:: |
public | property | The plugin name of this plugin, for example table or full. | |
views_plugin:: |
public | property | The plugin type of this plugin, for example style or query. | |
views_plugin:: |
public | property |
The top object of a view. Overrides views_object:: |
1 |
views_plugin:: |
public | function | Provide a list of additional theme functions for the theme info page. | |
views_plugin:: |
public | function | Handle any special handling on the validate form. | 9 |
views_plugin:: |
public | function | Return the human readable name of the display. | |
views_plugin:: |
public | function | Add anything to the query that we might need to. | 7 |
views_plugin:: |
public | function | Provide a full list of possible theme templates used by this style. | |
views_plugin:: |
public | function | Validate that the plugin is correct and can be saved. | 3 |
views_plugin_cache:: |
public | property | Contains all data that should be written/read from cache. | |
views_plugin_cache:: |
public | property | What table to store data in. | |
views_plugin_cache:: |
protected | function | Computes the differences between two JS/CSS asset arrays. | |
views_plugin_cache:: |
public | function | Clear out cached data for a view. | |
views_plugin_cache:: |
public | function | Start caching JavaScript, css and other out of band info. | 1 |
views_plugin_cache:: |
public | function | Gather out of band data, compare it to the start data and store the diff. | |
views_plugin_cache:: |
public | function | Initialize the plugin. | |
views_plugin_cache:: |
public | function | Post process any rendered data. | |
views_plugin_cache:: |
public | function | Restore out of band data saved to cache. Copied from Panels. | |
views_plugin_cache_time:: |
public | function |
Determine the expiration time of the cache type, or NULL if no expire. Overrides views_plugin_cache:: |
|
views_plugin_cache_time:: |
public | function |
Retrieve data from the cache. Overrides views_plugin_cache:: |
|
views_plugin_cache_time:: |
public | function |
Save data to the cache. Overrides views_plugin_cache:: |
|
views_plugin_cache_time:: |
public | function |
Determine expiration time in the cache table of the cache type. Overrides views_plugin_cache:: |
|
views_plugin_cache_time:: |
public | function | ||
views_plugin_cache_time:: |
public | function |
Provide a form to edit options for this plugin. Overrides views_plugin:: |
|
views_plugin_cache_time:: |
public | function |
Validate the options form. Overrides views_plugin:: |
|
views_plugin_cache_time:: |
public | function |
Information about options for all kinds of purposes will be held here. Overrides views_object:: |