Actualiser api.php
This commit is contained in:
@@ -500,6 +500,66 @@ function fetchFromBlurayCom($ean) {
|
|||||||
return $empty;
|
return $empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function fetchFromMovieCovers($title, $year = '') {
|
||||||
|
$empty = [
|
||||||
|
'title' => '', 'year' => '', 'director' => '', 'actors' => '',
|
||||||
|
'poster' => '', 'description' => '', 'length' => '',
|
||||||
|
'publisher' => '', 'format' => 'DVD', 'number_of_discs' => 1,
|
||||||
|
'aspect_ratio' => ''
|
||||||
|
];
|
||||||
|
|
||||||
|
// Nettoyer le titre pour l'URL
|
||||||
|
$urlTitle = strtoupper(str_replace(' ', '+', $title));
|
||||||
|
$url = "https://moviecovers.com/film/titre_{$urlTitle}.html";
|
||||||
|
|
||||||
|
$html = httpGet($url, 10);
|
||||||
|
if (!$html) return $empty;
|
||||||
|
|
||||||
|
// Extraire le titre
|
||||||
|
if (preg_match('/<TITLE>([^<]+)<\/TITLE>/i', $html, $m)) {
|
||||||
|
$empty['title'] = trim($m[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extraire l'affiche
|
||||||
|
if (preg_match('/<img[^>]*src="(https:\/\/moviecovers\.com\/DATA\/thumbs\/[^"]+)"[^>]*title="Recto/i', $html, $m)) {
|
||||||
|
$empty['poster'] = $m[1];
|
||||||
|
} elseif (preg_match('/<meta[^>]*property="og:image"[^>]*content="([^"]+)"/i', $html, $m)) {
|
||||||
|
$empty['poster'] = $m[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extraire le réalisateur
|
||||||
|
if (preg_match('/Réalisateur<\/TH>\s*<TD[^>]*>.*?<a[^>]*>([^<]+)<\/a>/is', $html, $m)) {
|
||||||
|
$empty['director'] = trim($m[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extraire l'année
|
||||||
|
if (preg_match('/Année<\/TH>\s*<TD[^>]*>.*?<a[^>]*>(\d{4})<\/a>/is', $html, $m)) {
|
||||||
|
$empty['year'] = $m[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extraire la durée
|
||||||
|
if (preg_match('/Durée<\/TH>\s*<TD[^>]*>([\dH]+[\dmin]*)/is', $html, $m)) {
|
||||||
|
$empty['length'] = trim($m[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extraire les acteurs
|
||||||
|
if (preg_match_all('/<a href="\/multicrit\.html\?acteur=[^"]*">([^<]+)<\/a>/i', $html, $matches)) {
|
||||||
|
$empty['actors'] = implode(', ', array_slice($matches[1], 0, 5));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extraire le synopsis
|
||||||
|
if (preg_match('/<meta[^>]*property="og:description"[^>]*content="([^"]+)"/i', $html, $m)) {
|
||||||
|
$empty['description'] = html_entity_decode($m[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Format haute qualité de l'affiche
|
||||||
|
if ($empty['poster']) {
|
||||||
|
$empty['poster'] = str_replace('/thumbs/', '/films-l/', $empty['poster']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $empty;
|
||||||
|
}
|
||||||
|
|
||||||
// ── ROUTEUR PRINCIPAL ──
|
// ── ROUTEUR PRINCIPAL ──
|
||||||
$action = $_GET['action'] ?? '';
|
$action = $_GET['action'] ?? '';
|
||||||
$data = json_decode(file_get_contents('php://input'), true) ?? [];
|
$data = json_decode(file_get_contents('php://input'), true) ?? [];
|
||||||
|
|||||||
Reference in New Issue
Block a user