diff --git a/lib/Activity/ActivityManager.php b/lib/Activity/ActivityManager.php index 9fc7286fa..4a74e2d9d 100644 --- a/lib/Activity/ActivityManager.php +++ b/lib/Activity/ActivityManager.php @@ -367,7 +367,15 @@ class ActivityManager { case self::SUBJECT_CARD_USER_ASSIGN: case self::SUBJECT_CARD_USER_UNASSIGN: $subjectParams = $this->findDetailsForCard($entity->getId(), $subject); - break; + + if (isset($additionalParams['after']) && $additionalParams['after'] instanceof \DateTimeInterface) { + $additionalParams['after'] = $additionalParams['after']->format('c'); + } + if (isset($additionalParams['before']) && $additionalParams['before'] instanceof \DateTimeInterface) { + $additionalParams['before'] = $additionalParams['before']->format('c'); + } + + break; case self::SUBJECT_ATTACHMENT_CREATE: case self::SUBJECT_ATTACHMENT_UPDATE: case self::SUBJECT_ATTACHMENT_DELETE: diff --git a/lib/Activity/DeckProvider.php b/lib/Activity/DeckProvider.php index 4235816e5..a2a5c9d8c 100644 --- a/lib/Activity/DeckProvider.php +++ b/lib/Activity/DeckProvider.php @@ -312,12 +312,19 @@ class DeckProvider implements IProvider { $userLanguage = $this->config->getUserValue($event->getAuthor(), 'core', 'lang', $this->l10nFactory->findLanguage()); $userLocale = $this->config->getUserValue($event->getAuthor(), 'core', 'locale', $this->l10nFactory->findLocale()); $l10n = $this->l10nFactory->get('deck', $userLanguage, $userLocale); - $date = new \DateTime($subjectParams['after']); - $date->setTimezone(new \DateTimeZone(\date_default_timezone_get())); + if (is_array($subjectParams['after'])) { + // Unluckily there was a time when we stored jsonSerialized date objects in the database + // Broken in 1.8.0 and fixed again in 1.8.1 + $date = new \DateTime($subjectParams['after']['date']); + $date->setTimezone(new \DateTimeZone(\date_default_timezone_get())); + } else { + $date = new \DateTime($subjectParams['after']); + $date->setTimezone(new \DateTimeZone(\date_default_timezone_get())); + } $params['after'] = [ 'type' => 'highlight', 'id' => 'dt:' . $subjectParams['after'], - 'name' => $l10n->l('datetime', $date) + 'name' => $l10n->l('datetime', $date), ]; } return $params;