setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Activer les clés étrangères $db->exec('PRAGMA foreign_keys = ON;'); return $db; } catch (PDOException $e) { die("Erreur de connexion à la base de données: " . $e->getMessage()); } } // Vérifier si un paramètre de confirmation est présent $confirmed = isset($_GET['confirm']) && $_GET['confirm'] === 'yes'; // Vérifier si un paramètre d'authentification est présent $auth_key = isset($_GET['key']) ? $_GET['key'] : ''; $valid_auth = $auth_key === 'mhwilds2025'; if (!$valid_auth) { die('Accès non autorisé. Veuillez fournir une clé d\'authentification valide.'); } // Liste des 29 monstres de Monster Hunter Wilds $monsters = [ ['id' => 1, 'name' => 'Chatacabra', 'image' => 'assets/img/Chatacabra.jpg'], ['id' => 2, 'name' => 'Quematrice', 'image' => 'assets/img/Quematrice.jpg'], ['id' => 3, 'name' => 'Lala Barina', 'image' => 'assets/img/Lala_Barina.jpg'], ['id' => 4, 'name' => 'Congalala', 'image' => 'assets/img/Congalala.jpg'], ['id' => 5, 'name' => 'Balahara', 'image' => 'assets/img/Balahara.jpg'], ['id' => 6, 'name' => 'Doshaguma', 'image' => 'assets/img/Doshaguma.jpg'], ['id' => 7, 'name' => 'Uth Duna', 'image' => 'assets/img/Uth_Duna.jpg'], ['id' => 8, 'name' => 'Rompopolo', 'image' => 'assets/img/Rompopolo.jpg'], ['id' => 9, 'name' => 'Rey Dau', 'image' => 'assets/img/Rey_Dau.jpg'], ['id' => 10, 'name' => 'Nerscylla', 'image' => 'assets/img/Nerscylla.jpg'], ['id' => 11, 'name' => 'Hirabami', 'image' => 'assets/img/Hirabami.jpg'], ['id' => 12, 'name' => 'Ajarakan', 'image' => 'assets/img/Ajarakan.jpg'], ['id' => 13, 'name' => 'Nu Udra', 'image' => 'assets/img/Nu_Udra.jpg'], ['id' => 14, 'name' => 'Doshaguma Gardien', 'image' => 'assets/img/Doshaguma_Gardien.jpg'], ['id' => 15, 'name' => 'Rathalos Gardien', 'image' => 'assets/img/Rathalos_Gardien.jpg'], ['id' => 16, 'name' => 'Jin Dahaad', 'image' => 'assets/img/Jin_Dahaad.jpg'], ['id' => 17, 'name' => 'Odogaron Désastre Gardien', 'image' => 'assets/img/Odogaron_Desastre_Gardien.jpg'], ['id' => 18, 'name' => 'Xu Wu', 'image' => 'assets/img/Xu_Wu.jpg'], ['id' => 19, 'name' => 'Arkveld Gardien', 'image' => 'assets/img/Arkveld_Gardien.jpg'], ['id' => 20, 'name' => 'Zoh Shia', 'image' => 'assets/img/Zoh_Shia.jpg'], ['id' => 21, 'name' => 'Yian Kut-Ku', 'image' => 'assets/img/Yian_Kut-Ku.jpg'], ['id' => 22, 'name' => 'Gypceros', 'image' => 'assets/img/Gypceros.jpg'], ['id' => 23, 'name' => 'Rathian', 'image' => 'assets/img/Rathian.jpg'], ['id' => 24, 'name' => 'Anjanath Tonnerre Gardien', 'image' => 'assets/img/Anjanath_Tonnerre_Gardien.jpg'], ['id' => 25, 'name' => 'Rathalos', 'image' => 'assets/img/Rathalos.jpg'], ['id' => 26, 'name' => 'Gravios', 'image' => 'assets/img/Gravios.jpg'], ['id' => 27, 'name' => 'Blangonga', 'image' => 'assets/img/Blangonga.jpg'], ['id' => 28, 'name' => 'Gore Malaga', 'image' => 'assets/img/Gore_Malaga.jpg'], ['id' => 29, 'name' => 'Arkveld', 'image' => 'assets/img/Arkveld.jpg'] ]; // Récupérer les données exemple pour les quêtes et annonces $sample_quests = [ ['monster_id' => 1, 'crown_type' => 'small', 'player_name' => 'Hunter123', 'player_id' => 'MHW-1234'], ['monster_id' => 1, 'crown_type' => 'large', 'player_name' => 'DragonSlayer', 'player_id' => 'MHW-5678'], ['monster_id' => 2, 'crown_type' => 'small', 'player_name' => 'ThunderLord', 'player_id' => 'MHW-9012'] ]; $sample_announcements = [ ['text' => 'Bienvenue sur le site de partage de quêtes à couronnes pour Monster Hunter Wilds !', 'active' => 1] ]; // Si la confirmation n'est pas donnée, afficher une page d'information if (!$confirmed) { header('Content-Type: text/html; charset=utf-8'); echo '
Attention : Ce script va initialiser la base de données avec les 29 monstres de Monster Hunter Wilds.
Si une base de données existe déjà, les données existantes seront conservées mais les monstres manquants seront ajoutés.
Ce script va également créer les tables nécessaires si elles n\'existent pas déjà.
Succès : La base de données a été initialisée avec succès !
Erreur : Une erreur s\'est produite lors de l\'initialisation de la base de données.
Veuillez vérifier que le dossier "data" est accessible en écriture et que SQLite est activé sur votre serveur.
' . htmlspecialchars($e->getMessage()) . '