You are here

cacheflush_rules.module in CacheFlush 7.2

Cacheflush Rules module.

File

cacheflush_rules/cacheflush_rules.module
View source
<?php

/**
 * @file
 * Cacheflush Rules module.
 */

/**
 * Implements hook_cacheflush_clear_before().
 */
function cacheflush_rules_cacheflush_clear_before($settings) {
  rules_invoke_event('cacheflush_before', array(
    'preset_id' => $settings['preset_id'],
  ));
}

/**
 * Implements hook_cacheflush_clear_after().
 */
function cacheflush_rules_cacheflush_clear_after($settings) {
  rules_invoke_event('cacheflush_after', array(
    'preset_id' => $settings['preset_id'],
  ));
}

/**
 * Implements validation for codition.
 */
function cacheflush_rules_condition_compare($pid, $pid_array, $object) {
  if (isset($object->variables['preset_id']['preset_id'])) {
    if (array_key_exists($object->variables['preset_id']['preset_id'], $pid)) {
      return TRUE;
    }
  }
  else {
    watchdog('cacheflush', 'Rules codition recive no preset id.', array(), WATCHDOG_NOTICE);
  }
  return FALSE;
}

/**
 * Return the preset list.
 * 
 * @return array
 *   Preset list.
 */
function cacheflush_rules_get_preset_list() {

  // Get presets.
  $cache_presets = variable_get('cacheflush_preset_list', array());
  $list = array();
  foreach ($cache_presets as $key => $value) {
    $list[$key] = $value['#name'];
  }
  return $list;
}

/**
 * Cacheflush rules action for clearing cache.
 *
 * @param array $selected_presets
 *   Selected presets list.
 */
function cacheflush_rules_clear_cache($selected_presets) {
  module_load_include('inc', 'cacheflush', 'cacheflush');
  foreach ($selected_presets as $preset_id) {
    _cacheflush_clear_preset($preset_id);
  }
}

Functions

Namesort descending Description
cacheflush_rules_cacheflush_clear_after Implements hook_cacheflush_clear_after().
cacheflush_rules_cacheflush_clear_before Implements hook_cacheflush_clear_before().
cacheflush_rules_clear_cache Cacheflush rules action for clearing cache.
cacheflush_rules_condition_compare Implements validation for codition.
cacheflush_rules_get_preset_list Return the preset list.