function _cacheflush_clear_preset in CacheFlush 7.3
Same name and namespace in other branches
- 7 cacheflush.inc \_cacheflush_clear_preset()
 - 7.2 cacheflush.inc \_cacheflush_clear_preset()
 
Based on settings decide witch clear cache function to be called.
Parameters
int $preset_id: Preset id to do clear cache for.
4 calls to _cacheflush_clear_preset()
- CacheFlushRulesEvents::testEvents in modules/
cacheflush_rules/ cacheflush_rules.test  - Test the events.
 - cacheflush_clear_preset_menu_callback in ./
cacheflush.api.inc  - Call clear cache and send back.
 - cacheflush_rules_clear in modules/
cacheflush_rules/ cacheflush_rules.rules.inc  - Rules action function.
 - drush_cacheflush_drush_cacheflush in modules/
cacheflush_drush/ cacheflush_drush.drush.inc  - Callback function for drush cacheflush.
 
1 string reference to '_cacheflush_clear_preset'
- cacheflush_cron_cronapi in modules/
cacheflush_cron/ cacheflush_cron.module  - Implements hook_cronapi().
 
File
- ./
cacheflush.api.inc, line 36  - Cacheflusher module inc file with dinamic clear cache functions.
 
Code
function _cacheflush_clear_preset($preset_id) {
  $entity = cacheflush_load($preset_id);
  if (!$entity) {
    drupal_set_message(t('Invalid ID'), 'error');
    return;
  }
  if ($entity->status == 0) {
    drupal_set_message(t('This entity is disabled.'), 'error');
    drupal_access_denied();
    return;
  }
  // Call: hook_cacheflush_before_clear().
  module_invoke_all('cacheflush_before_clear', $entity);
  $presets = unserialize($entity->data);
  if ($presets) {
    foreach ($presets as $cache) {
      foreach ($cache['functions'] as $value) {
        call_user_func_array($value['#name'], $value['#params']);
      }
    }
  }
  drupal_set_message(t("All predefined cache options at @name was cleared.", array(
    '@name' => $entity->title,
  )));
  // Call: hook_cacheflush_after_clear().
  module_invoke_all('cacheflush_after_clear', $entity);
}