<?php
require_once 'includes/db.php';

// Recebe os dados via URL (redirecionados pelo .htaccess)
$type     = $_GET['type'] ?? ''; // live, movie, series
$username = $_GET['username'] ?? '';
$password = $_GET['password'] ?? '';
$stream   = $_GET['stream'] ?? ''; // Ex: 105.ts ou 500.mp4

// Limpa a extensão (.ts, .mp4, .mkv) para pegar apenas o ID numérico
$stream_id = (int)$stream;

if (empty($username) || empty($password) || empty($stream_id)) {
    http_response_code(400);
    die("Dados incompletos.");
}

// 1. Validação do Usuário
$stmt = $pdo->prepare("SELECT id, active, expire_date FROM users WHERE username = ? AND password = ?");
$stmt->execute([$username, $password]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$user) {
    http_response_code(403); // Acesso Negado
    die("Usuário ou senha inválidos.");
}

if ($user['active'] == 0 || strtotime($user['expire_date']) < time()) {
    http_response_code(403);
    die("Conta expirada ou banida.");
}

// 2. Busca o Link Baseado no Tipo
$url = '';

if ($type == 'live') {
    // Busca Canal
    $stmt = $pdo->prepare("SELECT stream_url FROM channels WHERE id = ?");
    $stmt->execute([$stream_id]);
    $url = $stmt->fetchColumn();

} elseif ($type == 'movie') {
    // Busca Filme
    $stmt = $pdo->prepare("SELECT stream_url FROM movies WHERE id = ?");
    $stmt->execute([$stream_id]);
    $url = $stmt->fetchColumn();

} elseif ($type == 'series') {
    // Busca Episódio de Série
    // Apps de série mandam o ID do episódio na URL
    $stmt = $pdo->prepare("SELECT stream_url FROM episodes WHERE id = ?");
    $stmt->execute([$stream_id]);
    $url = $stmt->fetchColumn();
}

// 3. Redirecionamento Final
if ($url) {
    // Redireciona o player para o link real (M3U/MP4/MKV)
    header("Location: " . $url);
    exit;
} else {
    http_response_code(404);
    die("Conteúdo não encontrado no banco de dados.");
}
?>
