<?php
/**
 * ZLO Technologies v2 - Installation Script
 */

// Check if already installed
if (file_exists('.installed')) {
    die('Installation déjà effectuée. Supprimez le fichier .installed pour réinstaller.');
}

$errors = [];
$success = [];

// Check PHP version
if (version_compare(PHP_VERSION, '8.0.0', '<')) {
    $errors[] = 'PHP 8.0+ requis. Version actuelle: ' . PHP_VERSION;
} else {
    $success[] = 'PHP version OK: ' . PHP_VERSION;
}

// Check extensions
$required_extensions = ['pdo', 'pdo_mysql', 'json', 'mbstring'];
foreach ($required_extensions as $ext) {
    if (!extension_loaded($ext)) {
        $errors[] = "Extension PHP manquante: $ext";
    } else {
        $success[] = "Extension OK: $ext";
    }
}

// Check directories
$dirs = ['uploads', 'logs'];
foreach ($dirs as $dir) {
    if (!is_dir($dir)) {
        if (!mkdir($dir, 0755, true)) {
            $errors[] = "Impossible de créer le dossier: $dir";
        } else {
            $success[] = "Dossier créé: $dir";
        }
    } else {
        $success[] = "Dossier existe: $dir";
    }
}

// Database connection test
if (file_exists('api/config/database.php')) {
    try {
        require_once 'api/config/database.php';
        $success[] = 'Connexion base de données OK';
        
        // Check if tables exist
        $stmt = $pdo->query("SHOW TABLES");
        $tables = $stmt->fetchAll(PDO::FETCH_COLUMN);
        
        if (in_array('users', $tables)) {
            $success[] = 'Tables de base de données installées';
        } else {
            $errors[] = 'Tables non trouvées. Importez database/schema.sql';
        }
    } catch (Exception $e) {
        $errors[] = 'Erreur base de données: ' . $e->getMessage();
    }
}

// Check .env file
if (!file_exists('.env')) {
    if (file_exists('.env.example')) {
        copy('.env.example', '.env');
        $success[] = 'Fichier .env créé à partir de .env.example';
    } else {
        $errors[] = 'Fichier .env.example manquant';
    }
} else {
    $success[] = 'Fichier .env existe';
}

// Create .installed file if no errors
if (empty($errors)) {
    file_put_contents('.installed', date('Y-m-d H:i:s'));
    $success[] = 'Installation marquée comme complète';
}

?>
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Installation - ZLO Technologies</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        body {
            background: #0a0a0a;
            color: #fff;
            font-family: 'Inter', sans-serif;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .install-box {
            background: #141414;
            border: 1px solid #1f1f1f;
            border-radius: 20px;
            padding: 40px;
            max-width: 600px;
            width: 100%;
        }
        .install-box h1 {
            text-align: center;
            margin-bottom: 30px;
        }
        .install-box h1 span {
            color: #ff4d00;
        }
        .success-item {
            color: #00c853;
            padding: 8px 0;
            border-bottom: 1px solid #1f1f1f;
        }
        .error-item {
            color: #ff1744;
            padding: 8px 0;
            border-bottom: 1px solid #1f1f1f;
        }
        .btn-primary {
            background: linear-gradient(135deg, #dc2626 0%, #ff4d00 100%);
            border: none;
            padding: 14px 30px;
            border-radius: 10px;
            font-weight: 600;
        }
    </style>
</head>
<body>
    <div class="install-box">
        <h1>ZLO<span>Technologies</span></h1>
        <h4 class="mb-4">Vérification de l'installation</h4>
        
        <?php if (!empty($success)): ?>
            <h6 class="text-success mb-3">✓ Vérifications réussies</h6>
            <?php foreach ($success as $msg): ?>
                <div class="success-item"><i class="fas fa-check me-2"></i><?php echo htmlspecialchars($msg); ?></div>
            <?php endforeach; ?>
        <?php endif; ?>
        
        <?php if (!empty($errors)): ?>
            <h6 class="text-danger mb-3 mt-4">✗ Problèmes détectés</h6>
            <?php foreach ($errors as $msg): ?>
                <div class="error-item"><i class="fas fa-times me-2"></i><?php echo htmlspecialchars($msg); ?></div>
            <?php endforeach; ?>
        <?php endif; ?>
        
        <div class="mt-4 text-center">
            <?php if (empty($errors)): ?>
                <div class="alert alert-success">
                    <strong>Installation réussie !</strong><br>
                    Identifiants par défaut: admin@zlotech.net / admin123
                </div>
                <a href="admin/" class="btn btn-primary">Accéder à l'admin</a>
                <a href="public/" class="btn btn-outline-light ms-2">Voir le site</a>
            <?php else: ?>
                <div class="alert alert-danger">
                    <strong>Des problèmes ont été détectés.</strong><br>
                    Corrigez-les et rafraîchissez cette page.
                </div>
            <?php endif; ?>
        </div>
    </div>
</body>
</html>
