From 2d119510aaf0d5d2faa9a54e25fd38b2b310e0de Mon Sep 17 00:00:00 2001 From: Ali Alam Date: Wed, 6 May 2026 15:19:05 +0800 Subject: [PATCH] Added file cleanup feature after a record is deleted --- Deep Learning/CHANGEDB.php | 6 ++++++ Deep Learning/CHANGELOG.txt | 4 ++++ Deep Learning/events_manage_deleteProcess.php | 3 +++ Deep Learning/manifest.php | 2 +- Deep Learning/unit_manage_deleteProcess.php | 14 ++++++++++++++ Deep Learning/version.php | 2 +- 6 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Deep Learning/CHANGEDB.php b/Deep Learning/CHANGEDB.php index f0d8da6..7e54a86 100644 --- a/Deep Learning/CHANGEDB.php +++ b/Deep Learning/CHANGEDB.php @@ -122,4 +122,10 @@ ++$count; $sql[$count][0] = '0.3.00'; $sql[$count][1] = " +"; + +//v0.3.01 +++$count; +$sql[$count][0] = '0.3.01'; +$sql[$count][1] = " "; \ No newline at end of file diff --git a/Deep Learning/CHANGELOG.txt b/Deep Learning/CHANGELOG.txt index 513a763..2d821fc 100644 --- a/Deep Learning/CHANGELOG.txt +++ b/Deep Learning/CHANGELOG.txt @@ -1,6 +1,10 @@ CHANGELOG ========= +v0.3.01 +------- +Added file cleanup feature after a record is deleted + v0.3.00 ------- Added comprehensive file upload tracking system to monitor and manage all file uploads across the system diff --git a/Deep Learning/events_manage_deleteProcess.php b/Deep Learning/events_manage_deleteProcess.php index 926760b..b887119 100755 --- a/Deep Learning/events_manage_deleteProcess.php +++ b/Deep Learning/events_manage_deleteProcess.php @@ -19,6 +19,7 @@ along with this program. If not, see . */ +use Gibbon\Contracts\Filesystem\FileHandler; use Gibbon\Data\Validator; use Gibbon\Module\DeepLearning\Domain\EventGateway; use Gibbon\Module\DeepLearning\Domain\EventDateGateway; @@ -53,6 +54,8 @@ exit; } + $deletedFile = $container->get(FileHandler::class)->deleteFile('deepLearningEvent', $deepLearningEventID, 'backgroundImage'); + $deleted = $eventGateway->delete($deepLearningEventID); // Clean up any dates attached to this event diff --git a/Deep Learning/manifest.php b/Deep Learning/manifest.php index 4ea29be..5a726fb 100644 --- a/Deep Learning/manifest.php +++ b/Deep Learning/manifest.php @@ -25,7 +25,7 @@ $entryURL = "view.php"; $type = "Additional"; $category = 'Learn'; -$version = '0.3.00'; +$version = '0.3.01'; $author = "Gibbon Foundation"; $url = "https://gibbonedu.org"; diff --git a/Deep Learning/unit_manage_deleteProcess.php b/Deep Learning/unit_manage_deleteProcess.php index 9658721..24cdea7 100755 --- a/Deep Learning/unit_manage_deleteProcess.php +++ b/Deep Learning/unit_manage_deleteProcess.php @@ -19,8 +19,10 @@ along with this program. If not, see . */ +use Gibbon\Contracts\Filesystem\FileHandler; use Gibbon\Data\Validator; use Gibbon\Module\DeepLearning\Domain\UnitGateway; +use Gibbon\Module\DeepLearning\Domain\UnitPhotoGateway; require_once '../../gibbon.php'; @@ -49,6 +51,18 @@ exit; } + // Clean up photos and their file data + $unitPhotoGateway = $container->get(UnitPhotoGateway::class); + $photos = $unitPhotoGateway->selectBy(['deepLearningUnitID' => $deepLearningUnitID], ['deepLearningUnitPhotoID'])->fetchAll(); + + foreach ($photos as $photo) { + $photoDeleted = $container->get(FileHandler::class)->deleteFile('deepLearningUnitPhoto', $photo['deepLearningUnitPhotoID'], 'filePath'); + } + + $unitPhotoGateway->deleteWhere(['deepLearningUnitID' => $deepLearningUnitID]); + + $fileDeleted = $container->get(FileHandler::class)->deleteFile('deepLearningUnit', $deepLearningUnitID, 'headerImage'); + $deleted = $unitGateway->delete($deepLearningUnitID); $URL .= !$deleted diff --git a/Deep Learning/version.php b/Deep Learning/version.php index 86061fe..9f6f3eb 100644 --- a/Deep Learning/version.php +++ b/Deep Learning/version.php @@ -22,5 +22,5 @@ /** * Sets version information */ -$moduleVersion = '0.3.00'; +$moduleVersion = '0.3.01'; $coreVersion = '31.0.00';