<?php
require_once '../includes/config.php';
require_once '../includes/auth.php';
require_once '../includes/site-upload.php';

// Vérification de l'authentification
if (!Auth::check()) {
    header('Location: login.php');
    exit;
}

$success = '';
$error = '';

// Traitement du formulaire
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $config = Config::load();
        
        // Mise à jour des valeurs textuelles du site
        $config['site']['name'] = trim($_POST['site_name'] ?? '');
        $config['site']['description'] = trim($_POST['site_description'] ?? '');
        
        // Mise à jour des valeurs de la page À propos
        $config['about']['title'] = trim($_POST['about_title'] ?? 'À propos');
        $config['about']['content'] = $_POST['about_content'] ?? '';
        
        // Traitement des liens personnalisés
        $config['about']['links'] = [];
        if (!empty($_POST['links'])) {
            foreach ($_POST['links'] as $link) {
                if (!empty($link['title']) && !empty($link['url'])) {
                    $config['about']['links'][] = [
                        'title' => trim($link['title']),
                        'url' => trim($link['url']),
                        'target' => isset($link['target']) ? '_blank' : ''
                    ];
                }
            }
        }
        
        // Validation
        if (empty($config['site']['name'])) {
            throw new Exception('Le nom du site est requis');
        }
        
        // Gestion de l'upload du logo
        if (isset($_FILES['site_logo']) && $_FILES['site_logo']['error'] !== UPLOAD_ERR_NO_FILE) {
            $uploadHandler = new SiteUploadHandler();
            $config['site']['logo'] = $uploadHandler->handleLogoUpload($_FILES['site_logo']);
        }

        // Gestion de l'upload du background de la page À propos
        if (isset($_FILES['about_background']) && $_FILES['about_background']['error'] !== UPLOAD_ERR_NO_FILE) {
            $uploadHandler = new SiteUploadHandler();
            $config['about']['background'] = $uploadHandler->handleBackgroundUpload($_FILES['about_background']);
        }
        
        // Sauvegarde
        Config::save($config);
        $success = 'Configuration mise à jour avec succès';
        
    } catch (Exception $e) {
        $error = $e->getMessage();
    }
}

// Chargement de la configuration actuelle
$config = Config::load();
?>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Options du site - Administration</title>
    <?php if (file_exists(__DIR__ . '/../assets/images/site/favicon.png')): ?>
        <link rel="icon" type="image/png" href="../assets/images/site/favicon.png">
    <?php endif; ?>
    <link rel="stylesheet" href="../assets/css/main.css">
    <link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
</head>
<body>
    <nav class="admin-nav">
        <div class="nav-brand">
            <?php if (!empty($config['site']['logo'])): ?>
                <img src="<?= htmlspecialchars('../' . $config['site']['logo']) ?>" 
                    alt="<?= htmlspecialchars($config['site']['name']) ?>">
            <?php endif; ?>
            <span>Administration</span>
        </div>
        <div class="nav-menu">
        <a href="index.php" class="button tooltip" data-tooltip="Retour">
            <i class="fas fa-arrow-left"></i>
        </a>
        </div>
    </nav>

    <main class="admin-main">
        <h1>Options du site</h1>
        
        <?php if ($success): ?>
            <div class="success-message"><?= htmlspecialchars($success) ?></div>
        <?php endif; ?>
        
        <?php if ($error): ?>
            <div class="error-message"><?= htmlspecialchars($error) ?></div>
        <?php endif; ?>
        
        <div class="options-container">
            <section class="options-section">
                <h2>Options générales</h2>
                <form method="POST" class="options-form" enctype="multipart/form-data">
                    <!-- Options du site -->
                    <div class="form-group">
                        <label for="site_name">Nom du site</label>
                        <input type="text" 
                            id="site_name" 
                            name="site_name" 
                            value="<?= htmlspecialchars($config['site']['name']) ?>" 
                            required>
                    </div>
                    
                    <div class="form-group">
                        <label for="site_description">Description du site</label>
                        <textarea id="site_description" 
                                name="site_description" 
                                rows="4"><?= htmlspecialchars($config['site']['description']) ?></textarea>
                    </div>

                    <div class="form-group">
                        <label for="site_logo">Logo du site</label>
                        <?php if (!empty($config['site']['logo'])): ?>
                            <div class="current-logo">
                                <img src="<?= htmlspecialchars('../' . $config['site']['logo']) ?>" 
                                    alt="Logo actuel">
                            </div>
                        <?php endif; ?>
                        <input type="file" 
                            id="site_logo" 
                            name="site_logo" 
                            accept="image/jpeg,image/png,image/gif,image/svg+xml">
                        <small>Formats acceptés : JPG, PNG, GIF, SVG. Taille maximum : 2MB</small>
                    </div>

                    <!-- Section À Propos -->
                    <h2>Page "À propos"</h2>
                    
                    <div class="form-group">
                        <label for="about_title">Titre de la page</label>
                        <input type="text" 
                            id="about_title" 
                            name="about_title" 
                            value="<?= htmlspecialchars($config['about']['title'] ?? 'À propos') ?>">
                    </div>
                    
                    <div class="form-group">
                        <label for="about_background">Image de fond</label>
                        <?php if (!empty($config['about']['background'])): ?>
                            <div class="current-background">
                                <img src="<?= htmlspecialchars('../' . $config['about']['background']) ?>" 
                                    alt="Image de fond actuelle">
                            </div>
                        <?php endif; ?>
                        <input type="file" 
                            id="about_background" 
                            name="about_background" 
                            accept="image/*">
                        <small>Format recommandé : 1920x250px, JPG/PNG</small>
                    </div>
                    
                    <div class="form-group">
                        <label for="about_content">Contenu de la page</label>
                        <input type="hidden" id="about_content" name="about_content">
                        <div id="aboutEditor" data-initial-content="<?= htmlspecialchars($config['about']['content'] ?? '') ?>"></div>
                    </div>

                    <!-- Section Liens personnalisés -->
                    <h2>Liens personnalisés</h2>
                    <div id="customLinks" class="custom-links">
                        <?php
                        if (!empty($config['about']['links'])) {
                            foreach ($config['about']['links'] as $index => $link) {
                        ?>
                            <div class="link-item">
                                <div class="form-group">
                                    <label>Titre du lien</label>
                                    <input type="text" 
                                        name="links[<?= $index ?>][title]" 
                                        value="<?= htmlspecialchars($link['title']) ?>" 
                                        required>
                                </div>
                                <div class="form-group">
                                    <label>URL</label>
                                    <input type="text" 
                                        name="links[<?= $index ?>][url]" 
                                        value="<?= htmlspecialchars($link['url']) ?>" 
                                        required>
                                </div>
                                <div class="form-group">
                                    <label>
                                        <input type="checkbox" 
                                            name="links[<?= $index ?>][target]" 
                                            value="_blank" 
                                            <?= (!empty($link['target']) && $link['target'] === '_blank') ? 'checked' : '' ?>>
                                        Ouvrir dans un nouvel onglet
                                    </label>
                                </div>
                                <button type="button" class="button dark tooltip remove-link" data-tooltip="Supprimer ce lien">
                                    <i class="fas fa-trash-alt"></i>
                                </button>
                            </div>
                        <?php
                            }
                        }
                        ?>
                    </div>
                    <button type="button" id="addLink" class="button tooltip" data-tooltip="Ajouter un lien">
                        <i class="fas fa-plus"></i>
                    </button>
                    <br />
                    <button type="submit" class="button tooltip submit-button" data-tooltip="Enregistrer">
                        <i class="fas fa-save"></i>
                        <span class="tooltip-text">Enregistrer les modifications</span>
                    </button>
                    <!-- Section Nettoyage des médias -->
                    <h2>Maintenance</h2>
                    <div class="maintenance-actions">
                    <button type="button" id="cleanMedia" class="button tooltip" data-tooltip="Nettoyer">
                        <i class="fas fa-broom"></i>
                        <span class="tooltip-text">Nettoyer les médias inutilisés</span>
                    </button>
                        <small>Supprime les images qui ne sont plus utilisées dans les romans et chapitres.</small>
                    </div>
                </form>
            </section>
        </div>
    </main>

    <script src="https://cdn.quilljs.com/1.3.6/quill.min.js"></script>
    <script src="../assets/js/options.js"></script>
    <link rel="stylesheet" href="../assets/css/dialog.css">
    <script src="../assets/js/dialog.js"></script>
</body>
</html>