summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorLester Caine <lester@lsces.co.uk>2026-05-16 18:57:08 +0100
committerLester Caine <lester@lsces.co.uk>2026-05-16 18:57:08 +0100
commitaed053fc746883bea02745c2c299c05e47a8a99f (patch)
treed784c4495e4fe52607bbbba8c9fd60a6efdf8c84 /includes
parent9772cfff77f3edb7df7fd640078d4124439d18d2 (diff)
downloadusers-aed053fc746883bea02745c2c299c05e47a8a99f.tar.gz
users-aed053fc746883bea02745c2c299c05e47a8a99f.tar.bz2
users-aed053fc746883bea02745c2c299c05e47a8a99f.zip
Tidy loadPermissions to ignore anonymous block
Diffstat (limited to 'includes')
-rwxr-xr-xincludes/classes/RolePermUser.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/includes/classes/RolePermUser.php b/includes/classes/RolePermUser.php
index f9249ed..61377b4 100755
--- a/includes/classes/RolePermUser.php
+++ b/includes/classes/RolePermUser.php
@@ -685,7 +685,7 @@ class RolePermUser extends RoleUser {
*/
public function loadPermissions( $pForceReload=false ) {
$this->mPerms = [];
- if( $this->isValid() && (empty( $this->mPerms ) || $pForceReload) ) {
+ if( empty( $this->mPerms ) || $pForceReload ) {
// the double up.`perm_name` is intentional - the first is for hash key, the second is for hash value
$query = "
SELECT up.`perm_name` AS `hash_key`, up.`perm_name`, up.`perm_desc`, up.`perm_level`, up.`package`
@@ -736,6 +736,16 @@ class RolePermUser extends RoleUser {
* @param $pPermission value of a given permission
* @return void
*/
+ public function hasPermission( $pPerm ) {
+ if( !isset( $this->mPerms ) ) {
+ $this->loadPermissions();
+ }
+ if( $this->isAdmin() ) {
+ return true;
+ }
+ return isset( $this->mPerms[$pPerm] );
+ }
+
public function verifyPermission( $pPermission, $pMsg = null ) {
global $gBitSmarty, $gBitSystem, ${$pPermission};
if( empty( $pPermission ) || $this->hasPermission( $pPermission ) ) {