You are here

function authcache_p13n_authcache_p13n_request in Authenticated User Page Caching (Authcache) 7.2

Implements hook_authcache_p13n_request().

Related topics

File

modules/authcache_p13n/authcache_p13n.module, line 1100
Provides methods for serving personalized content fragments.

Code

function authcache_p13n_authcache_p13n_request() {
  $requests = array();
  $request_base = module_invoke_all('authcache_p13n_base_request');
  drupal_alter('authcache_p13n_base_request', $request_base);
  $fragments = authcache_p13n_fragment_info();
  $fragment_defaults = array(
    // Overridable resources.
    'fragment' => NULL,
    'fragment validator' => '@fragment[accept_instance(AuthcacheP13nFragmentValidatorInterface)]',
    'fragment loader' => '@fragment[accept_instance(AuthcacheP13nFragmentLoaderInterface)]',
    'fragment access' => '@fragment[accept_instance(AuthcacheP13nFragmentAccessInterface)]',
    // Normally not overridden.
    'admin type' => t('Fragment'),
    'content builder' => array(
      '#class' => 'AuthcacheP13nFragmentBuilder',
      '#arguments' => array(
        '@fragment',
        '@fragment validator',
        '@fragment loader',
        '@fragment access',
      ),
    ),
    'content encoder' => array(
      '#class' => 'AuthcacheP13nHTMLContent',
    ),
  ) + $request_base;
  foreach ($fragments as $key => $config) {
    $requests['frag/' . $key] = $config + $fragment_defaults;
  }
  $settings = authcache_p13n_setting_info();
  $setting_defaults = array(
    // Normally not overridden.
    'settings' => array(
      '#collection' => 'settings',
    ),
    'admin type' => t('Setting'),
    'content builder' => array(
      '#class' => 'AuthcacheP13nSettingBuilder',
      '#arguments' => array(
        '@settings',
      ),
    ),
    'content encoder' => array(
      '#class' => 'AuthcacheP13nJSONContent',
    ),
  ) + $request_base;
  foreach ($settings as $key => $config) {
    $requests['setting/' . $key] = $config + $setting_defaults;
  }
  $assemblies = authcache_p13n_assembly_info();
  $assembly_defaults = array(
    // Normally not overridden.
    'partials' => array(
      '#collection' => 'partials',
    ),
    'admin type' => t('Assembly'),
    'content builder' => array(
      '#class' => 'AuthcacheP13nFragmentAssemblyBuilder',
      '#arguments' => array(
        '@partials',
      ),
    ),
    'content encoder' => array(
      '#class' => 'AuthcacheP13nJSONContent',
    ),
  ) + $request_base;
  foreach ($assemblies as $key => $config) {
    $requests['asm/' . $key] = $config + $assembly_defaults;
  }
  return $requests;
}