From db628105764dc0c3133287f393b5d5cb405c5402 Mon Sep 17 00:00:00 2001 From: samerton Date: Sat, 10 Apr 2021 00:15:54 +0100 Subject: [PATCH] Update admin permission check --- upload/modules/Infractions/module.php | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/upload/modules/Infractions/module.php b/upload/modules/Infractions/module.php index d2708bb..4916267 100644 --- a/upload/modules/Infractions/module.php +++ b/upload/modules/Infractions/module.php @@ -68,6 +68,27 @@ public function onPageLoad($user, $pages, $cache, $smarty, $navs, $widgets, $tem 'admincp.infractions.settings' => $this->_language->get('moderator', 'staff_cp') . ' » ' . $this->_infractions_language->get('infractions', 'infractions_settings') )); + // Permission check for admins - only temporary until group ID 2 is made into a super group + if ($user->isLoggedIn() && !$user->hasPermission('infractions.view')) { + $groups = $user->getGroups(); + + foreach ($groups as $group) { + if ($group->id == 2) { + // Update main admin group permissions + $queries = new Queries(); + $group = $queries->getWhere('groups', array('id', '=', 2)); + $group = $group[0]; + + $group_permissions = json_decode($group->permissions, true); + $group_permissions['infractions.view'] = 1; + + $group_permissions = json_encode($group_permissions); + $queries->update('groups', 2, array('permissions' => $group_permissions)); + break; + } + } + } + // navigation link location $cache->setCache('infractions_module_cache'); if(!$cache->isCached('link_location')){ @@ -84,9 +105,7 @@ public function onPageLoad($user, $pages, $cache, $smarty, $navs, $widgets, $tem } if (!defined('BACK_END')) { - $groups = $user->isLoggedIn() ? $user->getGroups() : array(); - - if(($user->isLoggedIn() && ($user->hasPermission('infractions.view') || in_array(2, $groups))) || (!$user->isLoggedIn() && $guests_view)){ + if(($user->isLoggedIn() && ($user->hasPermission('infractions.view'))) || (!$user->isLoggedIn() && $guests_view)){ // Add link to navbar $cache->setCache('navbar_order'); if(!$cache->isCached('infractions_order')){