From 3aa2453da26c3adee576789fcf321eab3f7731e4 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Wed, 15 Apr 2026 14:12:47 +0000 Subject: [PATCH] V1.1.9 --- admin.php | 114 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 81 insertions(+), 33 deletions(-) diff --git a/admin.php b/admin.php index 34991d2..23182a7 100644 --- a/admin.php +++ b/admin.php @@ -5,11 +5,13 @@ require_once __DIR__ . '/db/auth.php'; auth_start_session(); auth_bootstrap(); -if (!auth_is_admin()) { +if (!auth_is_logged_in()) { header('Location: index.php'); exit; } +$is_admin = auth_is_admin(); + $flash = auth_flash_get(); $flash_type = $flash['type'] ?? ''; $flash_message = $flash['message'] ?? ''; @@ -29,6 +31,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $admin_action = (string) ($_POST['admin_action'] ?? ''); + if (!$is_admin) { + auth_flash_set('error', 'Seul un administrateur peut gérer les utilisateurs.'); + header('Location: admin.php'); + exit; + } + if ($admin_action === 'create') { $submitted_cl_auth_user = trim((string) ($_POST['cl_auth_user'] ?? '')); $submitted_cl_auth_pass = (string) ($_POST['cl_auth_pass'] ?? ''); @@ -221,7 +229,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { } } -if ($edit_cl_auth_id > 0) { +if ($is_admin && $edit_cl_auth_id > 0) { $stmt_edit_user = db()->prepare('SELECT cl_auth_id, cl_auth_user, cl_auth_pass, cl_auth_right FROM tbl_auth WHERE cl_auth_id = :cl_auth_id LIMIT 1'); $stmt_edit_user->execute([ 'cl_auth_id' => $edit_cl_auth_id, @@ -242,8 +250,32 @@ if ($edit_cl_auth_id > 0) { } } -$stmt_users = db()->query('SELECT cl_auth_id, cl_auth_user, cl_auth_pass, cl_auth_right FROM tbl_auth ORDER BY cl_auth_user ASC'); -$tbl_auth_all = $stmt_users->fetchAll(); +$tbl_auth_all = []; +if ($is_admin) { + $stmt_users = db()->query('SELECT cl_auth_id, cl_auth_user, cl_auth_pass, cl_auth_right FROM tbl_auth ORDER BY cl_auth_user ASC'); + $tbl_auth_all = $stmt_users->fetchAll(); +} + +$member_accessible_items = []; +if (!$is_admin) { + foreach (auth_navigation_items() as $item) { + $file = (string) ($item['file'] ?? ''); + $label = (string) ($item['label'] ?? $file); + $admin_only = !empty($item['admin_only']); + + if ($admin_only) { + continue; + } + + if (auth_user_can_access_page($file, $label)) { + $member_accessible_items[] = [ + 'file' => $file, + 'label' => $label, + ]; + } + } +} + $csrf_token = auth_csrf_token(); [$default_admin_user, $default_admin_password] = auth_default_admin_credentials(); $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] : ''; @@ -509,26 +541,23 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] :

R.E.A.C.T. Core Admin

-

Niveau d'accès : Administrateur | Session :

+

Niveau d'accès : | Session :

- - + + + + +
@@ -536,14 +565,14 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] :
- +
Sécurité critique : Les identifiants par défaut sont actifs. ( / )
Veuillez modifier ces accès dès maintenant.
- +
@@ -551,8 +580,8 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] :
- 0): - ?> + 0): ?> +
@@ -577,8 +606,8 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] : - 0): - ?>Annuler + 0): ?> + Annuler
@@ -602,13 +631,13 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] : Aucun sujet détecté dans la base. - + + + # @@ -629,13 +658,32 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] : - + +
+ +
+
+

Zone membre

+

Vous êtes bien entré dans la zone admin avec un compte membre.

+

La gestion des utilisateurs reste réservée aux administrateurs, mais vous pouvez utiliser ci-dessous les pages qui vous ont été ouvertes.

+ + +
Aucune page ne vous a encore été attribuée par un administrateur.
+ +
+ + + +
+ +
+
+ \ No newline at end of file