diff --git a/api.php b/api.php index fe4e63d..9374e48 100644 --- a/api.php +++ b/api.php @@ -464,7 +464,7 @@ switch ($action) { $tmdbData = fetchTMDBFull($title, $year, $tmdbApiKey, $pdo); if (!$tmdbData || empty($tmdbData['overview'])) { $cleanTitle = $title; - $cleanTitle = preg_ireplace(['coffret ', 'l\'intégrale ', 'intégrale ', 'trilogie ', 'quadrilogie ', 'collection '], '', $cleanTitle); + $cleanTitle = str_ireplace(['coffret ', 'l\'intégrale ', 'intégrale ', 'trilogie ', 'quadrilogie ', 'collection '], '', $cleanTitle); $cleanTitle = preg_split('/(\/|\+)/', $cleanTitle)[0]; $cleanTitle = explode(' - ', $cleanTitle)[0]; $cleanTitle = trim($cleanTitle); @@ -507,6 +507,7 @@ switch ($action) { } $pdo->beginTransaction(); + $pdo->beginTransaction(); try { foreach ($items as $rowData) { $title = $rowData['title'] ?? $rowData['Name'] ?? $rowData['Title'] ?? 'Sans titre'; @@ -631,12 +632,13 @@ switch ($action) { $imported++; } $pdo->commit(); + echo json_encode(["success" => true, "imported" => $imported]); } catch (\Throwable $e) { - // 🔥 CORRECTION : Si une erreur fatale ou SQL survient, on annule tout et on renvoie l'erreur au front + // 🔥 FILET DE SÉCURITÉ : Si une erreur fatale PHP survient, on annule tout proprement $pdo->rollBack(); http_response_code(500); - echo json_encode(["success" => false, "error" => "Erreur BDD : " . $e->getMessage()]); - exit; + // On renvoie l'erreur en JSON pour que le JavaScript puisse l'afficher proprement + echo json_encode(["success" => false, "error" => "Erreur serveur : " . $e->getMessage()]); } echo json_encode(["success" => true, "imported" => $imported]); break;