Skip to content

Commit 866c7d8

Browse files
GhassenKefibackportbot[bot]
authored andcommitted
fix: share by email expiration date in a different timezone
Signed-off-by: Ghassen kefi <ghassen.kefi.dev@gmail.com>
1 parent 40ff9f2 commit 866c7d8

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

707707
$qb->setValue('attributes', $qb->createNamedParameter($shareAttributes));
708708
if ($expirationTime !== null) {
709+
$expirationTime = \DateTime::createFromInterface($expirationTime);
710+
$expirationTime->setTimezone(new \DateTimeZone(date_default_timezone_get()));
709711
$qb->setValue('expiration', $qb->createNamedParameter($expirationTime, IQueryBuilder::PARAM_DATETIME_MUTABLE));
710712
}
711713

@@ -737,6 +739,11 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
737739
* We allow updating mail shares
738740
*/
739741
$qb = $this->dbConnection->getQueryBuilder();
742+
$expiration = $share->getExpirationDate();
743+
if ($expiration !== null) {
744+
$expiration = \DateTime::createFromInterface($expiration);
745+
$expiration->setTimezone(new \DateTimeZone(date_default_timezone_get()));
746+
}
740747
$qb->update('share')
741748
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId())))
742749
->set('item_source', $qb->createNamedParameter($share->getNodeId()))
@@ -749,7 +756,7 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
749756
->set('password_expiration_time', $qb->createNamedParameter($share->getPasswordExpirationTime(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
750757
->set('label', $qb->createNamedParameter($share->getLabel()))
751758
->set('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL))
752-
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
759+
->set('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATETIME_MUTABLE))
753760
->set('note', $qb->createNamedParameter($share->getNote()))
754761
->set('hide_download', $qb->createNamedParameter((int)$share->getHideDownload(), IQueryBuilder::PARAM_INT))
755762
->set('attributes', $qb->createNamedParameter($shareAttributes))

0 commit comments

Comments
 (0)