aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuka Trovic <luka@nextcloud.com>2025-01-29 15:44:53 +0100
committerLuka Trovic <89908051+luka-nextcloud@users.noreply.github.com>2025-03-27 09:54:50 +0100
commita5070edc81294b74b5388bc7a4ca01d842a6b122 (patch)
tree3ecfdb8a2eea583c034efeb170977ab8eeeca163
parent0e8be44497160547ae297aca4f0515fc62fd19cc (diff)
downloadnextcloud-server-backport/50542/stable29.tar.gz
nextcloud-server-backport/50542/stable29.zip
fix(files_sharing): skip expiration notify for invalid share recordbackport/50542/stable29
Signed-off-by: Luka Trovic <luka@nextcloud.com> [skip ci]
-rw-r--r--apps/files_sharing/lib/Command/ExiprationNotification.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/files_sharing/lib/Command/ExiprationNotification.php b/apps/files_sharing/lib/Command/ExiprationNotification.php
index b0311e09221..98dafa907c0 100644
--- a/apps/files_sharing/lib/Command/ExiprationNotification.php
+++ b/apps/files_sharing/lib/Command/ExiprationNotification.php
@@ -26,6 +26,7 @@ declare(strict_types=1);
*/
namespace OCA\Files_Sharing\Command;
+use OCA\Files_Sharing\OrphanHelper;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IDBConnection;
use OCP\Notification\IManager as NotificationManager;
@@ -48,7 +49,9 @@ class ExiprationNotification extends Command {
public function __construct(ITimeFactory $time,
NotificationManager $notificationManager,
IDBConnection $connection,
- ShareManager $shareManager) {
+ ShareManager $shareManager,
+ private OrphanHelper $orphanHelper,
+ ) {
parent::__construct();
$this->notificationManager = $notificationManager;
@@ -80,7 +83,8 @@ class ExiprationNotification extends Command {
foreach ($shares as $share) {
if ($share->getExpirationDate() === null
|| $share->getExpirationDate()->getTimestamp() < $minTime->getTimestamp()
- || $share->getExpirationDate()->getTimestamp() > $maxTime->getTimestamp()) {
+ || $share->getExpirationDate()->getTimestamp() > $maxTime->getTimestamp()
+ || !$this->orphanHelper->isShareValid($share->getSharedBy(), $share->getNodeId())) {
continue;
}