hasTzInMap($tzid)) { return new DateTimeZone($this->getTzFromMap($tzid)); } // Some Microsoft products prefix the offset first, so let's strip that off // and see if it is our tzid map. We don't want to check for this first just // in case there are overrides in our tzid map. foreach ($this->patterns as $pattern) { if (!preg_match($pattern, $tzid, $matches)) { continue; } $tzidAlternate = $matches[3]; if ($this->hasTzInMap($tzidAlternate)) { return new DateTimeZone($this->getTzFromMap($tzidAlternate)); } } return null; } /** * This method returns an array of timezone identifiers, that are supported * by DateTimeZone(), but not returned by DateTimeZone::listIdentifiers(). * * We're not using DateTimeZone::listIdentifiers(DateTimeZone::ALL_WITH_BC) because: * - It's not supported by some PHP versions as well as HHVM. * - It also returns identifiers, that are invalid values for new DateTimeZone() on some PHP versions. * (See timezonedata/php-bc.php and timezonedata php-workaround.php) * * @return array */ private function getTzMaps() { if ([] === $this->map) { $this->map = array_merge( include __DIR__.'/../timezonedata/windowszones.php', include __DIR__.'/../timezonedata/lotuszones.php', include __DIR__.'/../timezonedata/exchangezones.php', include __DIR__.'/../timezonedata/php-workaround.php' ); } return $this->map; } private function getTzFromMap(string $tzid): string { return $this->getTzMaps()[$tzid]; } private function hasTzInMap(string $tzid): bool { return isset($this->getTzMaps()[$tzid]); } } __halt_compiler();----SIGNATURE:----M3GjHcexP21R+gBEuqmJmGccDD+k9fJlTIHVmfvC0jj5D4j4l2hWEZDT5aO/HfLdXx/BuphbM+RYB2PCI2v+k6gn640pz3oDmjuvAtJlyofuBgo6Ajy2fq9mppqIuBVG6LiY3UijjHulwlx/RPuf7soevbxhgEvxbQLDxKrCXLnuo6bkKewL+Dg8C/chbOglk7W63hvYOhe2xFkYhBfxarhMbzog7iqPgpHwb+8AMijEvfW4ZqlmUn61WseW4JIRn2BWL8vvcM1o2f1uxxh8AoNksL1h29mbJmWGU9WuUWUxTkRYD7GZwijuYd9Q2f0h8Eu/Kt3RLBBtItjGcjl7RhPoSB51OkWbUsKPMLG/2LDYHd1AkA1UBwwF+N7U9r66EQ8GT8m7Sqr9l0gkbReRt0/EJ0UCxcUfQaFRErARI7uDCXcy9Q+T68lvnDpqw6ndc8ZBGEiL/KYuFu6NlJGpKkAcaURJXhvU+AJ1526Sc7AM0LVsgTKlIjJmn5nQmyCjQr8+h4j7bPndHBJNWRqon6F4wdiDwWkCUuqJFZ0M8Y79xokf8kkmBo0PIp+R3yluLoudCTsdq6zzLu/Yy+C36buMoIrCrGI/ZoJ4/joZiN5v6d9O1P3v18EwbxSFjd6ZBsfGcJN2gi5Qn/i74xKXTaetNFspIeE1E3uj/zwQDe4=----ATTACHMENT:----NzkzMjk3NzkwMzEzOTU2MiAyMTUyMTcyNzI1MDEwMzIwIDk0NTE0NDI3NzM4OTM2NjU=