lib/modules/inetOrgPerson.inc

Properties

Description

Manages the atrributes of object class inetOrgPerson.

Classes

inetOrgPerson

Properties

 
\passwordService
 
modules  
No 
No 

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 ".inc". E.g. if you create a new module and its class name is "qmail" then the filename would be "qmail.inc". The class name of a module must contain only a-z, A-Z, 0-9, -, and _.

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( => array(), ...) It is not possible to display help links.

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 class

Return 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_photo( ) : n/a

Description

Sets a new photo.

Return value

Type Description
n/a n/a

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)

supportsForcePasswordChange( ) : boolean

Description

Specifies if this module supports to force that a user must change his password on next login.

Return value

Type Description
boolean force password change supported

Properties

$businessCategoryCache, $cachedManagers, $clearTextPassword, $departmentCache, $employeeTypeCache, $oCache, $ouCache, $titleCache,

  private  $businessCategoryCache = null

business category cache


  private  $cachedManagers = null

caches the list of possible managers


  private  $clearTextPassword = null

clear text password


  private  $departmentCache = null

cache for departments


  private  $employeeTypeCache = null

employee type cache


  private  $oCache = null

organization cache


  private  $ouCache = null

organizational unit cache


  private  $titleCache = null

title cache


Constants

  SESS_CERTIFICATES_LIST = 'inetOrgPerson_certificatesList'

session variable for existing user certificates in self service


Documentation was generated by phpDocumentor 2.0.1 .

Namespaces

  • global

    Packages