diff --git a/src/HTMLBuilder/Handler/DateHandler.php b/src/HTMLBuilder/Handler/DateHandler.php index 0850c9f77..f27d03270 100644 --- a/src/HTMLBuilder/Handler/DateHandler.php +++ b/src/HTMLBuilder/Handler/DateHandler.php @@ -22,14 +22,22 @@ class DateHandler implements HandlerInterface $values['min-date'] = date(\Translator::getFormatter()->getStandardFormats()['timestamp']); } - if ($values['type'] == 'timestamp') { + if ($values['type'] == 'timestamp' && \Translator::getFormatter()->isStandardTimestamp($values['value'])) { $values['value'] = \Translator::timestampToLocale($values['value']); - } elseif ($values['type'] == 'date') { + } elseif ($values['type'] == 'date' && \Translator::getFormatter()->isStandardDate($values['value'])) { $values['value'] = \Translator::dateToLocale($values['value']); - } elseif ($values['type'] == 'time') { + } elseif ($values['type'] == 'time' && \Translator::getFormatter()->isStandardTime($values['value'])) { $values['value'] = \Translator::timeToLocale($values['value']); } + if (!( + ($values['type'] == 'timestamp' && \Translator::getFormatter()->isFormattedTimestamp($values['value'])) || + ($values['type'] == 'date' && \Translator::getFormatter()->isFormattedDate($values['value'])) || + ($values['type'] == 'time' && \Translator::getFormatter()->isFormattedTime($values['value'])) + )) { + $values['value'] = ''; + } + $result = $this->{$values['type']}($values, $extras); $values['type'] = 'text'; diff --git a/src/Intl/Formatter.php b/src/Intl/Formatter.php index b0f28eb6f..b17c44418 100644 --- a/src/Intl/Formatter.php +++ b/src/Intl/Formatter.php @@ -21,12 +21,12 @@ class Formatter /** @var NumberFormatter Oggetto dedicato alla formattazione dei numeri */ protected $numberFormatter; + /** @var string Pattern per i timestamp */ + protected $timestampPattern; /** @var string Pattern per le date */ protected $datePattern; /** @var string Pattern per gli orari */ protected $timePattern; - /** @var string Pattern per i timestamp */ - protected $timestampPattern; public function __construct($locale, $timestamp = null, $date = null, $time = null) { @@ -290,7 +290,7 @@ class Formatter */ public function getDatePattern($type = null) { - return $this->timestampPattern; + return $this->datePattern; } /** @@ -300,7 +300,7 @@ class Formatter */ public function setDatePattern($pattern) { - return $this->timestampPattern = $pattern; + return $this->datePattern = $pattern; } // Gestione della conversione degli orarii @@ -374,7 +374,7 @@ class Formatter */ public function getTimePattern($type = null) { - return $this->orarioPattern; + return $this->timePattern; } /** @@ -384,6 +384,6 @@ class Formatter */ public function setTimePattern($pattern) { - return $this->orarioPattern = $pattern; + return $this->timePattern = $pattern; } }