UserPermissions

Type
Class
Namespace
craft\services
Inherits
craft\services\UserPermissions » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
3.0.0

User Permissions service.

An instance of the service is available via Craft::$app->userPermissions.

View source (opens new window)

# Public Properties

# allPermissions

Type
array (opens new window)
Default value
null
Access
Read-only

View source (opens new window)

# assignablePermissions

Type
array (opens new window)
Default value
null
Access
Read-only

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets the value of a component property.
__unset() (opens new window) Sets a component property to be null.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
doesGroupHavePermission() Returns whether a given user group has a given permission.
doesUserHavePermission() Returns whether a given user has a given permission.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
getAllPermissions() Returns all of the known permissions, divided into groups.
getAssignablePermissions() Returns the permissions that the current user is allowed to assign to another user.
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getGroupPermissionsByUserId() Returns all of the group permissions a given user has.
getPermissionsByGroupId() Returns all of a given user group's permissions.
getPermissionsByUserId() Returns all of a given user’s permissions.
handleChangedGroupPermissions() Handle any changed group permissions.
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
init() (opens new window) Initializes the object.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
saveGroupPermissions() Saves new permissions for a user group.
saveUserPermissions() Saves new permissions for a user.
trigger() (opens new window) Triggers an event.

# doesGroupHavePermission()

Returns whether a given user group has a given permission.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# doesUserHavePermission()

Returns whether a given user has a given permission.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# getAllPermissions()

Returns all of the known permissions, divided into groups.

Each group will have two keys:

  • heading – The human-facing heading text for the group
  • permissions – An array of permissions for the group

Each item of the permissions array will have a key set to the permission name (e.g. accessCp), and a value set to an array with the following keys:

  • label – The human-facing permission label
  • info (optional) – Informational text about the permission
  • warning (optional) – Warning text about the permission
  • nested (optional) – An array of nested permissions, which can only be assigned if the parent permission is assigned.

View source (opens new window)

Returns

array (opens new window)

# getAssignablePermissions()

Returns the permissions that the current user is allowed to assign to another user.

See getAllPermissions() for an explanation of what will be returned.

View source (opens new window)

Arguments

Returns

array (opens new window)

# getGroupPermissionsByUserId()

Returns all of the group permissions a given user has.

View source (opens new window)

Arguments

Returns

string (opens new window)[]

# getPermissionsByGroupId()

Returns all of a given user group's permissions.

View source (opens new window)

Arguments

Returns

array (opens new window)

# getPermissionsByUserId()

Returns all of a given user’s permissions.

View source (opens new window)

Arguments

Returns

array (opens new window)

# handleChangedGroupPermissions()

Handle any changed group permissions.

View source (opens new window)

Arguments

# saveGroupPermissions()

Saves new permissions for a user group.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# saveUserPermissions()

Saves new permissions for a user.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# Events

# EVENT_AFTER_SAVE_GROUP_PERMISSIONS

Type
craft\events\UserGroupPermissionsEvent
Since
4.3.0

The event triggered before saving group permissions.

# EVENT_AFTER_SAVE_USER_PERMISSIONS

Type
craft\events\UserPermissionsEvent
Since
4.3.0

The event triggered before saving user permissions.

# EVENT_REGISTER_PERMISSIONS

Type
craft\events\RegisterUserPermissionsEvent

The event that is triggered when registering user permissions.