Jelix 1.7.18

jAcl2DbAdminCheckAuthorizations
in package

Allow to verify admin rights when a change occurs in the authorizations.

Tags
subpackage

acl

Table of Contents

ACL_ADMIN_RIGHTS_NOT_ASSIGNED  = 1
result of the checking : nobody have one of the admin rights.
ACL_ADMIN_RIGHTS_SESSION_USER_LOOSE_THEM  = 2
result of the checking : the current user loose one of admin rights.
ACL_ADMIN_RIGHTS_STILL_USED  = 0
result of the checking : admin rights are ok to manage authorizations.
$ACL_ADMIN_RIGHTS  : mixed
$authorizationsChanges  : array<string|int, mixed>
$authorizationStats  : array<string|int, mixed>
$sessionUser  : null|string
$sessionUserAuthorizationStats  : array<string|int, mixed>
__construct()  : mixed
checkAclAdminAuthorizationsChanges()  : int
Checks if given authorizations changes still allow to administrate rights for at least one user.
checkAclAdminRightsToAddUserIntoGroup()  : int
check if the adding of the given user to the the given group still allows to administrate rights for at least one user.
checkAclAdminRightsToRemoveGroup()  : int
check if the removing of the given group still allows to administrate rights for at least one user.
checkAclAdminRightsToRemoveUser()  : int
check if the removing of the given user still allow to administrate authorizations for at least one user.
checkAclAdminRightsToRemoveUserFromGroup()  : int
check if the removing of the given user from a the given group still allows to administrate rights for at least one user.
finalChecking()  : int
getAuthorizationChange()  : null|bool|string
Gives the authorization of the given right on the given group among the authorizations changes.
initChecks()  : bool|jDbResultSet
initialize some properties and do a query on rights.
loadGroupAuthorizations()  : mixed

Constants

ACL_ADMIN_RIGHTS_NOT_ASSIGNED

result of the checking : nobody have one of the admin rights.

public int ACL_ADMIN_RIGHTS_NOT_ASSIGNED = 1

There is no user having all admin rights to manage authorizations

ACL_ADMIN_RIGHTS_SESSION_USER_LOOSE_THEM

result of the checking : the current user loose one of admin rights.

public int ACL_ADMIN_RIGHTS_SESSION_USER_LOOSE_THEM = 2

The current user tries to remove some admin rights to manage authorizations, although he is the only one user having them.

ACL_ADMIN_RIGHTS_STILL_USED

result of the checking : admin rights are ok to manage authorizations.

public int ACL_ADMIN_RIGHTS_STILL_USED = 0

There is at least one user having admin rights to manage authorizations

Properties

$ACL_ADMIN_RIGHTS

public static mixed $ACL_ADMIN_RIGHTS = array('acl.group.view', 'acl.group.modify', 'acl.group.delete', 'acl.user.view', 'acl.user.modify')

$sessionUserAuthorizationStats

protected array<string|int, mixed> $sessionUserAuthorizationStats = array()

number of authorizations for each admin rights during a checking of the user session

Methods

__construct()

public __construct([string $sessionUser = null ]) : mixed
Parameters
$sessionUser : string = null

the login of the user who initiates the change

Return values
mixed

checkAclAdminAuthorizationsChanges()

Checks if given authorizations changes still allow to administrate rights for at least one user.

public checkAclAdminAuthorizationsChanges(array<string|int, mixed> $authorizationsChanges, int $changeType) : int

For each groups, only authorizations on given rights are considered changed. Other existing authorizations are considered as deleted.

Authorizations with resources are not changed.

Parameters
$authorizationsChanges : array<string|int, mixed>

array(<id_aclgrp> => array( <id_aclsbj> => false(inherit)/''(inherit)/true(add)/'y'(add)/'n'(remove)))

$changeType : int

1 for group rights change, 2 for user rights change, 3 for both

Return values
int

one of ACL_ADMIN_RIGHTS_* constant

checkAclAdminRightsToAddUserIntoGroup()

check if the adding of the given user to the the given group still allows to administrate rights for at least one user.

public checkAclAdminRightsToAddUserIntoGroup(string $userToAdd, string $groupInWhichToAddAUser) : int

(because the group may forbid to administrate rights.)

Parameters
$userToAdd : string

the user login

$groupInWhichToAddAUser : string

the group id

Return values
int

one of ACL_ADMIN_RIGHTS_* constant

checkAclAdminRightsToRemoveGroup()

check if the removing of the given group still allows to administrate rights for at least one user.

public checkAclAdminRightsToRemoveGroup(string $groupToRemove) : int
Parameters
$groupToRemove : string

the group id to remove

Return values
int

one of ACL_ADMIN_RIGHTS_* constant

checkAclAdminRightsToRemoveUser()

check if the removing of the given user still allow to administrate authorizations for at least one user.

public checkAclAdminRightsToRemoveUser(string $userToRemove) : int
Parameters
$userToRemove : string
Return values
int

one of ACL_ADMIN_RIGHTS_* constant

checkAclAdminRightsToRemoveUserFromGroup()

check if the removing of the given user from a the given group still allows to administrate rights for at least one user.

public checkAclAdminRightsToRemoveUserFromGroup(string $userToRemoveFromTheGroup, string $groupFromWhichToRemoveTheUser) : int
Parameters
$userToRemoveFromTheGroup : string
$groupFromWhichToRemoveTheUser : string
Return values
int

one of ACL_ADMIN_RIGHTS_* constant

getAuthorizationChange()

Gives the authorization of the given right on the given group among the authorizations changes.

protected getAuthorizationChange( $groupId,  $right) : null|bool|string
Parameters
$groupId :
$right :
Return values
null|bool|string

Search results