<?php
header('Content-Type: image/jpeg');

// Configuração da API TMDb
$apiKey = "6b8e3eaa1a03ebb45642e9531d8a76d2";
$apiUrl = "https://api.themoviedb.org/3/discover/movie?api_key=$apiKey&sort_by=popularity.desc&language=pt";

// Busca um filme popular aleatório
$response = file_get_contents($apiUrl);
$data = json_decode($response, true);
$movie = $data['results'][array_rand($data['results'])]; // Escolhe um filme aleatório

// URLs das imagens do filme
$backdropUrl = "https://image.tmdb.org/t/p/original" . $movie['backdrop_path'];
$posterUrl = "https://image.tmdb.org/t/p/w500" . $movie['poster_path'];

// Busca o logo do filme (opcional)
$movieId = $movie['id'];
$logoResponse = file_get_contents("https://api.themoviedb.org/3/movie/$movieId/images?api_key=$apiKey");
$logoData = json_decode($logoResponse, true);
$logoUrl = isset($logoData['logos'][0]['file_path']) ? "https://image.tmdb.org/t/p/w500" . $logoData['logos'][0]['file_path'] : null;

// Função para carregar uma imagem da URL
function carregarImagem($url) {
    if (!$url) return false;
    $imgData = file_get_contents($url);
    return imagecreatefromstring($imgData);
}

// Criando a imagem principal
$largura = 800;
$altura = 450;
$imagem = imagecreatetruecolor($largura, $altura);

// Carregando imagens
$backdrop = carregarImagem($backdropUrl);
$poster = carregarImagem($posterUrl);
$logo = $logoUrl ? carregarImagem($logoUrl) : false;

// Preenchendo o fundo com a imagem do filme
imagecopyresampled($imagem, $backdrop, 0, 0, 0, 0, $largura, $altura, imagesx($backdrop), imagesy($backdrop));

// Adiciona um retângulo preto semi-transparente
$preto_transparente = imagecolorallocatealpha($imagem, 0, 0, 0, 75);
imagefilledrectangle($imagem, 50, 150, 750, 300, $preto_transparente);

// Adiciona a logo do filme (se disponível)
if ($logo) {
    imagecopyresampled($imagem, $logo, 60, 160, 0, 0, 120, 60, imagesx($logo), imagesy($logo));
}

// Adiciona o pôster do filme
imagecopyresampled($imagem, $poster, 650, 160, 0, 0, 100, 140, imagesx($poster), imagesy($poster));

// Adiciona o título e a descrição do filme
$cor_branca = imagecolorallocate($imagem, 255, 255, 255);
$fonte = __DIR__ . "/arial.ttf"; // Certifique-se de que a fonte Arial está disponível

// Ajuste para evitar erro caso a fonte não esteja disponível
if (!file_exists($fonte)) {
    imagestring($imagem, 5, 200, 180, "Filme: " . $movie['title'], $cor_branca);
    imagestring($imagem, 3, 200, 220, "Descricao: " . substr($movie['overview'], 0, 100) . "...", $cor_branca);
} else {
    imagettftext($imagem, 16, 0, 200, 180, $cor_branca, $fonte, $movie['title'] . " (" . substr($movie['release_date'], 0, 4) . ")");
    imagettftext($imagem, 12, 0, 200, 220, $cor_branca, $fonte, substr($movie['overview'], 0, 100) . "...");
}

// Retorna a imagem diretamente no navegador
imagejpeg($imagem);
imagedestroy($imagem);
?>
