Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-09-25 15:36:30 +0400
committerThomas Müller <thomas.mueller@tmit.eu>2013-09-30 18:36:59 +0400
commit9c9dc276b7a1d2592c4fb0a887888632dc1f1e29 (patch)
treebbe3aed3e09c31c68806bdb8acffef70ba08f51c /lib/private/cache.php
parenta711399e62d5a9f14d4b748efe4354ee37e61f13 (diff)
move the private namespace OC into lib/private - OCP will stay in lib/public
Conflicts: lib/private/vcategories.php
Diffstat (limited to 'lib/private/cache.php')
-rw-r--r--lib/private/cache.php112
1 files changed, 112 insertions, 0 deletions
diff --git a/lib/private/cache.php b/lib/private/cache.php
new file mode 100644
index 00000000000..a311f10a00f
--- /dev/null
+++ b/lib/private/cache.php
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC;
+
+class Cache {
+ /**
+ * @var Cache $user_cache
+ */
+ static protected $user_cache;
+ /**
+ * @var Cache $global_cache
+ */
+ static protected $global_cache;
+
+ /**
+ * get the global cache
+ * @return Cache
+ */
+ static public function getGlobalCache() {
+ if (!self::$global_cache) {
+ self::$global_cache = new Cache\FileGlobal();
+ }
+ return self::$global_cache;
+ }
+
+ /**
+ * get the user cache
+ * @return Cache
+ */
+ static public function getUserCache() {
+ if (!self::$user_cache) {
+ self::$user_cache = new Cache\File();
+ }
+ return self::$user_cache;
+ }
+
+ /**
+ * get a value from the user cache
+ * @param string $key
+ * @return mixed
+ */
+ static public function get($key) {
+ $user_cache = self::getUserCache();
+ return $user_cache->get($key);
+ }
+
+ /**
+ * set a value in the user cache
+ * @param string $key
+ * @param mixed $value
+ * @param int $ttl
+ * @return bool
+ */
+ static public function set($key, $value, $ttl=0) {
+ if (empty($key)) {
+ return false;
+ }
+ $user_cache = self::getUserCache();
+ return $user_cache->set($key, $value, $ttl);
+ }
+
+ /**
+ * check if a value is set in the user cache
+ * @param string $key
+ * @return bool
+ */
+ static public function hasKey($key) {
+ $user_cache = self::getUserCache();
+ return $user_cache->hasKey($key);
+ }
+
+ /**
+ * remove an item from the user cache
+ * @param string $key
+ * @return bool
+ */
+ static public function remove($key) {
+ $user_cache = self::getUserCache();
+ return $user_cache->remove($key);
+ }
+
+ /**
+ * clear the user cache of all entries starting with a prefix
+ * @param string $prefix (optional)
+ * @return bool
+ */
+ static public function clear($prefix='') {
+ $user_cache = self::getUserCache();
+ return $user_cache->clear($prefix);
+ }
+
+ /**
+ * creates cache key based on the files given
+ * @param $files
+ * @return string
+ */
+ static public function generateCacheKeyFromFiles($files) {
+ $key = '';
+ sort($files);
+ foreach($files as $file) {
+ $stat = stat($file);
+ $key .= $file.$stat['mtime'].$stat['size'];
+ }
+ return md5($key);
+ }
+}