PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.36.0
MailPoet – Newsletters, Email Marketing, and Automation v5.36.0
5.36.1 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 / nesbot / carbon / src / Carbon / Traits / Serialization.php
mailpoet / vendor-prefixed / nesbot / carbon / src / Carbon / Traits Last commit date
Boundaries.php 4 years ago Cast.php 4 years ago Comparison.php 2 years ago Converter.php 2 years ago Creator.php 2 years ago Date.php 9 months ago DeprecatedProperties.php 4 years ago Difference.php 2 years ago IntervalRounding.php 2 years ago IntervalStep.php 4 years ago Localization.php 9 months ago Macro.php 4 years ago MagicParameter.php 2 years ago Mixin.php 2 years ago Modifiers.php 4 years ago Mutability.php 4 years ago ObjectInitialisation.php 4 years ago Options.php 2 years ago Rounding.php 2 years ago Serialization.php 2 years ago Test.php 9 months ago Timestamp.php 1 year ago ToStringFormat.php 3 years ago Units.php 2 years ago Week.php 4 years ago index.php 3 years ago
Serialization.php
151 lines
1 <?php
2 namespace MailPoetVendor\Carbon\Traits;
3 if (!defined('ABSPATH')) exit;
4 use MailPoetVendor\Carbon\Exceptions\InvalidFormatException;
5 use ReturnTypeWillChange;
6 use Throwable;
7 trait Serialization
8 {
9 use ObjectInitialisation;
10 protected static $serializer;
11 protected $dumpProperties = ['date', 'timezone_type', 'timezone'];
12 protected $dumpLocale;
13 protected $dumpDateProperties;
14 public function serialize()
15 {
16 return \serialize($this);
17 }
18 public static function fromSerialized($value)
19 {
20 $instance = @\unserialize((string) $value);
21 if (!$instance instanceof static) {
22 throw new InvalidFormatException("Invalid serialized value: {$value}");
23 }
24 return $instance;
25 }
26 #[\ReturnTypeWillChange]
27 public static function __set_state($dump)
28 {
29 if (\is_string($dump)) {
30 return static::parse($dump);
31 }
32 $date = \get_parent_class(static::class) && \method_exists(parent::class, '__set_state') ? parent::__set_state((array) $dump) : (object) $dump;
33 return static::instance($date);
34 }
35 public function __sleep()
36 {
37 $properties = $this->getSleepProperties();
38 if ($this->localTranslator ?? null) {
39 $properties[] = 'dumpLocale';
40 $this->dumpLocale = $this->locale ?? null;
41 }
42 return $properties;
43 }
44 public function __serialize() : array
45 {
46 // @codeCoverageIgnoreStart
47 if (isset($this->timezone_type, $this->timezone, $this->date)) {
48 return ['date' => $this->date ?? null, 'timezone_type' => $this->timezone_type, 'timezone' => $this->timezone ?? null];
49 }
50 // @codeCoverageIgnoreEnd
51 $timezone = $this->getTimezone();
52 $export = ['date' => $this->format('Y-m-d H:i:s.u'), 'timezone_type' => $timezone->getType(), 'timezone' => $timezone->getName()];
53 // @codeCoverageIgnoreStart
54 if (\extension_loaded('msgpack') && isset($this->constructedObjectId)) {
55 $export['dumpDateProperties'] = ['date' => $this->format('Y-m-d H:i:s.u'), 'timezone' => \serialize($this->timezone ?? null)];
56 }
57 // @codeCoverageIgnoreEnd
58 if ($this->localTranslator ?? null) {
59 $export['dumpLocale'] = $this->locale ?? null;
60 }
61 return $export;
62 }
63 #[\ReturnTypeWillChange]
64 public function __wakeup()
65 {
66 if (parent::class && \method_exists(parent::class, '__wakeup')) {
67 // @codeCoverageIgnoreStart
68 try {
69 parent::__wakeup();
70 } catch (Throwable $exception) {
71 try {
72 // FatalError occurs when calling msgpack_unpack() in PHP 7.4 or later.
73 ['date' => $date, 'timezone' => $timezone] = $this->dumpDateProperties;
74 parent::__construct($date, \unserialize($timezone));
75 } catch (Throwable $ignoredException) {
76 throw $exception;
77 }
78 }
79 // @codeCoverageIgnoreEnd
80 }
81 $this->constructedObjectId = \spl_object_hash($this);
82 if (isset($this->dumpLocale)) {
83 $this->locale($this->dumpLocale);
84 $this->dumpLocale = null;
85 }
86 $this->cleanupDumpProperties();
87 }
88 public function __unserialize(array $data) : void
89 {
90 // @codeCoverageIgnoreStart
91 try {
92 $this->__construct($data['date'] ?? null, $data['timezone'] ?? null);
93 } catch (Throwable $exception) {
94 if (!isset($data['dumpDateProperties']['date'], $data['dumpDateProperties']['timezone'])) {
95 throw $exception;
96 }
97 try {
98 // FatalError occurs when calling msgpack_unpack() in PHP 7.4 or later.
99 ['date' => $date, 'timezone' => $timezone] = $data['dumpDateProperties'];
100 $this->__construct($date, \unserialize($timezone));
101 } catch (Throwable $ignoredException) {
102 throw $exception;
103 }
104 }
105 // @codeCoverageIgnoreEnd
106 if (isset($data['dumpLocale'])) {
107 $this->locale($data['dumpLocale']);
108 }
109 }
110 #[\ReturnTypeWillChange]
111 public function jsonSerialize()
112 {
113 $serializer = $this->localSerializer ?? static::$serializer;
114 if ($serializer) {
115 return \is_string($serializer) ? $this->rawFormat($serializer) : $serializer($this);
116 }
117 return $this->toJSON();
118 }
119 public static function serializeUsing($callback)
120 {
121 static::$serializer = $callback;
122 }
123 public function cleanupDumpProperties()
124 {
125 // @codeCoverageIgnoreStart
126 if (\PHP_VERSION < 8.199999999999999) {
127 foreach ($this->dumpProperties as $property) {
128 if (isset($this->{$property})) {
129 unset($this->{$property});
130 }
131 }
132 }
133 // @codeCoverageIgnoreEnd
134 return $this;
135 }
136 private function getSleepProperties() : array
137 {
138 $properties = $this->dumpProperties;
139 // @codeCoverageIgnoreStart
140 if (!\extension_loaded('msgpack')) {
141 return $properties;
142 }
143 if (isset($this->constructedObjectId)) {
144 $this->dumpDateProperties = ['date' => $this->format('Y-m-d H:i:s.u'), 'timezone' => \serialize($this->timezone ?? null)];
145 $properties[] = 'dumpDateProperties';
146 }
147 return $properties;
148 // @codeCoverageIgnoreEnd
149 }
150 }
151