<?php
require_once '../config/config.php';
require_once '../config/db.php';
$page_title = 'Éditer un téléchargement';
$current_page = 'admin-liste-telechargements';

$id = intval($_GET['id'] ?? 0);
$db = getDbConnection();
$stmt = $db->prepare('SELECT * FROM telechargements WHERE id = ?');
$stmt->execute([$id]);
$dl = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$dl) {
    echo '<div class="alert alert-danger">Téléchargement introuvable.</div>';
    exit;
}

// Traitement du formulaire
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $titre = trim($_POST['titre'] ?? '');
    $description = trim($_POST['description'] ?? '');
    $lien = trim($_POST['lien'] ?? '');
    $afficher = isset($_POST['afficher']) ? 1 : 0;
    $fichier = $_FILES['fichier'] ?? null;
    $image = $_FILES['image'] ?? null;
    $upload_dir = '../downloads/';
    $fichier_nom = $dl['fichier'];
    $image_nom = $dl['image'];
    $success = false;
    $error = '';

    // Upload image si présente
    if ($image && $image['error'] === UPLOAD_ERR_OK) {
        $image_nom = uniqid('img_') . '_' . basename($image['name']);
        $image_path = $upload_dir . $image_nom;
        if (!move_uploaded_file($image['tmp_name'], $image_path)) {
            $error = "Erreur lors de l'upload de l'image.";
        }
    }
    // Upload fichier si présent
    if ($fichier && $fichier['error'] === UPLOAD_ERR_OK) {
        $fichier_nom = uniqid('file_') . '_' . basename($fichier['name']);
        $fichier_path = $upload_dir . $fichier_nom;
        if (!move_uploaded_file($fichier['tmp_name'], $fichier_path)) {
            $error = "Erreur lors de l'upload du fichier.";
        }
    }
    if (empty($error)) {
        $stmt = $db->prepare('UPDATE telechargements SET titre=?, description=?, fichier=?, image=?, lien=?, afficher=? WHERE id=?');
        $success = $stmt->execute([$titre, $description, $fichier_nom, $image_nom, $lien, $afficher, $id]);
    }
    if ($success) {
        header('Location: admin-liste-telechargements.php');
        exit;
    }
}

$page_content = '<div class="row justify-content-center">'
    . '<div class="col-lg-8 col-md-10">'
    . '<div class="card border border-primary mt-4">'
    . '<div class="card-header"><h4 class="mb-0">Éditer un téléchargement</h4></div>'
    . '<div class="card-body">';
if (!empty($error)) {
    $page_content .= '<div class="alert alert-danger">' . htmlspecialchars($error) . '</div>';
}
$page_content .= '<form method="post" enctype="multipart/form-data">'
    . '<div class="mb-3">'
    . '<label for="titre" class="form-label">Titre</label>'
    . '<input type="text" class="form-control" id="titre" name="titre" value="' . htmlspecialchars($dl['titre']) . '" required>'
    . '</div>'
    . '<div class="mb-3">'
    . '<label for="description" class="form-label">Description</label>'
    . '<textarea class="form-control" id="description" name="description" rows="3">' . htmlspecialchars($dl['description']) . '</textarea>'
    . '</div>'
    . '<div class="mb-3">'
    . '<label for="lien" class="form-label">Lien externe ou chemin de fichier</label>'
    . '<input type="text" class="form-control" id="lien" name="lien" value="' . htmlspecialchars($dl['lien']) . '" placeholder="https://... ou controle.php">'
    . '<small class="form-text text-muted">Indiquez une URL externe ou le chemin d’un fichier local (ex: controle.php).</small>'
    . '</div>'
    . '<div class="mb-3">'
    . '<label for="fichier" class="form-label">Fichier à télécharger (laisser vide pour ne pas changer)</label>'
    . '<input type="file" class="form-control" id="fichier" name="fichier">';
if ($dl['fichier']) {
    $page_content .= '<div class="mt-2"><a href="../downloads/' . htmlspecialchars($dl['fichier']) . '" target="_blank">Fichier actuel</a></div>';
}
$page_content .= '</div>'
    . '<div class="mb-3">'
    . '<label for="image" class="form-label">Image associée (optionnelle, laisser vide pour ne pas changer)</label>'
    . '<input type="file" class="form-control" id="image" name="image" accept="image/*">';
if ($dl['image']) {
    $page_content .= '<div class="mt-2"><img src="../downloads/' . htmlspecialchars($dl['image']) . '" alt="Image actuelle" style="max-width:120px;"></div>';
}
$page_content .= '</div>'
    . '<div class="form-check mb-3">'
    . '<input class="form-check-input" type="checkbox" id="afficher" name="afficher" value="1"' . ($dl['afficher'] ? ' checked' : '') . '>'
    . '<label class="form-check-label" for="afficher">Afficher ce téléchargement sur la page publique</label>'
    . '</div>'
    . '<button type="submit" class="btn btn-primary">Enregistrer</button>'
    . '</form>'
    . '</div></div></div></div>';

include 'template.php';
