/** * @param string $name * @param bool $default * @return Permission */ private function addChannelPermission($name, $default) { $name = $this->normalize($name); $perm = new Permission("chatchannels.channel.{$name}", "Allow joining channel '{$name}'", ($default === true or $default === Permission::DEFAULT_TRUE) ? Permission::DEFAULT_TRUE : Permission::DEFAULT_FALSE); $this->parentPerm->getChildren()[$perm->getName()] = $perm; $this->main->getServer()->getPluginManager()->getPermission($perm); return $perm; }
/** * @param Permission $perm * @param Permission $parent * * @return Permission */ public static function registerPermission(Permission $perm, Permission $parent = null) { if ($parent instanceof Permission) { $parent->getChildren()[$perm->getName()] = true; return self::registerPermission($perm); } Server::getInstance()->getPluginManager()->addPermission($perm); return Server::getInstance()->getPluginManager()->getPermission($perm->getName()); }
/** * @param Permission $permission */ private function calculatePermissionDefault(Permission $permission) { Timings::$permissionDefaultTimer->startTiming(); if ($permission->getDefault() === Permission::DEFAULT_OP or $permission->getDefault() === Permission::DEFAULT_TRUE) { $this->defaultPermsOp[$permission->getName()] = $permission; $this->dirtyPermissibles(true); } if ($permission->getDefault() === Permission::DEFAULT_NOT_OP or $permission->getDefault() === Permission::DEFAULT_TRUE) { $this->defaultPerms[$permission->getName()] = $permission; $this->dirtyPermissibles(false); } Timings::$permissionDefaultTimer->startTiming(); }
/** * @param Permission|string $name * * @return bool */ public function isPermissionSet($name) { return isset($this->permissions[$name instanceof Permission ? $name->getName() : $name]); }