Simplify file deletion process in species_tools.php

Refactor deletion logic to count deleted files instead of iterating through them.
This commit is contained in:
Alexandre
2025-10-28 14:42:37 +01:00
committed by Nachtzuster
parent 082d0369a1
commit 26d028f187
+2 -11
View File
@@ -131,20 +131,11 @@ if (isset($_GET['delete'])) {
if ($base === false) { http_response_code(500); exit(json_encode(['error' => 'Base directory not found'])); }
$species = htmlspecialchars_decode($_GET['delete'], ENT_QUOTES);
$info = collect_species_targets($db, $species, $home, $base);
$deleted = 0;
foreach ($info['files'] as $fp) {
if (!under_base($fp, $base)) continue;
if (exec("sudo rm $fp 2>&1 && sudo rm $fp.png 2>&1", $output)) {
echo "Error - file deletion failed : " . implode(", ", $output) . "<br>";
exit;
}
$deleted++;
}
$deleted = count($info['files']);
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) . "<br>";
echo "Error - files deletion failed : " . implode(", ", $output) . "<br>";
exit;
}
}