Documentation

CRM_Contact_BAO_Contact_Permission
in package

Tags
copyright

CiviCRM LLC https://civicrm.org/licensing

Table of Contents

Properties

$useTempTable  : bool

Methods

allow()  : bool
Check if the logged in user has permissions for the operation type.
allowList()  : array<string|int, mixed>
Check which of the given contact IDs the logged in user has permissions for the operation type according to: - general permissions (e.g. 'edit all contacts') - deletion status (unless you have 'access deleted contacts') - ACL - permissions inherited through relationships (also second degree if enabled)
cache()  : mixed
Fill the acl contact cache for this ACLed contact id if empty.
cacheClause()  : array<string|int, mixed>
cacheSubquery()  : string|null
Generate acl subquery that can be placed in the WHERE clause of a query or the ON clause of a JOIN.
getUseTemporaryTable()  : bool
Get variable for determining if we should use Temporary Table or not
initChecksumAuthSrc()  : mixed
relationshipList()  : array<string|int, mixed>
Filter a list of contact_ids by the ones that the user as a permissioned relationship with
setUseTemporaryTable()  : mixed
Set whether to use a temporary table or not when building ACL Cache
validateChecksumContact()  : bool
validateOnlyChecksum()  : bool

Properties

$useTempTable

public static bool $useTempTable = \FALSE

Methods

allow()

Check if the logged in user has permissions for the operation type.

public static allow(int $id[, int|string $type = CRM_Core_Permission::VIEW ][, int $userID = NULL ]) : bool
Parameters
$id : int

Contact id.

$type : int|string = CRM_Core_Permission::VIEW

the type of operation (view|edit)

$userID : int = NULL

Contact id of user to check (defaults to current logged-in user)

Return values
bool

true if the user has permission, false otherwise

allowList()

Check which of the given contact IDs the logged in user has permissions for the operation type according to: - general permissions (e.g. 'edit all contacts') - deletion status (unless you have 'access deleted contacts') - ACL - permissions inherited through relationships (also second degree if enabled)

public static allowList(array<string|int, mixed> $contact_ids[, int $type = CRM_Core_Permission::VIEW ]) : array<string|int, mixed>
Parameters
$contact_ids : array<string|int, mixed>

Contact IDs.

$type : int = CRM_Core_Permission::VIEW

the type of operation (view|edit)

Tags
see
CRM_Contact_BAO_Contact_Permission::allow
Return values
array<string|int, mixed>

list of contact IDs the logged in user has the given permission for

cache()

Fill the acl contact cache for this ACLed contact id if empty.

public static cache(int $userID[, int|string $type = CRM_Core_Permission::VIEW ][, bool $force = FALSE ]) : mixed
Parameters
$userID : int
  • contact_id of the ACLed user
$type : int|string = CRM_Core_Permission::VIEW

the type of operation (view|edit)

$force : bool = FALSE
  • Should we force a recompute (only used for unit tests)

cacheClause()

public static cacheClause([array<string|int, string>|string $contactAlias = 'contact_a' ]) : array<string|int, mixed>
Parameters
$contactAlias : array<string|int, string>|string = 'contact_a'
Return values
array<string|int, mixed>

cacheSubquery()

Generate acl subquery that can be placed in the WHERE clause of a query or the ON clause of a JOIN.

public static cacheSubquery() : string|null

This is specifically for VIEW operations.

Return values
string|null

getUseTemporaryTable()

Get variable for determining if we should use Temporary Table or not

public static getUseTemporaryTable() : bool
Return values
bool

initChecksumAuthSrc()

public static initChecksumAuthSrc([bool $checkSumValidationResult = FALSE ][, CRM_Core_Form|null $form = NULL ]) : mixed
Parameters
$checkSumValidationResult : bool = FALSE
$form : CRM_Core_Form|null = NULL

relationshipList()

Filter a list of contact_ids by the ones that the user as a permissioned relationship with

public static relationshipList(array<string|int, mixed> $contact_ids, int $type[, int $userID = NULL ]) : array<string|int, mixed>
Parameters
$contact_ids : array<string|int, mixed>

List of contact IDs to be filtered

$type : int

access type CRM_Core_Permission::VIEW or CRM_Core_Permission::EDIT

$userID : int = NULL
Return values
array<string|int, mixed>

List of contact IDs that the user has permissions for

setUseTemporaryTable()

Set whether to use a temporary table or not when building ACL Cache

public static setUseTemporaryTable([bool $useTemporaryTable = TRUE ]) : mixed
Parameters
$useTemporaryTable : bool = TRUE

validateChecksumContact()

public static validateChecksumContact(int $contactID, CRM_Core_Form &$form[, bool $redirect = TRUE ]) : bool
Parameters
$contactID : int
$form : CRM_Core_Form
$redirect : bool = TRUE
Return values
bool

validateOnlyChecksum()

public static validateOnlyChecksum(int $contactID, CRM_Core_Form &$form[, bool $redirect = TRUE ]) : bool
Parameters
$contactID : int
$form : CRM_Core_Form
$redirect : bool = TRUE
Return values
bool

        
On this page

Search results