PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 4.17.1
MailPoet – Newsletters, Email Marketing, and Automation v4.17.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 / CarbonTimeZone.php
mailpoet / vendor-prefixed / nesbot / carbon / src / Carbon Last commit date
Exceptions 3 years ago Lang 3 years ago List 3 years ago Traits 3 years ago AbstractTranslator.php 3 years ago Carbon.php 4 years ago CarbonConverterInterface.php 4 years ago CarbonImmutable.php 4 years ago CarbonInterface.php 3 years ago CarbonInterval.php 3 years ago CarbonPeriod.php 3 years ago CarbonTimeZone.php 3 years ago Factory.php 4 years ago FactoryImmutable.php 4 years ago Language.php 4 years ago Translator.php 4 years ago TranslatorImmutable.php 4 years ago TranslatorStrongTypeInterface.php 4 years ago index.php 3 years ago
CarbonTimeZone.php
158 lines
1 <?php
2 namespace MailPoetVendor\Carbon;
3 if (!defined('ABSPATH')) exit;
4 use MailPoetVendor\Carbon\Exceptions\InvalidCastException;
5 use MailPoetVendor\Carbon\Exceptions\InvalidTimeZoneException;
6 use DateTimeInterface;
7 use DateTimeZone;
8 use Throwable;
9 class CarbonTimeZone extends DateTimeZone
10 {
11 public function __construct($timezone = null)
12 {
13 parent::__construct(static::getDateTimeZoneNameFromMixed($timezone));
14 }
15 protected static function parseNumericTimezone($timezone)
16 {
17 if ($timezone <= -100 || $timezone >= 100) {
18 throw new InvalidTimeZoneException('Absolute timezone offset cannot be greater than 100.');
19 }
20 return ($timezone >= 0 ? '+' : '') . \ltrim($timezone, '+') . ':00';
21 }
22 protected static function getDateTimeZoneNameFromMixed($timezone)
23 {
24 if ($timezone === null) {
25 return \date_default_timezone_get();
26 }
27 if (\is_string($timezone)) {
28 $timezone = \preg_replace('/^\\s*([+-]\\d+)(\\d{2})\\s*$/', '$1:$2', $timezone);
29 }
30 if (\is_numeric($timezone)) {
31 return static::parseNumericTimezone($timezone);
32 }
33 return $timezone;
34 }
35 protected static function getDateTimeZoneFromName(&$name)
36 {
37 return @\timezone_open($name = (string) static::getDateTimeZoneNameFromMixed($name));
38 }
39 public function cast(string $className)
40 {
41 if (!\method_exists($className, 'instance')) {
42 if (\is_a($className, DateTimeZone::class, \true)) {
43 return new $className($this->getName());
44 }
45 throw new InvalidCastException("{$className} has not the instance() method needed to cast the date.");
46 }
47 return $className::instance($this);
48 }
49 public static function instance($object = null, $objectDump = null)
50 {
51 $tz = $object;
52 if ($tz instanceof static) {
53 return $tz;
54 }
55 if ($tz === null) {
56 return new static();
57 }
58 if (!$tz instanceof DateTimeZone) {
59 $tz = static::getDateTimeZoneFromName($object);
60 }
61 if ($tz !== \false) {
62 return new static($tz->getName());
63 }
64 if (Carbon::isStrictModeEnabled()) {
65 throw new InvalidTimeZoneException('Unknown or bad timezone (' . ($objectDump ?: $object) . ')');
66 }
67 return \false;
68 }
69 public function getAbbreviatedName($dst = \false)
70 {
71 $name = $this->getName();
72 foreach ($this->listAbbreviations() as $abbreviation => $zones) {
73 foreach ($zones as $zone) {
74 if ($zone['timezone_id'] === $name && $zone['dst'] == $dst) {
75 return $abbreviation;
76 }
77 }
78 }
79 return 'unknown';
80 }
81 public function getAbbr($dst = \false)
82 {
83 return $this->getAbbreviatedName($dst);
84 }
85 public function toOffsetName(DateTimeInterface $date = null)
86 {
87 return static::getOffsetNameFromMinuteOffset($this->getOffset($date ?: Carbon::now($this)) / 60);
88 }
89 public function toOffsetTimeZone(DateTimeInterface $date = null)
90 {
91 return new static($this->toOffsetName($date));
92 }
93 public function toRegionName(DateTimeInterface $date = null, $isDst = 1)
94 {
95 $name = $this->getName();
96 $firstChar = \substr($name, 0, 1);
97 if ($firstChar !== '+' && $firstChar !== '-') {
98 return $name;
99 }
100 $date = $date ?: Carbon::now($this);
101 // Integer construction no longer supported since PHP 8
102 // @codeCoverageIgnoreStart
103 try {
104 $offset = @$this->getOffset($date) ?: 0;
105 } catch (Throwable $e) {
106 $offset = 0;
107 }
108 // @codeCoverageIgnoreEnd
109 $name = @\timezone_name_from_abbr('', $offset, $isDst);
110 if ($name) {
111 return $name;
112 }
113 foreach (\timezone_identifiers_list() as $timezone) {
114 if (Carbon::instance($date)->tz($timezone)->getOffset() === $offset) {
115 return $timezone;
116 }
117 }
118 return \false;
119 }
120 public function toRegionTimeZone(DateTimeInterface $date = null)
121 {
122 $tz = $this->toRegionName($date);
123 if ($tz !== \false) {
124 return new static($tz);
125 }
126 if (Carbon::isStrictModeEnabled()) {
127 throw new InvalidTimeZoneException('Unknown timezone for offset ' . $this->getOffset($date ?: Carbon::now($this)) . ' seconds.');
128 }
129 return \false;
130 }
131 public function __toString()
132 {
133 return $this->getName();
134 }
135 public function getType() : int
136 {
137 return \preg_match('/"timezone_type";i:(\\d)/', \serialize($this), $match) ? (int) $match[1] : 3;
138 }
139 public static function create($object = null)
140 {
141 return static::instance($object);
142 }
143 public static function createFromHourOffset(float $hourOffset)
144 {
145 return static::createFromMinuteOffset($hourOffset * Carbon::MINUTES_PER_HOUR);
146 }
147 public static function createFromMinuteOffset(float $minuteOffset)
148 {
149 return static::instance(static::getOffsetNameFromMinuteOffset($minuteOffset));
150 }
151 public static function getOffsetNameFromMinuteOffset(float $minutes) : string
152 {
153 $minutes = \round($minutes);
154 $unsignedMinutes = \abs($minutes);
155 return ($minutes < 0 ? '-' : '+') . \str_pad((string) \floor($unsignedMinutes / 60), 2, '0', \STR_PAD_LEFT) . ':' . \str_pad((string) ($unsignedMinutes % 60), 2, '0', \STR_PAD_LEFT);
156 }
157 }
158