public function setPermission($PermissionName, $Value = null)
{
if (is_string($PermissionName)) {
if ($Value === null || $Value === true) {
$this->permissions->overwrite($PermissionName, true);
} elseif ($Value === false) {
$this->permissions->overwrite($PermissionName, false);
} elseif (is_array($Value)) {
$this->permissions->overwrite($PermissionName, $Value);
}
} elseif (is_array($PermissionName)) {
if (array_key_exists(0, $PermissionName)) {
foreach ($PermissionName as $Name) {
$this->permissions->set($Name, true);
}
} else {
foreach ($PermissionName as $Name => $Value) {
$this->permissions->set($Name, $Value);
}
}
}
}