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;
}
}