Skip to content

Commit 4e1e53b

Browse files
Merge pull request #63882 from nextcloud/backport/63562/stable35
[stable35] fix share by email expiration date in a different timezone
2 parents 584e421 + 03c5468 commit 4e1e53b

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
@@ -711,6 +711,8 @@ protected function addShareToDB(
711711

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

@@ -743,6 +745,11 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
743745
* We allow updating mail shares
744746
*/
745747
$qb = $this->dbConnection->getQueryBuilder();
748+
$expiration = $share->getExpirationDate();
749+
if ($expiration !== null) {
750+
$expiration = \DateTime::createFromInterface($expiration);
751+
$expiration->setTimezone(new \DateTimeZone(date_default_timezone_get()));
752+
}
746753
$qb->update('share')
747754
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId())))
748755
->set('item_source', $qb->createNamedParameter($share->getNodeId()))
@@ -755,7 +762,7 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
755762
->set('password_expiration_time', $qb->createNamedParameter($share->getPasswordExpirationTime(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
756763
->set('label', $qb->createNamedParameter($share->getLabel()))
757764
->set('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL))
758-
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
765+
->set('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATETIME_MUTABLE))
759766
->set('note', $qb->createNamedParameter($share->getNote()))
760767
->set('hide_download', $qb->createNamedParameter((int)$share->getHideDownload(), IQueryBuilder::PARAM_INT))
761768
->set('attributes', $qb->createNamedParameter($shareAttributes))

0 commit comments

Comments
 (0)