diff --git a/api.php b/api.php index 0b7a1e0..0942cae 100644 --- a/api.php +++ b/api.php @@ -217,17 +217,29 @@ switch ($action) { $id = makeStableId($type, $title, $year); if ($type === 'critique') { - $ratingRaw = $rowData['Rating'] ?? $rowData['rating'] ?? ''; - $rating = ($ratingRaw !== '' && $ratingRaw !== null) ? (float)$ratingRaw : null; - $review = $rowData['Review'] ?? $rowData['review'] ?? ''; - $director = ''; $poster = ''; $streaming = ''; - if ($tmdbApiKey && !empty($title)) { - $tmdbData = fetchTMDBFull($title, $year, $tmdbApiKey, $pdo); - if ($tmdbData) { $director = $tmdbData['director']; $poster = $tmdbData['poster']; $streaming = $tmdbData['streaming']; if(empty($year)) $year = $tmdbData['year']; } - } - $sql = "INSERT INTO critiques (id, title, year, director, poster, rating, review, streaming) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE rating=VALUES(rating), review=IF(VALUES(review)!='',VALUES(review),review), director=IF(VALUES(director)!='',VALUES(director),director), poster=IF(VALUES(poster)!='',VALUES(poster),poster), streaming=IF(VALUES(streaming)!='',VALUES(streaming),streaming)"; - $stmt = $pdo->prepare($sql); - $stmt->execute([$id, $title, $year, $director, $poster, $rating, $review, $streaming]); + $ratingRaw = $rowData['Rating'] ?? $rowData['rating'] ?? ''; + $rating = ($ratingRaw !== '' && $ratingRaw !== null) ? (float)$ratingRaw : null; + $review = $rowData['Review'] ?? $rowData['review'] ?? ''; + $director = ''; $poster = ''; $streaming = ''; + + if ($tmdbApiKey && !empty($title)) { + $tmdbData = fetchTMDBFull($title, $year, $tmdbApiKey, $pdo); + if ($tmdbData) { + $director = $tmdbData['director']; + $poster = $tmdbData['poster']; + $streaming = $tmdbData['streaming']; + if(empty($year)) $year = $tmdbData['year']; + } + } + + // 🔥 CORRECTION : Si le streaming est vide après TMDB, on met la valeur par défaut + if (empty($streaming)) { + $streaming = 'Support physique / Cinéma'; + } + + $sql = "INSERT INTO critiques (id, title, year, director, poster, rating, review, streaming) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE rating=VALUES(rating), review=IF(VALUES(review)!='',VALUES(review),review), director=IF(VALUES(director)!='',VALUES(director),director), poster=IF(VALUES(poster)!='',VALUES(poster),poster), streaming=IF(VALUES(streaming)!='',VALUES(streaming),streaming)"; + $stmt = $pdo->prepare($sql); + $stmt->execute([$id, $title, $year, $director, $poster, $rating, $review, $streaming]); } else { $firstName = $rowData['first_name'] ?? ''; $lastName = $rowData['last_name'] ?? ''; $creators = $rowData['creators'] ?? ''; $director = !empty($firstName) && !empty($lastName) ? trim("$firstName $lastName") : $creators;