function authcache_views_authcache_p13n_fragment in Authenticated User Page Caching (Authcache) 7.2
Implements hook_authcache_p13n_fragment().
File
- modules/
authcache_views/ authcache_views.module, line 10 - Authcache support for views module.
Code
function authcache_views_authcache_p13n_fragment() {
$views = views_get_all_views();
$fragments = array();
foreach ($views as $view_name => $view) {
foreach ($view->display as $display_id => $display) {
$config = _authcache_views_view_get_options($view, $display_id);
if (!empty($config['status'])) {
$config += authcache_p13n_config_defaults();
$fragment_id = "views/{$view->name}/{$display_id}";
$granularity = authcache_p13n_config_cache_granularity($config);
$fragments[$fragment_id] = array(
'fragment' => array(
'#class' => 'AuthcacheViewsFragment',
'#arguments' => array(
$view->name,
$display_id,
),
),
'bootstrap phase' => DRUPAL_BOOTSTRAP_FULL,
'cache maxage' => authcache_p13n_config_cache_maxage($config),
'cache granularity' => $granularity,
'admin entry object' => array(
'#class' => 'AuthcacheViewsAdminEntry',
'#arguments' => array(
$view_name,
$display_id,
$config,
'@admin entry',
),
),
);
// If this is a page-display and cache-granularity is set to per-page,
// add a context provider for deriving views arguments from request
// parameters.
if ($display->display_plugin === 'page' && $granularity & AuthcacheP13nCacheGranularity::PER_PAGE) {
$fragments[$fragment_id]['views arguments'] = array(
'#class' => 'AuthcacheViewsDisplayPageContextProvider',
'#member_of' => 'context providers',
);
}
}
}
}
return $fragments;
}