From e288ca861d41026861b39255f28edc48798d8f2f Mon Sep 17 00:00:00 2001 From: TheCoreDev Date: Tue, 4 Jun 2024 15:01:14 +0200 Subject: [PATCH] =?UTF-8?q?[04/06/2024]=20On=20rajoute=20le=20r=C3=A9perto?= =?UTF-8?q?ire=20tmp=20(situ=C3=A9=20avant=20la=20racine=20de=20Thelia)=20?= =?UTF-8?q?dans=20la=20purge=20du=20module=20SessionPurge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventListener/EventManager.php | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/local/modules/SessionPurge/EventListener/EventManager.php b/local/modules/SessionPurge/EventListener/EventManager.php index c6379663..5a60c6d0 100644 --- a/local/modules/SessionPurge/EventListener/EventManager.php +++ b/local/modules/SessionPurge/EventListener/EventManager.php @@ -54,7 +54,28 @@ class EventManager implements EventSubscriberInterface $deleted++; } } - + + // [TheCoreDev le 4/06/2024] On supprime aussi les fichiers présents dans /tmp (avant la racine Thelia) + $files = Finder::create() + ->in(THELIA_ROOT . '../tmp') + ->files() + ->ignoreDotFiles(true) + ->date('<= now - ' . $lifetime . ' seconds'); + + foreach ($files as $file) { + $path = $file->getRealPath(); + + if (false === @unlink($path)) { + $event->appendStatus(sprintf("Failed to delete %s file", $path), 'error'); + } else { + if ($verbose) { + $event->appendStatus(sprintf("%s successfully deleted", $path)); + } + + $deleted++; + } + } + $event->setDeletedCount($deleted); }