diff options
Diffstat (limited to 'sites/all/modules/ctools/plugins/cache/simple.inc')
-rw-r--r-- | sites/all/modules/ctools/plugins/cache/simple.inc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sites/all/modules/ctools/plugins/cache/simple.inc b/sites/all/modules/ctools/plugins/cache/simple.inc new file mode 100644 index 000000000..570398ba0 --- /dev/null +++ b/sites/all/modules/ctools/plugins/cache/simple.inc @@ -0,0 +1,51 @@ +<?php + +/** + * @file + * A simple cache indirection mechanism that just uses the basic object cache. + */ + +$plugin = array( + // cache plugins are the rare plugin types that have no real UI but + // we're providing a title just in case. + 'title' => t('Simple'), + 'cache get' => 'ctools_cache_simple_cache_get', + 'cache set' => 'ctools_cache_simple_cache_set', + 'cache clear' => 'ctools_cache_simple_cache_clear', +); + +function ctools_cache_simple_cache_get($data, $key) { + ctools_include('object-cache'); + + // Ensure that if there is somehow no data, we at least don't stomp on other + // people's caches. + if (empty($data)) { + $data = 'simple_cache_plugin'; + } + + return ctools_object_cache_get($data, $key); +} + +function ctools_cache_simple_cache_set($data, $key, $object) { + ctools_include('object-cache'); + + // Ensure that if there is somehow no data, we at least don't stomp on other + // people's caches. + if (empty($data)) { + $data = 'simple_cache_plugin'; + } + + return ctools_object_cache_set($data, $key, $object); +} + +function ctools_cache_simple_cache_clear($data, $key) { + ctools_include('object-cache'); + + // Ensure that if there is somehow no data, we at least don't stomp on other + // people's caches. + if (empty($data)) { + $data = 'simple_cache_plugin'; + } + + return ctools_object_cache_clear($data, $key); +} |