summaryrefslogtreecommitdiff
path: root/sites/all/modules/ctools/plugins/cache/simple.inc
diff options
context:
space:
mode:
Diffstat (limited to 'sites/all/modules/ctools/plugins/cache/simple.inc')
-rw-r--r--sites/all/modules/ctools/plugins/cache/simple.inc51
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);
+}