function cache_actions_action_clear_panels_mini_cache in Cache Actions 7
Same name and namespace in other branches
- 6.2 cache_actions.rules.inc \cache_actions_action_clear_panels_mini_cache()
- 6 cache_actions.rules.inc \cache_actions_action_clear_panels_mini_cache()
Clear the cache of the specified mini panel.
Parameters
array $mini_panels the name of the mini panels.:
2 string references to 'cache_actions_action_clear_panels_mini_cache'
- cache_actions_rules_action_info in ./
cache_actions.rules.inc - Implementation of hook_rules_action_info().
- cache_actions_test_rules_defaults in cache_actions_test/
cache_actions_test.rules_defaults.inc - Implementation of hook_rules_defaults(). Below are the rules needed for the testing.
File
- ./
cache_actions.rules.inc, line 514 - This file provides the rules integration for this module.
Code
function cache_actions_action_clear_panels_mini_cache($mini_panels) {
if (module_exists('panels_mini')) {
ctools_include('plugins', 'panels');
foreach ($mini_panels as $name) {
$panel = panels_mini_load($name);
// Don't load a display if we already have it.
if (isset($panel->display)) {
$display = $panel->display;
}
else {
$display = panels_load_display($panel->did);
}
if (is_object($display)) {
panels_clear_cached_content($display);
}
else {
watchdog('cache_actions', "The mini panel variant %panel doesn't exist.\n You need to look over your rules and see if there's any rules\n involving that panel.", array(
'%panel' => $display,
), WATCHDOG_ERROR);
}
}
}
}