From a407986483dd4b8637c578b8eb234bc9a349570d Mon Sep 17 00:00:00 2001 From: djmaze Date: Thu, 15 Apr 2021 12:34:56 +0200 Subject: [PATCH] Fix datetime parser for #79 --- .../v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php | 9 +++++++-- .../v/0.0.0/app/libraries/snappymail/dav/client.php | 1 - 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php b/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php index b02b5ee0e..7aa12cce4 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php @@ -43,7 +43,8 @@ abstract class DateTimeHelper } $sDateTime = \trim(\preg_replace('/ \([a-zA-Z0-9]+\)$/', '', $sDateTime)); - $oDateTime = \DateTime::createFromFormat(\DateTime::RFC822, $sDateTime, static::GetUtcTimeZoneObject()); + $oDateTime = \DateTime::createFromFormat(\DateTime::RFC822, $sDateTime, static::GetUtcTimeZoneObject()) + ?: \DateTime::createFromFormat('D, d M Y H:i:s O', $sDateTime, static::GetUtcTimeZoneObject()); return $oDateTime ? $oDateTime->getTimestamp() : 0; } @@ -85,10 +86,14 @@ abstract class DateTimeHelper /** * Parse date string formated as "2015-05-08T14:32:18.483-07:00" - * DateTime::RFC3339_EXTENDED */ public static function TryToParseSpecEtagFormat(string $sDateTime) : int { + $oDateTime = \DateTime::createFromFormat(\DateTime::RFC3339_EXTENDED, $sDateTime, static::GetUtcTimeZoneObject()); + if ($oDateTime) { + return $oDateTime->getTimestamp(); + } + $sDateTime = \preg_replace('/ \([a-zA-Z0-9]+\)$/', '', \trim($sDateTime)); $sDateTime = \preg_replace('/(:[\d]{2})\.[\d]{3}/', '$1', \trim($sDateTime)); $sDateTime = \preg_replace('/(-[\d]{2})T([\d]{2}:)/', '$1 $2', \trim($sDateTime)); diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/dav/client.php b/snappymail/v/0.0.0/app/libraries/snappymail/dav/client.php index 002244669..f1e8193b3 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/dav/client.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/dav/client.php @@ -170,7 +170,6 @@ class Client } } else { $propList[$propertyName] = (string) $element; -// $propList[$propertyName] = \dom_import_simplexml($element)->textContent; } } }