LDAPObject
in package
LDAP Object class
This class is the parent of the users and committees returned by the LDAP.
Tags
Table of Contents
- BIND_KEY = ''
- Key to the type of bind address (actual bind address is read by LDAPI)
- FIXED_FIELDS = []
- List of fields that cannot be patched directly (when altered directly changes are not saved!)
- LDAP_KEYS = []
- Maps LDAP keys to properties ('ldap_key' => 'property')
- SEARCH_PREFIX = ''
- Search addition needed for ldap_search (contains object type)
- $id : int|null
- Primary id of this object
- $dirty : array<string|int, mixed>
- Altered fields, queue to be saved, 'field' => 'new_value'
- $DISPLAY_KEYS : array<string|int, mixed>
- Maps properties to LDAP keys, reverse of LDAP_KEYS: 'property' => 'ldap_keys'
- $errors : array<string|int, mixed>
- Validation errors, ordered by field as key
- $ldapi_link : LDAPI
- Link to LDAPI instance
- $validators : array<string|int, mixed>
- Validators to apply: 'field' => [list of rules]
- __construct() : void
- Initialize object from LDAP result
- __debugInfo() : array<string|int, mixed>
- Override default debug to make result more clear
- _clearDirty() : void
- Clear all dirty fields
- _dirty() : array<string|int, mixed>
- Return dirty fields with their new values
- _dirtyToLDAPArray() : array<string|int, mixed>
- Collect all dirty fields and return an array compatible with ldap_save
- _getDisplayKey() : string|false|array<string|int, mixed>
- Find a display key (property) based on ldap_key
- _getDNPrefix() : string
- Return prefix needed for LDAP binds
- _getLdapKey() : string|false|array<string|int, mixed>
- Find an ldap key based on a display key (property)
- _setErrors() : void
- Add validation errors
- _validate() : bool
- Verify the content, errors are saved in $this->errors
- getErrors() : array<string|int, mixed>|false
- Return validation errors
- patchEntity() : bool
- Alter or insert data, validate it and mark it to be saved
- _buildObjectFromLdapData() : void
- Fill instance according to LDAP data
Constants
BIND_KEY
Key to the type of bind address (actual bind address is read by LDAPI)
public
string
BIND_KEY
= ''
FIXED_FIELDS
List of fields that cannot be patched directly (when altered directly changes are not saved!)
public
array<string|int, string>
FIXED_FIELDS
= []
LDAP_KEYS
Maps LDAP keys to properties ('ldap_key' => 'property')
public
array<string|int, mixed>
LDAP_KEYS
= []
SEARCH_PREFIX
Search addition needed for ldap_search (contains object type)
public
string
SEARCH_PREFIX
= ''
Properties
$id
Primary id of this object
public
int|null
$id
= null
$dirty
Altered fields, queue to be saved, 'field' => 'new_value'
protected
array<string|int, mixed>
$dirty
= []
$DISPLAY_KEYS
Maps properties to LDAP keys, reverse of LDAP_KEYS: 'property' => 'ldap_keys'
protected
static array<string|int, mixed>
$DISPLAY_KEYS
= []
This property is static instead of const, because we want to automatically set it based on LDAP_KEYS.
$errors
Validation errors, ordered by field as key
protected
array<string|int, mixed>
$errors
= []
$ldapi_link
Link to LDAPI instance
protected
LDAPI
$ldapi_link
$validators
Validators to apply: 'field' => [list of rules]
protected
static array<string|int, mixed>
$validators
= []
Methods
__construct()
Initialize object from LDAP result
public
__construct([array<string|int, mixed>|null $ldap_entry = null ][, LDAPI|null &$ldapi_link = null ]) : void
Parameters
- $ldap_entry : array<string|int, mixed>|null = null
-
LDAP array
- $ldapi_link : LDAPI|null = null
-
Link to LDAPI instance
Return values
void —__debugInfo()
Override default debug to make result more clear
public
__debugInfo() : array<string|int, mixed>
Return values
array<string|int, mixed> —_clearDirty()
Clear all dirty fields
public
_clearDirty() : void
Return values
void —_dirty()
Return dirty fields with their new values
public
_dirty() : array<string|int, mixed>
Return values
array<string|int, mixed> —_dirtyToLDAPArray()
Collect all dirty fields and return an array compatible with ldap_save
public
_dirtyToLDAPArray() : array<string|int, mixed>
The keys of the array will be ldap keys.
Return values
array<string|int, mixed> —_getDisplayKey()
Find a display key (property) based on ldap_key
public
static _getDisplayKey([ $ldap_key = null ]) : string|false|array<string|int, mixed>
If a key could not be found, false is returned and a warning is triggered.
The LDAP_KEYS array contains display keys as values, hence it's used here.
Parameters
Return values
string|false|array<string|int, mixed> —_getDNPrefix()
Return prefix needed for LDAP binds
public
_getDNPrefix() : string
Return values
string —_getLdapKey()
Find an ldap key based on a display key (property)
public
static _getLdapKey([ $display_key = null ]) : string|false|array<string|int, mixed>
If a key could not be found, false is returned and a warning is triggered.
The DISPLAY_KEYS array contains ldap keys as values, hence it's used here.
Parameters
Return values
string|false|array<string|int, mixed> —_setErrors()
Add validation errors
public
_setErrors(string $field, array<string|int, mixed>|string $errors) : void
Parameters
- $field : string
-
For property or field
- $errors : array<string|int, mixed>|string
-
Error message(s)
Return values
void —_validate()
Verify the content, errors are saved in $this->errors
public
_validate([array<string|int, mixed>|null $fields = null ]) : bool
Parameters
- $fields : array<string|int, mixed>|null = null
-
Verify these fields only, if null all dirty fields are processed
Return values
bool —False on errors
getErrors()
Return validation errors
public
getErrors([string|null $val = null ]) : array<string|int, mixed>|false
Parameters
- $val : string|null = null
-
Return errors for this field or return all errors
Return values
array<string|int, mixed>|false —Array of errors or false if none exist
patchEntity()
Alter or insert data, validate it and mark it to be saved
public
patchEntity(array<string|int, mixed> $data) : bool
Parameters
- $data : array<string|int, mixed>
Return values
bool —False on validation errors
_buildObjectFromLdapData()
Fill instance according to LDAP data
protected
_buildObjectFromLdapData(array<string|int, mixed> $entry) : void
Parameters
- $entry : array<string|int, mixed>
-
LDAP entry array (single entry!)