From 5ee50c089b52db0827736c398daa9397c8362bc4 Mon Sep 17 00:00:00 2001
From: Alexandre <44178713+alexbelgium@users.noreply.github.com>
Date: Sun, 12 Oct 2025 19:19:41 +0200
Subject: [PATCH] Delete using sudo rm aligned code with play.php
Updated file and directory deletion methods to use 'exec' for sudo commands and handle errors appropriately.
---
scripts/species_tools.php | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/scripts/species_tools.php b/scripts/species_tools.php
index b092626..d1c9d07 100644
--- a/scripts/species_tools.php
+++ b/scripts/species_tools.php
@@ -135,15 +135,19 @@ if (isset($_GET['delete'])) {
$deleted = 0;
foreach ($info['files'] as $fp) {
if (!under_base($fp, $base)) continue;
- if (can_unlink($fp) && @unlink($fp)) {
- $deleted++;
- foreach ([$fp . '.png', preg_replace('/\.[^.]+$/', '.png', $fp)] as $png) {
- if (can_unlink($png)) @unlink($png);
- }
+ if (exec("sudo rm $fp 2>&1 && sudo rm $fp.png 2>&1", $output)) {
+ echo "Error - file deletion failed : " . implode(", ", $output) . "
";
+ exit;
+ }
+ $deleted++;
+ }
+ foreach ($info['dirs'] as $dir) {
+ if (!under_base($dir, $base)) continue;
+ if (exec("sudo rm -r $dir 2>&1", $output)) {
+ echo "Error - directory deletion failed : " . implode(", ", $output) . "
";
+ exit;
}
}
- foreach ($info['dirs'] as $dir) { if (under_base($dir, $base)) @rmdir($dir); }
-
$del = $db->prepare('DELETE FROM detections WHERE Sci_Name = :name');
ensure_db_ok($del);
$del->bindValue(':name', $species, SQLITE3_TEXT);