|
@@ -7,19 +7,9 @@ class Permissions {
|
7
|
7
|
* @param string $MinClass Return false if the user's class level is below this.
|
8
|
8
|
*/
|
9
|
9
|
public static function check_perms($PermissionName, $MinClass = 0) {
|
10
|
|
-
|
11
|
|
- $OverrideClass = 1000;
|
12
|
|
- $Override = G::$LoggedUser['EffectiveClass'] >= $OverrideClass;
|
13
|
|
-
|
14
|
|
- return (
|
15
|
|
- ($PermissionName == null
|
16
|
|
- || (isset(G::$LoggedUser['Permissions'][$PermissionName])
|
17
|
|
- && G::$LoggedUser['Permissions'][$PermissionName]))
|
18
|
|
- && G::$LoggedUser['Permissions'][$PermissionName]
|
19
|
|
- && (G::$LoggedUser['Class'] >= $MinClass
|
20
|
|
- || G::$LoggedUser['EffectiveClass'] >= $MinClass
|
21
|
|
- || $Override)
|
22
|
|
- );
|
|
10
|
+ if (G::$LoggedUser['EffectiveClass'] >= 1000) return true; // Sysops can do anything
|
|
11
|
+ if (G::$LoggedUser['EffectiveClass'] < $MinClass) return false; // MinClass failure
|
|
12
|
+ return G::$LoggedUser['Permissions'][$PermissionName] ?? false; // Return actual permission
|
23
|
13
|
}
|
24
|
14
|
|
25
|
15
|
/**
|
|
@@ -36,7 +26,7 @@ class Permissions {
|
36
|
26
|
SELECT Level AS Class, `Values` AS Permissions, Secondary, PermittedForums
|
37
|
27
|
FROM permissions
|
38
|
28
|
WHERE ID = '$PermissionID'");
|
39
|
|
- $Permission = G::$DB->next_record(MYSQLI_ASSOC, array('Permissions'));
|
|
29
|
+ $Permission = G::$DB->next_record(MYSQLI_ASSOC, ['Permissions']);
|
40
|
30
|
G::$DB->set_query_id($QueryID);
|
41
|
31
|
$Permission['Permissions'] = unserialize($Permission['Permissions']);
|
42
|
32
|
G::$Cache->cache_value("perm_$PermissionID", $Permission, 2592000);
|
|
@@ -87,7 +77,7 @@ class Permissions {
|
87
|
77
|
$CustomPermissions = [];
|
88
|
78
|
}
|
89
|
79
|
|
90
|
|
- $MaxCollages = $Permissions['Permissions']['MaxCollages'] + $BonusCollages;
|
|
80
|
+ $MaxCollages = ($Permissions['Permissions']['MaxCollages'] ?? 0) + $BonusCollages;
|
91
|
81
|
if (isset($CustomPermissions['MaxCollages'])) {
|
92
|
82
|
$MaxCollages += $CustomPermissions['MaxCollages'];
|
93
|
83
|
unset($CustomPermissions['MaxCollages']);
|
|
@@ -101,8 +91,7 @@ class Permissions {
|
101
|
91
|
}
|
102
|
92
|
|
103
|
93
|
public static function is_mod($UserID) {
|
104
|
|
- $Permissions = self::get_permissions_for_user($UserID);
|
105
|
|
- return isset($Permissions['users_mod']) && $Permissions['users_mod'];
|
|
94
|
+ return self::get_permissions_for_user($UserID)['users_mod'] ?? false;
|
106
|
95
|
}
|
107
|
96
|
}
|
108
|
97
|
?>
|