You are here

function _cacheflush_clear_preset in CacheFlush 7.2

Same name and namespace in other branches
  1. 7.3 cacheflush.api.inc \_cacheflush_clear_preset()
  2. 7 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.

2 calls to _cacheflush_clear_preset()
cacheflush_clear_preset_menu_callback in ./cacheflush.inc
Call clear cache and send back.
cacheflush_rules_clear_cache in cacheflush_rules/cacheflush_rules.module
Cacheflush rules action for clearing cache.
2 string references to '_cacheflush_clear_preset'
cacheflush_combine_preset_form_submit in cacheflush_combination/cacheflush_combination.inc
Implements hook_formID_submit().
cacheflush_cron_cronapi in cacheflush_cron/cacheflush_cron.module
Implements hook_cronapi().

File

./cacheflush.inc, line 36
Cacheflusher module inc file with dinamic clear cache functions.

Code

function _cacheflush_clear_preset($preset_id) {

  // Get presets.
  $cache_presets = variable_get('cacheflush_preset_list', array());

  // Declare hook before cache cleared.
  module_invoke_all('cacheflush_clear_before', array(
    'preset_id' => $preset_id,
    'presets_list' => $cache_presets,
  ));

  // Decide if is table or function and call specifed function to clear cache.
  foreach ($cache_presets[$preset_id]['#cacheflush_preset_values'] as $key => $value) {
    if ($value['is_table']) {
      _cacheflush_clear_preset_clear_table($key, $value);
    }
    else {
      _cacheflush_clear_preset_clear_call_functions($value);
    }
  }
  drupal_set_message(t("@name preset caches cleared.", array(
    '@name' => $cache_presets[$preset_id]['#name'],
  )));

  // Declare hook after cache cleared.
  module_invoke_all('cacheflush_clear_after', array(
    'preset_id' => $preset_id,
    'presets_list' => $cache_presets,
  ));
}