Actualiser api.php

This commit is contained in:
2026-07-02 11:59:59 +02:00
parent 3d956a697f
commit 061ee4ff67
+17 -10
View File
@@ -413,27 +413,32 @@ function fetchFromMovieCovers($title, $year = '') {
return $empty;
}
// ── AGGREGATEUR PHYSIQUE (FNAC -> BLU-RAY.COM -> MOVIECOVERS) ──
// ── AGGREGATEUR PHYSIQUE (VERSION TRACÉE POUR DIAGNOSTIC) ──
function fetchPhysicalByEan($ean, $pdo = null) {
// 1. Tenter la FNAC pour avoir le titre français
error_log("=== DEBUT fetchPhysicalByEan EAN=$ean ===");
// 1. FNAC
$fnacData = fetchFromFnac($ean);
error_log("FNAC -> title='" . ($fnacData['title'] ?? '') . "' poster='" . ($fnacData['poster'] ?? '') . "'");
$title = $fnacData['title'] ?? '';
$res = $fnacData;
// 2. Chercher les détails techniques sur Blu-ray.com
// 2. Blu-ray.com par titre (si FNAC a donné un titre)
$blurayData = [];
if (!empty($title)) {
$blurayData = fetchFromBlurayComByTitle($title);
error_log("BLURAY(byTitle, cherché='$title') -> title='" . ($blurayData['title'] ?? '(vide, ce champ n\'est pas rempli par cette fonction)') . "' year='" . ($blurayData['year'] ?? '') . "' publisher='" . ($blurayData['publisher'] ?? '') . "'");
}
// 3. Fallback: Blu-ray.com par EAN (si FNAC n'a rien donné)
if (empty($blurayData) && empty($title)) {
// Fallback : chercher sur Blu-ray.com par EAN
$blurayData = fetchFromBlurayComByEan($ean);
$title = $blurayData['title'] ?? '';
$res = $blurayData;
error_log("BLURAY(byEan) -> title='$title' year='" . ($blurayData['year'] ?? '') . "'");
}
if (!empty($blurayData)) {
// Les détails techniques de Blu-ray.com sont prioritaires
if (!empty($blurayData['length'])) $res['length'] = $blurayData['length'];
if (!empty($blurayData['number_of_discs'])) $res['number_of_discs'] = $blurayData['number_of_discs'];
if (!empty($blurayData['aspect_ratio'])) $res['aspect_ratio'] = $blurayData['aspect_ratio'];
@@ -442,16 +447,18 @@ function fetchPhysicalByEan($ean, $pdo = null) {
if (!empty($blurayData['poster'])) $res['poster'] = $blurayData['poster'];
if (!empty($blurayData['year'])) $res['year'] = $blurayData['year'];
}
// 3. Compléter avec MovieCovers pour la jaquette HD FR et métadonnées FR
// 4. MovieCovers (par titre)
if (!empty($title)) {
$mc = fetchFromMovieCovers($title, $res['year'] ?? '');
error_log("MOVIECOVERS(cherché='$title') -> title='" . ($mc['title'] ?? '') . "' poster='" . ($mc['poster'] ?? '') . "'");
if (!empty($mc['poster'])) $res['poster'] = $mc['poster'];
if (!empty($mc['director'])) $res['director'] = $mc['director'];
if (!empty($mc['actors'])) $res['actors'] = $mc['actors'];
if (!empty($mc['description'])) $res['description'] = $mc['description'];
}
error_log("=== FIN fetchPhysicalByEan -> title FINAL='" . ($res['title'] ?? '') . "' ===");
return $res;
}