Skip to content

Commit 3ae40f2

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 cc4b469 commit 3ae40f2

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

702702
$qb->setValue('attributes', $qb->createNamedParameter($shareAttributes));
703703
if ($expirationTime !== null) {
704+
$expirationTime = \DateTime::createFromInterface($expirationTime);
705+
$expirationTime->setTimezone(new \DateTimeZone(date_default_timezone_get()));
704706
$qb->setValue('expiration', $qb->createNamedParameter($expirationTime, IQueryBuilder::PARAM_DATETIME_MUTABLE));
705707
}
706708

@@ -732,6 +734,11 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
732734
* We allow updating mail shares
733735
*/
734736
$qb = $this->dbConnection->getQueryBuilder();
737+
$expiration = $share->getExpirationDate();
738+
if ($expiration !== null) {
739+
$expiration = \DateTime::createFromInterface($expiration);
740+
$expiration->setTimezone(new \DateTimeZone(date_default_timezone_get()));
741+
}
735742
$qb->update('share')
736743
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId())))
737744
->set('item_source', $qb->createNamedParameter($share->getNodeId()))
@@ -744,7 +751,7 @@ public function update(IShare $share, ?string $plainTextPassword = null): IShare
744751
->set('password_expiration_time', $qb->createNamedParameter($share->getPasswordExpirationTime(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
745752
->set('label', $qb->createNamedParameter($share->getLabel()))
746753
->set('password_by_talk', $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL))
747-
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATETIME_MUTABLE))
754+
->set('expiration', $qb->createNamedParameter($expiration, IQueryBuilder::PARAM_DATETIME_MUTABLE))
748755
->set('note', $qb->createNamedParameter($share->getNote()))
749756
->set('hide_download', $qb->createNamedParameter((int)$share->getHideDownload(), IQueryBuilder::PARAM_INT))
750757
->set('attributes', $qb->createNamedParameter($shareAttributes))

0 commit comments

Comments
 (0)