lib/modules/shadowAccount.inc
Properties
Description
Manages Unix shadow accounts for users.Classes
shadowAccount
Description
Manages the object class "shadowAccount" for users.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
__construct, build_uploadAccounts, display_html_attributes, display_html_expire, getSelfServiceOptions, get_metaData, get_pdfEntries, load_Messages, load_profile, managesPasswordAttributes, passwordChangeRequested, process_attributes, process_expire, save_attributes, setExpirationDate, supportsForcePasswordChange,__construct( string $scope, ) : n/a
Description
Creates a new shadowAccount object.Arguments
Name | Type | Description | Default |
---|---|---|---|
$scope | string | account type (user, group, host) |
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 |
display_html_attributes( ) : array
Description
This function will create the meta HTML code to show a page with all attributes.Return value
Type | Description |
---|---|
array | meta HTML code |
display_html_expire( ) : array
Description
This function will create the meta HTML code to show a page with the expiration date.Return value
Type | Description |
---|---|
array | meta HTML code |
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) |
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 |
load_Messages( ) : n/a
Description
This function builds up 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 |
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_expire( ) : array
Description
Processes user input of the expiration 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 |
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) |
setExpirationDate( String $year, String $month, String $day, ) : n/a
Description
Sets the expiration date of this account.If all parameters are null the expiration date will be removed.
Arguments
Name | Type | Description | Default |
---|---|---|---|
$year | String | year (e.g. 2040) |
|
$month | String | month (e.g. 8) |
|
$day | String | day (e.g. 27) |
Return value
Type | Description |
---|---|
n/a | n/a |