lib/modules/inetOrgPerson.inc
Properties
Description
Manages the atrributes of object class inetOrgPerson.Classes
inetOrgPerson
Description
This module manages LDAP attributes of the object class inetOrgPerson (e.g. name and address).It implements the complete module interface and uses meta-data provided by the account modules for its functions.
Location and naming of modules
All LAM modules are placed in lib/modules/ and are named "
You can avoid to override many functions by using {@link get_metaData()}.
All module classes should extend the baseModule class.
Methods
ajaxDeleteSelfServiceUserCertificate, ajaxUpload, build_uploadAccounts, checkSelfServiceOptions, check_profileOptions, display_html_attributes, display_html_manager, display_html_photo, display_html_userCertificate, doUploadPostActions, getButtonStatus, getManagers, getSelfServiceOptions, getSelfServiceUserCertificates, getSelfServiceUserCertificatesJSBlock, get_metaData, get_pdfEntries, get_uploadColumns, handleAjaxRequest, initCache, invalidAjaxRequest, load_Messages, load_profile, managesPasswordAttributes, module_complete, passwordChangeRequested, process_attributes, process_manager, process_photo, process_userCertificate, save_attributes, supportsForcePasswordChange,ajaxDeleteSelfServiceUserCertificate( array $data, ) : n/a
Description
Manages the deletion of a certificate.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $data | array | JSON data |
Return value
| Type | Description |
|---|---|
| n/a | n/a |
ajaxUpload( ) : n/a
Description
Handles an AJAX file upload and prints the JSON result.Return value
| Type | Description |
|---|---|
| n/a | n/a |
build_uploadAccounts( array $rawAccounts, array $ids, array $partialAccounts, array $selectedModules, ) : array
Description
In this function the LDAP account is built up.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $rawAccounts | array | list of hash arrays (name => value) from user input |
|
| $ids | array | list of IDs for column position (e.g. "posixAccount_uid" => 5) |
|
| $partialAccounts | array | list of hash arrays (name => value) which are later added to LDAP |
|
| $selectedModules | array | list of selected account modules |
Return value
| Type | Description |
|---|---|
| array | list of error messages if any |
checkSelfServiceOptions( string $fields, array $attributes, boolean $passwordChangeOnly, array $readOnlyFields, ) : array
Description
Checks if all input values are correct and returns the LDAP attributes which should be changed.Return values:
messages: array of parameters to create status messages
add: array of attributes to add
del: array of attributes to remove
mod: array of attributes to modify
info: array of values with informational value (e.g. to be used later by pre/postModify actions) Calling this method does not require the existence of an enclosing {@link accountContainer}.
Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $fields | string | input fields |
|
| $attributes | array | LDAP attributes |
|
| $passwordChangeOnly | boolean | indicates that the user is only allowed to change his password and no LDAP content is readable |
|
| $readOnlyFields | array | list of read-only fields |
Return value
| Type | Description |
|---|---|
| array | messages and attributes (array('messages' => array(), 'add' => array('mail' => array('test@test.com')), 'del' => array(), 'mod' => array(), 'info' => array())) |
check_profileOptions( array $options, ) : array
Description
Checks input values of account profiles.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $options | array | a hash array (name => value) containing the options |
Return value
| Type | Description |
|---|---|
| array | list of error messages (array(type, title, text)) to generate StatusMessages, if any |
display_html_attributes( ) : array
Description
Returns the HTML meta data for the main account page.Return value
| Type | Description |
|---|---|
| array | HTML meta data |
display_html_manager( ) : \htmlElement
Description
This function will create the meta HTML code to show a page to change the manager attribute.Return value
| Type | Description |
|---|---|
| \htmlElement | HTML meta data |
display_html_photo( ) : array
Description
Displays the photo upload page.Return value
| Type | Description |
|---|---|
| array | meta HTML code |
display_html_userCertificate( ) : array
Description
Displays the certificate upload page.Return value
| Type | Description |
|---|---|
| array | meta HTML code |
doUploadPostActions( array $data, array $ids, array $failed, array $temp, array $accounts, ) : array
Description
This function executes one post upload action.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $data | array | array containing one account in each element |
|
| $ids | array | array( |
|
| $failed | array | list of accounts which were not created successfully |
|
| $temp | array | variable to store temporary data between two post actions |
|
| $accounts | array | list of LDAP entries |
Return value
| Type | Description |
|---|---|
| array | current status <br> array ( <br> 'status' => 'finished' | 'inProgress' <br> 'progress' => 0..100 <br> 'errors' => array (<array of parameters for StatusMessage>) <br> ) |
getButtonStatus( ) : string
Description
Controls if the module button the account page is visible and activated.Return value
| Type | Description |
|---|---|
| string | status ("enabled", "disabled", "hidden") |
getManagers( ) : array
Description
Returns a list of possible managers.Return value
| Type | Description |
|---|---|
| array | list of format array(abstract DN => DN) |
getSelfServiceOptions( array $fields, array $attributes, boolean $passwordChangeOnly, array $readOnlyFields, ) : array
Description
Returns the meta HTML code for each input field.format: array(
Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $fields | array | list of active fields |
|
| $attributes | array | attributes of LDAP account |
|
| $passwordChangeOnly | boolean | indicates that the user is only allowed to change his password and no LDAP content is readable |
|
| $readOnlyFields | array | list of read-only fields |
Return value
| Type | Description |
|---|---|
| array | list of meta HTML elements (field name => htmlTableRow) |
getSelfServiceUserCertificates( ) : \htmlTable
Description
Returns the meta HTML code to display the certificate area.This also includes the file upload.
Return value
| Type | Description |
|---|---|
| \htmlTable | certificate content |
getSelfServiceUserCertificatesJSBlock( ) : \htmlJavaScript
Description
Returns the Java Script functions to manage the certificates.Return value
| Type | Description |
|---|---|
| \htmlJavaScript | JS block |
get_metaData( ) : array
Description
Returns meta data that is interpreted by parent classReturn value
| Type | Description |
|---|---|
| array | array with meta data |
Tags
| Name | Description |
|---|---|
| see |
get_pdfEntries( ) : array
Description
Returns the PDF entries for this module.Return value
| Type | Description |
|---|---|
| array | list of possible PDF entries |
get_uploadColumns( array $selectedModules, ) : array
Description
Returns an array containing all input columns for the file upload.Syntax:
array(
string: name, // fixed non-translated name which is used as column name (should be of format:
string: description, // short descriptive name
string: help, // help ID
string: example, // example value
boolean: required // true, if user must set a value for this column
)
Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $selectedModules | array | list of selected account modules |
Return value
| Type | Description |
|---|---|
| array | column list |
handleAjaxRequest( ) : n/a
Description
Manages AJAX requests.This function may be called with or without an account container.
Return value
| Type | Description |
|---|---|
| n/a | n/a |
initCache( ) : n/a
Description
Loads cached data from LDAP such as departmets etc.Return value
| Type | Description |
|---|---|
| n/a | n/a |
invalidAjaxRequest( String $message = null, ) : n/a
Description
Invalid AJAX request received.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $message | String | error message |
null |
Return value
| Type | Description |
|---|---|
| n/a | n/a |
load_Messages( ) : n/a
Description
This function fills the message array.Return value
| Type | Description |
|---|---|
| n/a | n/a |
load_profile( array $profile, ) : n/a
Description
Loads the values of an account profile into internal variables.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $profile | array | hash array with profile values (identifier => value) |
Return value
| Type | Description |
|---|---|
| n/a | n/a |
managesPasswordAttributes( ) : boolean
Description
This method specifies if a module manages password attributes.Return value
| Type | Description |
|---|---|
| boolean | true if this module manages password attributes |
Tags
| Name | Description |
|---|---|
| see |
module_complete( ) : boolean
Description
This functions return true if all needed settings are done.Return value
| Type | Description |
|---|---|
| boolean | true, if all is ok |
passwordChangeRequested( String $password, $modules, boolean $forcePasswordChange, ) : array
Description
This function is called whenever the password should be changed. Account modules must change their password attributes only if the modules list contains their module name.Arguments
| Name | Type | Description | Default |
|---|---|---|---|
| $password | String | new password |
|
| $modules | n/a | list of modules for which the password should be changed |
|
| $forcePasswordChange | boolean | force the user to change his password at next login |
Return value
| Type | Description |
|---|---|
| array | list of error messages if any as parameter array for StatusMessage e.g. return arrray(array('ERROR', 'Password change failed.')) |
Tags
| Name | Description |
|---|---|
| see |
process_attributes( ) : array
Description
Processes user input of the primary module page.It checks if all input values are correct and updates the associated LDAP attributes.
Return value
| Type | Description |
|---|---|
| array | list of info/error messages |
process_manager( ) : array
Description
Processes user input of the manager page.It checks if all input values are correct and updates the associated LDAP attributes.
Return value
| Type | Description |
|---|---|
| array | list of info/error messages |
process_userCertificate( ) : n/a
Description
Sets a new certificate or deletes old ones.Return value
| Type | Description |
|---|---|
| n/a | n/a |
save_attributes( ) : array
Description
Returns a list of modifications which have to be made to the LDAP account.Return value
| Type | Description |
|---|---|
| array | list of modifications <br>This function returns an array with 3 entries: <br>array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... ) <br>DN is the DN to change. It may be possible to change several DNs (e.g. create a new user and add him to some groups via attribute memberUid) <br>"add" are attributes which have to be added to LDAP entry <br>"remove" are attributes which have to be removed from LDAP entry <br>"modify" are attributes which have to been modified in LDAP entry <br>"info" are values with informational value (e.g. to be used later by pre/postModify actions) |
