<?php
// ===============================================
//  download.php — Téléchargement sécurisé du ZIP
// ===============================================

// 1. Récupération des paramètres
$id    = $_GET['id']    ?? null;
$token = $_GET['token'] ?? null;

if (!$id || !$token) {
    http_response_code(403);
    exit("Accès refusé");
}

// 2. Chemins
$basePath   = realpath(__DIR__ . "/../../../vcards/$id/") . "/";
$privateDir = $basePath . "private/";
$metaFile   = $privateDir . "meta.json";
$zipFile    = $privateDir . "$id.zip";

// 3. Vérifier meta.json
if (!file_exists($metaFile)) {
    http_response_code(404);
    exit("vCard introuvable");
}

$meta = json_decode(file_get_contents($metaFile), true);

// 4. Vérifier le token
$validToken = $meta['renew_token'] ?? null;

if (!$validToken || $validToken !== $token) {
    http_response_code(403);
    exit("Token invalide");
}

// 5. Vérifier le ZIP
if (!file_exists($zipFile)) {
    http_response_code(404);
    exit("Fichier introuvable");
}

// 6. Envoyer le ZIP
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=\"$id.zip\"");
header("Content-Length: " . filesize($zipFile));

readfile($zipFile);
exit;
