PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.36.0
MailPoet – Newsletters, Email Marketing, and Automation v5.36.0
5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor-prefixed / doctrine / orm / src / Cache / Region / DefaultRegion.php
mailpoet / vendor-prefixed / doctrine / orm / src / Cache / Region Last commit date
DefaultMultiGetRegion.php 9 months ago DefaultRegion.php 9 months ago FileLockRegion.php 9 months ago UpdateTimestampCache.php 9 months ago index.php 9 months ago
DefaultRegion.php
112 lines
1 <?php
2 declare (strict_types=1);
3 namespace MailPoetVendor\Doctrine\ORM\Cache\Region;
4 if (!defined('ABSPATH')) exit;
5 use Closure;
6 use MailPoetVendor\Doctrine\Common\Cache\Cache as LegacyCache;
7 use MailPoetVendor\Doctrine\Common\Cache\CacheProvider;
8 use MailPoetVendor\Doctrine\Common\Cache\Psr6\CacheAdapter;
9 use MailPoetVendor\Doctrine\Common\Cache\Psr6\DoctrineProvider;
10 use MailPoetVendor\Doctrine\Deprecations\Deprecation;
11 use MailPoetVendor\Doctrine\ORM\Cache\CacheEntry;
12 use MailPoetVendor\Doctrine\ORM\Cache\CacheKey;
13 use MailPoetVendor\Doctrine\ORM\Cache\CollectionCacheEntry;
14 use MailPoetVendor\Doctrine\ORM\Cache\Lock;
15 use MailPoetVendor\Doctrine\ORM\Cache\Region;
16 use MailPoetVendor\Psr\Cache\CacheItemInterface;
17 use MailPoetVendor\Psr\Cache\CacheItemPoolInterface;
18 use Traversable;
19 use TypeError;
20 use function array_map;
21 use function get_debug_type;
22 use function iterator_to_array;
23 use function sprintf;
24 use function strtr;
25 class DefaultRegion implements Region
26 {
27 public const REGION_KEY_SEPARATOR = '_';
28 private const REGION_PREFIX = 'DC2_REGION_';
29 protected $cache;
30 protected $name;
31 protected $lifetime = 0;
32 private $cacheItemPool;
33 public function __construct(string $name, $cacheItemPool, int $lifetime = 0)
34 {
35 if ($cacheItemPool instanceof LegacyCache) {
36 Deprecation::trigger('doctrine/orm', 'https://github.com/doctrine/orm/pull/9322', 'Passing an instance of %s to %s is deprecated, pass a %s instead.', get_debug_type($cacheItemPool), __METHOD__, CacheItemPoolInterface::class);
37 // @phpstan-ignore property.deprecated
38 $this->cache = $cacheItemPool;
39 $this->cacheItemPool = CacheAdapter::wrap($cacheItemPool);
40 } elseif (!$cacheItemPool instanceof CacheItemPoolInterface) {
41 throw new TypeError(sprintf('%s: Parameter #2 is expected to be an instance of %s, got %s.', __METHOD__, CacheItemPoolInterface::class, get_debug_type($cacheItemPool)));
42 } else {
43 // @phpstan-ignore property.deprecated
44 $this->cache = DoctrineProvider::wrap($cacheItemPool);
45 $this->cacheItemPool = $cacheItemPool;
46 }
47 $this->name = $name;
48 $this->lifetime = $lifetime;
49 }
50 public function getName()
51 {
52 return $this->name;
53 }
54 public function getCache()
55 {
56 return $this->cache;
57 }
58 public function contains(CacheKey $key)
59 {
60 return $this->cacheItemPool->hasItem($this->getCacheEntryKey($key));
61 }
62 public function get(CacheKey $key)
63 {
64 $item = $this->cacheItemPool->getItem($this->getCacheEntryKey($key));
65 $entry = $item->isHit() ? $item->get() : null;
66 if (!$entry instanceof CacheEntry) {
67 return null;
68 }
69 return $entry;
70 }
71 public function getMultiple(CollectionCacheEntry $collection)
72 {
73 $keys = array_map(Closure::fromCallable([$this, 'getCacheEntryKey']), $collection->identifiers);
74 $items = $this->cacheItemPool->getItems($keys);
75 if ($items instanceof Traversable) {
76 $items = iterator_to_array($items);
77 }
78 $result = [];
79 foreach ($keys as $arrayKey => $cacheKey) {
80 if (!isset($items[$cacheKey]) || !$items[$cacheKey]->isHit()) {
81 return null;
82 }
83 $entry = $items[$cacheKey]->get();
84 if (!$entry instanceof CacheEntry) {
85 return null;
86 }
87 $result[$arrayKey] = $entry;
88 }
89 return $result;
90 }
91 public function put(CacheKey $key, CacheEntry $entry, ?Lock $lock = null)
92 {
93 $item = $this->cacheItemPool->getItem($this->getCacheEntryKey($key))->set($entry);
94 if ($this->lifetime > 0) {
95 $item->expiresAfter($this->lifetime);
96 }
97 return $this->cacheItemPool->save($item);
98 }
99 public function evict(CacheKey $key)
100 {
101 return $this->cacheItemPool->deleteItem($this->getCacheEntryKey($key));
102 }
103 public function evictAll()
104 {
105 return $this->cacheItemPool->clear(self::REGION_PREFIX . $this->name);
106 }
107 protected function getCacheEntryKey(CacheKey $key)
108 {
109 return self::REGION_PREFIX . $this->name . self::REGION_KEY_SEPARATOR . strtr($key->hash, '{}()/\\@:', '________');
110 }
111 }
112