

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

// Traitement du formulaire d'ajout
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $titre = trim($_POST['titre'] ?? '');
    $description = trim($_POST['description'] ?? '');
    $lien = trim($_POST['lien'] ?? '');
    $fichier = $_FILES['fichier'] ?? null;
    $image = $_FILES['image'] ?? null;
    $upload_dir = '../downloads/';
    $fichier_nom = '';
    $image_nom = '';
    $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.";
        }
    }

    if (!empty($lien)) {
        // Enregistrement du lien externe ou chemin de fichier
        $db = getDbConnection();
        $stmt = $db->prepare('INSERT INTO telechargements (titre, description, fichier, image, lien) VALUES (?, ?, ?, ?, ?)');
        $success = $stmt->execute([$titre, $description, '', $image_nom, $lien]);
    } elseif ($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)) {
            // Enregistrer dans la base de données
            $db = getDbConnection();
            $stmt = $db->prepare('INSERT INTO telechargements (titre, description, fichier, image, lien) VALUES (?, ?, ?, ?, ?)');
            $success = $stmt->execute([$titre, $description, $fichier_nom, $image_nom, '']);
        } else {
            $error = "Erreur lors de l'upload du fichier.";
        }
    } else {
        $error = "Veuillez renseigner un lien ou choisir un fichier à uploader.";
    }
}


$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">Ajouter un téléchargement</h4></div>'
    . '<div class="card-body">';
if (!empty($success)) {
    $page_content .= '<div class="alert alert-success">Téléchargement ajouté avec succès !</div>';
} elseif (!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" required>'
    . '</div>'
    . '<div class="mb-3">'
    . '<label for="description" class="form-label">Description</label>'
    . '<textarea class="form-control" id="description" name="description" rows="3"></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" 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</label>'
    . '<input type="file" class="form-control" id="fichier" name="fichier">'
    . '</div>'
    . '<div class="mb-3">'
    . '<label for="image" class="form-label">Image associée (optionnelle)</label>'
    . '<input type="file" class="form-control" id="image" name="image" accept="image/*">'
    . '</div>'
    . '<button type="submit" class="btn btn-primary">Ajouter</button>'
    . '</form>'
    . '</div></div></div></div>';

include 'template.php';
