modules

# Class: shadowAccount

Source Location: /lib/modules/shadowAccount.inc

### Class Overview

    baseModule
       |
       --shadowAccount

Manages the object class "shadowAccount" for users.

#### Author(s):

- Roland Gruber

Implements interfaces:

- passwordService

### Methods

- __construct
- build_uploadAccounts
- display_html_attributes
- display_html_expire
- get_metaData
- get_pdfEntries
- load_Messages
- load_profile
- managesPasswordAttributes
- passwordChangeRequested
- process_attributes
- process_expire
- save_attributes
- setExpirationDate

### Inherited Variables

#### Class: baseModule

baseModule::$attributes
baseModule::$autoAddObjectClasses
baseModule::$messages
baseModule::$meta
baseModule::$moduleSettings
baseModule::$orig
baseModule::$selfServiceSettings

### Inherited Methods

#### Class: baseModule

baseModule::__construct()
  Creates a new base module class
baseModule::build_uploadAccounts()
  In this function the LDAP accounts are built.
baseModule::can_manage()
  Returns true if this module can manage accounts of the current type, otherwise false.
baseModule::checkSelfServiceOptions()
  Checks if all input values are correct and returns the LDAP attributes which should be changed.
baseModule::checkSelfServiceSettings()
  Checks if the self service settings are valid.
baseModule::check_configOptions()
  Checks input values of module settings.
baseModule::check_profileOptions()
  Checks input values of account profiles.
baseModule::delete_attributes()
  This function returns an array with the same syntax as save_attributes().
baseModule::displaySpecialSelfServicePage()
  This function creates meta HTML code to display the module specific page for the self service.
baseModule::display_html_attributes()
  This function creates meta HTML code to display the module page.
baseModule::display_html_delete()
  This function creates meta HTML code which will be displayed when an account should be deleted.
baseModule::doUploadPostActions()
  This function is responsible to do additional tasks after the account has been created in LDAP (e.g. modifying group memberships, adding Quota etc..).
baseModule::getAccountContainer()
  Returns the accountContainer object.
baseModule::getAttributes()
  Returns the LDAP attributes which are managed in this module.
baseModule::getButtonStatus()
  Controls if the module button the account page is visible and activated.
baseModule::getIcon()
  Returns the path to the module icon.
baseModule::getLDAPAliases()
  Returns a list of aliases for LDAP attributes.
baseModule::getLinkToSpecialSelfServicePage()
  This allows modules to create a link to a module specific page for the self service.
baseModule::getManagedAttributes()
  Returns a list of LDAP attributes which are managed by this module.
baseModule::getManagedObjectClasses()
  Returns a list of managed object classes for this module.
baseModule::getOriginalAttributes()
  Returns the LDAP attributes which are managed in this module (with unchanged values).
baseModule::getRequiredExtensions()
  This function returns a list of PHP extensions (e.g. hash) which are needed by this module.
baseModule::getSelfServiceFields()
  Returns a list of possible input fields and their descriptions.
baseModule::getSelfServiceOptions()
  Returns the meta HTML code for each input field.
baseModule::getSelfServiceSearchAttributes()
  This function returns a list of possible LDAP attributes (e.g. uid, cn, ...) which can be used to search for LDAP objects.
baseModule::getSelfServiceSettings()
  Returns a list of self service configuration settings.
baseModule::get_alias()
  Returns an alias name for the module.
baseModule::get_configOptions()
  Returns a list of configuration options.
baseModule::get_dependencies()
  This function returns a list with all depending and conflicting modules.
baseModule::get_help()
  This function returns the help entry array for a specific help id.
baseModule::get_ldap_filter()
  Returns an LDAP filter for the account lists
baseModule::get_metaData()
  This function provides meta data which is interpreted by baseModule.
baseModule::get_pdfEntries()
  Returns the PDF entries for this module.
baseModule::get_pdfFields()
  Returns a hashtable with all entries that may be printed out in the PDF.
baseModule::get_profileOptions()
  This function defines what attributes will be used in the account profiles and their appearance in the profile editor.
baseModule::get_RDNAttributes()
  Returns a hash array containing a list of possible LDAP attributes that can be used to form the RDN (Relative Distinguished Name).
baseModule::get_scope()
  Returns the account type of this module (user, group, host)
baseModule::get_uploadColumns()
  Returns an array containing all input columns for the file upload.
baseModule::get_uploadPreDepends()
  Returns a list of module names which must be processed in building the account befor this module.
baseModule::init()
  Initializes the module after it became part of an accountContainer
baseModule::isBooleanConfigOptionSet()
  Returns if the given configuration option is set.
baseModule::is_base_module()
  Returns true if your module is a base module and otherwise false.
baseModule::load_attributes()
  This function loads the LDAP attributes when an account should be loaded.
baseModule::load_Messages()
  This function fills the $messages variable with output messages from this module.
baseModule::load_profile()
  This function loads the values from an account profile to the module's internal data structures.
baseModule::module_complete()
  This function is used to check if all settings for this module have been made.
baseModule::module_ready()
  This function is used to check if this module page can be displayed.
baseModule::postDeleteActions()
  Allows the module to run commands after the LDAP entry is deleted.
baseModule::postModifyActions()
  Allows the module to run commands after the LDAP entry is changed or created.
baseModule::postModifySelfService()
  Allows the module to run commands after the LDAP entry is changed or created.
baseModule::preDeleteActions()
  Allows the module to run commands before the LDAP entry is deleted.
baseModule::preModifyActions()
  Allows the module to run commands before the LDAP entry is changed or created.
baseModule::preModifySelfService()
  Allows the module to run commands before the LDAP entry is changed or created.
baseModule::process_attributes()
  This function processes user input.
baseModule::save_attributes()
  Returns a list of modifications which have to be made to the LDAP account.

### Class Details

[line 39]
Manages the object class "shadowAccount" for users.

#### Tags:

author: | Roland Gruber

[ Top ]

### Class Methods

### constructor __construct [line 46]

`shadowAccount __construct( string $scope)`

Creates a new shadowAccount object.
Overrides baseModule::__construct() (Creates a new base module class)

#### Parameters:

string | $scope | account type (user, group, host)

[ Top ]

### method build_uploadAccounts [line 486]

`array build_uploadAccounts( array $rawAccounts, array $ids, &$partialAccounts, array $selectedModules, array $partialAccounts)`

In this function the LDAP account is built up.

#### Tags:

return: | list of error messages if any

Overrides baseModule::build_uploadAccounts() (In this function the LDAP accounts are built.)

#### Parameters:

array | $rawAccounts | list of hash arrays (name => value) from user input
array | $partialAccounts | list of hash arrays (name => value) which are later added to LDAP
array | $ids | list of IDs for column position (e.g. "posixAccount_uid" => 5)
array | $selectedModules | list of selected account modules
| &$partialAccounts |

[ Top ]

### method display_html_attributes [line 295]

`array display_html_attributes( )`

This function will create the meta HTML code to show a page with all attributes.

#### Tags:

return: | meta HTML code

Overrides baseModule::display_html_attributes() (This function creates meta HTML code to display the module page.)
[ Top ]

### method display_html_expire [line 406]

`array display_html_expire( )`

This function will create the meta HTML code to show a page with the expiration date.

#### Tags:

return: | meta HTML code

[ Top ]

### method get_metaData [line 77]

`array get_metaData( )`

Returns meta data that is interpreted by parent class

#### Tags:

return: | array with meta data
see: | baseModule::get_metaData()

Overrides baseModule::get_metaData() (This function provides meta data which is interpreted by baseModule.)
[ Top ]

### method get_pdfEntries [line 443]

`array get_pdfEntries( )`

Returns the PDF entries for this module.

#### Tags:

return: | list of possible PDF entries

Overrides baseModule::get_pdfEntries() (Returns the PDF entries for this module.)
[ Top ]

### method load_Messages [line 55]

`void load_Messages( )`

This function builds up the message array.
Overrides baseModule::load_Messages() (This function fills the $messages variable with output messages from this module.)
[ Top ]

### method load_profile [line 566]

`void load_profile( array $profile)`

Loads the values of an account profile into internal variables.
Overrides baseModule::load_profile() (This function loads the values from an account profile to the module's internal data structures.)

#### Parameters:

array | $profile | hash array with profile values (identifier => value)

[ Top ]

### method managesPasswordAttributes [line 590]

`boolean managesPasswordAttributes( )`

This method specifies if a module manages password attributes.

#### Tags:

return: | true if this module manages password attributes
see: | passwordService::managesPasswordAttributes
access: | public

Implementation of:

passwordService::managesPasswordAttributes()
  This method specifies if a module manages password attributes. The module alias will then appear as option in the GUI.

[ Top ]

### method passwordChangeRequested [line 605]

`array passwordChangeRequested( String $password, $modules $modules)`

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.

#### Tags:

return: | list of error messages if any as parameter array for StatusMessage e.g. return arrray(array('ERROR', 'Password change failed.'))
see: | passwordService::passwordChangeRequested
access: | public

Implementation of:

passwordService::passwordChangeRequested()
  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.

#### Parameters:

String | $password | new password
$modules | $modules | list of modules for which the password should be changed

[ Top ]

### method process_attributes [line 258]

`array process_attributes( )`

Processes user input of the primary module page.

It checks if all input values are correct and updates the associated LDAP attributes.

#### Tags:

return: | list of info/error messages

Overrides baseModule::process_attributes() (This function processes user input.)
[ Top ]

### method process_expire [line 380]

`array process_expire( )`

Processes user input of the expiration page.

It checks if all input values are correct and updates the associated LDAP attributes.

#### Tags:

return: | list of info/error messages

[ Top ]

### method save_attributes [line 244]

`array save_attributes( )`

Returns a list of modifications which have to be made to the LDAP account.

#### Tags:

return:

list of modifications
This function returns an array with 3 entries:
array( DN1 ('add' => array($attr), 'remove' => array($attr), 'modify' => array($attr)), DN2 .... )
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)
"add" are attributes which have to be added to LDAP entry
"remove" are attributes which have to be removed from LDAP entry
"modify" are attributes which have to been modified in LDAP entry
"info" are values with informational value (e.g. to be used later by pre/postModify actions)

Overrides baseModule::save_attributes() (Returns a list of modifications which have to be made to the LDAP account.)
[ Top ]

### method setExpirationDate [line 624]

`void setExpirationDate( String $year, String $month, String $day)`

Sets the expiration date of this account.

If all parameters are null the expiration date will be removed.

#### Tags:

access: | public

#### Parameters:

String | $year | year (e.g. 2040)
String | $month | month (e.g. 8)
String | $day | day (e.g. 27)

[ Top ]

Documentation generated on Tue, 22 Nov 2011 16:30:10 +0100 by phpDocumentor 1.4.1