Redis Object Cache - Version 2.0.9

Version Description

  • Highlight current metric type using color
  • Show "Metrics" tab when metrics are disabled
  • Refactored connection and Redis status logic
  • Updated Predis to v1.1.2
  • Remove Predis deprecation notice
  • Fixed fetching derived keys in wp_cache_get_multiple()
Download this release

Release Info

Developer tillkruess
Plugin Icon 128x128 Redis Object Cache
Version 2.0.9
Comparing to
See all releases

Code changes from version 2.0.8 to 2.0.9

assets/css/admin.css CHANGED
@@ -48,6 +48,11 @@
48
  padding: 0;
49
  }
50
 
 
 
 
 
 
51
  #rediscache #redis-stats-chart {
52
  height: 300px;
53
  }
@@ -117,7 +122,7 @@
117
 
118
  #widget-redis-stats ul a:hover,
119
  #widget-redis-stats ul a.active {
120
- color: #444;
121
  }
122
 
123
  #redis-stats-chart .apexcharts-annotations {
48
  padding: 0;
49
  }
50
 
51
+ #rediscache .nav-tab-wrapper .nav-tab-disabled {
52
+ cursor: not-allowed;
53
+ background-color: #e5e5e5 !important;
54
+ }
55
+
56
  #rediscache #redis-stats-chart {
57
  height: 300px;
58
  }
122
 
123
  #widget-redis-stats ul a:hover,
124
  #widget-redis-stats ul a.active {
125
+ color: #0073aa;
126
  }
127
 
128
  #redis-stats-chart .apexcharts-annotations {
dependencies/predis/predis/.github/FUNDING.yml ADDED
@@ -0,0 +1,2 @@
 
 
1
+ github: tillkruss
2
+ custom: "https://www.paypal.me/tillkruss"
dependencies/predis/predis/.php_cs.dist ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $PREDIS_HEADER = <<<EOS
4
+ This file is part of the Predis package.
5
+
6
+ (c) Daniele Alessandri <suppakilla@gmail.com>
7
+
8
+ For the full copyright and license information, please view the LICENSE
9
+ file that was distributed with this source code.
10
+ EOS;
11
+
12
+ return PhpCsFixer\Config::create()
13
+ ->setUsingCache(true)
14
+ ->setRules(array(
15
+ '@Symfony' => true,
16
+ 'header_comment' => array(
17
+ 'header' => $PREDIS_HEADER,
18
+ ),
19
+ 'ordered_imports' => true,
20
+ 'phpdoc_order' => true,
21
+ 'binary_operator_spaces' => array(
22
+ 'align_double_arrow' => false,
23
+ 'align_equals' => false,
24
+ ),
25
+ 'array_syntax' => array('syntax' => 'long'),
26
+ ))
27
+ ->setFinder(
28
+ PhpCsFixer\Finder::create()
29
+ ->in(__DIR__.'/bin')
30
+ ->in(__DIR__.'/src')
31
+ ->in(__DIR__.'/tests')
32
+ ->in(__DIR__.'/examples')
33
+ );
dependencies/predis/predis/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
 
 
 
 
 
 
 
 
 
 
1
  v1.1.1 (2016-06-16)
2
  ================================================================================
3
 
1
+ v1.1.2 (2020-08-11)
2
+ ================================================================================
3
+
4
+ - __FIX__: pure CRC16 implementation failed to calculate the correct hash when
5
+ the input value passed to the `hash()` method is an integer (PR #450).
6
+
7
+ - __FIX__: make PHP iterator abstractions for `ZSCAN` and `HSCAN` working with
8
+ PHP 7.2 due to a breaking change, namely the removal of `each()` (PR #448).
9
+
10
+
11
  v1.1.1 (2016-06-16)
12
  ================================================================================
13
 
dependencies/predis/predis/README.md CHANGED
@@ -5,7 +5,6 @@
5
  [![Latest development][ico-version-dev]][link-packagist]
6
  [![Monthly installs][ico-downloads-monthly]][link-downloads]
7
  [![Build status][ico-travis]][link-travis]
8
- [![HHVM support][ico-hhvm]][link-hhvm]
9
  [![Gitter room][ico-gitter]][link-gitter]
10
 
11
  Flexible and feature-complete [Redis](http://redis.io) client for PHP >= 5.3 and HHVM >= 2.3.0.
@@ -41,7 +40,7 @@ More details about this project can be found on the [frequently asked questions]
41
  This library can be found on [Packagist](http://packagist.org/packages/predis/predis) for an easier
42
  management of projects dependencies using [Composer](http://packagist.org/about-composer) or on our
43
  [own PEAR channel](http://pear.nrk.io) for a more traditional installation using PEAR. Ultimately,
44
- compressed archives of each release are [available on GitHub](https://github.com/nrk/predis/tags).
45
 
46
 
47
  ### Loading the library ###
@@ -108,7 +107,7 @@ of suitable [options](http://php.net/manual/context.ssl.php) passed via the `ssl
108
  $client = new Predis\Client([
109
  'scheme' => 'tls',
110
  'ssl' => ['cafile' => 'private.pem', 'verify_peer' => true],
111
- ]
112
 
113
  // Same set of parameters, but using an URI string:
114
  $client = new Predis\Client('tls://127.0.0.1?ssl[cafile]=private.pem&ssl[verify_peer]=1');
@@ -463,7 +462,7 @@ found [on its project page](http://travis-ci.org/nrk/predis).
463
  ### Project related links ###
464
 
465
  - [Source code](https://github.com/nrk/predis)
466
- - [Wiki](https://wiki.github.com/nrk/predis)
467
  - [Issue tracker](https://github.com/nrk/predis/issues)
468
  - [PEAR channel](http://pear.nrk.io)
469
 
@@ -488,5 +487,4 @@ The code for Predis is distributed under the terms of the MIT license (see [LICE
488
  [link-packagist]: https://packagist.org/packages/predis/predis
489
  [link-travis]: https://travis-ci.org/nrk/predis
490
  [link-downloads]: https://packagist.org/packages/predis/predis/stats
491
- [link-hhvm]: http://hhvm.h4cc.de/package/predis/predis
492
  [link-gitter]: https://gitter.im/nrk/predis
5
  [![Latest development][ico-version-dev]][link-packagist]
6
  [![Monthly installs][ico-downloads-monthly]][link-downloads]
7
  [![Build status][ico-travis]][link-travis]
 
8
  [![Gitter room][ico-gitter]][link-gitter]
9
 
10
  Flexible and feature-complete [Redis](http://redis.io) client for PHP >= 5.3 and HHVM >= 2.3.0.
40
  This library can be found on [Packagist](http://packagist.org/packages/predis/predis) for an easier
41
  management of projects dependencies using [Composer](http://packagist.org/about-composer) or on our
42
  [own PEAR channel](http://pear.nrk.io) for a more traditional installation using PEAR. Ultimately,
43
+ compressed archives of each release are [available on GitHub](https://github.com/nrk/predis/releases).
44
 
45
 
46
  ### Loading the library ###
107
  $client = new Predis\Client([
108
  'scheme' => 'tls',
109
  'ssl' => ['cafile' => 'private.pem', 'verify_peer' => true],
110
+ ]);
111
 
112
  // Same set of parameters, but using an URI string:
113
  $client = new Predis\Client('tls://127.0.0.1?ssl[cafile]=private.pem&ssl[verify_peer]=1');
462
  ### Project related links ###
463
 
464
  - [Source code](https://github.com/nrk/predis)
465
+ - [Wiki](https://github.com/nrk/predis/wiki)
466
  - [Issue tracker](https://github.com/nrk/predis/issues)
467
  - [PEAR channel](http://pear.nrk.io)
468
 
487
  [link-packagist]: https://packagist.org/packages/predis/predis
488
  [link-travis]: https://travis-ci.org/nrk/predis
489
  [link-downloads]: https://packagist.org/packages/predis/predis/stats
 
490
  [link-gitter]: https://gitter.im/nrk/predis
dependencies/predis/predis/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.2
dependencies/predis/predis/bin/create-phar CHANGED
@@ -59,7 +59,7 @@ spl_autoload_register(function (\$class) {
59
  }
60
  }
61
  });
62
- __HALT_COMPILER();
63
  EOSTUB;
64
  }
65
 
59
  }
60
  }
61
  });
62
+ __halt_compiler();
63
  EOSTUB;
64
  }
65
 
dependencies/predis/predis/composer.json CHANGED
@@ -16,7 +16,8 @@
16
  }
17
  ],
18
  "require": {
19
- "php": ">=5.3.9"
 
20
  },
21
  "require-dev": {
22
  "phpunit/phpunit": "~4.8"
@@ -27,5 +28,17 @@
27
  },
28
  "autoload": {
29
  "psr-4": {"Predis\\": "src/"}
30
- }
 
 
 
 
 
 
 
 
 
 
 
 
31
  }
16
  }
17
  ],
18
  "require": {
19
+ "php": ">=5.3.9",
20
+ "cweagans/composer-patches": "^1.6"
21
  },
22
  "require-dev": {
23
  "phpunit/phpunit": "~4.8"
28
  },
29
  "autoload": {
30
  "psr-4": {"Predis\\": "src/"}
31
+ },
32
+ "extra": {
33
+ "composer-exit-on-patch-failure": true,
34
+ "patches": {
35
+ "phpunit/phpunit-mock-objects": {
36
+ "Fix PHP 7 and 8 compatibility": "./tests/phpunit_mock_objects.patch"
37
+ },
38
+ "phpunit/phpunit": {
39
+ "Fix PHP 7 compatibility": "./tests/phpunit_php7.patch",
40
+ "Fix PHP 8 compatibility": "./tests/phpunit_php8.patch"
41
+ }
42
+ }
43
+ }
44
  }
dependencies/predis/predis/examples/shared.php CHANGED
@@ -9,6 +9,10 @@
9
  * file that was distributed with this source code.
10
  */
11
 
 
 
 
 
12
  require __DIR__.'/../autoload.php';
13
 
14
  function redis_version($info)
9
  * file that was distributed with this source code.
10
  */
11
 
12
+ if (PHP_SAPI !== 'cli') {
13
+ die("Example scripts are meant to be executed locally via CLI.");
14
+ }
15
+
16
  require __DIR__.'/../autoload.php';
17
 
18
  function redis_version($info)
dependencies/predis/predis/package.ini CHANGED
@@ -10,7 +10,7 @@ name = "Predis"
10
  desc = "Flexible and feature-complete Redis client for PHP and HHVM"
11
  homepage = "http://github.com/nrk/predis"
12
  license = "MIT"
13
- version = "1.1.1"
14
  stability = "stable"
15
  channel = "pear.nrk.io"
16
 
10
  desc = "Flexible and feature-complete Redis client for PHP and HHVM"
11
  homepage = "http://github.com/nrk/predis"
12
  license = "MIT"
13
+ version = "1.1.2"
14
  stability = "stable"
15
  channel = "pear.nrk.io"
16
 
dependencies/predis/predis/src/Client.php CHANGED
@@ -40,7 +40,7 @@ use Predis\Transaction\MultiExec as MultiExecTransaction;
40
  */
41
  class Client implements ClientInterface, \IteratorAggregate
42
  {
43
- const VERSION = '1.1.1';
44
 
45
  protected $connection;
46
  protected $options;
40
  */
41
  class Client implements ClientInterface, \IteratorAggregate
42
  {
43
+ const VERSION = '1.1.2';
44
 
45
  protected $connection;
46
  protected $options;
dependencies/predis/predis/src/ClientContextInterface.php CHANGED
@@ -16,7 +16,7 @@ use Predis\Command\CommandInterface;
16
  /**
17
  * Interface defining a client-side context such as a pipeline or transaction.
18
  *
19
- * @method $this del(array $keys)
20
  * @method $this dump($key)
21
  * @method $this exists($key)
22
  * @method $this expire($key, $seconds)
@@ -73,8 +73,8 @@ use Predis\Command\CommandInterface;
73
  * @method $this hsetnx($key, $field, $value)
74
  * @method $this hvals($key)
75
  * @method $this hstrlen($key, $field)
76
- * @method $this blpop(array $keys, $timeout)
77
- * @method $this brpop(array $keys, $timeout)
78
  * @method $this brpoplpush($source, $destination, $timeout)
79
  * @method $this lindex($key, $index)
80
  * @method $this linsert($key, $whence, $pivot, $value)
@@ -92,10 +92,10 @@ use Predis\Command\CommandInterface;
92
  * @method $this rpushx($key, $value)
93
  * @method $this sadd($key, array $members)
94
  * @method $this scard($key)
95
- * @method $this sdiff(array $keys)
96
- * @method $this sdiffstore($destination, array $keys)
97
- * @method $this sinter(array $keys)
98
- * @method $this sinterstore($destination, array $keys)
99
  * @method $this sismember($key, $member)
100
  * @method $this smembers($key)
101
  * @method $this smove($source, $destination, $member)
@@ -103,13 +103,13 @@ use Predis\Command\CommandInterface;
103
  * @method $this srandmember($key, $count = null)
104
  * @method $this srem($key, $member)
105
  * @method $this sscan($key, $cursor, array $options = null)
106
- * @method $this sunion(array $keys)
107
- * @method $this sunionstore($destination, array $keys)
108
  * @method $this zadd($key, array $membersAndScoresDictionary)
109
  * @method $this zcard($key)
110
  * @method $this zcount($key, $min, $max)
111
  * @method $this zincrby($key, $increment, $member)
112
- * @method $this zinterstore($destination, array $keys, array $options = null)
113
  * @method $this zrange($key, $start, $stop, array $options = null)
114
  * @method $this zrangebyscore($key, $min, $max, array $options = null)
115
  * @method $this zrank($key, $member)
@@ -119,7 +119,7 @@ use Predis\Command\CommandInterface;
119
  * @method $this zrevrange($key, $start, $stop, array $options = null)
120
  * @method $this zrevrangebyscore($key, $min, $max, array $options = null)
121
  * @method $this zrevrank($key, $member)
122
- * @method $this zunionstore($destination, array $keys, array $options = null)
123
  * @method $this zscore($key, $member)
124
  * @method $this zscan($key, $cursor, array $options = null)
125
  * @method $this zrangebylex($key, $start, $stop, array $options = null)
@@ -127,8 +127,8 @@ use Predis\Command\CommandInterface;
127
  * @method $this zremrangebylex($key, $min, $max)
128
  * @method $this zlexcount($key, $min, $max)
129
  * @method $this pfadd($key, array $elements)
130
- * @method $this pfmerge($destinationKey, array $sourceKeys)
131
- * @method $this pfcount(array $keys)
132
  * @method $this pubsub($subcommand, $argument)
133
  * @method $this publish($channel, $message)
134
  * @method $this discard()
16
  /**
17
  * Interface defining a client-side context such as a pipeline or transaction.
18
  *
19
+ * @method $this del(array|string $keys)
20
  * @method $this dump($key)
21
  * @method $this exists($key)
22
  * @method $this expire($key, $seconds)
73
  * @method $this hsetnx($key, $field, $value)
74
  * @method $this hvals($key)
75
  * @method $this hstrlen($key, $field)
76
+ * @method $this blpop(array|string $keys, $timeout)
77
+ * @method $this brpop(array|string $keys, $timeout)
78
  * @method $this brpoplpush($source, $destination, $timeout)
79
  * @method $this lindex($key, $index)
80
  * @method $this linsert($key, $whence, $pivot, $value)
92
  * @method $this rpushx($key, $value)
93
  * @method $this sadd($key, array $members)
94
  * @method $this scard($key)
95
+ * @method $this sdiff(array|string $keys)
96
+ * @method $this sdiffstore($destination, array|string $keys)
97
+ * @method $this sinter(array|string $keys)
98
+ * @method $this sinterstore($destination, array|string $keys)
99
  * @method $this sismember($key, $member)
100
  * @method $this smembers($key)
101
  * @method $this smove($source, $destination, $member)
103
  * @method $this srandmember($key, $count = null)
104
  * @method $this srem($key, $member)
105
  * @method $this sscan($key, $cursor, array $options = null)
106
+ * @method $this sunion(array|string $keys)
107
+ * @method $this sunionstore($destination, array|string $keys)
108
  * @method $this zadd($key, array $membersAndScoresDictionary)
109
  * @method $this zcard($key)
110
  * @method $this zcount($key, $min, $max)
111
  * @method $this zincrby($key, $increment, $member)
112
+ * @method $this zinterstore($destination, array|string $keys, array $options = null)
113
  * @method $this zrange($key, $start, $stop, array $options = null)
114
  * @method $this zrangebyscore($key, $min, $max, array $options = null)
115
  * @method $this zrank($key, $member)
119
  * @method $this zrevrange($key, $start, $stop, array $options = null)
120
  * @method $this zrevrangebyscore($key, $min, $max, array $options = null)
121
  * @method $this zrevrank($key, $member)
122
+ * @method $this zunionstore($destination, array|string $keys, array $options = null)
123
  * @method $this zscore($key, $member)
124
  * @method $this zscan($key, $cursor, array $options = null)
125
  * @method $this zrangebylex($key, $start, $stop, array $options = null)
127
  * @method $this zremrangebylex($key, $min, $max)
128
  * @method $this zlexcount($key, $min, $max)
129
  * @method $this pfadd($key, array $elements)
130
+ * @method $this pfmerge($destinationKey, array|string $sourceKeys)
131
+ * @method $this pfcount(array|string $keys)
132
  * @method $this pubsub($subcommand, $argument)
133
  * @method $this publish($channel, $message)
134
  * @method $this discard()
dependencies/predis/predis/src/ClientInterface.php CHANGED
@@ -24,7 +24,7 @@ use Predis\Profile\ProfileInterface;
24
  * and more friendly interface to ease programming which is described in the
25
  * following list of methods:
26
  *
27
- * @method int del(array $keys)
28
  * @method string dump($key)
29
  * @method int exists($key)
30
  * @method int expire($key, $seconds)
@@ -81,8 +81,8 @@ use Predis\Profile\ProfileInterface;
81
  * @method int hsetnx($key, $field, $value)
82
  * @method array hvals($key)
83
  * @method int hstrlen($key, $field)
84
- * @method array blpop(array $keys, $timeout)
85
- * @method array brpop(array $keys, $timeout)
86
  * @method array brpoplpush($source, $destination, $timeout)
87
  * @method string lindex($key, $index)
88
  * @method int linsert($key, $whence, $pivot, $value)
@@ -100,24 +100,24 @@ use Predis\Profile\ProfileInterface;
100
  * @method int rpushx($key, $value)
101
  * @method int sadd($key, array $members)
102
  * @method int scard($key)
103
- * @method array sdiff(array $keys)
104
- * @method int sdiffstore($destination, array $keys)
105
- * @method array sinter(array $keys)
106
- * @method int sinterstore($destination, array $keys)
107
  * @method int sismember($key, $member)
108
  * @method array smembers($key)
109
  * @method int smove($source, $destination, $member)
110
- * @method string spop($key, $count = null)
111
  * @method string srandmember($key, $count = null)
112
  * @method int srem($key, $member)
113
  * @method array sscan($key, $cursor, array $options = null)
114
- * @method array sunion(array $keys)
115
- * @method int sunionstore($destination, array $keys)
116
  * @method int zadd($key, array $membersAndScoresDictionary)
117
  * @method int zcard($key)
118
  * @method string zcount($key, $min, $max)
119
  * @method string zincrby($key, $increment, $member)
120
- * @method int zinterstore($destination, array $keys, array $options = null)
121
  * @method array zrange($key, $start, $stop, array $options = null)
122
  * @method array zrangebyscore($key, $min, $max, array $options = null)
123
  * @method int zrank($key, $member)
@@ -127,7 +127,7 @@ use Predis\Profile\ProfileInterface;
127
  * @method array zrevrange($key, $start, $stop, array $options = null)
128
  * @method array zrevrangebyscore($key, $max, $min, array $options = null)
129
  * @method int zrevrank($key, $member)
130
- * @method int zunionstore($destination, array $keys, array $options = null)
131
  * @method string zscore($key, $member)
132
  * @method array zscan($key, $cursor, array $options = null)
133
  * @method array zrangebylex($key, $start, $stop, array $options = null)
@@ -135,8 +135,8 @@ use Predis\Profile\ProfileInterface;
135
  * @method int zremrangebylex($key, $min, $max)
136
  * @method int zlexcount($key, $min, $max)
137
  * @method int pfadd($key, array $elements)
138
- * @method mixed pfmerge($destinationKey, array $sourceKeys)
139
- * @method int pfcount(array $keys)
140
  * @method mixed pubsub($subcommand, $argument)
141
  * @method int publish($channel, $message)
142
  * @method mixed discard()
24
  * and more friendly interface to ease programming which is described in the
25
  * following list of methods:
26
  *
27
+ * @method int del(array|string $keys)
28
  * @method string dump($key)
29
  * @method int exists($key)
30
  * @method int expire($key, $seconds)
81
  * @method int hsetnx($key, $field, $value)
82
  * @method array hvals($key)
83
  * @method int hstrlen($key, $field)
84
+ * @method array blpop(array|string $keys, $timeout)
85
+ * @method array brpop(array|string $keys, $timeout)
86
  * @method array brpoplpush($source, $destination, $timeout)
87
  * @method string lindex($key, $index)
88
  * @method int linsert($key, $whence, $pivot, $value)
100
  * @method int rpushx($key, $value)
101
  * @method int sadd($key, array $members)
102
  * @method int scard($key)
103
+ * @method array sdiff(array|string $keys)
104
+ * @method int sdiffstore($destination, array|string $keys)
105
+ * @method array sinter(array|string $keys)
106
+ * @method int sinterstore($destination, array|string $keys)
107
  * @method int sismember($key, $member)
108
  * @method array smembers($key)
109
  * @method int smove($source, $destination, $member)
110
+ * @method array spop($key, $count = null)
111
  * @method string srandmember($key, $count = null)
112
  * @method int srem($key, $member)
113
  * @method array sscan($key, $cursor, array $options = null)
114
+ * @method array sunion(array|string $keys)
115
+ * @method int sunionstore($destination, array|string $keys)
116
  * @method int zadd($key, array $membersAndScoresDictionary)
117
  * @method int zcard($key)
118
  * @method string zcount($key, $min, $max)
119
  * @method string zincrby($key, $increment, $member)
120
+ * @method int zinterstore($destination, array|string $keys, array $options = null)
121
  * @method array zrange($key, $start, $stop, array $options = null)
122
  * @method array zrangebyscore($key, $min, $max, array $options = null)
123
  * @method int zrank($key, $member)
127
  * @method array zrevrange($key, $start, $stop, array $options = null)
128
  * @method array zrevrangebyscore($key, $max, $min, array $options = null)
129
  * @method int zrevrank($key, $member)
130
+ * @method int zunionstore($destination, array|string $keys, array $options = null)
131
  * @method string zscore($key, $member)
132
  * @method array zscan($key, $cursor, array $options = null)
133
  * @method array zrangebylex($key, $start, $stop, array $options = null)
135
  * @method int zremrangebylex($key, $min, $max)
136
  * @method int zlexcount($key, $min, $max)
137
  * @method int pfadd($key, array $elements)
138
+ * @method mixed pfmerge($destinationKey, array|string $sourceKeys)
139
+ * @method int pfcount(array|string $keys)
140
  * @method mixed pubsub($subcommand, $argument)
141
  * @method int publish($channel, $message)
142
  * @method mixed discard()
dependencies/predis/predis/src/Cluster/Hash/CRC16.php CHANGED
@@ -61,6 +61,8 @@ class CRC16 implements HashGeneratorInterface
61
  // CRC-CCITT-16 algorithm
62
  $crc = 0;
63
  $CCITT_16 = self::$CCITT_16;
 
 
64
  $strlen = strlen($value);
65
 
66
  for ($i = 0; $i < $strlen; ++$i) {
61
  // CRC-CCITT-16 algorithm
62
  $crc = 0;
63
  $CCITT_16 = self::$CCITT_16;
64
+
65
+ $value = (string) $value;
66
  $strlen = strlen($value);
67
 
68
  for ($i = 0; $i < $strlen; ++$i) {
dependencies/predis/predis/src/Collection/Iterator/HashKey.php CHANGED
@@ -50,11 +50,9 @@ class HashKey extends CursorBasedIterator
50
  */
51
  protected function extractNext()
52
  {
53
- if ($kv = each($this->elements)) {
54
- $this->position = $kv[0];
55
- $this->current = $kv[1];
56
 
57
- unset($this->elements[$this->position]);
58
- }
59
  }
60
  }
50
  */
51
  protected function extractNext()
52
  {
53
+ $this->position = key($this->elements);
54
+ $this->current = current($this->elements);
 
55
 
56
+ unset($this->elements[$this->position]);
 
57
  }
58
  }
dependencies/predis/predis/src/Collection/Iterator/SortedSetKey.php CHANGED
@@ -50,11 +50,9 @@ class SortedSetKey extends CursorBasedIterator
50
  */
51
  protected function extractNext()
52
  {
53
- if ($kv = each($this->elements)) {
54
- $this->position = $kv[0];
55
- $this->current = $kv[1];
56
 
57
- unset($this->elements[$this->position]);
58
- }
59
  }
60
  }
50
  */
51
  protected function extractNext()
52
  {
53
+ $this->position = key($this->elements);
54
+ $this->current = current($this->elements);
 
55
 
56
+ unset($this->elements[$this->position]);
 
57
  }
58
  }
dependencies/predis/predis/src/Configuration/OptionsInterface.php CHANGED
@@ -11,16 +11,22 @@
11
 
12
  namespace Predis\Configuration;
13
 
 
 
 
 
 
 
14
  /**
15
  * Interface defining a container for client options.
16
  *
17
- * @property-read mixed aggregate Custom connection aggregator.
18
- * @property-read mixed cluster Aggregate connection for clustering.
19
- * @property-read mixed connections Connection factory.
20
- * @property-read mixed exceptions Toggles exceptions in client for -ERR responses.
21
- * @property-read mixed prefix Key prefixing strategy using the given prefix.
22
- * @property-read mixed profile Server profile.
23
- * @property-read mixed replication Aggregate connection for replication.
24
  *
25
  * @author Daniele Alessandri <suppakilla@gmail.com>
26
  */
11
 
12
  namespace Predis\Configuration;
13
 
14
+ use Predis\Command\Processor\ProcessorInterface;
15
+ use Predis\Connection\Aggregate\ClusterInterface;
16
+ use Predis\Connection\Aggregate\ReplicationInterface;
17
+ use Predis\Connection\FactoryInterface;
18
+ use Predis\Profile\ProfileInterface;
19
+
20
  /**
21
  * Interface defining a container for client options.
22
  *
23
+ * @property-read callable $aggregate Custom connection aggregator.
24
+ * @property-read ClusterInterface $cluster Aggregate connection for clustering.
25
+ * @property-read FactoryInterface $connections Connection factory.
26
+ * @property-read bool $exceptions Toggles exceptions in client for -ERR responses.
27
+ * @property-read ProcessorInterface $prefix Key prefixing strategy using the given prefix.
28
+ * @property-read ProfileInterface $profile Server profile.
29
+ * @property-read ReplicationInterface $replication Aggregate connection for replication.
30
  *
31
  * @author Daniele Alessandri <suppakilla@gmail.com>
32
  */
dependencies/predis/predis/src/Connection/Aggregate/SentinelReplication.php CHANGED
@@ -515,8 +515,10 @@ class SentinelReplication implements ReplicationInterface
515
  /**
516
  * Asserts that the specified connection matches an expected role.
517
  *
518
- * @param NodeConnectionInterface $sentinel Connection to a redis server.
519
- * @param string $role Expected role of the server ("master", "slave" or "sentinel").
 
 
520
  */
521
  protected function assertConnectionRole(NodeConnectionInterface $connection, $role)
522
  {
515
  /**
516
  * Asserts that the specified connection matches an expected role.
517
  *
518
+ * @param NodeConnectionInterface $connection Connection to a redis server.
519
+ * @param string $role Expected role of the server ("master", "slave" or "sentinel").
520
+ *
521
+ * @throws RoleException
522
  */
523
  protected function assertConnectionRole(NodeConnectionInterface $connection, $role)
524
  {
includes/class-plugin.php CHANGED
@@ -130,13 +130,22 @@ class Plugin {
130
  wp_clear_scheduled_hook( 'redis_gather_metrics' );
131
  }
132
 
133
- UI::register_tab( 'overview', __( 'Overview', 'redis-cache' ), [ 'default' => true ] );
 
 
 
 
134
 
135
- if ( ! defined( 'WP_REDIS_DISABLE_METRICS' ) || ! WP_REDIS_DISABLE_METRICS ) {
136
- UI::register_tab( 'metrics', __( 'Metrics', 'redis-cache' ) );
137
- }
 
 
138
 
139
- UI::register_tab( 'diagnostics', __( 'Diagnostics', 'redis-cache' ) );
 
 
 
140
 
141
  // show admin page
142
  require_once WP_REDIS_PLUGIN_PATH . '/includes/ui/settings.php';
@@ -227,7 +236,7 @@ class Plugin {
227
  'calls' => __( 'Calls', 'redis-cache' ),
228
  'no_data' => __( 'Not enough data collected, yet.', 'redis-cache' ),
229
  'no_cache' => __( 'Enable object cache to collect data.', 'redis-cache' ),
230
- 'pro' => 'Redis Cache Pro',
231
  ),
232
  )
233
  );
@@ -325,21 +334,24 @@ class Plugin {
325
  }
326
 
327
  public function get_status() {
328
- if (
329
- ! $this->object_cache_dropin_exists() ||
330
- ( defined( 'WP_REDIS_DISABLED' ) && WP_REDIS_DISABLED )
331
- ) {
332
  return __( 'Disabled', 'redis-cache' );
333
  }
334
 
335
- if ( $this->validate_object_cache_dropin() ) {
336
- if ( $this->get_redis_status() ) {
337
- return __( 'Connected', 'redis-cache' );
338
- }
339
 
340
- if ( $this->get_redis_status() === false ) {
341
- return __( 'Not Connected', 'redis-cache' );
342
- }
 
 
 
 
 
343
  }
344
 
345
  return __( 'Unknown', 'redis-cache' );
@@ -357,11 +369,15 @@ class Plugin {
357
  return;
358
  }
359
 
360
- if ( $this->validate_object_cache_dropin() && method_exists( $wp_object_cache, 'redis_status' ) ) {
361
- return $wp_object_cache->redis_status();
 
 
 
 
362
  }
363
 
364
- return;
365
  }
366
 
367
  public function get_redis_version() {
@@ -585,7 +601,7 @@ class Plugin {
585
 
586
  printf(
587
  '<div class="notice notice-info is-dismissible" data-dismissible="pro_release_notice"><p><strong>%s</strong> %s</p></div>',
588
- __( 'Redis Cache Pro is out!', 'redis-cache' ),
589
  sprintf(
590
  // translators: %s = Link to the plugin setting screen
591
  __( 'A <u>business class</u> object cache backend. Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it. <a href="%s">Learn more »</a>', 'redis-cache' ),
@@ -619,10 +635,10 @@ class Plugin {
619
 
620
  printf(
621
  '<div class="notice woocommerce-message woocommerce-admin-promo-messages is-dismissible" data-dismissible="wc_pro_notice"><p><strong>%s</strong></p><p>%s</p></div>',
622
- __( 'Redis Cache Pro + WooCommerce = ❤️', 'redis-cache' ),
623
  sprintf(
624
  // translators: %s = Link to the plugin's settings screen
625
- __( 'Redis Cache Pro is a <u>business class</u> object cache that’s highly-optimized for WooCommerce to provide true reliability, peace of mind and faster load times for your store. <a style="color: #bb77ae;" href="%s">Learn more »</a>', 'redis-cache' ),
626
  network_admin_url( $this->page )
627
  )
628
  );
130
  wp_clear_scheduled_hook( 'redis_gather_metrics' );
131
  }
132
 
133
+ UI::register_tab(
134
+ 'overview',
135
+ __( 'Overview', 'redis-cache' ),
136
+ [ 'default' => true ]
137
+ );
138
 
139
+ UI::register_tab(
140
+ 'metrics',
141
+ __( 'Metrics', 'redis-cache' ),
142
+ [ 'disabled' => defined( 'WP_REDIS_DISABLE_METRICS' ) && WP_REDIS_DISABLE_METRICS ]
143
+ );
144
 
145
+ UI::register_tab(
146
+ 'diagnostics',
147
+ __( 'Diagnostics', 'redis-cache' )
148
+ );
149
 
150
  // show admin page
151
  require_once WP_REDIS_PLUGIN_PATH . '/includes/ui/settings.php';
236
  'calls' => __( 'Calls', 'redis-cache' ),
237
  'no_data' => __( 'Not enough data collected, yet.', 'redis-cache' ),
238
  'no_cache' => __( 'Enable object cache to collect data.', 'redis-cache' ),
239
+ 'pro' => 'Object Cache Pro',
240
  ),
241
  )
242
  );
334
  }
335
 
336
  public function get_status() {
337
+ global $wp_object_cache;
338
+
339
+ if ( defined( 'WP_REDIS_DISABLED' ) && WP_REDIS_DISABLED ) {
 
340
  return __( 'Disabled', 'redis-cache' );
341
  }
342
 
343
+ if ( ! $this->object_cache_dropin_exists() ) {
344
+ return __( 'Drop-in not installed', 'redis-cache' );
345
+ }
 
346
 
347
+ if ( ! $this->validate_object_cache_dropin() ) {
348
+ return __( 'Drop-in is invalid', 'redis-cache' );
349
+ }
350
+
351
+ if ( method_exists( $wp_object_cache, 'redis_status' ) ) {
352
+ return $wp_object_cache->redis_status()
353
+ ? __( 'Connected', 'redis-cache' )
354
+ : __( 'Not connected', 'redis-cache' );
355
  }
356
 
357
  return __( 'Unknown', 'redis-cache' );
369
  return;
370
  }
371
 
372
+ if ( ! $this->validate_object_cache_dropin() ) {
373
+ return;
374
+ }
375
+
376
+ if ( ! method_exists( $wp_object_cache, 'redis_status' ) ) {
377
+ return;
378
  }
379
 
380
+ return $wp_object_cache->redis_status();
381
  }
382
 
383
  public function get_redis_version() {
601
 
602
  printf(
603
  '<div class="notice notice-info is-dismissible" data-dismissible="pro_release_notice"><p><strong>%s</strong> %s</p></div>',
604
+ __( 'Object Cache Pro is out!', 'redis-cache' ),
605
  sprintf(
606
  // translators: %s = Link to the plugin setting screen
607
  __( 'A <u>business class</u> object cache backend. Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it. <a href="%s">Learn more »</a>', 'redis-cache' ),
635
 
636
  printf(
637
  '<div class="notice woocommerce-message woocommerce-admin-promo-messages is-dismissible" data-dismissible="wc_pro_notice"><p><strong>%s</strong></p><p>%s</p></div>',
638
+ __( 'Object Cache Pro + WooCommerce = ❤️', 'redis-cache' ),
639
  sprintf(
640
  // translators: %s = Link to the plugin's settings screen
641
+ __( 'Object Cache Pro is a <u>business class</u> object cache that’s highly-optimized for WooCommerce to provide true reliability, peace of mind and faster load times for your store. <a style="color: #bb77ae;" href="%s">Learn more »</a>', 'redis-cache' ),
642
  network_admin_url( $this->page )
643
  )
644
  );
includes/class-ui.php CHANGED
@@ -30,15 +30,13 @@ class UI {
30
  * @return void
31
  */
32
  public static function register_tab( $slug, $label, $args = [] ) {
33
- self::$tabs[ $slug ] = (object) wp_parse_args(
34
- $args,
35
- [
36
- 'label' => $label,
37
- 'file' => WP_REDIS_PLUGIN_PATH . "/includes/ui/tabs/{$slug}.php",
38
- 'slug' => $slug,
39
- 'default' => false,
40
- ]
41
- );
42
  }
43
 
44
  /**
30
  * @return void
31
  */
32
  public static function register_tab( $slug, $label, $args = [] ) {
33
+ self::$tabs[ $slug ] = (object) wp_parse_args( $args, [
34
+ 'label' => $label,
35
+ 'file' => WP_REDIS_PLUGIN_PATH . "/includes/ui/tabs/{$slug}.php",
36
+ 'slug' => $slug,
37
+ 'default' => false,
38
+ 'disabled' => false,
39
+ ] );
 
 
40
  }
41
 
42
  /**
includes/object-cache.php CHANGED
@@ -3,9 +3,9 @@
3
  * Plugin Name: Redis Object Cache Drop-In
4
  * Plugin URI: http://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
- * Version: 2.0.8
7
  * Author: Till Krüss
8
- * Author URI: https://wprediscache.com
9
  * License: GPLv3
10
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
  *
@@ -863,7 +863,7 @@ class WP_Object_Cache {
863
  * @return bool
864
  */
865
  public function redis_status() {
866
- return $this->redis_connected;
867
  }
868
 
869
  /**
@@ -1379,7 +1379,14 @@ LUA;
1379
  $start_time = microtime( true );
1380
 
1381
  try {
1382
- $results = array_combine( $remaining_keys, $this->redis->mget( $remaining_keys ) );
 
 
 
 
 
 
 
1383
  } catch ( Exception $exception ) {
1384
  $this->handle_exception( $exception );
1385
 
@@ -1581,7 +1588,7 @@ LUA;
1581
 
1582
  ?> <p>
1583
  <strong>Redis Status:</strong>
1584
- <?php echo $this->redis_status() ? 'Connected' : 'Not Connected'; ?>
1585
  <br />
1586
  <strong>Redis Client:</strong>
1587
  <?php echo $this->diagnostics['client'] ?: 'Unknown'; ?>
3
  * Plugin Name: Redis Object Cache Drop-In
4
  * Plugin URI: http://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
+ * Version: 2.0.9
7
  * Author: Till Krüss
8
+ * Author URI: https://objectcache.pro
9
  * License: GPLv3
10
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
  *
863
  * @return bool
864
  */
865
  public function redis_status() {
866
+ return (bool) $this->redis_connected;
867
  }
868
 
869
  /**
1379
  $start_time = microtime( true );
1380
 
1381
  try {
1382
+ $results = array_combine(
1383
+ $remaining_keys,
1384
+ $this->redis->mget(
1385
+ array_map( function ( $key ) use ( $derived_keys ) {
1386
+ return $derived_keys[ $key ];
1387
+ }, $remaining_keys )
1388
+ )
1389
+ );
1390
  } catch ( Exception $exception ) {
1391
  $this->handle_exception( $exception );
1392
 
1588
 
1589
  ?> <p>
1590
  <strong>Redis Status:</strong>
1591
+ <?php echo $this->redis_status() ? 'Connected' : 'Not connected'; ?>
1592
  <br />
1593
  <strong>Redis Client:</strong>
1594
  <?php echo $this->diagnostics['client'] ?: 'Unknown'; ?>
includes/ui/diagnostics.php CHANGED
@@ -16,7 +16,9 @@ $disabled = defined( 'WP_REDIS_DISABLED' ) && WP_REDIS_DISABLED;
16
 
17
  $info['Status'] = $plugin->get_status();
18
  $info['Client'] = $plugin->get_redis_client_name();
19
- $info['Drop-in'] = $dropin ? 'Valid' : 'Invalid';
 
 
20
  $info['Disabled'] = $disabled ? 'Yes' : 'No';
21
  $info['Filesystem'] = is_wp_error( $filesystem ) ? $filesystem->get_error_message() : 'Working';
22
 
16
 
17
  $info['Status'] = $plugin->get_status();
18
  $info['Client'] = $plugin->get_redis_client_name();
19
+ $info['Drop-in'] = $plugin->object_cache_dropin_exists()
20
+ ? ($dropin ? 'Valid' : 'Invalid')
21
+ : 'Not installed';
22
  $info['Disabled'] = $disabled ? 'Yes' : 'No';
23
  $info['Filesystem'] = is_wp_error( $filesystem ) ? $filesystem->get_error_message() : 'Working';
24
 
includes/ui/settings.php CHANGED
@@ -26,23 +26,43 @@ defined( '\\ABSPATH' ) || exit;
26
 
27
  <h2 class="nav-tab-wrapper">
28
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
29
- <a class="nav-tab <?php echo $ui_tab->default ? 'nav-tab-active' : ''; ?>"
30
- id="<?php echo esc_attr( $ui_tab->slug ); ?>-tab"
31
- data-toggle="<?php echo esc_attr( $ui_tab->slug ); ?>"
32
- href="<?php echo esc_attr( $ui_tab->slug ); ?>"
33
- >
34
- <?php echo esc_html( $ui_tab->label ); ?>
35
- </a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  <?php endforeach; ?>
37
  </h2>
38
 
39
  <div class="tab-content">
40
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
41
- <div id="<?php echo esc_attr( $ui_tab->slug ); ?>-pane"
42
- class="tab-pane tab-pane-<?php echo esc_attr( $ui_tab->slug ); ?> <?php echo $ui_tab->default ? 'active' : ''; ?>"
43
- >
44
- <?php include $ui_tab->file; ?>
45
- </div>
 
 
46
  <?php endforeach; ?>
47
  </div>
48
 
@@ -58,7 +78,7 @@ defined( '\\ABSPATH' ) || exit;
58
 
59
  <div class="card">
60
  <h2 class="title">
61
- Redis Cache Pro
62
  </h2>
63
  <p>
64
  <b>A business class object cache backend.</b> Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it.
@@ -75,8 +95,8 @@ defined( '\\ABSPATH' ) || exit;
75
  <li>Optimized for WooCommerce, Jetpack &amp; Yoast SEO</li>
76
  </ul>
77
  <p>
78
- <a class="button button-primary" target="_blank" rel="noopener" href="https://wprediscache.com/?utm_source=wp-plugin&amp;utm_medium=settings">
79
- <?php esc_html_e( 'Learn more', 'redis-cache' ); ?>
80
  </a>
81
  </p>
82
  </div>
26
 
27
  <h2 class="nav-tab-wrapper">
28
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
29
+ <?php if ( $ui_tab->disabled ) : ?>
30
+
31
+ <span
32
+ class="nav-tab nav-tab-disabled"
33
+ title="<?php printf(
34
+ // translators: %s = Tab label
35
+ esc_html__( '%s are disabled for this site.', 'redis-cache' ),
36
+ esc_html( $ui_tab->label )
37
+ ) ?>"
38
+ >
39
+ <?php echo esc_html( $ui_tab->label ); ?>
40
+ </span>
41
+
42
+ <?php else : ?>
43
+
44
+ <a
45
+ id="<?php echo esc_attr( $ui_tab->slug ); ?>-tab"
46
+ class="nav-tab <?php echo $ui_tab->default ? 'nav-tab-active' : ''; ?>"
47
+ data-toggle="<?php echo esc_attr( $ui_tab->slug ); ?>"
48
+ href="#<?php echo esc_attr( $ui_tab->slug ); ?>"
49
+ >
50
+ <?php echo esc_html( $ui_tab->label ); ?>
51
+ </a>
52
+
53
+ <?php endif; ?>
54
  <?php endforeach; ?>
55
  </h2>
56
 
57
  <div class="tab-content">
58
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
59
+ <?php if ( ! $ui_tab->disabled ) : ?>
60
+ <div id="<?php echo esc_attr( $ui_tab->slug ); ?>-pane"
61
+ class="tab-pane tab-pane-<?php echo esc_attr( $ui_tab->slug ); ?> <?php echo $ui_tab->default ? 'active' : ''; ?>"
62
+ >
63
+ <?php include $ui_tab->file; ?>
64
+ </div>
65
+ <?php endif; ?>
66
  <?php endforeach; ?>
67
  </div>
68
 
78
 
79
  <div class="card">
80
  <h2 class="title">
81
+ Object Cache Pro
82
  </h2>
83
  <p>
84
  <b>A business class object cache backend.</b> Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it.
95
  <li>Optimized for WooCommerce, Jetpack &amp; Yoast SEO</li>
96
  </ul>
97
  <p>
98
+ <a class="button button-primary" target="_blank" rel="noopener" href="https://objectcache.pro/?utm_source=wp-plugin&amp;utm_medium=settings">
99
+ Learn more
100
  </a>
101
  </p>
102
  </div>
includes/ui/tabs/overview.php CHANGED
@@ -7,14 +7,14 @@
7
 
8
  defined( '\\ABSPATH' ) || exit;
9
 
10
- $roc = redis_object_cache();
11
 
12
- $redis_client = $roc->get_redis_client_name();
13
- $redis_prefix = $roc->get_redis_prefix();
14
- $redis_maxttl = $roc->get_redis_maxttl();
15
- $redis_version = $roc->get_redis_version();
16
 
17
- $diagnostics = $roc->get_diagnostics();
18
 
19
  ?>
20
 
@@ -29,24 +29,6 @@ $diagnostics = $roc->get_diagnostics();
29
  <th><?php esc_html_e( 'Client:', 'redis-cache' ); ?></th>
30
  <td>
31
  <code><?php echo esc_html( $redis_client ); ?></code>
32
-
33
- <?php if ( stripos( (string) $redis_client, 'predis' ) === 0 ) : ?>
34
- <p class="description is-notice">
35
- <?php if ( version_compare( phpversion(), '7.2', '<' ) ) : ?>
36
- <?php _e( 'The Predis library is no longer maintained.', 'redis-cache' ); ?>
37
- <?php else : ?>
38
- <?php _e( 'The Predis library is not reliable on PHP 7.2 and newer.', 'redis-cache' ); ?>
39
- <?php endif; ?>
40
-
41
- <?php
42
- printf(
43
- // translators: %s = Link to the help article
44
- __( 'Learn more about <a href="%s" target="_blank">migrating to Credis or PhpRedis</a> to avoid compatiblity issues in the future.', 'redis-cache' ),
45
- 'https://github.com/rhubarbgroup/redis-cache/wiki/Predis'
46
- );
47
- ?>
48
- </p>
49
- <?php endif; ?>
50
  </td>
51
  </tr>
52
  <?php endif; ?>
@@ -55,12 +37,12 @@ $diagnostics = $roc->get_diagnostics();
55
  <th><?php esc_html_e( 'Drop-in:', 'redis-cache' ); ?></th>
56
  <td>
57
  <code>
58
- <?php if ( ! $roc->object_cache_dropin_exists() ) : ?>
59
- <?php esc_html_e( 'Missing', 'redis-cache' ); ?>
60
- <?php elseif ( $roc->object_cache_dropin_outdated() ) : ?>
61
  <?php esc_html_e( 'Outdated', 'redis-cache' ); ?>
62
  <?php else : ?>
63
- <?php $roc->validate_object_cache_dropin()
64
  ? esc_html_e( 'Valid', 'redis-cache' )
65
  : esc_html_e( 'Invalid', 'redis-cache' );
66
  ?>
@@ -112,7 +94,7 @@ $diagnostics = $roc->get_diagnostics();
112
 
113
  <tr>
114
  <th><?php esc_html_e( 'Status:', 'redis-cache' ); ?></th>
115
- <td><code><?php echo esc_html( $roc->get_status() ); ?></code></td>
116
  </tr>
117
 
118
  <?php if ( ! empty( $diagnostics['host'] ) ) : ?>
@@ -253,14 +235,20 @@ $diagnostics = $roc->get_diagnostics();
253
 
254
  <p class="submit">
255
 
256
- <?php if ( $roc->get_redis_status() ) : ?>
257
- <a href="<?php echo esc_attr( redis_object_cache()->action_link( 'flush-cache' ) ); ?>" class="button button-primary button-large"><?php esc_html_e( 'Flush Cache', 'redis-cache' ); ?></a> &nbsp;
 
 
258
  <?php endif; ?>
259
 
260
- <?php if ( $roc->validate_object_cache_dropin() ) : ?>
261
- <a href="<?php echo esc_attr( redis_object_cache()->action_link( 'disable-cache' ) ); ?>" class="button button-secondary button-large"><?php esc_html_e( 'Disable Object Cache', 'redis-cache' ); ?></a>
 
 
262
  <?php else : ?>
263
- <a href="<?php echo esc_attr( redis_object_cache()->action_link( 'enable-cache' ) ); ?>" class="button button-primary button-large"><?php esc_html_e( 'Enable Object Cache', 'redis-cache' ); ?></a>
 
 
264
  <?php endif; ?>
265
 
266
  </p>
7
 
8
  defined( '\\ABSPATH' ) || exit;
9
 
10
+ $plugin = redis_object_cache();
11
 
12
+ $redis_client = $plugin->get_redis_client_name();
13
+ $redis_prefix = $plugin->get_redis_prefix();
14
+ $redis_maxttl = $plugin->get_redis_maxttl();
15
+ $redis_version = $plugin->get_redis_version();
16
 
17
+ $diagnostics = $plugin->get_diagnostics();
18
 
19
  ?>
20
 
29
  <th><?php esc_html_e( 'Client:', 'redis-cache' ); ?></th>
30
  <td>
31
  <code><?php echo esc_html( $redis_client ); ?></code>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  </td>
33
  </tr>
34
  <?php endif; ?>
37
  <th><?php esc_html_e( 'Drop-in:', 'redis-cache' ); ?></th>
38
  <td>
39
  <code>
40
+ <?php if ( ! $plugin->object_cache_dropin_exists() ) : ?>
41
+ <?php esc_html_e( 'Not installed', 'redis-cache' ); ?>
42
+ <?php elseif ( $plugin->object_cache_dropin_outdated() ) : ?>
43
  <?php esc_html_e( 'Outdated', 'redis-cache' ); ?>
44
  <?php else : ?>
45
+ <?php $plugin->validate_object_cache_dropin()
46
  ? esc_html_e( 'Valid', 'redis-cache' )
47
  : esc_html_e( 'Invalid', 'redis-cache' );
48
  ?>
94
 
95
  <tr>
96
  <th><?php esc_html_e( 'Status:', 'redis-cache' ); ?></th>
97
+ <td><code><?php echo esc_html( $plugin->get_status() ); ?></code></td>
98
  </tr>
99
 
100
  <?php if ( ! empty( $diagnostics['host'] ) ) : ?>
235
 
236
  <p class="submit">
237
 
238
+ <?php if ( $plugin->get_redis_status() ) : ?>
239
+ <a href="<?php echo esc_attr( $plugin->action_link( 'flush-cache' ) ); ?>" class="button button-primary button-large">
240
+ <?php esc_html_e( 'Flush Cache', 'redis-cache' ); ?>
241
+ </a> &nbsp;
242
  <?php endif; ?>
243
 
244
+ <?php if ( $plugin->validate_object_cache_dropin() ) : ?>
245
+ <a href="<?php echo esc_attr( $plugin->action_link( 'disable-cache' ) ); ?>" class="button button-secondary button-large">
246
+ <?php esc_html_e( 'Disable Object Cache', 'redis-cache' ); ?>
247
+ </a>
248
  <?php else : ?>
249
+ <a href="<?php echo esc_attr( $plugin->action_link( 'enable-cache' ) ); ?>" class="button button-primary button-large">
250
+ <?php esc_html_e( 'Enable Object Cache', 'redis-cache' ); ?>
251
+ </a>
252
  <?php endif; ?>
253
 
254
  </p>
languages/redis-cache.pot CHANGED
@@ -2,21 +2,21 @@
2
  # This file is distributed under the GPLv3.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Redis Object Cache 2.0.7\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/redis-cache\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2020-07-28T14:33:53+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: redis-cache\n"
16
 
17
  #. Plugin Name of the plugin
18
- #: includes/class-plugin.php:106
19
- #: includes/class-plugin.php:177
20
  #: includes/ui/settings.php:18
21
  msgid "Redis Object Cache"
22
  msgstr ""
@@ -34,184 +34,184 @@ msgid "Till Krüss"
34
  msgstr ""
35
 
36
  #. Author URI of the plugin
37
- msgid "https://wprediscache.com"
38
  msgstr ""
39
 
40
- #: includes/class-plugin.php:107
41
  msgid "Redis"
42
  msgstr ""
43
 
44
- #: includes/class-plugin.php:129
45
- msgid "Flush Object Cache"
46
- msgstr ""
47
-
48
- #: includes/class-plugin.php:132
49
- msgid "Flush the Redis object cache"
50
- msgstr ""
51
-
52
- #: includes/class-plugin.php:158
53
  #: includes/ui/tabs/overview.php:22
54
  msgid "Overview"
55
  msgstr ""
56
 
57
- #: includes/class-plugin.php:161
58
  msgid "Metrics"
59
  msgstr ""
60
 
61
- #: includes/class-plugin.php:164
62
  msgid "Diagnostics"
63
  msgstr ""
64
 
65
- #: includes/class-plugin.php:189
66
  msgid "Settings"
67
  msgstr ""
68
 
69
- #: includes/class-plugin.php:249
70
  #: includes/ui/tabs/metrics.php:17
71
  #: includes/ui/widget.php:16
72
  msgid "Time"
73
  msgstr ""
74
 
75
- #: includes/class-plugin.php:250
76
  #: includes/ui/tabs/metrics.php:22
77
  #: includes/ui/widget.php:21
78
  msgid "Bytes"
79
  msgstr ""
80
 
81
- #: includes/class-plugin.php:251
82
  #: includes/ui/tabs/metrics.php:27
83
  #: includes/ui/widget.php:26
84
  msgid "Ratio"
85
  msgstr ""
86
 
87
- #: includes/class-plugin.php:252
88
  #: includes/ui/tabs/metrics.php:32
89
  #: includes/ui/widget.php:31
90
  msgid "Calls"
91
  msgstr ""
92
 
93
- #: includes/class-plugin.php:253
94
  msgid "Not enough data collected, yet."
95
  msgstr ""
96
 
97
- #: includes/class-plugin.php:254
98
  msgid "Enable object cache to collect data."
99
  msgstr ""
100
 
101
- #: includes/class-plugin.php:357
102
  #: includes/class-qm-collector.php:48
103
  msgid "Disabled"
104
  msgstr ""
105
 
106
- #: includes/class-plugin.php:362
 
 
 
 
 
 
 
 
107
  msgid "Connected"
108
  msgstr ""
109
 
110
- #: includes/class-plugin.php:366
111
- msgid "Not Connected"
112
  msgstr ""
113
 
114
- #: includes/class-plugin.php:370
115
- #: includes/ui/tabs/overview.php:248
116
  msgid "Unknown"
117
  msgstr ""
118
 
119
  #. translators: %s = Action link to update the drop-in
120
- #: includes/class-plugin.php:449
121
  msgid "The Redis object cache drop-in is outdated. Please <a href=\"%s\">update the drop-in</a>."
122
  msgstr ""
123
 
124
  #. translators: %s = Action link to update the drop-in
125
- #: includes/class-plugin.php:453
126
  msgid "A foreign object cache drop-in was found. To use Redis for object caching, please <a href=\"%s\">enable the drop-in</a>."
127
  msgstr ""
128
 
129
- #: includes/class-plugin.php:483
130
  msgid "Object cache flushed."
131
  msgstr ""
132
 
133
- #: includes/class-plugin.php:489
134
  msgid "Object cache could not be flushed."
135
  msgstr ""
136
 
137
- #: includes/class-plugin.php:511
138
  #: includes/cli/class-commands.php:74
139
  msgid "Object cache enabled."
140
  msgstr ""
141
 
142
- #: includes/class-plugin.php:517
143
  #: includes/cli/class-commands.php:76
144
  msgid "Object cache could not be enabled."
145
  msgstr ""
146
 
147
- #: includes/class-plugin.php:530
148
  #: includes/cli/class-commands.php:113
149
  msgid "Object cache disabled."
150
  msgstr ""
151
 
152
- #: includes/class-plugin.php:535
153
  #: includes/cli/class-commands.php:115
154
  msgid "Object cache could not be disabled."
155
  msgstr ""
156
 
157
- #: includes/class-plugin.php:554
158
  #: includes/cli/class-commands.php:147
159
  msgid "Updated object cache drop-in and enabled Redis object cache."
160
  msgstr ""
161
 
162
- #: includes/class-plugin.php:560
163
  #: includes/cli/class-commands.php:149
164
  msgid "Object cache drop-in could not be updated."
165
  msgstr ""
166
 
167
- #: includes/class-plugin.php:613
168
- msgid "Redis Cache Pro is out!"
169
  msgstr ""
170
 
171
  #. translators: %s = Link to the plugin setting screen
172
- #: includes/class-plugin.php:616
173
  msgid "A <u>business class</u> object cache backend. Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it. <a href=\"%s\">Learn more »</a>"
174
  msgstr ""
175
 
176
- #: includes/class-plugin.php:647
177
- msgid "Redis Cache Pro + WooCommerce = ❤️"
178
  msgstr ""
179
 
180
  #. translators: %s = Link to the plugin's settings screen
181
- #: includes/class-plugin.php:650
182
- msgid "Redis Cache Pro is a <u>business class</u> object cache that’s highly-optimized for WooCommerce to provide true reliability, peace of mind and faster load times for your store. <a style=\"color: #bb77ae;\" href=\"%s\">Learn more »</a>"
183
  msgstr ""
184
 
185
  #. translators: %1$d = number of objects. %2$s = human-readable size of cache. %3$s = name of the used client.
186
- #: includes/class-plugin.php:768
187
  msgid "Retrieved %1$d objects (%2$s) from Redis using %3$s."
188
  msgstr ""
189
 
190
- #: includes/class-plugin.php:808
191
  msgid "Could not initialize filesystem."
192
  msgstr ""
193
 
194
- #: includes/class-plugin.php:815
195
  msgid "Object cache file doesn’t exist."
196
  msgstr ""
197
 
198
- #: includes/class-plugin.php:820
199
  msgid "Test file exists, but couldn’t be deleted."
200
  msgstr ""
201
 
202
- #: includes/class-plugin.php:825
203
  msgid "Failed to copy test file."
204
  msgstr ""
205
 
206
- #: includes/class-plugin.php:829
207
  msgid "Copied test file doesn’t exist."
208
  msgstr ""
209
 
210
- #: includes/class-plugin.php:835
211
  msgid "Couldn’t verify test file contents."
212
  msgstr ""
213
 
214
- #: includes/class-plugin.php:839
215
  msgid "Copied test file couldn’t be deleted."
216
  msgstr ""
217
 
@@ -220,7 +220,7 @@ msgid "Object Cache"
220
  msgstr ""
221
 
222
  #: includes/class-qm-collector.php:48
223
- #: includes/ui/tabs/overview.php:76
224
  msgid "Yes"
225
  msgstr ""
226
 
@@ -285,176 +285,152 @@ msgstr ""
285
  msgid "Metadata"
286
  msgstr ""
287
 
288
- #: includes/ui/settings.php:54
289
- msgid "Resources"
 
290
  msgstr ""
291
 
292
- #: includes/ui/settings.php:79
293
- msgid "Learn more"
294
  msgstr ""
295
 
296
- #: includes/ui/settings.php:92
297
  msgid "Your site meets the system requirements for the Pro version."
298
  msgstr ""
299
 
300
- #: includes/ui/settings.php:99
301
  msgid "Your site <i>does not</i> meet the requirements for the Pro version:"
302
  msgstr ""
303
 
304
  #. translators: %s = PHP Version.
305
- #: includes/ui/settings.php:108
306
  msgid "The current version of PHP (%s) is too old. PHP 7.0 or newer is required."
307
  msgstr ""
308
 
309
- #: includes/ui/settings.php:117
310
  msgid "The PhpRedis extension is not installed."
311
  msgstr ""
312
 
313
  #. translators: %s = Version of the PhpRedis extension.
314
- #: includes/ui/settings.php:124
315
  msgid "The current version of the PhpRedis extension (%s) is too old. PhpRedis 3.1.1 or newer is required."
316
  msgstr ""
317
 
318
- #: includes/ui/settings.php:140
319
- msgid "Support & Updates"
320
- msgstr ""
321
-
322
- #: includes/ui/settings.php:154
323
- msgid "Documentation"
324
- msgstr ""
325
-
326
- #: includes/ui/settings.php:160
327
- msgid "Support"
328
- msgstr ""
329
-
330
  #: includes/ui/tabs/overview.php:29
331
  msgid "Client:"
332
  msgstr ""
333
 
334
- #: includes/ui/tabs/overview.php:36
335
- msgid "The Predis library is no longer maintained."
336
- msgstr ""
337
-
338
- #: includes/ui/tabs/overview.php:38
339
- msgid "The Predis library is not reliable on PHP 7.2 and newer."
340
- msgstr ""
341
-
342
- #. translators: %s = Link to the help article
343
- #: includes/ui/tabs/overview.php:44
344
- msgid "Learn more about <a href=\"%s\" target=\"_blank\">migrating to Credis or PhpRedis</a> to avoid compatiblity issues in the future."
345
- msgstr ""
346
-
347
- #: includes/ui/tabs/overview.php:55
348
  msgid "Drop-in:"
349
  msgstr ""
350
 
351
- #: includes/ui/tabs/overview.php:59
352
- msgid "Missing"
353
  msgstr ""
354
 
355
- #: includes/ui/tabs/overview.php:61
356
  msgid "Outdated"
357
  msgstr ""
358
 
359
- #: includes/ui/tabs/overview.php:64
360
  msgid "Valid"
361
  msgstr ""
362
 
363
- #: includes/ui/tabs/overview.php:65
364
  msgid "Invalid"
365
  msgstr ""
366
 
367
- #: includes/ui/tabs/overview.php:74
368
  msgid "Disabled:"
369
  msgstr ""
370
 
371
- #: includes/ui/tabs/overview.php:83
372
  msgid "Key Prefix:"
373
  msgstr ""
374
 
375
- #: includes/ui/tabs/overview.php:92
376
  msgid "Max. TTL:"
377
  msgstr ""
378
 
379
- #: includes/ui/tabs/overview.php:98
380
  msgid "This doesn’t appear to be a valid number."
381
  msgstr ""
382
 
383
- #: includes/ui/tabs/overview.php:108
384
  msgid "Connection"
385
  msgstr ""
386
 
387
- #: includes/ui/tabs/overview.php:114
388
  msgid "Status:"
389
  msgstr ""
390
 
391
- #: includes/ui/tabs/overview.php:120
392
  msgid "Host:"
393
  msgstr ""
394
 
395
- #: includes/ui/tabs/overview.php:127
396
  msgid "Cluster:"
397
  msgstr ""
398
 
399
- #: includes/ui/tabs/overview.php:140
400
  msgid "Shards:"
401
  msgstr ""
402
 
403
- #: includes/ui/tabs/overview.php:153
404
  msgid "Servers:"
405
  msgstr ""
406
 
407
- #: includes/ui/tabs/overview.php:166
408
  msgid "Port:"
409
  msgstr ""
410
 
411
- #: includes/ui/tabs/overview.php:173
412
  msgid "Username:"
413
  msgstr ""
414
 
415
- #: includes/ui/tabs/overview.php:180
416
  msgid "Password:"
417
  msgstr ""
418
 
419
- #: includes/ui/tabs/overview.php:189
420
  msgid "Database:"
421
  msgstr ""
422
 
423
- #: includes/ui/tabs/overview.php:196
424
  msgid "Connection Timeout:"
425
  msgstr ""
426
 
427
  #. translators: %s = Redis connection/read timeout in seconds.
428
- #: includes/ui/tabs/overview.php:202
429
- #: includes/ui/tabs/overview.php:219
430
  msgid "%ss"
431
  msgstr ""
432
 
433
- #: includes/ui/tabs/overview.php:213
434
  msgid "Read Timeout:"
435
  msgstr ""
436
 
437
- #: includes/ui/tabs/overview.php:230
438
  msgid "Retry Interval:"
439
  msgstr ""
440
 
441
  #. translators: %s = Redis retry interval in milliseconds.
442
- #: includes/ui/tabs/overview.php:236
443
  msgid "%sms"
444
  msgstr ""
445
 
446
- #: includes/ui/tabs/overview.php:247
447
  msgid "Redis Version:"
448
  msgstr ""
449
 
450
- #: includes/ui/tabs/overview.php:257
451
  msgid "Flush Cache"
452
  msgstr ""
453
 
454
- #: includes/ui/tabs/overview.php:261
455
  msgid "Disable Object Cache"
456
  msgstr ""
457
 
458
- #: includes/ui/tabs/overview.php:263
459
  msgid "Enable Object Cache"
460
  msgstr ""
2
  # This file is distributed under the GPLv3.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Redis Object Cache 2.0.9\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/redis-cache\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2020-08-12T20:22:36+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: redis-cache\n"
16
 
17
  #. Plugin Name of the plugin
18
+ #: includes/class-plugin.php:104
19
+ #: includes/class-plugin.php:161
20
  #: includes/ui/settings.php:18
21
  msgid "Redis Object Cache"
22
  msgstr ""
34
  msgstr ""
35
 
36
  #. Author URI of the plugin
37
+ msgid "https://objectcache.pro"
38
  msgstr ""
39
 
40
+ #: includes/class-plugin.php:105
41
  msgid "Redis"
42
  msgstr ""
43
 
44
+ #: includes/class-plugin.php:135
 
 
 
 
 
 
 
 
45
  #: includes/ui/tabs/overview.php:22
46
  msgid "Overview"
47
  msgstr ""
48
 
49
+ #: includes/class-plugin.php:141
50
  msgid "Metrics"
51
  msgstr ""
52
 
53
+ #: includes/class-plugin.php:147
54
  msgid "Diagnostics"
55
  msgstr ""
56
 
57
+ #: includes/class-plugin.php:173
58
  msgid "Settings"
59
  msgstr ""
60
 
61
+ #: includes/class-plugin.php:233
62
  #: includes/ui/tabs/metrics.php:17
63
  #: includes/ui/widget.php:16
64
  msgid "Time"
65
  msgstr ""
66
 
67
+ #: includes/class-plugin.php:234
68
  #: includes/ui/tabs/metrics.php:22
69
  #: includes/ui/widget.php:21
70
  msgid "Bytes"
71
  msgstr ""
72
 
73
+ #: includes/class-plugin.php:235
74
  #: includes/ui/tabs/metrics.php:27
75
  #: includes/ui/widget.php:26
76
  msgid "Ratio"
77
  msgstr ""
78
 
79
+ #: includes/class-plugin.php:236
80
  #: includes/ui/tabs/metrics.php:32
81
  #: includes/ui/widget.php:31
82
  msgid "Calls"
83
  msgstr ""
84
 
85
+ #: includes/class-plugin.php:237
86
  msgid "Not enough data collected, yet."
87
  msgstr ""
88
 
89
+ #: includes/class-plugin.php:238
90
  msgid "Enable object cache to collect data."
91
  msgstr ""
92
 
93
+ #: includes/class-plugin.php:340
94
  #: includes/class-qm-collector.php:48
95
  msgid "Disabled"
96
  msgstr ""
97
 
98
+ #: includes/class-plugin.php:344
99
+ msgid "Drop-in not installed"
100
+ msgstr ""
101
+
102
+ #: includes/class-plugin.php:348
103
+ msgid "Drop-in is invalid"
104
+ msgstr ""
105
+
106
+ #: includes/class-plugin.php:353
107
  msgid "Connected"
108
  msgstr ""
109
 
110
+ #: includes/class-plugin.php:354
111
+ msgid "Not connected"
112
  msgstr ""
113
 
114
+ #: includes/class-plugin.php:357
115
+ #: includes/ui/tabs/overview.php:230
116
  msgid "Unknown"
117
  msgstr ""
118
 
119
  #. translators: %s = Action link to update the drop-in
120
+ #: includes/class-plugin.php:440
121
  msgid "The Redis object cache drop-in is outdated. Please <a href=\"%s\">update the drop-in</a>."
122
  msgstr ""
123
 
124
  #. translators: %s = Action link to update the drop-in
125
+ #: includes/class-plugin.php:444
126
  msgid "A foreign object cache drop-in was found. To use Redis for object caching, please <a href=\"%s\">enable the drop-in</a>."
127
  msgstr ""
128
 
129
+ #: includes/class-plugin.php:474
130
  msgid "Object cache flushed."
131
  msgstr ""
132
 
133
+ #: includes/class-plugin.php:480
134
  msgid "Object cache could not be flushed."
135
  msgstr ""
136
 
137
+ #: includes/class-plugin.php:502
138
  #: includes/cli/class-commands.php:74
139
  msgid "Object cache enabled."
140
  msgstr ""
141
 
142
+ #: includes/class-plugin.php:508
143
  #: includes/cli/class-commands.php:76
144
  msgid "Object cache could not be enabled."
145
  msgstr ""
146
 
147
+ #: includes/class-plugin.php:521
148
  #: includes/cli/class-commands.php:113
149
  msgid "Object cache disabled."
150
  msgstr ""
151
 
152
+ #: includes/class-plugin.php:526
153
  #: includes/cli/class-commands.php:115
154
  msgid "Object cache could not be disabled."
155
  msgstr ""
156
 
157
+ #: includes/class-plugin.php:545
158
  #: includes/cli/class-commands.php:147
159
  msgid "Updated object cache drop-in and enabled Redis object cache."
160
  msgstr ""
161
 
162
+ #: includes/class-plugin.php:551
163
  #: includes/cli/class-commands.php:149
164
  msgid "Object cache drop-in could not be updated."
165
  msgstr ""
166
 
167
+ #: includes/class-plugin.php:604
168
+ msgid "Object Cache Pro is out!"
169
  msgstr ""
170
 
171
  #. translators: %s = Link to the plugin setting screen
172
+ #: includes/class-plugin.php:607
173
  msgid "A <u>business class</u> object cache backend. Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it. <a href=\"%s\">Learn more »</a>"
174
  msgstr ""
175
 
176
+ #: includes/class-plugin.php:638
177
+ msgid "Object Cache Pro + WooCommerce = ❤️"
178
  msgstr ""
179
 
180
  #. translators: %s = Link to the plugin's settings screen
181
+ #: includes/class-plugin.php:641
182
+ msgid "Object Cache Pro is a <u>business class</u> object cache that’s highly-optimized for WooCommerce to provide true reliability, peace of mind and faster load times for your store. <a style=\"color: #bb77ae;\" href=\"%s\">Learn more »</a>"
183
  msgstr ""
184
 
185
  #. translators: %1$d = number of objects. %2$s = human-readable size of cache. %3$s = name of the used client.
186
+ #: includes/class-plugin.php:759
187
  msgid "Retrieved %1$d objects (%2$s) from Redis using %3$s."
188
  msgstr ""
189
 
190
+ #: includes/class-plugin.php:799
191
  msgid "Could not initialize filesystem."
192
  msgstr ""
193
 
194
+ #: includes/class-plugin.php:806
195
  msgid "Object cache file doesn’t exist."
196
  msgstr ""
197
 
198
+ #: includes/class-plugin.php:811
199
  msgid "Test file exists, but couldn’t be deleted."
200
  msgstr ""
201
 
202
+ #: includes/class-plugin.php:816
203
  msgid "Failed to copy test file."
204
  msgstr ""
205
 
206
+ #: includes/class-plugin.php:820
207
  msgid "Copied test file doesn’t exist."
208
  msgstr ""
209
 
210
+ #: includes/class-plugin.php:826
211
  msgid "Couldn’t verify test file contents."
212
  msgstr ""
213
 
214
+ #: includes/class-plugin.php:830
215
  msgid "Copied test file couldn’t be deleted."
216
  msgstr ""
217
 
220
  msgstr ""
221
 
222
  #: includes/class-qm-collector.php:48
223
+ #: includes/ui/tabs/overview.php:58
224
  msgid "Yes"
225
  msgstr ""
226
 
285
  msgid "Metadata"
286
  msgstr ""
287
 
288
+ #. translators: %s = Tab label
289
+ #: includes/ui/settings.php:35
290
+ msgid "%s are disabled for this site."
291
  msgstr ""
292
 
293
+ #: includes/ui/settings.php:74
294
+ msgid "Resources"
295
  msgstr ""
296
 
297
+ #: includes/ui/settings.php:112
298
  msgid "Your site meets the system requirements for the Pro version."
299
  msgstr ""
300
 
301
+ #: includes/ui/settings.php:119
302
  msgid "Your site <i>does not</i> meet the requirements for the Pro version:"
303
  msgstr ""
304
 
305
  #. translators: %s = PHP Version.
306
+ #: includes/ui/settings.php:128
307
  msgid "The current version of PHP (%s) is too old. PHP 7.0 or newer is required."
308
  msgstr ""
309
 
310
+ #: includes/ui/settings.php:137
311
  msgid "The PhpRedis extension is not installed."
312
  msgstr ""
313
 
314
  #. translators: %s = Version of the PhpRedis extension.
315
+ #: includes/ui/settings.php:144
316
  msgid "The current version of the PhpRedis extension (%s) is too old. PhpRedis 3.1.1 or newer is required."
317
  msgstr ""
318
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  #: includes/ui/tabs/overview.php:29
320
  msgid "Client:"
321
  msgstr ""
322
 
323
+ #: includes/ui/tabs/overview.php:37
 
 
 
 
 
 
 
 
 
 
 
 
 
324
  msgid "Drop-in:"
325
  msgstr ""
326
 
327
+ #: includes/ui/tabs/overview.php:41
328
+ msgid "Not installed"
329
  msgstr ""
330
 
331
+ #: includes/ui/tabs/overview.php:43
332
  msgid "Outdated"
333
  msgstr ""
334
 
335
+ #: includes/ui/tabs/overview.php:46
336
  msgid "Valid"
337
  msgstr ""
338
 
339
+ #: includes/ui/tabs/overview.php:47
340
  msgid "Invalid"
341
  msgstr ""
342
 
343
+ #: includes/ui/tabs/overview.php:56
344
  msgid "Disabled:"
345
  msgstr ""
346
 
347
+ #: includes/ui/tabs/overview.php:65
348
  msgid "Key Prefix:"
349
  msgstr ""
350
 
351
+ #: includes/ui/tabs/overview.php:74
352
  msgid "Max. TTL:"
353
  msgstr ""
354
 
355
+ #: includes/ui/tabs/overview.php:80
356
  msgid "This doesn’t appear to be a valid number."
357
  msgstr ""
358
 
359
+ #: includes/ui/tabs/overview.php:90
360
  msgid "Connection"
361
  msgstr ""
362
 
363
+ #: includes/ui/tabs/overview.php:96
364
  msgid "Status:"
365
  msgstr ""
366
 
367
+ #: includes/ui/tabs/overview.php:102
368
  msgid "Host:"
369
  msgstr ""
370
 
371
+ #: includes/ui/tabs/overview.php:109
372
  msgid "Cluster:"
373
  msgstr ""
374
 
375
+ #: includes/ui/tabs/overview.php:122
376
  msgid "Shards:"
377
  msgstr ""
378
 
379
+ #: includes/ui/tabs/overview.php:135
380
  msgid "Servers:"
381
  msgstr ""
382
 
383
+ #: includes/ui/tabs/overview.php:148
384
  msgid "Port:"
385
  msgstr ""
386
 
387
+ #: includes/ui/tabs/overview.php:155
388
  msgid "Username:"
389
  msgstr ""
390
 
391
+ #: includes/ui/tabs/overview.php:162
392
  msgid "Password:"
393
  msgstr ""
394
 
395
+ #: includes/ui/tabs/overview.php:171
396
  msgid "Database:"
397
  msgstr ""
398
 
399
+ #: includes/ui/tabs/overview.php:178
400
  msgid "Connection Timeout:"
401
  msgstr ""
402
 
403
  #. translators: %s = Redis connection/read timeout in seconds.
404
+ #: includes/ui/tabs/overview.php:184
405
+ #: includes/ui/tabs/overview.php:201
406
  msgid "%ss"
407
  msgstr ""
408
 
409
+ #: includes/ui/tabs/overview.php:195
410
  msgid "Read Timeout:"
411
  msgstr ""
412
 
413
+ #: includes/ui/tabs/overview.php:212
414
  msgid "Retry Interval:"
415
  msgstr ""
416
 
417
  #. translators: %s = Redis retry interval in milliseconds.
418
+ #: includes/ui/tabs/overview.php:218
419
  msgid "%sms"
420
  msgstr ""
421
 
422
+ #: includes/ui/tabs/overview.php:229
423
  msgid "Redis Version:"
424
  msgstr ""
425
 
426
+ #: includes/ui/tabs/overview.php:240
427
  msgid "Flush Cache"
428
  msgstr ""
429
 
430
+ #: includes/ui/tabs/overview.php:246
431
  msgid "Disable Object Cache"
432
  msgstr ""
433
 
434
+ #: includes/ui/tabs/overview.php:250
435
  msgid "Enable Object Cache"
436
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: redis, predis, phpredis, credis, hhvm, pecl, caching, cache, object cache,
5
  Requires at least: 3.3
6
  Tested up to: 5.5
7
  Requires PHP: 5.6
8
- Stable tag: 2.0.8
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -18,7 +18,7 @@ A persistent object cache backend powered by Redis. Supports [Predis](https://gi
18
 
19
  To adjust the connection parameters, prefix cache keys or configure replication/clustering, please see [Other Notes](http://wordpress.org/extend/plugins/redis-cache/other_notes/).
20
 
21
- = Redis Cache Pro =
22
 
23
  A **business class** Redis object cache backend. Truly reliable, highly optimized, fully customizable and with a dedicated engineer when you most need it.
24
 
@@ -32,7 +32,7 @@ A **business class** Redis object cache backend. Truly reliable, highly optimize
32
  * Health checks via WordPress & WP CLI
33
  * Optimized for WooCommerce, Jetpack & Yoast SEO
34
 
35
- Learn more about [Redis Cache Pro](https://wprediscache.com/?utm_source=wp-plugin&amp;utm_medium=readme).
36
 
37
 
38
  == Installation ==
@@ -83,6 +83,15 @@ To see a list of all available WP-CLI commands, please see the [WP CLI commands
83
 
84
  == Changelog ==
85
 
 
 
 
 
 
 
 
 
 
86
  = 2.0.8 =
87
 
88
  - Fixed tabs not working in 2.0.6 and 2.0.7 due to WP.org SVN issue
@@ -242,7 +251,7 @@ Please flush the object cache after updating the drop to v1.5.5 to avoid dead ke
242
  = 1.5.1 =
243
 
244
  This plugin turned 5 years today (Nov 14th) and its only fitting to release the business edition today as well.
245
- [Redis Cache Pro](https://wprediscache.com/) is a truly reliable, highly optimized and easy to debug rewrite of this plugin for SMBs.
246
 
247
  * Added execution times to actions
248
  * Added `WP_REDIS_VERSION` constant
@@ -426,6 +435,6 @@ Since Predis isn't maintained any longer, it's highly recommended to switch over
426
 
427
  == Upgrade Notice ==
428
 
429
- = 2.0.8 =
430
 
431
  Version 2.0 is a significant rewrite of the plugin. Please read the v2.0.0 release notes.
5
  Requires at least: 3.3
6
  Tested up to: 5.5
7
  Requires PHP: 5.6
8
+ Stable tag: 2.0.9
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
18
 
19
  To adjust the connection parameters, prefix cache keys or configure replication/clustering, please see [Other Notes](http://wordpress.org/extend/plugins/redis-cache/other_notes/).
20
 
21
+ = Object Cache Pro =
22
 
23
  A **business class** Redis object cache backend. Truly reliable, highly optimized, fully customizable and with a dedicated engineer when you most need it.
24
 
32
  * Health checks via WordPress & WP CLI
33
  * Optimized for WooCommerce, Jetpack & Yoast SEO
34
 
35
+ Learn more about [Object Cache Pro](https://objectcache.pro/?utm_source=wp-plugin&amp;utm_medium=readme).
36
 
37
 
38
  == Installation ==
83
 
84
  == Changelog ==
85
 
86
+ = 2.0.9 =
87
+
88
+ - Highlight current metric type using color
89
+ - Show "Metrics" tab when metrics are disabled
90
+ - Refactored connection and Redis status logic
91
+ - Updated Predis to v1.1.2
92
+ - Remove Predis deprecation notice
93
+ - Fixed fetching derived keys in `wp_cache_get_multiple()`
94
+
95
  = 2.0.8 =
96
 
97
  - Fixed tabs not working in 2.0.6 and 2.0.7 due to WP.org SVN issue
251
  = 1.5.1 =
252
 
253
  This plugin turned 5 years today (Nov 14th) and its only fitting to release the business edition today as well.
254
+ [Object Cache Pro](https://objectcache.pro/) is a truly reliable, highly optimized and easy to debug rewrite of this plugin for SMBs.
255
 
256
  * Added execution times to actions
257
  * Added `WP_REDIS_VERSION` constant
435
 
436
  == Upgrade Notice ==
437
 
438
+ = 2.0.9 =
439
 
440
  Version 2.0 is a significant rewrite of the plugin. Please read the v2.0.0 release notes.
redis-cache.php CHANGED
@@ -3,13 +3,13 @@
3
  * Plugin Name: Redis Object Cache
4
  * Plugin URI: https://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
- * Version: 2.0.8
7
  * Text Domain: redis-cache
8
  * Domain Path: /languages
9
  * Network: true
10
  * Requires PHP: 5.6
11
  * Author: Till Krüss
12
- * Author URI: https://wprediscache.com
13
  * GitHub Plugin URI: https://github.com/rhubarbgroup/redis-cache
14
  * License: GPLv3
15
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
3
  * Plugin Name: Redis Object Cache
4
  * Plugin URI: https://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
+ * Version: 2.0.9
7
  * Text Domain: redis-cache
8
  * Domain Path: /languages
9
  * Network: true
10
  * Requires PHP: 5.6
11
  * Author: Till Krüss
12
+ * Author URI: https://objectcache.pro
13
  * GitHub Plugin URI: https://github.com/rhubarbgroup/redis-cache
14
  * License: GPLv3
15
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html