From f4b8494fd335cadad11f6dc33fc9b8f6e7008e63 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Wed, 11 Mar 2026 01:48:01 +0000 Subject: [PATCH] Alpha V2.5.17 --- guilde.php | 266 ++++++++++++++++++++++++++++------------------------- 1 file changed, 142 insertions(+), 124 deletions(-) diff --git a/guilde.php b/guilde.php index d339cdd..4b610fc 100644 --- a/guilde.php +++ b/guilde.php @@ -136,7 +136,40 @@ if (isset($_GET['join']) && !$in_guild) { } } -// ACCEPT/REFUSE MEMBER (Validation) +// CREATE GUILD +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'create_guild' && !$in_guild) { + $name = trim($_POST['name']); + $tag = strtoupper(trim($_POST['tag'])); + $description = trim($_POST['description']); + if (strlen($name) < 3) $error = "Nom trop court."; + elseif (strlen($tag) < 2) $error = "Tag trop court."; + else { + $reqs = $db->query("SELECT resource_id, amount FROM guild_creation_requirements WHERE amount > 0")->fetchAll(PDO::FETCH_ASSOC); + $db->beginTransaction(); + try { + $can_afford = true; + foreach ($reqs as $req) { + $stmt = $db->prepare("SELECT amount FROM user_resources WHERE user_id = ? AND resource_id = ?"); + $stmt->execute([$user_id, $req['resource_id']]); + if (($stmt->fetchColumn() ?: 0) < $req['amount']) { $can_afford = false; break; } + } + if (!$can_afford) { $error = "Ressources insuffisantes."; $db->rollBack(); } + else { + foreach ($reqs as $req) $db->prepare("UPDATE user_resources SET amount = amount - ? WHERE user_id = ? AND resource_id = ?")->execute([$req['amount'], $user_id, $req['resource_id']]); + $db->prepare("INSERT INTO guilds (name, tag, description, recruitment_status) VALUES (?, ?, ?, 'ouvert')")->execute([$name, $tag, $description]); + $guild_id = $db->lastInsertId(); + $db->prepare("INSERT INTO guild_members (guild_id, user_id, role) VALUES (?, ?, 'superviseur')")->execute([$guild_id, $user_id]); + $db->prepare("UPDATE users SET guild_id = ? WHERE id = ?")->execute([$guild_id, $user_id]); + $_SESSION['guild_id'] = $guild_id; + $db->commit(); + header("Location: guilde.php"); + exit; + } + } catch (Exception $e) { $db->rollBack(); $error = "Erreur : " . $e->getMessage(); } + } +} + +// ACCEPT/REFUSE MEMBER if (isset($_GET['validate']) && $in_guild && ($user_guild_info['role'] === 'superviseur' || $user_guild_info['role'] === 'officier')) { $target_id = (int)$_GET['validate']; $action = $_GET['action_type'] ?? ''; @@ -224,39 +257,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST[' } } -// CREATE GUILD -if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'create_guild' && !$in_guild) { - $name = trim($_POST['name']); - $tag = strtoupper(trim($_POST['tag'])); - $description = trim($_POST['description']); - if (strlen($name) < 3) $error = "Nom trop court."; - elseif (strlen($tag) < 2) $error = "Tag trop court."; - else { - $reqs = $db->query("SELECT resource_id, amount FROM guild_creation_requirements WHERE amount > 0")->fetchAll(PDO::FETCH_ASSOC); - $db->beginTransaction(); - try { - $can_afford = true; - foreach ($reqs as $req) { - $stmt = $db->prepare("SELECT amount FROM user_resources WHERE user_id = ? AND resource_id = ?"); - $stmt->execute([$user_id, $req['resource_id']]); - if (($stmt->fetchColumn() ?: 0) < $req['amount']) { $can_afford = false; break; } - } - if (!$can_afford) { $error = "Ressources insuffisantes."; $db->rollBack(); } - else { - foreach ($reqs as $req) $db->prepare("UPDATE user_resources SET amount = amount - ? WHERE user_id = ? AND resource_id = ?")->execute([$req['amount'], $user_id, $req['resource_id']]); - $db->prepare("INSERT INTO guilds (name, tag, description, recruitment_status) VALUES (?, ?, ?, 'ouvert')")->execute([$name, $tag, $description]); - $guild_id = $db->lastInsertId(); - $db->prepare("INSERT INTO guild_members (guild_id, user_id, role) VALUES (?, ?, 'superviseur')")->execute([$guild_id, $user_id]); - $db->prepare("UPDATE users SET guild_id = ? WHERE id = ?")->execute([$guild_id, $user_id]); - $_SESSION['guild_id'] = $guild_id; - $db->commit(); - header("Location: guilde.php"); - exit; - } - } catch (Exception $e) { $db->rollBack(); $error = "Erreur : " . $e->getMessage(); } - } -} - // --- DATA FETCHING --- if ($in_guild) { @@ -349,7 +349,7 @@ if ($in_guild) { /* GUILD SPECIFIC STYLES */ .guild-content { max-width: 1000px; width: 100%; margin-top: 20px; } - .guild-card { background: rgba(10, 15, 30, 0.95); border: 1px solid #2d3545; padding: 25px; border-radius: 8px; box-shadow: 0 0 30px rgba(0,0,0,0.5); } + .guild-card { background: rgba(10, 15, 30, 0.95); border: 1px solid #2d3545; padding: 25px; border-radius: 8px; box-shadow: 0 0 30px rgba(0,0,0,0.5); margin-bottom: 30px; } h1, h2, h3 { color: #88c0d0; text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid #2d3545; padding-bottom: 10px; } .form-group { margin-bottom: 15px; } .form-group label { display: block; color: #8c92a3; font-size: 13px; margin-bottom: 5px; } @@ -422,7 +422,7 @@ if ($in_guild) {
Retour au Nexus - +
@@ -459,97 +459,115 @@ if ($in_guild) {
-
- -
- -
-

Guildes Actives

- - - - - - - - - - - - - - - - - - - - - - -
GuildeMembresRecrutementActions
Aucune guilde pour le moment.
- [] -
- - 80) ? substr($desc, 0, 80) . "..." : $desc; - ?> - -
- / - - - OUVERT - - DEMANDE - - FERMÉ - - - - REJOINDRE - - POSTULER - - - -
+ + +
+

Fonder une guilde

+ +
+

Coût requis :

+
+

GRATUIT

+ + +
+ + + +
+ +
- -
-

Fonder une Guilde

-
-

Coût requis :

-

Gratuit

- - -
- - - -
- - +
+ + +
+
+ + +
+
+ + +
- - -
-
-
- -
-
+
+
- +
+ + +
+

Guildes Actives

+ + + + + + + + + + + + + + + + + + + + + + +
GuildeMembresRecrutementActions
Aucune guilde pour le moment.
+ [] +
+ + 80) ? substr($desc, 0, 80) . "..." : $desc; + ?> + +
+ / + + + OUVERT + + DEMANDE + + FERMÉ + + + + REJOINDRE + + POSTULER + + + +
+
+ +
[] @@ -643,8 +661,8 @@ if ($in_guild) { Quitter la guilde
- -
+
+