diff --git a/app/classes/user.php b/app/classes/user.php index 9f8f32e..ed6120a 100644 --- a/app/classes/user.php +++ b/app/classes/user.php @@ -164,6 +164,27 @@ class User { } + // check if the user has a specific right + function hasRight($user_id, $right_name) { + $userRights = $this->getUserRights($user_id); + $userHasRight = false; + + // superuser always has all the rights + if ($user_id === 1) { + $userHasRight = true; + } + + foreach ($userRights as $right) { + if ($right['right_name'] === $right_name) { + $userHasRight = true; + break; + } + } + + return $userHasRight; + + } + // update an existing user public function editUser($user_id, $updatedUser) { try { diff --git a/app/helpers/profile.php b/app/helpers/profile.php new file mode 100644 index 0000000..c6f4ba8 --- /dev/null +++ b/app/helpers/profile.php @@ -0,0 +1,15 @@ +getOffset(); + + $hours = intdiv($offsetInSeconds, 3600); + $minutes = ($offsetInSeconds % 3600) / 60; + $formattedOffset = sprintf("UTC%+03d:%02d", $hours, $minutes); // Format UTC+01:00 + + return $formattedOffset; +} + +?> diff --git a/app/pages/config.php b/app/pages/config.php index 4262924..cbc2a7f 100644 --- a/app/pages/config.php +++ b/app/pages/config.php @@ -93,7 +93,11 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') { include '../app/templates/config-delete-platform.php'; break; default: - include '../app/templates/config-list.php'; + if ($userObject->hasRight($user_id, 'view config file')) { + include '../app/templates/config-list.php'; + } else { + include '../app/templates/unauthorized.php'; + } } } } diff --git a/app/pages/profile.php b/app/pages/profile.php index 5a564dc..ef944e1 100644 --- a/app/pages/profile.php +++ b/app/pages/profile.php @@ -1,13 +1,13 @@ getUserId($user)[0]['id']; -$userDetails = $userObject->getUserDetails($user_id); -$userRights = $userObject->getUserRights($user_id); +//require '../app/classes/user.php'; +// +//$userObject = new User($dbWeb); +// +//$user_id = $userObject->getUserId($user)[0]['id']; +//$userDetails = $userObject->getUserDetails($user_id); +//$userRights = $userObject->getUserRights($user_id); // if a form is submitted, it's from the edit page if ($_SERVER['REQUEST_METHOD'] == 'POST') { diff --git a/app/templates/page-sidebar.php b/app/templates/page-sidebar.php index 3b6e9c4..cc40e0f 100644 --- a/app/templates/page-sidebar.php +++ b/app/templates/page-sidebar.php @@ -2,6 +2,17 @@