diff --git a/src/permission/DefaultPermissions.php b/src/permission/DefaultPermissions.php index 5fa38c9e9..f6de4ec07 100644 --- a/src/permission/DefaultPermissions.php +++ b/src/permission/DefaultPermissions.php @@ -28,7 +28,7 @@ abstract class DefaultPermissions{ public static function registerPermission(Permission $perm, ?Permission $parent = null) : Permission{ if($parent instanceof Permission){ - $parent->getChildren()[$perm->getName()] = true; + $parent->addChild($perm->getName(), true); } PermissionManager::getInstance()->addPermission($perm); diff --git a/src/permission/Permission.php b/src/permission/Permission.php index 02066b26d..ad28f7d55 100644 --- a/src/permission/Permission.php +++ b/src/permission/Permission.php @@ -116,4 +116,9 @@ class Permission{ $p->recalculatePermissions(); } } + + public function addChild(string $name, bool $value) : void{ + $this->children[$name] = $value; + $this->recalculatePermissibles(); + } }