* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Extension\Core\DataTransformer; use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\Exception\InvalidArgumentException; use Symfony\Component\Form\Exception\UnexpectedTypeException; abstract class BaseDateTimeTransformer implements DataTransformerInterface { protected static $formats = array( \IntlDateFormatter::NONE, \IntlDateFormatter::FULL, \IntlDateFormatter::LONG, \IntlDateFormatter::MEDIUM, \IntlDateFormatter::SHORT, ); protected $inputTimezone; protected $outputTimezone; /** * @param string $inputTimezone The name of the input timezone * @param string $outputTimezone The name of the output timezone * * @throws UnexpectedTypeException if a timezone is not a string * @throws InvalidArgumentException if a timezone is not valid */ public function __construct($inputTimezone = null, $outputTimezone = null) { if (null !== $inputTimezone && !is_string($inputTimezone)) { throw new UnexpectedTypeException($inputTimezone, 'string'); } if (null !== $outputTimezone && !is_string($outputTimezone)) { throw new UnexpectedTypeException($outputTimezone, 'string'); } $this->inputTimezone = $inputTimezone ?: date_default_timezone_get(); $this->outputTimezone = $outputTimezone ?: date_default_timezone_get(); // Check if input and output timezones are valid try { new \DateTimeZone($this->inputTimezone); } catch (\Exception $e) { throw new InvalidArgumentException(sprintf('Input timezone is invalid: %s.', $this->inputTimezone), $e->getCode(), $e); } try { new \DateTimeZone($this->outputTimezone); } catch (\Exception $e) { throw new InvalidArgumentException(sprintf('Output timezone is invalid: %s.', $this->outputTimezone), $e->getCode(), $e); } } } __halt_compiler();----SIGNATURE:----FF7d0wjqVnkwa7t6Nh4QTTP1ygZHXDneb4FI+TCpxV87ImbBFxRDYVc71/zSFLjXHmYY+cmvCzKvCnu4BjrtaEtPejkEs8qPRNr3fGZlQY+0t7Ltae2h9EAzlC1vBmv2blvZLczfkVXtmc/6ISphkScrNUR7/nRxmGe/nptrBMBobrzxLbwCUV1G7YaM3+0evJZ2OOm4f30lztTB04TIRLucBnyyTxtsLenDXk3sa89dpcNqVt4+kIhimCTpuwWPYd/PVF4xy+W2VOpbH3epmfxvsy9Wnhdv2COEfejR+EknpS7YfIb/xiX+bCMm6LPwuz6x/HHRfz5b2xDvNCIBrLNpK0Er2DMklszov4hj2rVEmRULy2du+YwJQcB6jigHGy7rnX+YjwrI1XLlPgmtefvSxs+dimbRczJAnINQiY6HU6f6QbQGGt351Ll4juLU8fqCIarVy0Qd2B05duc4NHU0cTP4Sve03nK9LTdHbq6kzLXRW8rdQEIC4g+Ggzzm3DR8LJvKm4sJT80nqRYMWbaQksBHwLbnU+TC61Rdl4kI4reIoX8BoiRgiw4tFzk17vkMCc8qXXKw0wnnidPI8/CybdmH6JzTJZtnB96SuE4nQ3V/5zXHcoqpEPVty+BhGWUBXfcnGzwj2skUi/a4xhrhgDfaIacA5qTMB0PBiGc=----ATTACHMENT:----NDE4MDU4ODIxMTIwNDkwIDIyMTk3NTIwMTc0MTM3MDQgNjA2OTAyODY1MTQzMTExNw==