la suppression d'un roman supprime également les médias associés
This commit is contained in:
parent
e362674743
commit
98bd1d4b8d
@ -34,7 +34,7 @@ try {
|
||||
throw new Exception('Roman non trouvé');
|
||||
}
|
||||
|
||||
// Suppression de l'image de couverture si elle existe
|
||||
// 1. Suppression de l'image de couverture
|
||||
if (!empty($story['cover'])) {
|
||||
$coverPath = __DIR__ . '/../../' . $story['cover'];
|
||||
if (file_exists($coverPath)) {
|
||||
@ -42,7 +42,29 @@ try {
|
||||
}
|
||||
}
|
||||
|
||||
// Suppression du fichier JSON du roman
|
||||
// 2. Suppression des images des chapitres
|
||||
$chaptersImagesDir = __DIR__ . '/../../assets/images/chapters/' . $storyId;
|
||||
if (file_exists($chaptersImagesDir)) {
|
||||
// Parcours récursif du dossier des images
|
||||
$files = new RecursiveIteratorIterator(
|
||||
new RecursiveDirectoryIterator($chaptersImagesDir, RecursiveDirectoryIterator::SKIP_DOTS),
|
||||
RecursiveIteratorIterator::CHILD_FIRST
|
||||
);
|
||||
|
||||
// Suppression de tous les fichiers et sous-dossiers
|
||||
foreach ($files as $file) {
|
||||
if ($file->isDir()) {
|
||||
rmdir($file->getRealPath());
|
||||
} else {
|
||||
unlink($file->getRealPath());
|
||||
}
|
||||
}
|
||||
|
||||
// Suppression du dossier principal des images du roman
|
||||
rmdir($chaptersImagesDir);
|
||||
}
|
||||
|
||||
// 3. Suppression du fichier JSON du roman
|
||||
$storyFile = __DIR__ . '/../../stories/' . $storyId . '.json';
|
||||
if (file_exists($storyFile)) {
|
||||
unlink($storyFile);
|
||||
@ -50,11 +72,12 @@ try {
|
||||
// Réponse de succès
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'message' => 'Roman supprimé avec succès'
|
||||
'message' => 'Roman et médias associés supprimés avec succès'
|
||||
]);
|
||||
} else {
|
||||
throw new Exception('Fichier du roman introuvable');
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
http_response_code(500);
|
||||
echo json_encode([
|
||||
|
Loading…
x
Reference in New Issue
Block a user