Skip to content

Commit 2e5811b

Browse files
Merge pull request #63879 from nextcloud/backport/63562/stable34
[stable34] fix share by email expiration date in a different timezone
2 parents 4da1f22 + 6bc03f6 commit 2e5811b

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

apps/sharebymail/lib/ShareByMailProvider.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,8 @@ protected function addShareToDB(
710710

711711
$qb->setValue('attributes', $qb->createNamedParameter($shareAttributes));
712712
if ($expirationTime !== null) {
713+
$expirationTime = \DateTime::createFromInterface($expirationTime);
714+
$expirationTime->setTimezone(new \DateTimeZone(date_default_timezone_get()));
713715
$qb->setValue('expiration', $qb->createNamedParameter($expirationTime, IQueryBuilder::PARAM_DATETIME_MUTABLE));
714716
}
715717

@@ -742,6 +744,11 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
742744
* We allow updating mail shares
743745
*/
744746
$qb = $this->dbConnection->getQueryBuilder();
747+
$expiration = $share->getExpirationDate();
748+
if ($expiration !== null) {
749+
$expiration = \DateTime::createFromInterface($expiration);
750+
$expiration->setTimezone(new \DateTimeZone(date_default_timezone_get()));
751+
}
745752
$qb->update('share')
746753
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId())))
747754
->set('item_source', $qb->createNamedParameter($share->getNodeId()))
@@ -754,7 +761,7 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
754761
->set('password_expiration_time', $qb->createNamedParameter($share->getPasswordExpirationTime(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
755762
->set('label', $qb->createNamedParameter($share->getLabel()))
756763
->set('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL))
757-
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
764+
->set('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATETIME_MUTABLE))
758765
->set('note', $qb->createNamedParameter($share->getNote()))
759766
->set('hide_download', $qb->createNamedParameter((int)$share->getHideDownload(), IQueryBuilder::PARAM_INT))
760767
->set('attributes', $qb->createNamedParameter($shareAttributes))

0 commit comments

Comments
 (0)