deleteAllTheses(); $logger->logDeleteAllTheses($count); App::flash('success', "$count TFE(s) supprimé(s) avec succès."); } elseif ($isBulk) { $ids = array_filter(array_map('intval', $_POST['selected_theses'] ?? []), fn($id) => $id > 0); if (empty($ids)) { App::flash('error', 'Aucun TFE sélectionné.'); header('Location: ../index.php'); exit; } $db->bulkDeleteTheses($ids); $logger->logDelete(array_values($ids)); $count = count($ids); App::flash('success', "$count TFE(s) supprimé(s) avec succès."); } else { $thesisId = filter_var($_POST['thesis_id'] ?? '', FILTER_VALIDATE_INT); if (!$thesisId || $thesisId <= 0) { App::flash('error', 'ID invalide.'); header('Location: ../index.php'); exit; } $db->deleteThesis($thesisId); $logger->logDelete([$thesisId]); App::flash('success', 'TFE supprimé avec succès.'); } } catch (Exception $e) { error_log('delete.php error: ' . $e->getMessage()); App::flash('error', 'Erreur lors de la suppression : ' . $e->getMessage()); } $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); header('Location: ../index.php'); exit;