HumHub Documentation (unofficial)

PeopleAccess extends BasePermission
in package

BasePermission

Table of Contents

Constants

EVENT_INIT  = 'init'
STATE_ALLOW  = 1
STATE_DEFAULT  = ''
Permission States
STATE_DENY  = 0

Properties

$contentContainer  : ContentContainerActiveRecord
Optional contentContainer instance to improve title and description.
$defaultAllowedGroups  : array<string|int, mixed>
A list of groupIds which allowed per default.
$defaultState  : string
The default state of this permission
$description  : string
$fixedGroups  : array<string|int, mixed>
A list of groupIds which are fixed group state.
$id  : string
$moduleId  : string
$title  : string

Methods

__call()  : mixed
Calls the named method which is not a class method.
__construct()  : mixed
Constructor.
__get()  : mixed
Returns the value of an object property.
__isset()  : bool
Checks if a property is set, i.e. defined and not null.
__set()  : mixed
Sets value of an object property.
__unset()  : mixed
Sets an object property to null.
addFixedGroups()  : mixed
canChangeState()  : bool
Checks if permission state can be changed
canGetProperty()  : bool
Returns a value indicating whether a property can be read.
canSetProperty()  : bool
Returns a value indicating whether a property can be set.
className()  : string
Returns the fully qualified name of this class.
getCacheKey()  : string|null
This function must return a unique que.
getDefaultState()  : int
Returns the default state of the permission.
getDescription()  : string
Returns the description
getId()  : string
Returns the ID
getLabelForState()  : string
Returns the label for given State
getModuleId()  : string
Returns the module id
getTitle()  : string
Returns the title
hasId()  : bool
Checks the given id belongs to this permission
hasMethod()  : bool
Returns a value indicating whether a method is defined.
hasProperty()  : bool
Returns a value indicating whether a property is defined.
init()  : mixed
Initializes the object.
getConfiguredState()  : int|null
Returns the default state set in the configration params 'defaultPermissions'.

Constants

EVENT_INIT

public mixed EVENT_INIT = 'init'
Tags
event

Event an event that is triggered when the permission is initialized via [[init()]].

Properties

$defaultAllowedGroups

A list of groupIds which allowed per default.

protected array<string|int, mixed> $defaultAllowedGroups = [\humhub\modules\space\models\Space::USERGROUP_OWNER, \humhub\modules\space\models\Space::USERGROUP_ADMIN]

default allowed groups

$defaultState

The default state of this permission

protected string $defaultState = self::STATE_ALLOW
Tags
inheritdoc

$description

protected string $description = ''

description of the permission

$fixedGroups

A list of groupIds which are fixed group state.

protected array<string|int, mixed> $fixedGroups = [\humhub\modules\space\models\Space::USERGROUP_GUEST, \humhub\modules\space\models\Space::USERGROUP_OWNER, \humhub\modules\space\models\Space::USERGROUP_ADMIN]

See defaultState for default setting.

default fixed groups

$id

protected string $id

id of the permission (default is classname)

$moduleId

protected string $moduleId = 'user'

module id which belongs to the permission

Tags
inheritdoc

Methods

__call()

Calls the named method which is not a class method.

public __call(string $name, array<string|int, mixed> $params) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.

Parameters
$name : string

the method name

$params : array<string|int, mixed>

method parameters

Tags
throws
UnknownMethodException

when calling unknown method

Return values
mixed —

the method return value

__construct()

Constructor.

public __construct([array<string|int, mixed> $config = [] ]) : mixed

The default implementation does two things:

  • Initializes the object with the given configuration $config.
  • Call [[init()]].

If this method is overridden in a child class, it is recommended that

  • the last parameter of the constructor is a configuration array, like $config here.
  • call the parent implementation at the end of the constructor.
Parameters
$config : array<string|int, mixed> = []

name-value pairs that will be used to initialize the object properties

__get()

Returns the value of an object property.

public __get(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $value = $object->property;.

Parameters
$name : string

the property name

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is write-only

see
__set()
Return values
mixed —

the property value

__isset()

Checks if a property is set, i.e. defined and not null.

public __isset(string $name) : bool

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing isset($object->property).

Note that if the property is not defined, false will be returned.

Parameters
$name : string

the property name or the event name

Tags
see
https://www.php.net/manual/en/function.isset.php
Return values
bool —

whether the named property is set (not null).

__set()

Sets value of an object property.

public __set(string $name, mixed $value) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $object->property = $value;.

Parameters
$name : string

the property name or the event name

$value : mixed

the property value

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is read-only

see
__get()

__unset()

Sets an object property to null.

public __unset(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing unset($object->property).

Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.

Parameters
$name : string

the property name

Tags
throws
InvalidCallException

if the property is read only.

see
https://www.php.net/manual/en/function.unset.php

addFixedGroups()

public addFixedGroups(mixed $groupIds) : mixed
Parameters
$groupIds : mixed

canChangeState()

Checks if permission state can be changed

public canChangeState(mixed $groupId) : bool
Parameters
$groupId : mixed
Return values
bool

canGetProperty()

Returns a value indicating whether a property can be read.

public canGetProperty(string $name[, bool $checkVars = true ]) : bool

A property is readable if:

  • the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canSetProperty()
Return values
bool —

whether the property can be read

canSetProperty()

Returns a value indicating whether a property can be set.

public canSetProperty(string $name[, bool $checkVars = true ]) : bool

A property is writable if:

  • the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
Return values
bool —

whether the property can be written

className()

Returns the fully qualified name of this class.

public static className() : string
Tags
deprecated

since 2.0.14. On PHP >=5.5, use ::class instead.

Return values
string —

the fully qualified name of this class.

getCacheKey()

This function must return a unique que.

public getCacheKey([array<string|int, mixed> $parameters = [] ]) : string|null

It must either start with the module id, or be a valid UUID. The function may return null to avoid caching in the PermissionManager.

Parameters
$parameters : array<string|int, mixed> = []

Parameters passed to PermissionManager::can() which allows a permission to evaluate if caching should be disabled

Tags
since
1.15.2
see
PermissionManager::can()
see
UUID::v4()
noinspection

PhpUnusedParameterInspection

Return values
string|null —

A unique string (see method description) or null, if caching should be disabled

getDefaultState()

Returns the default state of the permission.

public getDefaultState(mixed $groupId) : int

The defaultState is either defined by setting $defaultState attribute or by overwriting the $defaultState by means of the configuration param 'defaultPermissions'.

If the $defaultState is set to denied, we can grant the permission for specific groups by defining the $defaultAllowedGroups array.

Parameters
$groupId : mixed
Return values
int —

the default state

getDescription()

Returns the description

public getDescription() : string
Tags
inheritdoc
Return values
string —

the description of the permission

getId()

Returns the ID

public getId() : string
Return values
string —

the id of the permission

getLabelForState()

Returns the label for given State

public static getLabelForState(mixed $state) : string
Parameters
$state : mixed
Tags
throws
Exception
Return values
string —

the label

getModuleId()

Returns the module id

public getModuleId() : string
Return values
string —

the moduleid of the permission

getTitle()

Returns the title

public getTitle() : string
Tags
inheritdoc
Return values
string —

the title of the permission

hasId()

Checks the given id belongs to this permission

public hasId(mixed $id) : bool
Parameters
$id : mixed
Return values
bool

hasMethod()

Returns a value indicating whether a method is defined.

public hasMethod(string $name) : bool

The default implementation is a call to php function method_exists(). You may override this method when you implemented the php magic method __call().

Parameters
$name : string

the method name

Return values
bool —

whether the method is defined

hasProperty()

Returns a value indicating whether a property is defined.

public hasProperty(string $name[, bool $checkVars = true ]) : bool

A property is defined if:

  • the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
see
canSetProperty()
Return values
bool —

whether the property is defined

init()

Initializes the object.

public init() : mixed
Tags
inheritdoc

getConfiguredState()

Returns the default state set in the configration params 'defaultPermissions'.

protected getConfiguredState(int $groupId) : int|null

This method returns null in case the default state for this permission or group is not set in the configuration.

Parameters
$groupId : int
Tags
since
1.2
Return values
int|null

        
On this page

Search results