'Non autorisé'])); } $input = json_decode(file_get_contents('php://input'), true); $storyId = $input['storyId'] ?? ''; $newOrder = $input['chapters'] ?? []; if (!$storyId || empty($newOrder)) { http_response_code(400); exit(json_encode(['error' => 'Paramètres manquants'])); } try { $story = Stories::get($storyId); if (!$story) { throw new Exception('Roman non trouvé'); } // Créer un tableau temporaire pour le nouvel ordre $reorderedChapters = []; foreach ($newOrder as $item) { foreach ($story['chapters'] as $chapter) { if ($chapter['id'] === $item['id']) { $reorderedChapters[] = $chapter; break; } } } // Mettre à jour l'ordre des chapitres $story['chapters'] = $reorderedChapters; // Sauvegarder les modifications Stories::save($story); echo json_encode(['success' => true]); } catch (Exception $e) { http_response_code(500); echo json_encode(['error' => $e->getMessage()]); }