diff --git a/examples/docker/Docker.md b/examples/docker/Docker.md index 68b5baa57..28a17a9c3 100644 --- a/examples/docker/Docker.md +++ b/examples/docker/Docker.md @@ -47,12 +47,12 @@ To setup MySQL as the DB, in Admin Panel, click `Contacts`, check `Enable contac Click the `Test` button. If it turns green, MySQL is ready to be used for contacts. -To setup Redis for caching, in Admin Panel, click `Config`, update the following configuration options: +To setup Redis for caching, in Admin Panel, click `Extensions`, update the following configuration options: -- `cache > enable`: yes -- `cache > fast_cache_driver`: `redis` -- `labs > fast_cache_redis_host`: `redis` -- `labs > fast_cache_redis_port`: `6379` +- `Cache Redis`: `install` +- `Cache Redis`: `enable` +- `Cache Redis > host`: `redis` +- `Cache Redis > port`: `6379` Redis caching is now enabled. @@ -83,12 +83,12 @@ To use PostgreSQL as the DB, in Admin Panel, click `Contacts`, check `Enable con Click the `Test` button. If it turns green, PostgreSQL is ready to be used for contacts. -To setup Redis for caching, in Admin Panel, click `Config`, update the following configuration options: +To setup Redis for caching, in Admin Panel, click `Extensions`, update the following configuration options: -- `cache > enable`: yes -- `cache > fast_cache_driver`: `redis` -- `labs > fast_cache_redis_host`: `redis` -- `labs > fast_cache_redis_port`: `6379` +- `Cache Redis`: `install` +- `Cache Redis`: `enable` +- `Cache Redis > host`: `redis` +- `Cache Redis > port`: `6379` Redis caching is now enabled. diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/APCU.php b/plugins/cache-apcu/APCU.php similarity index 87% rename from snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/APCU.php rename to plugins/cache-apcu/APCU.php index 09162268c..8ca581ca0 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/APCU.php +++ b/plugins/cache-apcu/APCU.php @@ -20,11 +20,12 @@ class APCU implements \MailSo\Cache\DriverInterface { private string $sKeyPrefix; - function __construct(string $sKeyPrefix = '') + public function setPrefix(string $sKeyPrefix) : void { + $sKeyPrefix = \rtrim(\trim($sKeyPrefix), '\\/'); $this->sKeyPrefix = empty($sKeyPrefix) ? $sKeyPrefix - : \preg_replace('/[^a-zA-Z0-9_]/', '_', \rtrim(\trim($sKeyPrefix), '\\/')).'/'; + : \preg_replace('/[^a-zA-Z0-9_]/', '_', $sKeyPrefix).'/'; } public function Set(string $sKey, string $sValue) : bool diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/Memcache.php b/plugins/cache-memcache/Memcache.php similarity index 89% rename from snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/Memcache.php rename to plugins/cache-memcache/Memcache.php index 60ab3a667..f967ad687 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/Memcache.php +++ b/plugins/cache-memcache/Memcache.php @@ -27,7 +27,7 @@ class Memcache implements \MailSo\Cache\DriverInterface private string $sKeyPrefix; - function __construct(string $sHost = '127.0.0.1', int $iPort = 11211, int $iExpire = 43200, string $sKeyPrefix = '') + function __construct(string $sHost = '127.0.0.1', int $iPort = 11211, int $iExpire = 43200) { $this->iExpire = 0 < $iExpire ? $iExpire : 43200; @@ -35,10 +35,14 @@ class Memcache implements \MailSo\Cache\DriverInterface if (!$this->oMem->addServer($sHost, \strpos($sHost, ':/') ? 0 : $iPort)) { $this->oMem = null; } + } + public function setPrefix(string $sKeyPrefix) : void + { + $sKeyPrefix = \rtrim(\trim($sKeyPrefix), '\\/'); $this->sKeyPrefix = empty($sKeyPrefix) ? $sKeyPrefix - : \preg_replace('/[^a-zA-Z0-9_]/', '_', \rtrim(\trim($this->sKeyPrefix), '\\/')) . '/'; + : \preg_replace('/[^a-zA-Z0-9_]/', '_', $sKeyPrefix).'/'; } public function Set(string $sKey, string $sValue) : bool diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Client.php b/plugins/cache-redis/Predis/Client.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Client.php rename to plugins/cache-redis/Predis/Client.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/ClientContextInterface.php b/plugins/cache-redis/Predis/ClientContextInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/ClientContextInterface.php rename to plugins/cache-redis/Predis/ClientContextInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/ClientException.php b/plugins/cache-redis/Predis/ClientException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/ClientException.php rename to plugins/cache-redis/Predis/ClientException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/ClientInterface.php b/plugins/cache-redis/Predis/ClientInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/ClientInterface.php rename to plugins/cache-redis/Predis/ClientInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/ClusterStrategy.php b/plugins/cache-redis/Predis/Cluster/ClusterStrategy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/ClusterStrategy.php rename to plugins/cache-redis/Predis/Cluster/ClusterStrategy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/DistributorInterface.php b/plugins/cache-redis/Predis/Cluster/Distributor/DistributorInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/DistributorInterface.php rename to plugins/cache-redis/Predis/Cluster/Distributor/DistributorInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/EmptyRingException.php b/plugins/cache-redis/Predis/Cluster/Distributor/EmptyRingException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/EmptyRingException.php rename to plugins/cache-redis/Predis/Cluster/Distributor/EmptyRingException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/HashRing.php b/plugins/cache-redis/Predis/Cluster/Distributor/HashRing.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/HashRing.php rename to plugins/cache-redis/Predis/Cluster/Distributor/HashRing.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/KetamaRing.php b/plugins/cache-redis/Predis/Cluster/Distributor/KetamaRing.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/Distributor/KetamaRing.php rename to plugins/cache-redis/Predis/Cluster/Distributor/KetamaRing.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/Hash/CRC16.php b/plugins/cache-redis/Predis/Cluster/Hash/CRC16.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/Hash/CRC16.php rename to plugins/cache-redis/Predis/Cluster/Hash/CRC16.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/Hash/HashGeneratorInterface.php b/plugins/cache-redis/Predis/Cluster/Hash/HashGeneratorInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/Hash/HashGeneratorInterface.php rename to plugins/cache-redis/Predis/Cluster/Hash/HashGeneratorInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/PredisStrategy.php b/plugins/cache-redis/Predis/Cluster/PredisStrategy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/PredisStrategy.php rename to plugins/cache-redis/Predis/Cluster/PredisStrategy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/RedisStrategy.php b/plugins/cache-redis/Predis/Cluster/RedisStrategy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/RedisStrategy.php rename to plugins/cache-redis/Predis/Cluster/RedisStrategy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Cluster/StrategyInterface.php b/plugins/cache-redis/Predis/Cluster/StrategyInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Cluster/StrategyInterface.php rename to plugins/cache-redis/Predis/Cluster/StrategyInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/CursorBasedIterator.php b/plugins/cache-redis/Predis/Collection/Iterator/CursorBasedIterator.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/CursorBasedIterator.php rename to plugins/cache-redis/Predis/Collection/Iterator/CursorBasedIterator.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/HashKey.php b/plugins/cache-redis/Predis/Collection/Iterator/HashKey.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/HashKey.php rename to plugins/cache-redis/Predis/Collection/Iterator/HashKey.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/Keyspace.php b/plugins/cache-redis/Predis/Collection/Iterator/Keyspace.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/Keyspace.php rename to plugins/cache-redis/Predis/Collection/Iterator/Keyspace.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/ListKey.php b/plugins/cache-redis/Predis/Collection/Iterator/ListKey.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/ListKey.php rename to plugins/cache-redis/Predis/Collection/Iterator/ListKey.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/SetKey.php b/plugins/cache-redis/Predis/Collection/Iterator/SetKey.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/SetKey.php rename to plugins/cache-redis/Predis/Collection/Iterator/SetKey.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/SortedSetKey.php b/plugins/cache-redis/Predis/Collection/Iterator/SortedSetKey.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Collection/Iterator/SortedSetKey.php rename to plugins/cache-redis/Predis/Collection/Iterator/SortedSetKey.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/Command.php b/plugins/cache-redis/Predis/Command/Command.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/Command.php rename to plugins/cache-redis/Predis/Command/Command.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/CommandInterface.php b/plugins/cache-redis/Predis/Command/CommandInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/CommandInterface.php rename to plugins/cache-redis/Predis/Command/CommandInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionAuth.php b/plugins/cache-redis/Predis/Command/ConnectionAuth.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionAuth.php rename to plugins/cache-redis/Predis/Command/ConnectionAuth.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionEcho.php b/plugins/cache-redis/Predis/Command/ConnectionEcho.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionEcho.php rename to plugins/cache-redis/Predis/Command/ConnectionEcho.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionPing.php b/plugins/cache-redis/Predis/Command/ConnectionPing.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionPing.php rename to plugins/cache-redis/Predis/Command/ConnectionPing.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionQuit.php b/plugins/cache-redis/Predis/Command/ConnectionQuit.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionQuit.php rename to plugins/cache-redis/Predis/Command/ConnectionQuit.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionSelect.php b/plugins/cache-redis/Predis/Command/ConnectionSelect.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ConnectionSelect.php rename to plugins/cache-redis/Predis/Command/ConnectionSelect.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashDelete.php b/plugins/cache-redis/Predis/Command/HashDelete.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashDelete.php rename to plugins/cache-redis/Predis/Command/HashDelete.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashExists.php b/plugins/cache-redis/Predis/Command/HashExists.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashExists.php rename to plugins/cache-redis/Predis/Command/HashExists.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashGet.php b/plugins/cache-redis/Predis/Command/HashGet.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashGet.php rename to plugins/cache-redis/Predis/Command/HashGet.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashGetAll.php b/plugins/cache-redis/Predis/Command/HashGetAll.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashGetAll.php rename to plugins/cache-redis/Predis/Command/HashGetAll.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashGetMultiple.php b/plugins/cache-redis/Predis/Command/HashGetMultiple.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashGetMultiple.php rename to plugins/cache-redis/Predis/Command/HashGetMultiple.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashIncrementBy.php b/plugins/cache-redis/Predis/Command/HashIncrementBy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashIncrementBy.php rename to plugins/cache-redis/Predis/Command/HashIncrementBy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashIncrementByFloat.php b/plugins/cache-redis/Predis/Command/HashIncrementByFloat.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashIncrementByFloat.php rename to plugins/cache-redis/Predis/Command/HashIncrementByFloat.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashKeys.php b/plugins/cache-redis/Predis/Command/HashKeys.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashKeys.php rename to plugins/cache-redis/Predis/Command/HashKeys.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashLength.php b/plugins/cache-redis/Predis/Command/HashLength.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashLength.php rename to plugins/cache-redis/Predis/Command/HashLength.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashScan.php b/plugins/cache-redis/Predis/Command/HashScan.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashScan.php rename to plugins/cache-redis/Predis/Command/HashScan.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashSet.php b/plugins/cache-redis/Predis/Command/HashSet.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashSet.php rename to plugins/cache-redis/Predis/Command/HashSet.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashSetMultiple.php b/plugins/cache-redis/Predis/Command/HashSetMultiple.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashSetMultiple.php rename to plugins/cache-redis/Predis/Command/HashSetMultiple.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashSetPreserve.php b/plugins/cache-redis/Predis/Command/HashSetPreserve.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashSetPreserve.php rename to plugins/cache-redis/Predis/Command/HashSetPreserve.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashStringLength.php b/plugins/cache-redis/Predis/Command/HashStringLength.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashStringLength.php rename to plugins/cache-redis/Predis/Command/HashStringLength.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HashValues.php b/plugins/cache-redis/Predis/Command/HashValues.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HashValues.php rename to plugins/cache-redis/Predis/Command/HashValues.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HyperLogLogAdd.php b/plugins/cache-redis/Predis/Command/HyperLogLogAdd.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HyperLogLogAdd.php rename to plugins/cache-redis/Predis/Command/HyperLogLogAdd.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HyperLogLogCount.php b/plugins/cache-redis/Predis/Command/HyperLogLogCount.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HyperLogLogCount.php rename to plugins/cache-redis/Predis/Command/HyperLogLogCount.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/HyperLogLogMerge.php b/plugins/cache-redis/Predis/Command/HyperLogLogMerge.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/HyperLogLogMerge.php rename to plugins/cache-redis/Predis/Command/HyperLogLogMerge.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyDelete.php b/plugins/cache-redis/Predis/Command/KeyDelete.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyDelete.php rename to plugins/cache-redis/Predis/Command/KeyDelete.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyDump.php b/plugins/cache-redis/Predis/Command/KeyDump.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyDump.php rename to plugins/cache-redis/Predis/Command/KeyDump.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyExists.php b/plugins/cache-redis/Predis/Command/KeyExists.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyExists.php rename to plugins/cache-redis/Predis/Command/KeyExists.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyExpire.php b/plugins/cache-redis/Predis/Command/KeyExpire.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyExpire.php rename to plugins/cache-redis/Predis/Command/KeyExpire.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyExpireAt.php b/plugins/cache-redis/Predis/Command/KeyExpireAt.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyExpireAt.php rename to plugins/cache-redis/Predis/Command/KeyExpireAt.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyKeys.php b/plugins/cache-redis/Predis/Command/KeyKeys.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyKeys.php rename to plugins/cache-redis/Predis/Command/KeyKeys.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyMigrate.php b/plugins/cache-redis/Predis/Command/KeyMigrate.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyMigrate.php rename to plugins/cache-redis/Predis/Command/KeyMigrate.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyMove.php b/plugins/cache-redis/Predis/Command/KeyMove.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyMove.php rename to plugins/cache-redis/Predis/Command/KeyMove.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPersist.php b/plugins/cache-redis/Predis/Command/KeyPersist.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPersist.php rename to plugins/cache-redis/Predis/Command/KeyPersist.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPreciseExpire.php b/plugins/cache-redis/Predis/Command/KeyPreciseExpire.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPreciseExpire.php rename to plugins/cache-redis/Predis/Command/KeyPreciseExpire.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPreciseExpireAt.php b/plugins/cache-redis/Predis/Command/KeyPreciseExpireAt.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPreciseExpireAt.php rename to plugins/cache-redis/Predis/Command/KeyPreciseExpireAt.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPreciseTimeToLive.php b/plugins/cache-redis/Predis/Command/KeyPreciseTimeToLive.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyPreciseTimeToLive.php rename to plugins/cache-redis/Predis/Command/KeyPreciseTimeToLive.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRandom.php b/plugins/cache-redis/Predis/Command/KeyRandom.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRandom.php rename to plugins/cache-redis/Predis/Command/KeyRandom.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRename.php b/plugins/cache-redis/Predis/Command/KeyRename.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRename.php rename to plugins/cache-redis/Predis/Command/KeyRename.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRenamePreserve.php b/plugins/cache-redis/Predis/Command/KeyRenamePreserve.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRenamePreserve.php rename to plugins/cache-redis/Predis/Command/KeyRenamePreserve.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRestore.php b/plugins/cache-redis/Predis/Command/KeyRestore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyRestore.php rename to plugins/cache-redis/Predis/Command/KeyRestore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyScan.php b/plugins/cache-redis/Predis/Command/KeyScan.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyScan.php rename to plugins/cache-redis/Predis/Command/KeyScan.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeySort.php b/plugins/cache-redis/Predis/Command/KeySort.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeySort.php rename to plugins/cache-redis/Predis/Command/KeySort.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyTimeToLive.php b/plugins/cache-redis/Predis/Command/KeyTimeToLive.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyTimeToLive.php rename to plugins/cache-redis/Predis/Command/KeyTimeToLive.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/KeyType.php b/plugins/cache-redis/Predis/Command/KeyType.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/KeyType.php rename to plugins/cache-redis/Predis/Command/KeyType.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListIndex.php b/plugins/cache-redis/Predis/Command/ListIndex.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListIndex.php rename to plugins/cache-redis/Predis/Command/ListIndex.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListInsert.php b/plugins/cache-redis/Predis/Command/ListInsert.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListInsert.php rename to plugins/cache-redis/Predis/Command/ListInsert.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListLength.php b/plugins/cache-redis/Predis/Command/ListLength.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListLength.php rename to plugins/cache-redis/Predis/Command/ListLength.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopFirst.php b/plugins/cache-redis/Predis/Command/ListPopFirst.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopFirst.php rename to plugins/cache-redis/Predis/Command/ListPopFirst.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopFirstBlocking.php b/plugins/cache-redis/Predis/Command/ListPopFirstBlocking.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopFirstBlocking.php rename to plugins/cache-redis/Predis/Command/ListPopFirstBlocking.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLast.php b/plugins/cache-redis/Predis/Command/ListPopLast.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLast.php rename to plugins/cache-redis/Predis/Command/ListPopLast.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLastBlocking.php b/plugins/cache-redis/Predis/Command/ListPopLastBlocking.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLastBlocking.php rename to plugins/cache-redis/Predis/Command/ListPopLastBlocking.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLastPushHead.php b/plugins/cache-redis/Predis/Command/ListPopLastPushHead.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLastPushHead.php rename to plugins/cache-redis/Predis/Command/ListPopLastPushHead.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLastPushHeadBlocking.php b/plugins/cache-redis/Predis/Command/ListPopLastPushHeadBlocking.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPopLastPushHeadBlocking.php rename to plugins/cache-redis/Predis/Command/ListPopLastPushHeadBlocking.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushHead.php b/plugins/cache-redis/Predis/Command/ListPushHead.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushHead.php rename to plugins/cache-redis/Predis/Command/ListPushHead.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushHeadX.php b/plugins/cache-redis/Predis/Command/ListPushHeadX.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushHeadX.php rename to plugins/cache-redis/Predis/Command/ListPushHeadX.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushTail.php b/plugins/cache-redis/Predis/Command/ListPushTail.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushTail.php rename to plugins/cache-redis/Predis/Command/ListPushTail.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushTailX.php b/plugins/cache-redis/Predis/Command/ListPushTailX.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListPushTailX.php rename to plugins/cache-redis/Predis/Command/ListPushTailX.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListRange.php b/plugins/cache-redis/Predis/Command/ListRange.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListRange.php rename to plugins/cache-redis/Predis/Command/ListRange.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListRemove.php b/plugins/cache-redis/Predis/Command/ListRemove.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListRemove.php rename to plugins/cache-redis/Predis/Command/ListRemove.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListSet.php b/plugins/cache-redis/Predis/Command/ListSet.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListSet.php rename to plugins/cache-redis/Predis/Command/ListSet.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ListTrim.php b/plugins/cache-redis/Predis/Command/ListTrim.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ListTrim.php rename to plugins/cache-redis/Predis/Command/ListTrim.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PrefixableCommandInterface.php b/plugins/cache-redis/Predis/Command/PrefixableCommandInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PrefixableCommandInterface.php rename to plugins/cache-redis/Predis/Command/PrefixableCommandInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/Processor/KeyPrefixProcessor.php b/plugins/cache-redis/Predis/Command/Processor/KeyPrefixProcessor.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/Processor/KeyPrefixProcessor.php rename to plugins/cache-redis/Predis/Command/Processor/KeyPrefixProcessor.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/Processor/ProcessorChain.php b/plugins/cache-redis/Predis/Command/Processor/ProcessorChain.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/Processor/ProcessorChain.php rename to plugins/cache-redis/Predis/Command/Processor/ProcessorChain.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/Processor/ProcessorInterface.php b/plugins/cache-redis/Predis/Command/Processor/ProcessorInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/Processor/ProcessorInterface.php rename to plugins/cache-redis/Predis/Command/Processor/ProcessorInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubPublish.php b/plugins/cache-redis/Predis/Command/PubSubPublish.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubPublish.php rename to plugins/cache-redis/Predis/Command/PubSubPublish.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubPubsub.php b/plugins/cache-redis/Predis/Command/PubSubPubsub.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubPubsub.php rename to plugins/cache-redis/Predis/Command/PubSubPubsub.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubSubscribe.php b/plugins/cache-redis/Predis/Command/PubSubSubscribe.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubSubscribe.php rename to plugins/cache-redis/Predis/Command/PubSubSubscribe.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubSubscribeByPattern.php b/plugins/cache-redis/Predis/Command/PubSubSubscribeByPattern.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubSubscribeByPattern.php rename to plugins/cache-redis/Predis/Command/PubSubSubscribeByPattern.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubUnsubscribe.php b/plugins/cache-redis/Predis/Command/PubSubUnsubscribe.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubUnsubscribe.php rename to plugins/cache-redis/Predis/Command/PubSubUnsubscribe.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubUnsubscribeByPattern.php b/plugins/cache-redis/Predis/Command/PubSubUnsubscribeByPattern.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/PubSubUnsubscribeByPattern.php rename to plugins/cache-redis/Predis/Command/PubSubUnsubscribeByPattern.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/RawCommand.php b/plugins/cache-redis/Predis/Command/RawCommand.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/RawCommand.php rename to plugins/cache-redis/Predis/Command/RawCommand.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ScriptCommand.php b/plugins/cache-redis/Predis/Command/ScriptCommand.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ScriptCommand.php rename to plugins/cache-redis/Predis/Command/ScriptCommand.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerBackgroundRewriteAOF.php b/plugins/cache-redis/Predis/Command/ServerBackgroundRewriteAOF.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerBackgroundRewriteAOF.php rename to plugins/cache-redis/Predis/Command/ServerBackgroundRewriteAOF.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerBackgroundSave.php b/plugins/cache-redis/Predis/Command/ServerBackgroundSave.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerBackgroundSave.php rename to plugins/cache-redis/Predis/Command/ServerBackgroundSave.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerClient.php b/plugins/cache-redis/Predis/Command/ServerClient.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerClient.php rename to plugins/cache-redis/Predis/Command/ServerClient.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerCommand.php b/plugins/cache-redis/Predis/Command/ServerCommand.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerCommand.php rename to plugins/cache-redis/Predis/Command/ServerCommand.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerConfig.php b/plugins/cache-redis/Predis/Command/ServerConfig.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerConfig.php rename to plugins/cache-redis/Predis/Command/ServerConfig.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerDatabaseSize.php b/plugins/cache-redis/Predis/Command/ServerDatabaseSize.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerDatabaseSize.php rename to plugins/cache-redis/Predis/Command/ServerDatabaseSize.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerEval.php b/plugins/cache-redis/Predis/Command/ServerEval.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerEval.php rename to plugins/cache-redis/Predis/Command/ServerEval.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerEvalSHA.php b/plugins/cache-redis/Predis/Command/ServerEvalSHA.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerEvalSHA.php rename to plugins/cache-redis/Predis/Command/ServerEvalSHA.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerFlushAll.php b/plugins/cache-redis/Predis/Command/ServerFlushAll.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerFlushAll.php rename to plugins/cache-redis/Predis/Command/ServerFlushAll.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerFlushDatabase.php b/plugins/cache-redis/Predis/Command/ServerFlushDatabase.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerFlushDatabase.php rename to plugins/cache-redis/Predis/Command/ServerFlushDatabase.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerInfo.php b/plugins/cache-redis/Predis/Command/ServerInfo.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerInfo.php rename to plugins/cache-redis/Predis/Command/ServerInfo.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerInfoV26x.php b/plugins/cache-redis/Predis/Command/ServerInfoV26x.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerInfoV26x.php rename to plugins/cache-redis/Predis/Command/ServerInfoV26x.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerLastSave.php b/plugins/cache-redis/Predis/Command/ServerLastSave.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerLastSave.php rename to plugins/cache-redis/Predis/Command/ServerLastSave.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerMonitor.php b/plugins/cache-redis/Predis/Command/ServerMonitor.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerMonitor.php rename to plugins/cache-redis/Predis/Command/ServerMonitor.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerObject.php b/plugins/cache-redis/Predis/Command/ServerObject.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerObject.php rename to plugins/cache-redis/Predis/Command/ServerObject.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSave.php b/plugins/cache-redis/Predis/Command/ServerSave.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSave.php rename to plugins/cache-redis/Predis/Command/ServerSave.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerScript.php b/plugins/cache-redis/Predis/Command/ServerScript.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerScript.php rename to plugins/cache-redis/Predis/Command/ServerScript.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSentinel.php b/plugins/cache-redis/Predis/Command/ServerSentinel.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSentinel.php rename to plugins/cache-redis/Predis/Command/ServerSentinel.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerShutdown.php b/plugins/cache-redis/Predis/Command/ServerShutdown.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerShutdown.php rename to plugins/cache-redis/Predis/Command/ServerShutdown.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSlaveOf.php b/plugins/cache-redis/Predis/Command/ServerSlaveOf.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSlaveOf.php rename to plugins/cache-redis/Predis/Command/ServerSlaveOf.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSlowlog.php b/plugins/cache-redis/Predis/Command/ServerSlowlog.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerSlowlog.php rename to plugins/cache-redis/Predis/Command/ServerSlowlog.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ServerTime.php b/plugins/cache-redis/Predis/Command/ServerTime.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ServerTime.php rename to plugins/cache-redis/Predis/Command/ServerTime.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetAdd.php b/plugins/cache-redis/Predis/Command/SetAdd.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetAdd.php rename to plugins/cache-redis/Predis/Command/SetAdd.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetCardinality.php b/plugins/cache-redis/Predis/Command/SetCardinality.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetCardinality.php rename to plugins/cache-redis/Predis/Command/SetCardinality.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetDifference.php b/plugins/cache-redis/Predis/Command/SetDifference.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetDifference.php rename to plugins/cache-redis/Predis/Command/SetDifference.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetDifferenceStore.php b/plugins/cache-redis/Predis/Command/SetDifferenceStore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetDifferenceStore.php rename to plugins/cache-redis/Predis/Command/SetDifferenceStore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetIntersection.php b/plugins/cache-redis/Predis/Command/SetIntersection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetIntersection.php rename to plugins/cache-redis/Predis/Command/SetIntersection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetIntersectionStore.php b/plugins/cache-redis/Predis/Command/SetIntersectionStore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetIntersectionStore.php rename to plugins/cache-redis/Predis/Command/SetIntersectionStore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetIsMember.php b/plugins/cache-redis/Predis/Command/SetIsMember.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetIsMember.php rename to plugins/cache-redis/Predis/Command/SetIsMember.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetMembers.php b/plugins/cache-redis/Predis/Command/SetMembers.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetMembers.php rename to plugins/cache-redis/Predis/Command/SetMembers.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetMove.php b/plugins/cache-redis/Predis/Command/SetMove.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetMove.php rename to plugins/cache-redis/Predis/Command/SetMove.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetPop.php b/plugins/cache-redis/Predis/Command/SetPop.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetPop.php rename to plugins/cache-redis/Predis/Command/SetPop.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetRandomMember.php b/plugins/cache-redis/Predis/Command/SetRandomMember.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetRandomMember.php rename to plugins/cache-redis/Predis/Command/SetRandomMember.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetRemove.php b/plugins/cache-redis/Predis/Command/SetRemove.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetRemove.php rename to plugins/cache-redis/Predis/Command/SetRemove.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetScan.php b/plugins/cache-redis/Predis/Command/SetScan.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetScan.php rename to plugins/cache-redis/Predis/Command/SetScan.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetUnion.php b/plugins/cache-redis/Predis/Command/SetUnion.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetUnion.php rename to plugins/cache-redis/Predis/Command/SetUnion.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/SetUnionStore.php b/plugins/cache-redis/Predis/Command/SetUnionStore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/SetUnionStore.php rename to plugins/cache-redis/Predis/Command/SetUnionStore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringAppend.php b/plugins/cache-redis/Predis/Command/StringAppend.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringAppend.php rename to plugins/cache-redis/Predis/Command/StringAppend.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringBitCount.php b/plugins/cache-redis/Predis/Command/StringBitCount.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringBitCount.php rename to plugins/cache-redis/Predis/Command/StringBitCount.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringBitOp.php b/plugins/cache-redis/Predis/Command/StringBitOp.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringBitOp.php rename to plugins/cache-redis/Predis/Command/StringBitOp.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringBitPos.php b/plugins/cache-redis/Predis/Command/StringBitPos.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringBitPos.php rename to plugins/cache-redis/Predis/Command/StringBitPos.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringDecrement.php b/plugins/cache-redis/Predis/Command/StringDecrement.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringDecrement.php rename to plugins/cache-redis/Predis/Command/StringDecrement.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringDecrementBy.php b/plugins/cache-redis/Predis/Command/StringDecrementBy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringDecrementBy.php rename to plugins/cache-redis/Predis/Command/StringDecrementBy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringGet.php b/plugins/cache-redis/Predis/Command/StringGet.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringGet.php rename to plugins/cache-redis/Predis/Command/StringGet.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetBit.php b/plugins/cache-redis/Predis/Command/StringGetBit.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetBit.php rename to plugins/cache-redis/Predis/Command/StringGetBit.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetMultiple.php b/plugins/cache-redis/Predis/Command/StringGetMultiple.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetMultiple.php rename to plugins/cache-redis/Predis/Command/StringGetMultiple.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetRange.php b/plugins/cache-redis/Predis/Command/StringGetRange.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetRange.php rename to plugins/cache-redis/Predis/Command/StringGetRange.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetSet.php b/plugins/cache-redis/Predis/Command/StringGetSet.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringGetSet.php rename to plugins/cache-redis/Predis/Command/StringGetSet.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringIncrement.php b/plugins/cache-redis/Predis/Command/StringIncrement.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringIncrement.php rename to plugins/cache-redis/Predis/Command/StringIncrement.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringIncrementBy.php b/plugins/cache-redis/Predis/Command/StringIncrementBy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringIncrementBy.php rename to plugins/cache-redis/Predis/Command/StringIncrementBy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringIncrementByFloat.php b/plugins/cache-redis/Predis/Command/StringIncrementByFloat.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringIncrementByFloat.php rename to plugins/cache-redis/Predis/Command/StringIncrementByFloat.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringPreciseSetExpire.php b/plugins/cache-redis/Predis/Command/StringPreciseSetExpire.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringPreciseSetExpire.php rename to plugins/cache-redis/Predis/Command/StringPreciseSetExpire.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSet.php b/plugins/cache-redis/Predis/Command/StringSet.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSet.php rename to plugins/cache-redis/Predis/Command/StringSet.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetBit.php b/plugins/cache-redis/Predis/Command/StringSetBit.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetBit.php rename to plugins/cache-redis/Predis/Command/StringSetBit.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetExpire.php b/plugins/cache-redis/Predis/Command/StringSetExpire.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetExpire.php rename to plugins/cache-redis/Predis/Command/StringSetExpire.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetMultiple.php b/plugins/cache-redis/Predis/Command/StringSetMultiple.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetMultiple.php rename to plugins/cache-redis/Predis/Command/StringSetMultiple.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetMultiplePreserve.php b/plugins/cache-redis/Predis/Command/StringSetMultiplePreserve.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetMultiplePreserve.php rename to plugins/cache-redis/Predis/Command/StringSetMultiplePreserve.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetPreserve.php b/plugins/cache-redis/Predis/Command/StringSetPreserve.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetPreserve.php rename to plugins/cache-redis/Predis/Command/StringSetPreserve.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetRange.php b/plugins/cache-redis/Predis/Command/StringSetRange.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSetRange.php rename to plugins/cache-redis/Predis/Command/StringSetRange.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringStrlen.php b/plugins/cache-redis/Predis/Command/StringStrlen.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringStrlen.php rename to plugins/cache-redis/Predis/Command/StringStrlen.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/StringSubstr.php b/plugins/cache-redis/Predis/Command/StringSubstr.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/StringSubstr.php rename to plugins/cache-redis/Predis/Command/StringSubstr.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionDiscard.php b/plugins/cache-redis/Predis/Command/TransactionDiscard.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionDiscard.php rename to plugins/cache-redis/Predis/Command/TransactionDiscard.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionExec.php b/plugins/cache-redis/Predis/Command/TransactionExec.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionExec.php rename to plugins/cache-redis/Predis/Command/TransactionExec.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionMulti.php b/plugins/cache-redis/Predis/Command/TransactionMulti.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionMulti.php rename to plugins/cache-redis/Predis/Command/TransactionMulti.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionUnwatch.php b/plugins/cache-redis/Predis/Command/TransactionUnwatch.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionUnwatch.php rename to plugins/cache-redis/Predis/Command/TransactionUnwatch.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionWatch.php b/plugins/cache-redis/Predis/Command/TransactionWatch.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/TransactionWatch.php rename to plugins/cache-redis/Predis/Command/TransactionWatch.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetAdd.php b/plugins/cache-redis/Predis/Command/ZSetAdd.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetAdd.php rename to plugins/cache-redis/Predis/Command/ZSetAdd.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetCardinality.php b/plugins/cache-redis/Predis/Command/ZSetCardinality.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetCardinality.php rename to plugins/cache-redis/Predis/Command/ZSetCardinality.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetCount.php b/plugins/cache-redis/Predis/Command/ZSetCount.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetCount.php rename to plugins/cache-redis/Predis/Command/ZSetCount.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetIncrementBy.php b/plugins/cache-redis/Predis/Command/ZSetIncrementBy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetIncrementBy.php rename to plugins/cache-redis/Predis/Command/ZSetIncrementBy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetIntersectionStore.php b/plugins/cache-redis/Predis/Command/ZSetIntersectionStore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetIntersectionStore.php rename to plugins/cache-redis/Predis/Command/ZSetIntersectionStore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetLexCount.php b/plugins/cache-redis/Predis/Command/ZSetLexCount.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetLexCount.php rename to plugins/cache-redis/Predis/Command/ZSetLexCount.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRange.php b/plugins/cache-redis/Predis/Command/ZSetRange.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRange.php rename to plugins/cache-redis/Predis/Command/ZSetRange.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRangeByLex.php b/plugins/cache-redis/Predis/Command/ZSetRangeByLex.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRangeByLex.php rename to plugins/cache-redis/Predis/Command/ZSetRangeByLex.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRangeByScore.php b/plugins/cache-redis/Predis/Command/ZSetRangeByScore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRangeByScore.php rename to plugins/cache-redis/Predis/Command/ZSetRangeByScore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRank.php b/plugins/cache-redis/Predis/Command/ZSetRank.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRank.php rename to plugins/cache-redis/Predis/Command/ZSetRank.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemove.php b/plugins/cache-redis/Predis/Command/ZSetRemove.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemove.php rename to plugins/cache-redis/Predis/Command/ZSetRemove.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemoveRangeByLex.php b/plugins/cache-redis/Predis/Command/ZSetRemoveRangeByLex.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemoveRangeByLex.php rename to plugins/cache-redis/Predis/Command/ZSetRemoveRangeByLex.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemoveRangeByRank.php b/plugins/cache-redis/Predis/Command/ZSetRemoveRangeByRank.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemoveRangeByRank.php rename to plugins/cache-redis/Predis/Command/ZSetRemoveRangeByRank.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemoveRangeByScore.php b/plugins/cache-redis/Predis/Command/ZSetRemoveRangeByScore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetRemoveRangeByScore.php rename to plugins/cache-redis/Predis/Command/ZSetRemoveRangeByScore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRange.php b/plugins/cache-redis/Predis/Command/ZSetReverseRange.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRange.php rename to plugins/cache-redis/Predis/Command/ZSetReverseRange.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRangeByLex.php b/plugins/cache-redis/Predis/Command/ZSetReverseRangeByLex.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRangeByLex.php rename to plugins/cache-redis/Predis/Command/ZSetReverseRangeByLex.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRangeByScore.php b/plugins/cache-redis/Predis/Command/ZSetReverseRangeByScore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRangeByScore.php rename to plugins/cache-redis/Predis/Command/ZSetReverseRangeByScore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRank.php b/plugins/cache-redis/Predis/Command/ZSetReverseRank.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetReverseRank.php rename to plugins/cache-redis/Predis/Command/ZSetReverseRank.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetScan.php b/plugins/cache-redis/Predis/Command/ZSetScan.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetScan.php rename to plugins/cache-redis/Predis/Command/ZSetScan.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetScore.php b/plugins/cache-redis/Predis/Command/ZSetScore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetScore.php rename to plugins/cache-redis/Predis/Command/ZSetScore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetUnionStore.php b/plugins/cache-redis/Predis/Command/ZSetUnionStore.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Command/ZSetUnionStore.php rename to plugins/cache-redis/Predis/Command/ZSetUnionStore.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/CommunicationException.php b/plugins/cache-redis/Predis/CommunicationException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/CommunicationException.php rename to plugins/cache-redis/Predis/CommunicationException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/ClusterOption.php b/plugins/cache-redis/Predis/Configuration/ClusterOption.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/ClusterOption.php rename to plugins/cache-redis/Predis/Configuration/ClusterOption.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/ConnectionFactoryOption.php b/plugins/cache-redis/Predis/Configuration/ConnectionFactoryOption.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/ConnectionFactoryOption.php rename to plugins/cache-redis/Predis/Configuration/ConnectionFactoryOption.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/ExceptionsOption.php b/plugins/cache-redis/Predis/Configuration/ExceptionsOption.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/ExceptionsOption.php rename to plugins/cache-redis/Predis/Configuration/ExceptionsOption.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/OptionInterface.php b/plugins/cache-redis/Predis/Configuration/OptionInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/OptionInterface.php rename to plugins/cache-redis/Predis/Configuration/OptionInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/Options.php b/plugins/cache-redis/Predis/Configuration/Options.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/Options.php rename to plugins/cache-redis/Predis/Configuration/Options.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/OptionsInterface.php b/plugins/cache-redis/Predis/Configuration/OptionsInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/OptionsInterface.php rename to plugins/cache-redis/Predis/Configuration/OptionsInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/PrefixOption.php b/plugins/cache-redis/Predis/Configuration/PrefixOption.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/PrefixOption.php rename to plugins/cache-redis/Predis/Configuration/PrefixOption.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/ProfileOption.php b/plugins/cache-redis/Predis/Configuration/ProfileOption.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/ProfileOption.php rename to plugins/cache-redis/Predis/Configuration/ProfileOption.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Configuration/ReplicationOption.php b/plugins/cache-redis/Predis/Configuration/ReplicationOption.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Configuration/ReplicationOption.php rename to plugins/cache-redis/Predis/Configuration/ReplicationOption.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/AbstractConnection.php b/plugins/cache-redis/Predis/Connection/AbstractConnection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/AbstractConnection.php rename to plugins/cache-redis/Predis/Connection/AbstractConnection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/ClusterInterface.php b/plugins/cache-redis/Predis/Connection/Aggregate/ClusterInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/ClusterInterface.php rename to plugins/cache-redis/Predis/Connection/Aggregate/ClusterInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/MasterSlaveReplication.php b/plugins/cache-redis/Predis/Connection/Aggregate/MasterSlaveReplication.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/MasterSlaveReplication.php rename to plugins/cache-redis/Predis/Connection/Aggregate/MasterSlaveReplication.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/PredisCluster.php b/plugins/cache-redis/Predis/Connection/Aggregate/PredisCluster.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/PredisCluster.php rename to plugins/cache-redis/Predis/Connection/Aggregate/PredisCluster.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/RedisCluster.php b/plugins/cache-redis/Predis/Connection/Aggregate/RedisCluster.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/RedisCluster.php rename to plugins/cache-redis/Predis/Connection/Aggregate/RedisCluster.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/ReplicationInterface.php b/plugins/cache-redis/Predis/Connection/Aggregate/ReplicationInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Aggregate/ReplicationInterface.php rename to plugins/cache-redis/Predis/Connection/Aggregate/ReplicationInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/AggregateConnectionInterface.php b/plugins/cache-redis/Predis/Connection/AggregateConnectionInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/AggregateConnectionInterface.php rename to plugins/cache-redis/Predis/Connection/AggregateConnectionInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/CompositeConnectionInterface.php b/plugins/cache-redis/Predis/Connection/CompositeConnectionInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/CompositeConnectionInterface.php rename to plugins/cache-redis/Predis/Connection/CompositeConnectionInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/CompositeStreamConnection.php b/plugins/cache-redis/Predis/Connection/CompositeStreamConnection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/CompositeStreamConnection.php rename to plugins/cache-redis/Predis/Connection/CompositeStreamConnection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/ConnectionException.php b/plugins/cache-redis/Predis/Connection/ConnectionException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/ConnectionException.php rename to plugins/cache-redis/Predis/Connection/ConnectionException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/ConnectionInterface.php b/plugins/cache-redis/Predis/Connection/ConnectionInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/ConnectionInterface.php rename to plugins/cache-redis/Predis/Connection/ConnectionInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Factory.php b/plugins/cache-redis/Predis/Connection/Factory.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Factory.php rename to plugins/cache-redis/Predis/Connection/Factory.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/FactoryInterface.php b/plugins/cache-redis/Predis/Connection/FactoryInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/FactoryInterface.php rename to plugins/cache-redis/Predis/Connection/FactoryInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/NodeConnectionInterface.php b/plugins/cache-redis/Predis/Connection/NodeConnectionInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/NodeConnectionInterface.php rename to plugins/cache-redis/Predis/Connection/NodeConnectionInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/Parameters.php b/plugins/cache-redis/Predis/Connection/Parameters.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/Parameters.php rename to plugins/cache-redis/Predis/Connection/Parameters.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/ParametersInterface.php b/plugins/cache-redis/Predis/Connection/ParametersInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/ParametersInterface.php rename to plugins/cache-redis/Predis/Connection/ParametersInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/PhpiredisSocketConnection.php b/plugins/cache-redis/Predis/Connection/PhpiredisSocketConnection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/PhpiredisSocketConnection.php rename to plugins/cache-redis/Predis/Connection/PhpiredisSocketConnection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/PhpiredisStreamConnection.php b/plugins/cache-redis/Predis/Connection/PhpiredisStreamConnection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/PhpiredisStreamConnection.php rename to plugins/cache-redis/Predis/Connection/PhpiredisStreamConnection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/StreamConnection.php b/plugins/cache-redis/Predis/Connection/StreamConnection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/StreamConnection.php rename to plugins/cache-redis/Predis/Connection/StreamConnection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Connection/WebdisConnection.php b/plugins/cache-redis/Predis/Connection/WebdisConnection.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Connection/WebdisConnection.php rename to plugins/cache-redis/Predis/Connection/WebdisConnection.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Monitor/Consumer.php b/plugins/cache-redis/Predis/Monitor/Consumer.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Monitor/Consumer.php rename to plugins/cache-redis/Predis/Monitor/Consumer.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/NotSupportedException.php b/plugins/cache-redis/Predis/NotSupportedException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/NotSupportedException.php rename to plugins/cache-redis/Predis/NotSupportedException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Pipeline/Atomic.php b/plugins/cache-redis/Predis/Pipeline/Atomic.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Pipeline/Atomic.php rename to plugins/cache-redis/Predis/Pipeline/Atomic.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Pipeline/ConnectionErrorProof.php b/plugins/cache-redis/Predis/Pipeline/ConnectionErrorProof.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Pipeline/ConnectionErrorProof.php rename to plugins/cache-redis/Predis/Pipeline/ConnectionErrorProof.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Pipeline/FireAndForget.php b/plugins/cache-redis/Predis/Pipeline/FireAndForget.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Pipeline/FireAndForget.php rename to plugins/cache-redis/Predis/Pipeline/FireAndForget.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Pipeline/Pipeline.php b/plugins/cache-redis/Predis/Pipeline/Pipeline.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Pipeline/Pipeline.php rename to plugins/cache-redis/Predis/Pipeline/Pipeline.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/PredisException.php b/plugins/cache-redis/Predis/PredisException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/PredisException.php rename to plugins/cache-redis/Predis/PredisException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/Factory.php b/plugins/cache-redis/Predis/Profile/Factory.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/Factory.php rename to plugins/cache-redis/Predis/Profile/Factory.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/ProfileInterface.php b/plugins/cache-redis/Predis/Profile/ProfileInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/ProfileInterface.php rename to plugins/cache-redis/Predis/Profile/ProfileInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisProfile.php b/plugins/cache-redis/Predis/Profile/RedisProfile.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisProfile.php rename to plugins/cache-redis/Predis/Profile/RedisProfile.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisUnstable.php b/plugins/cache-redis/Predis/Profile/RedisUnstable.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisUnstable.php rename to plugins/cache-redis/Predis/Profile/RedisUnstable.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion200.php b/plugins/cache-redis/Predis/Profile/RedisVersion200.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion200.php rename to plugins/cache-redis/Predis/Profile/RedisVersion200.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion220.php b/plugins/cache-redis/Predis/Profile/RedisVersion220.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion220.php rename to plugins/cache-redis/Predis/Profile/RedisVersion220.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion240.php b/plugins/cache-redis/Predis/Profile/RedisVersion240.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion240.php rename to plugins/cache-redis/Predis/Profile/RedisVersion240.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion260.php b/plugins/cache-redis/Predis/Profile/RedisVersion260.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion260.php rename to plugins/cache-redis/Predis/Profile/RedisVersion260.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion280.php b/plugins/cache-redis/Predis/Profile/RedisVersion280.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion280.php rename to plugins/cache-redis/Predis/Profile/RedisVersion280.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion300.php b/plugins/cache-redis/Predis/Profile/RedisVersion300.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Profile/RedisVersion300.php rename to plugins/cache-redis/Predis/Profile/RedisVersion300.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/ProtocolException.php b/plugins/cache-redis/Predis/Protocol/ProtocolException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/ProtocolException.php rename to plugins/cache-redis/Predis/Protocol/ProtocolException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/ProtocolProcessorInterface.php b/plugins/cache-redis/Predis/Protocol/ProtocolProcessorInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/ProtocolProcessorInterface.php rename to plugins/cache-redis/Predis/Protocol/ProtocolProcessorInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/RequestSerializerInterface.php b/plugins/cache-redis/Predis/Protocol/RequestSerializerInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/RequestSerializerInterface.php rename to plugins/cache-redis/Predis/Protocol/RequestSerializerInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/ResponseReaderInterface.php b/plugins/cache-redis/Predis/Protocol/ResponseReaderInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/ResponseReaderInterface.php rename to plugins/cache-redis/Predis/Protocol/ResponseReaderInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/CompositeProtocolProcessor.php b/plugins/cache-redis/Predis/Protocol/Text/CompositeProtocolProcessor.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/CompositeProtocolProcessor.php rename to plugins/cache-redis/Predis/Protocol/Text/CompositeProtocolProcessor.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/BulkResponse.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/BulkResponse.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/BulkResponse.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/BulkResponse.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/ErrorResponse.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/ErrorResponse.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/ErrorResponse.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/ErrorResponse.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/IntegerResponse.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/IntegerResponse.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/IntegerResponse.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/IntegerResponse.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/MultiBulkResponse.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/MultiBulkResponse.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/MultiBulkResponse.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/MultiBulkResponse.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/StatusResponse.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/StatusResponse.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/StatusResponse.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/StatusResponse.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php b/plugins/cache-redis/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php rename to plugins/cache-redis/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/ProtocolProcessor.php b/plugins/cache-redis/Predis/Protocol/Text/ProtocolProcessor.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/ProtocolProcessor.php rename to plugins/cache-redis/Predis/Protocol/Text/ProtocolProcessor.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/RequestSerializer.php b/plugins/cache-redis/Predis/Protocol/Text/RequestSerializer.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/RequestSerializer.php rename to plugins/cache-redis/Predis/Protocol/Text/RequestSerializer.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/ResponseReader.php b/plugins/cache-redis/Predis/Protocol/Text/ResponseReader.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Protocol/Text/ResponseReader.php rename to plugins/cache-redis/Predis/Protocol/Text/ResponseReader.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/PubSub/AbstractConsumer.php b/plugins/cache-redis/Predis/PubSub/AbstractConsumer.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/PubSub/AbstractConsumer.php rename to plugins/cache-redis/Predis/PubSub/AbstractConsumer.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/PubSub/Consumer.php b/plugins/cache-redis/Predis/PubSub/Consumer.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/PubSub/Consumer.php rename to plugins/cache-redis/Predis/PubSub/Consumer.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/PubSub/DispatcherLoop.php b/plugins/cache-redis/Predis/PubSub/DispatcherLoop.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/PubSub/DispatcherLoop.php rename to plugins/cache-redis/Predis/PubSub/DispatcherLoop.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Replication/ReplicationStrategy.php b/plugins/cache-redis/Predis/Replication/ReplicationStrategy.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Replication/ReplicationStrategy.php rename to plugins/cache-redis/Predis/Replication/ReplicationStrategy.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/Error.php b/plugins/cache-redis/Predis/Response/Error.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/Error.php rename to plugins/cache-redis/Predis/Response/Error.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/ErrorInterface.php b/plugins/cache-redis/Predis/Response/ErrorInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/ErrorInterface.php rename to plugins/cache-redis/Predis/Response/ErrorInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/Iterator/MultiBulk.php b/plugins/cache-redis/Predis/Response/Iterator/MultiBulk.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/Iterator/MultiBulk.php rename to plugins/cache-redis/Predis/Response/Iterator/MultiBulk.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/Iterator/MultiBulkIterator.php b/plugins/cache-redis/Predis/Response/Iterator/MultiBulkIterator.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/Iterator/MultiBulkIterator.php rename to plugins/cache-redis/Predis/Response/Iterator/MultiBulkIterator.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/Iterator/MultiBulkTuple.php b/plugins/cache-redis/Predis/Response/Iterator/MultiBulkTuple.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/Iterator/MultiBulkTuple.php rename to plugins/cache-redis/Predis/Response/Iterator/MultiBulkTuple.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/ResponseInterface.php b/plugins/cache-redis/Predis/Response/ResponseInterface.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/ResponseInterface.php rename to plugins/cache-redis/Predis/Response/ResponseInterface.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/ServerException.php b/plugins/cache-redis/Predis/Response/ServerException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/ServerException.php rename to plugins/cache-redis/Predis/Response/ServerException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Response/Status.php b/plugins/cache-redis/Predis/Response/Status.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Response/Status.php rename to plugins/cache-redis/Predis/Response/Status.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Session/Handler.php b/plugins/cache-redis/Predis/Session/Handler.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Session/Handler.php rename to plugins/cache-redis/Predis/Session/Handler.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Transaction/AbortedMultiExecException.php b/plugins/cache-redis/Predis/Transaction/AbortedMultiExecException.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Transaction/AbortedMultiExecException.php rename to plugins/cache-redis/Predis/Transaction/AbortedMultiExecException.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Transaction/MultiExec.php b/plugins/cache-redis/Predis/Transaction/MultiExec.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Transaction/MultiExec.php rename to plugins/cache-redis/Predis/Transaction/MultiExec.php diff --git a/snappymail/v/0.0.0/app/libraries/Predis/Transaction/MultiExecState.php b/plugins/cache-redis/Predis/Transaction/MultiExecState.php similarity index 100% rename from snappymail/v/0.0.0/app/libraries/Predis/Transaction/MultiExecState.php rename to plugins/cache-redis/Predis/Transaction/MultiExecState.php diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/Redis.php b/plugins/cache-redis/Redis.php similarity index 90% rename from snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/Redis.php rename to plugins/cache-redis/Redis.php index 2c41a4209..ea41a148c 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/Redis.php +++ b/plugins/cache-redis/Redis.php @@ -27,7 +27,7 @@ class Redis implements \MailSo\Cache\DriverInterface private string $sKeyPrefix; - function __construct(string $sHost = '127.0.0.1', int $iPort = 6379, int $iExpire = 43200, string $sKeyPrefix = '') + function __construct(string $sHost = '127.0.0.1', int $iPort = 6379, int $iExpire = 43200) { $this->iExpire = 0 < $iExpire ? $iExpire : 43200; @@ -51,10 +51,14 @@ class Redis implements \MailSo\Cache\DriverInterface $this->oRedis = null; unset($oExc); } + } + public function setPrefix(string $sKeyPrefix) : void + { + $sKeyPrefix = \rtrim(\trim($sKeyPrefix), '\\/'); $this->sKeyPrefix = empty($sKeyPrefix) ? $sKeyPrefix - : \preg_replace('/[^a-zA-Z0-9_]/', '_', rtrim(trim($sKeyPrefix), '\\/')) . '/'; + : \preg_replace('/[^a-zA-Z0-9_]/', '_', $sKeyPrefix).'/'; } public function Set(string $sKey, string $sValue) : bool diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/DriverInterface.php b/snappymail/v/0.0.0/app/libraries/MailSo/Cache/DriverInterface.php index 06a73ace0..893a58ad1 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/DriverInterface.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Cache/DriverInterface.php @@ -17,6 +17,8 @@ namespace MailSo\Cache; */ interface DriverInterface { + public function setPrefix(string $sKeyPrefix) : void; + public function Set(string $sKey, string $sValue) : bool; public function Exists(string $sKey) : bool; diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/File.php b/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/File.php index a2d27b159..3dbf37ca8 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/File.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Cache/Drivers/File.php @@ -22,18 +22,20 @@ class File implements \MailSo\Cache\DriverInterface private string $sKeyPrefix = ''; - function __construct(string $sCacheFolder, string $sKeyPrefix = '') + function __construct(string $sCacheFolder) { $this->sCacheFolder = \rtrim(\trim($sCacheFolder), '\\/').'/'; // http://www.brynosaurus.com/cachedir/ $tag = $this->sCacheFolder . 'CACHEDIR.TAG'; \is_file($tag) || \file_put_contents($tag, 'Signature: 8a477f597d28d172789f06886806bc55'); + } + public function setPrefix(string $sKeyPrefix) : void + { if (!empty($sKeyPrefix)) { $sKeyPrefix = \str_pad(\preg_replace('/[^a-zA-Z0-9_]/', '_', \rtrim(\trim($sKeyPrefix), '\\/')), 5, '_'); - $this->sKeyPrefix = '__/'. \substr($sKeyPrefix, 0, 2).'/'.\substr($sKeyPrefix, 2, 2).'/'. $sKeyPrefix.'/'; diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php index 0c38b4cc6..05f83884b 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -479,49 +479,16 @@ class Actions if (!isset($this->aCachers[$sIndexKey])) { $this->aCachers[$sIndexKey] = new \MailSo\Cache\CacheClient(); - $oDriver = null; - $sDriver = \strtoupper(\trim($this->oConfig->Get('cache', 'fast_cache_driver', 'files'))); - - switch (true) { - default: - case $bForceFile: - $oDriver = new \MailSo\Cache\Drivers\File( - \trim($this->oConfig->Get('cache', 'path', '')) ?: APP_PRIVATE_DATA . 'cache', - $sKey - ); - break; - - case ('APCU' === $sDriver) && - \MailSo\Base\Utils::FunctionsCallable(array( - 'apcu_store', 'apcu_fetch', 'apcu_delete', 'apcu_clear_cache')): - - $oDriver = new \MailSo\Cache\Drivers\APCU($sKey); - break; - - case ('MEMCACHE' === $sDriver || 'MEMCACHED' === $sDriver) && - (\class_exists('Memcache',false) || \class_exists('Memcached',false)): - $oDriver = new \MailSo\Cache\Drivers\Memcache( - $this->oConfig->Get('labs', 'fast_cache_memcache_host', '127.0.0.1'), - (int) $this->oConfig->Get('labs', 'fast_cache_memcache_port', 11211), - 43200, - $sKey - ); - break; - - case 'REDIS' === $sDriver && \class_exists('Predis\Client'): - $oDriver = new \MailSo\Cache\Drivers\Redis( - $this->oConfig->Get('labs', 'fast_cache_redis_host', '127.0.0.1'), - (int) $this->oConfig->Get('labs', 'fast_cache_redis_port', 6379), - 43200, - $sKey - ); - break; - } - - if ($oDriver) { - $this->aCachers[$sIndexKey]->SetDriver($oDriver); + $oDriver = $bForceFile ? null : $this->fabrica('cache'); + if (!($oDriver instanceof \MailSo\Cache\DriverInterface)) { + $oDriver = new \MailSo\Cache\Drivers\File( + \trim($this->oConfig->Get('cache', 'path', '')) ?: APP_PRIVATE_DATA . 'cache' + ); } +// $sDriver = \strtoupper(\trim($this->oConfig->Get('cache', 'fast_cache_driver', 'files'))); + $oDriver->setPrefix($sKey); + $this->aCachers[$sIndexKey]->SetDriver($oDriver); $this->aCachers[$sIndexKey]->SetCacheIndex($this->oConfig->Get('cache', 'fast_cache_index', '')); } diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php index 407845a7b..4547c4738 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/Application.php @@ -394,7 +394,6 @@ Enables caching in the system'), 'index' => array('v1', 'Additional caching key. If changed, cache is purged'), - 'fast_cache_driver' => array('files', 'Can be: files, APCU, memcache, redis (beta)'), 'fast_cache_index' => array('v1', 'Additional caching key. If changed, fast cache is purged'), 'http' => array(true, 'Browser-level cache. If enabled, caching is maintainted without using files'), @@ -431,10 +430,6 @@ Enables caching in the system'), 'custom_login_link' => array(''), 'custom_logout_link' => array(''), 'http_client_ip_check_proxy' => array(false), - 'fast_cache_memcache_host' => array('127.0.0.1'), - 'fast_cache_memcache_port' => array(11211), - 'fast_cache_redis_host' => array('127.0.0.1'), - 'fast_cache_redis_port' => array(6379), 'use_local_proxy_for_external_images' => array(true), 'image_exif_auto_rotate' => array(false), 'cookie_default_path' => array(''),