From 43773ce2c0cd517dfb7ed43b5fae347e6862042d Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 6 Mar 2026 10:36:29 +0000 Subject: [PATCH] Alpha V2.5.5 --- admin.php | 253 +++++++++++++++++- .../badges/badge_badge_red_1772792824.png | Bin 0 -> 16385 bytes .../badges/badge_bdg_green_1772792696.png | Bin 0 -> 18922 bytes 3 files changed, 249 insertions(+), 4 deletions(-) create mode 100644 assets/images/badges/badge_badge_red_1772792824.png create mode 100644 assets/images/badges/badge_bdg_green_1772792696.png diff --git a/admin.php b/admin.php index 3cd05b7..8b9c3bb 100644 --- a/admin.php +++ b/admin.php @@ -125,6 +125,76 @@ if (isset($_GET['delete_object'])) { exit; } +// Handle Title CRUD +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_title') { + $id = (int)$_POST['id']; + $name = $_POST["name"]; + $slug = $_POST['slug']; + $allowed_user_type = $_POST['allowed_user_type']; + $required_level = (int)$_POST['required_level']; + + if ($id > 0) { + $stmt = $db->prepare("UPDATE titles SET name = ?, slug = ?, allowed_user_type = ?, required_level = ? WHERE id = ?"); + $stmt->execute([$name, $slug, $allowed_user_type, $required_level, $id]); + } else { + $stmt = $db->prepare("INSERT INTO titles (name, slug, allowed_user_type, required_level) VALUES (?, ?, ?, ?)"); + $stmt->execute([$name, $slug, $allowed_user_type, $required_level]); + } + header("Location: admin.php?tab=badges&success=1"); + exit; +} + +// Handle Badge CRUD +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_badge') { + $id = (int)$_POST['id']; + $name = $_POST["name"]; + $slug = $_POST['slug']; + $allowed_user_type = $_POST['allowed_user_type']; + $required_level = (int)$_POST['required_level']; + + $image_url = null; + if ($id > 0) { + $stmt_img = $db->prepare("SELECT image_url FROM badges WHERE id = ?"); + $stmt_img->execute([$id]); + $image_url = $stmt_img->fetchColumn(); + } + + if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) { + $ext = pathinfo($_FILES['image']["name"], PATHINFO_EXTENSION); + $filename = "badge_" . $slug . "_" . time() . "." . $ext; + $target = "assets/images/badges/" . $filename; + if (!is_dir("assets/images/badges/")) mkdir("assets/images/badges/", 0775, true); + if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) { + $image_url = $target; + } + } + + if ($id > 0) { + $stmt = $db->prepare("UPDATE badges SET name = ?, slug = ?, allowed_user_type = ?, required_level = ?, image_url = ? WHERE id = ?"); + $stmt->execute([$name, $slug, $allowed_user_type, $required_level, $image_url, $id]); + } else { + $stmt = $db->prepare("INSERT INTO badges (name, slug, allowed_user_type, required_level, image_url) VALUES (?, ?, ?, ?, ?)"); + $stmt->execute([$name, $slug, $allowed_user_type, $required_level, $image_url]); + } + header("Location: admin.php?tab=badges&success=1"); + exit; +} + +// Handle Title/Badge Deletion +if (isset($_GET['delete_title'])) { + $id = (int)$_GET['delete_title']; + $db->prepare("DELETE FROM titles WHERE id = ?")->execute([$id]); + header("Location: admin.php?tab=badges&success=deleted"); + exit; +} +if (isset($_GET['delete_badge'])) { + $id = (int)$_GET['delete_badge']; + $db->prepare("DELETE FROM badges WHERE id = ?")->execute([$id]); + header("Location: admin.php?tab=badges&success=deleted"); + exit; +} + + // Handle Status CRUD if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["action"]) && $_POST["action"] === "upsert_status") { $id = (int)$_POST["id"]; @@ -574,6 +644,8 @@ $factions_list = []; $resources_list = []; $lootboxes_list = []; $project_logs_list = []; +$titles_list = []; +$badges_list = []; $levels_list = []; $ranks_list = []; $guild_requirements = []; @@ -615,6 +687,9 @@ if ($tab === 'users') { $resources_list = $db->query("SELECT * FROM game_resources ORDER BY name ASC")->fetchAll(); } elseif ($tab === 'project_logs') { $project_logs_list = $db->query("SELECT * FROM project_logs ORDER BY created_at DESC")->fetchAll(); +} elseif ($tab === 'badges') { + $titles_list = $db->query("SELECT * FROM titles ORDER BY name ASC")->fetchAll(); + $badges_list = $db->query("SELECT * FROM badges ORDER BY name ASC")->fetchAll(); } elseif ($tab === 'ranks') { $ranks_list = $db->query("SELECT * FROM grades ORDER BY user_type DESC, min_level ASC")->fetchAll(); } elseif ($tab === 'lootboxes') { @@ -987,13 +1062,150 @@ if ($tab === 'users') { - +

Titres & Badges

-
-

À configurer

+
+ + +
+

+ Gestion des Titres +

+ +
+ + + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + +
TitreSlugNiveauActions
+ + X +
+
+ + +
+

+ Gestion des Badges +

+ +
+ + + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + +
VisuelBadgeSlugActions
+ + + + X +
+
- +

Objets Célestes

Ajouter / Modifier un Objet

@@ -2017,6 +2229,39 @@ function editStatus(data) { updateMSLabel('ms_orb'); updateMSLabel('ms_terr'); } + + function editTitle(data) { + document.getElementById('title_id').value = data.id; + document.getElementById('title_name').value = data.name; + document.getElementById('title_slug').value = data.slug; + document.getElementById('title_allowed_type').value = data.allowed_user_type; + document.getElementById('title_req_level').value = data.required_level; + window.scrollTo({ top: 0, behavior: 'smooth' }); + } + function resetTitleForm() { + document.getElementById('titleForm').reset(); + document.getElementById('title_id').value = 0; + } + function editBadge(data) { + document.getElementById('badge_id').value = data.id; + document.getElementById('badge_name').value = data.name; + document.getElementById('badge_slug').value = data.slug; + document.getElementById('badge_allowed_type').value = data.allowed_user_type; + document.getElementById('badge_req_level').value = data.required_level; + + if (data.image_url) { + document.getElementById('badge_preview').src = data.image_url; + document.getElementById('badge_preview_container').style.display = 'block'; + } else { + document.getElementById('badge_preview_container').style.display = 'none'; + } + window.scrollTo({ top: 0, behavior: 'smooth' }); + } + function resetBadgeForm() { + document.getElementById('badgeForm').reset(); + document.getElementById('badge_id').value = 0; + document.getElementById('badge_preview_container').style.display = 'none'; + } \ No newline at end of file diff --git a/assets/images/badges/badge_badge_red_1772792824.png b/assets/images/badges/badge_badge_red_1772792824.png new file mode 100644 index 0000000000000000000000000000000000000000..50d9fb6831e406f6cb6984fa93aed8749b9eed1d GIT binary patch literal 16385 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®{BWL{r3){ew#3Fer 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 Lqas}+X&mxDJN^T3 literal 0 HcmV?d00001 diff --git a/assets/images/badges/badge_bdg_green_1772792696.png b/assets/images/badges/badge_bdg_green_1772792696.png new file mode 100644 index 0000000000000000000000000000000000000000..29503fb9ed13222f5b335c1e5095de6aedc3d8dc GIT binary patch literal 18922 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