<?php
/**
 * AJOUAMAI IMMO-BUSINESS — Full Database Reset & Setup Script
 * WARNING: This will DROP ALL existing tables and recreate them fresh.
 * Run only on first install or when you want a clean slate.
 *
 * URL: http://localhost:8000/hind/setup.php
 */

require_once __DIR__ . '/includes/config.php';

$done  = false;
$error = '';
$logs  = [];

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['confirmed'])) {
    try {
        $pdo = getDB();

        // 1. Drop All Existing Tables (FK-safe order)
        $pdo->exec("SET FOREIGN_KEY_CHECKS = 0");
        $existingTables = $pdo->query('SHOW TABLES')->fetchAll(PDO::FETCH_COLUMN);
        foreach ($existingTables as $tbl) {
            $pdo->exec("DROP TABLE IF EXISTS `$tbl`");
            $logs[] = "Supprimée : <code>$tbl</code>";
        }
        $pdo->exec("SET FOREIGN_KEY_CHECKS = 1");
        $logs[] = "Toutes les anciennes tables ont ete supprimees.";

        // 2. Create Fresh Schema
        $schema = [
            // Admins
            "CREATE TABLE `admins` (
                `id`             INT AUTO_INCREMENT PRIMARY KEY,
                `username`       VARCHAR(50)  NOT NULL UNIQUE,
                `password_hash`  VARCHAR(255) NOT NULL,
                `email`          VARCHAR(100) NULL,
                `role`           ENUM('super_admin','agent') DEFAULT 'agent',
                `login_attempts` INT DEFAULT 0,
                `locked_until`   DATETIME NULL,
                `created_at`     TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Zones taxonomy
            "CREATE TABLE `zones` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `name`       VARCHAR(100) NOT NULL UNIQUE,
                `slug`       VARCHAR(100) NOT NULL UNIQUE,
                `ordre`      INT DEFAULT 0,
                `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Property types taxonomy
            "CREATE TABLE `property_types` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `name`       VARCHAR(100) NOT NULL UNIQUE,
                `slug`       VARCHAR(100) NOT NULL UNIQUE,
                `ordre`      INT DEFAULT 0,
                `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Properties
            "CREATE TABLE `properties` (
                `id`                 INT AUTO_INCREMENT PRIMARY KEY,
                `title`              VARCHAR(255)  NOT NULL,
                `slug`               VARCHAR(255)  NOT NULL UNIQUE,
                `description`        TEXT          NULL,
                `type`               VARCHAR(50)   NOT NULL,
                `status`             ENUM('vente','location') NOT NULL DEFAULT 'vente',
                `city`               VARCHAR(100)  NOT NULL DEFAULT 'Dar Bouazza',
                `address`            VARCHAR(255)  NULL,
                `price`              DECIMAL(12,2) NULL,
                `price_label`        VARCHAR(100)  NULL,
                `surface`            INT NULL,
                `rooms`              INT NULL,
                `bedrooms`           INT NULL,
                `bathrooms`          INT NULL,
                `year_built`         INT NULL,
                `featured`           TINYINT(1) DEFAULT 0,
                `publication_status` ENUM('publie','brouillon') DEFAULT 'publie',
                `lat`                DECIMAL(10,8) NULL,
                `lng`                DECIMAL(11,8) NULL,
                `created_at`         TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                `updated_at`         TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Property images
            "CREATE TABLE `property_images` (
                `id`          INT AUTO_INCREMENT PRIMARY KEY,
                `property_id` INT NOT NULL,
                `image_path`  VARCHAR(255) NOT NULL,
                `is_primary`  TINYINT(1) DEFAULT 0,
                `sort_order`  INT DEFAULT 0,
                `created_at`  TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                FOREIGN KEY (`property_id`) REFERENCES `properties`(`id`) ON DELETE CASCADE
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Home articles
            "CREATE TABLE `home_articles` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `titre`      VARCHAR(255) NOT NULL,
                `contenu`    TEXT NULL,
                `image_path` VARCHAR(255) NULL,
                `lien`       VARCHAR(255) NULL,
                `ordre`      INT DEFAULT 0,
                `actif`      TINYINT(1) DEFAULT 1,
                `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Journal & Blog Articles
            "CREATE TABLE IF NOT EXISTS `articles` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `slug`       VARCHAR(255) NOT NULL UNIQUE,
                `title`      VARCHAR(255) NOT NULL,
                `category`   VARCHAR(100) NOT NULL DEFAULT 'Actualité',
                `excerpt`    TEXT NULL,
                `content`    LONGTEXT NULL,
                `image_path` VARCHAR(255) NULL,
                `author`     VARCHAR(100) DEFAULT 'Équipe AJOUAMAI',
                `featured`   TINYINT(1) DEFAULT 0,
                `status`     ENUM('publie', 'brouillon') DEFAULT 'publie',
                `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // CMS page contents
            "CREATE TABLE `page_contents` (
                `id`            INT AUTO_INCREMENT PRIMARY KEY,
                `page_key`      VARCHAR(50) NOT NULL,
                `section_key`   VARCHAR(50) NOT NULL,
                `content_key`   VARCHAR(50) NOT NULL,
                `content_value` LONGTEXT NULL,
                `content_type`  ENUM('text','html','image') DEFAULT 'text',
                `updated_at`    TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                UNIQUE KEY `page_section_content` (`page_key`,`section_key`,`content_key`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Values CMS
            "CREATE TABLE `values_cms` (
                `id`    INT AUTO_INCREMENT PRIMARY KEY,
                `titre` VARCHAR(150) NOT NULL,
                `texte` TEXT NOT NULL,
                `icone` VARCHAR(50) NULL,
                `ordre` INT DEFAULT 0
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Services CMS
            "CREATE TABLE `services_cms` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `titre`      VARCHAR(150) NOT NULL,
                `texte`      TEXT NOT NULL,
                `image_path` VARCHAR(255) NULL,
                `ordre`      INT DEFAULT 0
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Contact messages
            "CREATE TABLE `contact_messages` (
                `id`                INT AUTO_INCREMENT PRIMARY KEY,
                `nom`               VARCHAR(100) NOT NULL,
                `email`             VARCHAR(150) NOT NULL,
                `phone`             VARCHAR(30) NULL,
                `profil_je_suis`    VARCHAR(50) NULL,
                `profil_je_le_suis` VARCHAR(50) NULL,
                `property_id`       INT NULL,
                `message`           TEXT NOT NULL,
                `status`            ENUM('nouveau','traite','archive') DEFAULT 'nouveau',
                `note_interne`      TEXT NULL,
                `created_at`        TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Estimation requests
            "CREATE TABLE `estimation_requests` (
                `id`                   INT AUTO_INCREMENT PRIMARY KEY,
                `adresse_type`         VARCHAR(255) NOT NULL,
                `adresse_detail`       VARCHAR(255) NULL,
                `type_bien`            VARCHAR(50) NOT NULL,
                `type_bien_autre`      VARCHAR(100) NULL,
                `categorie`            VARCHAR(50) NULL,
                `type_meuble`          VARCHAR(50) NULL,
                `superficie_totale`    INT NULL,
                `superficie_habitable` INT NULL,
                `annee_construction`   INT NULL,
                `nombre_niveaux`       INT NULL,
                `nombre_pieces`        INT NULL,
                `nombre_chambres`      INT NULL,
                `etage`                VARCHAR(20) NULL,
                `surface_balcon`       INT NULL,
                `surface_terrasse`     INT NULL,
                `surface_jardin`       INT NULL,
                `autres_espaces`       JSON NULL,
                `ascenseur`            VARCHAR(20) NULL,
                `orientation`          VARCHAR(50) NULL,
                `vue`                  VARCHAR(50) NULL,
                `finition`             VARCHAR(50) NULL,
                `commentaires`         TEXT NULL,
                `nom`                  VARCHAR(100) NOT NULL,
                `email`                VARCHAR(150) NOT NULL,
                `telephone`            VARCHAR(30) NOT NULL,
                `status`               ENUM('nouveau','contacte','estimation_envoyee','cloture') DEFAULT 'nouveau',
                `created_at`           TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // RDV requests
            "CREATE TABLE `rdv_requests` (
                `id`                  INT AUTO_INCREMENT PRIMARY KEY,
                `prenom`              VARCHAR(100) NOT NULL,
                `nom`                 VARCHAR(100) NOT NULL,
                `email`               VARCHAR(150) NOT NULL,
                `mobile`              VARCHAR(30) NOT NULL,
                `indicatif`           VARCHAR(10) DEFAULT '+212',
                `date_rdv`            DATE NOT NULL,
                `creneau`             ENUM('matin','apres_midi','soir') NOT NULL,
                `heure`               TIME NOT NULL,
                `recherche_bien`      TINYINT(1) DEFAULT 0,
                `criteres_recherche`  JSON NULL,
                `status`              ENUM('confirme','annule','realise') DEFAULT 'confirme',
                `created_at`          TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // RDV blackout dates
            "CREATE TABLE `rdv_blackouts` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `date_debut` DATE NOT NULL,
                `date_fin`   DATE NOT NULL,
                `motif`      VARCHAR(255) NULL,
                `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // RDV settings
            "CREATE TABLE `rdv_settings` (
                `creneau`            VARCHAR(50) PRIMARY KEY,
                `heure_debut`        TIME NOT NULL DEFAULT '08:00',
                `heure_fin`          TIME NOT NULL DEFAULT '12:00',
                `intervalle_minutes` INT NOT NULL DEFAULT 30,
                `actif`              TINYINT(1) DEFAULT 1,
                `updated_at`         TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Site settings KV store
            "CREATE TABLE `site_settings` (
                `setting_key`   VARCHAR(100) PRIMARY KEY,
                `setting_value` TEXT NULL,
                `setting_type`  VARCHAR(20) DEFAULT 'text',
                `updated_at`    TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Email templates
            "CREATE TABLE `email_templates` (
                `template_key` VARCHAR(100) PRIMARY KEY,
                `subject`      VARCHAR(255) NOT NULL,
                `body_html`    LONGTEXT NOT NULL,
                `updated_at`   TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",

            // Visitor traffic analytics (NEW)
            "CREATE TABLE `visitor_logs` (
                `id`         INT AUTO_INCREMENT PRIMARY KEY,
                `ip_address` VARCHAR(45)  NOT NULL,
                `page_url`   VARCHAR(255) NOT NULL,
                `user_agent` VARCHAR(255) NULL,
                `visited_at` TIMESTAMP   DEFAULT CURRENT_TIMESTAMP,
                INDEX `idx_visited_at` (`visited_at`),
                INDEX `idx_ip`         (`ip_address`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
        ];

        foreach ($schema as $sql) {
            $pdo->exec($sql);
        }
        $logs[] = count($schema) . " tables creees avec succes.";

        // 3. Seed Admin
        $passHash = password_hash('admin123', PASSWORD_BCRYPT);
        $pdo->exec("INSERT INTO `admins`(`username`,`password_hash`,`email`,`role`)
                    VALUES('admin','$passHash','contact@aib-immobilier.ma','super_admin')
                    ON DUPLICATE KEY UPDATE `password_hash`='$passHash'");
        $logs[] = "Admin cree : admin / admin123";

        // Seed Zones
        $pdo->exec("INSERT IGNORE INTO `zones` (`name`, `slug`, `ordre`) VALUES
            ('Dar Bouazza', 'dar-bouazza', 1),
            ('Casablanca', 'casablanca', 2),
            ('Sidi Rahal', 'sidi-rahal', 3)");

        // Seed Property Types
        $pdo->exec("INSERT IGNORE INTO `property_types` (`name`, `slug`, `ordre`) VALUES
            ('Terrain', 'terrain', 1),
            ('Appartement', 'appartement', 2),
            ('Villa', 'villa', 3),
            ('Local commercial', 'local-commercial', 4),
            ('Duplex', 'duplex', 5),
            ('Triplex', 'triplex', 6)");

        // 4. Seed Values CMS
        $vData = [
            [1, "L'excellence au quotidien",  "Chaque dossier traite avec rigueur et professionnalisme.",  1],
            [2, "Confiance et continuite",     "Tisser des relations durables au-dela des transactions.",   2],
            [3, "Reveler l'exceptionnel",      "Mise en valeur haut de gamme a Dar Bouazza.",               3],
        ];
        $sv = $pdo->prepare("INSERT INTO `values_cms`(`id`,`titre`,`texte`,`ordre`) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE `titre`=VALUES(`titre`)");
        foreach ($vData as $v) $sv->execute($v);

        // 5. Seed Services CMS
        $sData = [
            [1, "Achat & Vente d'Exception",   "Selection de villas, duplex et appartements d'exception.",  "assets/img/project-1.jpg", 1],
            [2, "Gestion Locative Serenite",    "Prise en charge integrale de votre bien immobilier.",       "assets/img/project-2.jpg", 2],
            [3, "Estimation Precise sous 48h",  "Evaluation au juste prix du marche par nos experts.",       "assets/img/project-3.jpg", 3],
        ];
        $ss = $pdo->prepare("INSERT INTO `services_cms`(`id`,`titre`,`texte`,`image_path`,`ordre`) VALUES(?,?,?,?,?) ON DUPLICATE KEY UPDATE `titre`=VALUES(`titre`)");
        foreach ($sData as $s) $ss->execute($s);

        // 6. Seed Properties
        $pData = [
            ["Villa d'exception pieds dans l'eau",      "villa-d-exception-pieds-dans-l-eau",     "Villa contemporaine en premiere ligne de mer a Dar Bouazza. Piscine privative, 5 chambres.", "villa",       "vente",    "Dar Bouazza", "Tamaris Front de Mer",  8500000.00, "8 500 000 MAD",    650, 7, 5, 6, 2023, 1, "publie"],
            ["Appartement vue mer panoramique",          "appartement-vue-mer-panoramique",         "Appartement de standing dans une residence securisee avec piscine.",                        "appartement", "vente",    "Dar Bouazza", "Corniche Tamaris",      3200000.00, "3 200 000 MAD",    160, 4, 3, 2, 2022, 1, "publie"],
            ["Duplex contemporain avec jardin",          "duplex-contemporain-avec-jardin",          "Duplex offrant de grands volumes lumineux, jardin prive et terrasse.",                      "duplex",      "vente",    "Dar Bouazza", "Quartier Les Jardins", 4200000.00, "4 200 000 MAD",    280, 5, 4, 3, 2021, 1, "publie"],
            ["Villa de luxe en location longue duree",  "villa-de-luxe-location-longue-duree",     "Villa entierement meublee disponible a la location. Piscine chauffee.",                     "villa",       "location", "Dar Bouazza", "Secteur Residentiel",   35000.00,  "35 000 MAD / mois", 500, 6, 4, 5, 2022, 1, "publie"],
        ];
        $sp = $pdo->prepare("INSERT INTO `properties`(`title`,`slug`,`description`,`type`,`status`,`city`,`address`,`price`,`price_label`,`surface`,`rooms`,`bedrooms`,`bathrooms`,`year_built`,`featured`,`publication_status`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `price`=VALUES(`price`)");
        foreach ($pData as $p) $sp->execute($p);
        $logs[] = count($pData) . " proprietes de demonstration creees.";

        // 7. Seed Property Images
        $pdo->exec("INSERT IGNORE INTO `property_images`(`property_id`,`image_path`,`is_primary`,`sort_order`) VALUES
            (1,'assets/img/property-1.jpg',1,1),
            (1,'assets/img/property-2.jpg',0,2),
            (2,'assets/img/property-2.jpg',1,1),
            (2,'assets/img/property-3.jpg',0,2),
            (3,'assets/img/property-3.jpg',1,1),
            (3,'assets/img/project-1.jpg',0,2),
            (4,'assets/img/project-1.jpg',1,1),
            (4,'assets/img/project-2.jpg',0,2)");
        $logs[] = "Images de proprietes assignees.";

        // 8. Seed Default Site Settings
        $stData = [
            ['agency_name',        'AJOUAMAI IMMO-BUSINESS',   'text'],
            ['agency_phone',       '+212 6 00 00 00 00',       'text'],
            ['notification_email', 'contact@aib-immobilier.ma','text'],
            ['agency_address',     'Dar Bouazza, Casablanca',  'text'],
            ['whatsapp_enabled',   '0',                        'bool'],
        ];
        $sst = $pdo->prepare("INSERT INTO `site_settings`(`setting_key`,`setting_value`,`setting_type`) VALUES(?,?,?) ON DUPLICATE KEY UPDATE `setting_value`=VALUES(`setting_value`)");
        foreach ($stData as $st) $sst->execute($st);
        $logs[] = "Parametres par defaut initialises.";

        // 9. Seed Journal & Blog Articles
        $artData = [
            [
                'le-marche-immobilier-de-prestige-a-sidi-rahal-casablanca-en-2025',
                'Le marché immobilier de prestige à Sidi Rahal Casablanca en 2025',
                'Marché Immobilier',
                'Analyse approfondie des tendances, de la valorisation du littoral et des opportunités d\'investissement dans la région de Sidi Rahal Casablanca.',
                '<p class="mb-6">Le marché immobilier d\'exception à <strong>Sidi Rahal Casablanca</strong> connaît une dynamique sans précédent. Porté par le développement d\'infrastructures routières modernes et l\'attrait grandissant pour le littoral casablancais, le secteur haut de gamme attire aussi bien des acquéreurs résidents que des investisseurs internationaux.</p><p class="mb-6">Les villas pieds dans l\'eau et les résidences fermées sécurisées avec vue panoramique sur l\'Atlantique affichent une croissance constante de leur valeur patrimoniale. La demande pour des espaces généreux, alliant élégance architecturale et prestations de standing (piscines privatives, domotique, jardins paysagers), n\'a jamais été aussi soutenue.</p><h3 class="font-serif text-2xl font-light text-black mt-8 mb-4">Pourquoi investir à Sidi Rahal Casablanca ?</h3><p class="mb-6">Située à proximité immédiate du cœur économique de Casablanca, la frange maritime de Sidi Rahal offre un cadre de vie idéal entre sérénité marine et accessibilité urbaine. La rareté du foncier d\'exception garantit une appréciation pérenne sur le long terme.</p>',
                'assets/img/project-1.jpg',
                'Imad Ajouamai',
                1
            ],
            [
                'acquerir-sa-villa-d-exception-a-sidi-rahal-le-guide-complet',
                'Acquérir sa villa d\'exception à Sidi Rahal : le guide complet',
                'Conseils & Guide',
                'Les critères fondamentaux pour réussir l\'acquisition d\'une propriété haut de gamme : vérification juridique, orientation et prestations.',
                '<p class="mb-6">L\'achat d\'une villa de luxe est un projet de vie autant qu\'un investissement patrimonial majeur. Pour réussir votre acquisition à <strong>Sidi Rahal Casablanca</strong>, plusieurs facteurs clés doivent être scrupuleusement analysés par un expert du marché local.</p><h3 class="font-serif text-2xl font-light text-black mt-8 mb-4">1. La vérification juridique et foncière</h3><p class="mb-6">Assurez-vous de la conformité du titre foncier, de l\'absence de servitudes et du respect des règles d\'urbanisme de la zone littorale. Notre agence <strong>AJOUAMAI IMMO-BUSINESS</strong> vous accompagne à chaque étape avec nos conseillers juridiques partenaires.</p><h3 class="font-serif text-2xl font-light text-black mt-8 mb-4">2. L\'orientation et la qualité architecturale</h3><p class="mb-6">L\'exposition sud ou sud-ouest est privilégiée pour bénéficier d\'un ensoleillement optimal tout au long de l\'année. De plus, les matériaux employés doivent être spécialement adaptés au climat marin (isolation thermique, traitements anti-corrosion, double vitrage haute performance).</p>',
                'assets/img/project-2.jpg',
                'Hind Ajouamai',
                1
            ],
            [
                'investir-dans-le-littoral-casablancais-opportunites-et-rendement',
                'Investir dans le littoral casablancais : opportunités et rendement',
                'Investissement',
                'Pourquoi la frange littorale de Sidi Rahal s\'impose comme le nouvel épicentre des résidences secondaires et locatives haut de gamme.',
                '<p class="mb-6">Avec l\'essor du télétravail et l\'engouement pour un mode de vie plus proche de la nature, la frange littorale sud de Casablanca est devenue le refuge privilégié des familles et des cadres dirigeants.</p><p class="mb-6">Le rendement locatif des biens d\'exception pendant la saison estivale et lors des week-ends prolongés génère des revenus réguliers très attractifs, tout en préservant l\'usage personnel de votre résidence au fil des saisons.</p>',
                'assets/img/project-3.jpg',
                'Équipe AJOUAMAI',
                1
            ],
            [
                'l-evolution-de-l-architecture-contemporaine-au-maroc',
                'L\'évolution de l\'architecture contemporaine au Maroc',
                'Architecture & Design',
                'Entre sobriété moderne et matériaux nobles locaux : comment les architectes réinventent la villa d\'exception.',
                '<p class="mb-6">L\'architecture haut de gamme au Maroc vit une véritable révolution créative. Alliant la pureté des lignes géométriques contemporaines aux traditions artisanales ancestrales (marbre blanc, bois de cèdre, zellige épuré, baies vitrées toute hauteur), les résidences actuelles créent un dialogue harmonieux entre intérieur et paysage maritime.</p>',
                'assets/img/property-4.jpg',
                'Khadija El Mansouri',
                0
            ],
            [
                'titre-foncier-et-securisation-des-transactions-immobilieres',
                'Titre foncier et sécurisation des transactions immobilières',
                'Juridique & Patrimoine',
                'Les étapes clés de l\'accompagnement juridique d\'AJOUAMAI IMMO-BUSINESS pour sécuriser la transmission et la propriété foncière.',
                '<p class="mb-6">La sécurité juridique est la pierre angulaire de toute transaction réussie. Chez <strong>AJOUAMAI IMMO-BUSINESS</strong>, nous effectuons un audit systématique de chaque bien avant sa mise en commercialisation : vérification des charges foncières, de la concordance des plans cadastraux et du certificat de propriété réactualisé.</p>',
                'assets/img/property-5.jpg',
                'Maître Benjelloun',
                0
            ],
            [
                'sidi-rahal-casablanca-cadre-de-vie-privilegie-entre-mer-et-metropole',
                'Sidi Rahal Casablanca : cadre de vie privilégié entre mer et métropole',
                'Art de Vivre',
                'Clubs nautiques, plages préservées, gastronomie et sérénité à seulement 25 minutes du centre-ville de Casablanca.',
                '<p class="mb-6">Offrant de vastes étendues de sable fin et une brise marine rafraîchissante, <strong>Sidi Rahal Casablanca</strong> représente l\'équilibre parfait pour les amoureux du calme sans faire de compromis sur la proximité des commodités de la métropole.</p>',
                'assets/img/project-5.jpg',
                'Équipe AJOUAMAI',
                0
            ]
        ];

        $artStmt = $pdo->prepare("INSERT INTO `articles` (`slug`, `title`, `category`, `excerpt`, `content`, `image_path`, `author`, `featured`, `status`) VALUES (?,?,?,?,?,?,?,?,'publie') ON DUPLICATE KEY UPDATE `title`=VALUES(`title`), `excerpt`=VALUES(`excerpt`), `content`=VALUES(`content`), `image_path`=VALUES(`image_path`), `featured`=VALUES(`featured`)");
        foreach ($artData as $art) $artStmt->execute($art);
        $logs[] = count($artData) . " articles de journal et blog publies.";

        $done = true;

    } catch (Exception $e) {
        $error = "Erreur : " . $e->getMessage();
    }
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>AJOUAMAI IMMO-BUSINESS — Setup & Reset</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-[#090909] text-white min-h-screen flex items-center justify-center p-6 font-sans">
  <div class="max-w-2xl w-full bg-[#111] border border-white/10 p-8 sm:p-12 shadow-2xl">

    <div class="flex items-center gap-4 mb-8">
      <div class="h-px flex-1 bg-amber-600/30"></div>
      <div class="h-2 w-2 rounded-full bg-amber-500"></div>
      <div class="h-px flex-1 bg-amber-600/30"></div>
    </div>

    <h1 class="font-serif text-3xl font-light tracking-wide mb-1 text-white">AJOUAMAI IMMO-BUSINESS</h1>
    <p class="text-xs text-amber-500 uppercase tracking-[0.25em] mb-8 font-sans font-medium">
      Reinitialisation &amp; Configuration Base de Donnees
    </p>

    <?php if ($error): ?>
      <div class="bg-red-950/60 border border-red-500/50 p-5 mb-8 text-xs text-red-200 font-mono rounded">
        <?= htmlspecialchars($error) ?>
      </div>
    <?php endif; ?>

    <?php if ($done): ?>
      <div class="bg-emerald-950/40 border border-emerald-500/40 p-6 mb-8 space-y-1.5 rounded">
        <h2 class="text-lg font-light text-emerald-300 mb-4">Installation terminee avec succes !</h2>
        <ul class="text-xs font-sans text-gray-300 space-y-1 leading-relaxed list-disc list-inside">
          <?php foreach ($logs as $log): ?>
            <li><?= $log ?></li>
          <?php endforeach; ?>
        </ul>
      </div>
      <div class="bg-white/5 border border-white/10 p-5 mb-8 rounded text-xs font-sans">
        <p class="text-amber-400 uppercase tracking-widest font-semibold mb-2">Identifiants Administration</p>
        <p class="text-gray-300">Utilisateur : <strong class="text-white font-mono">admin</strong></p>
        <p class="text-gray-300">Mot de passe : <strong class="text-white font-mono">admin123</strong></p>
        <p class="text-gray-400 mt-3 text-[11px]">Changez le mot de passe apres votre premiere connexion.</p>
      </div>
      <div class="flex gap-4">
        <a href="<?= SITE_URL ?>/"
           class="flex-1 bg-amber-600 text-white text-center text-xs tracking-widest uppercase py-4 font-semibold hover:bg-amber-700 transition-colors rounded">
          Voir le Site
        </a>
        <a href="<?= SITE_URL ?>/admin/index"
           class="flex-1 border border-white/30 text-white text-center text-xs tracking-widest uppercase py-4 hover:bg-white hover:text-black transition-all rounded">
          Espace Admin
        </a>
      </div>
    <?php else: ?>
      <div class="bg-red-950/30 border border-red-500/30 p-5 mb-6 rounded text-xs text-red-300 leading-relaxed">
        <p class="font-bold uppercase tracking-wider text-red-400 mb-2">Avertissement</p>
        Cette action va <strong>supprimer definitivement toutes les tables</strong> de la base
        <code class="bg-white/10 px-1.5 py-0.5 rounded font-mono"><?= DB_NAME ?></code>
        et les recreer depuis zero. Toutes les donnees existantes seront perdues.
      </div>

      <div class="bg-white/5 border border-white/10 p-5 mb-6 rounded text-xs font-sans">
        <p class="text-amber-400 font-semibold uppercase tracking-wider mb-3">Tables qui seront recreees (17 tables)</p>
        <div class="grid grid-cols-3 gap-1 font-mono text-[11px] text-gray-400">
          <span>admins</span><span>zones</span><span>property_types</span>
          <span>properties</span><span>property_images</span><span>home_articles</span>
          <span>page_contents</span><span>values_cms</span><span>services_cms</span>
          <span>contact_messages</span><span>estimation_requests</span><span>rdv_requests</span>
          <span>rdv_blackouts</span><span>rdv_settings</span><span>site_settings</span>
          <span>email_templates</span><span class="text-emerald-400 font-semibold">visitor_logs</span>
        </div>
      </div>

      <form method="POST">
        <label class="flex items-start gap-3 mb-6 cursor-pointer group">
          <input type="checkbox" name="confirmed" value="1"
                 class="mt-0.5 w-4 h-4 cursor-pointer" required />
          <span class="text-xs text-gray-400 leading-relaxed group-hover:text-gray-200 transition-colors">
            Je comprends que cette action est irreversible et je souhaite reinitialiser
            la base de donnees <code class="bg-white/10 px-1 py-0.5 rounded"><?= DB_NAME ?></code>.
          </span>
        </label>
        <button type="submit"
                class="w-full bg-red-700 text-white text-xs tracking-[0.25em] uppercase py-4 font-semibold hover:bg-red-600 transition-colors rounded">
          Reinitialiser et Reconfigurer la Base de Donnees
        </button>
      </form>
    <?php endif; ?>

  </div>
</body>
</html>
