modules

# Class: baseModule Source Location: /lib/baseModule.inc
### Class Overview
Parent class of all account modules | ### Variables $attributes $base $messages $meta $moduleSettings $orig $scope $triggered_messages | ### Methods baseModule build_uploadAccounts can_manage check_configOptions check_profileOptions delete_attributes display_html_delete doUploadPostActions getButtonStatus get_alias get_configDescriptions get_configOptions get_dependencies get_help get_ldap_filter get_metaData get_pdfFields get_pdf_entries get_profileOptions get_RDNAttributes get_scope get_uploadColumns get_uploadPreDepends init input_check is_base_module load_attributes load_Messages load_profile module_complete module_ready save_attributes
### Child classes: account Manages the object class "account" for users and hosts. ieee802Device Provides MAC addresses for hosts. posixGroup Manages the object class "posixGroup" for groups. quota Manages quotas for users and groups. sambaAccount Manages the object class "sambaAccount" for users and hosts. sambaSamAccount Manages the object class "sambaSamAccount" for users and hosts. posixAccount Manages the object class "posixAccount" for users and hosts. kolabUser Manages Kolab user accounts. sambaGroupMapping Manages the object class "sambaGroupMapping" for groups. shadowAccount Manages the object class "shadowAccount" for users. ldapPublicKey Manages SSH public keys. sambaDomain Manages Samba 3 domain entries. inetOrgPerson This class contains all account LDAP attributes and funtioncs required to deal with inetOrgPerson. inetLocalMailRecipient Provides mail routing for users. nisMailAlias Provides NIS mail alias management.
### Class Details [line 40] Parent class of all account modules [ Top ] ### Class Variables #### $attributes = [line 55] contains all ldap attributes which should be written
Type: | mixed
[ Top ] #### $base = [line 52] name of parent accountContainer ($_SESSION[$base])
Type: | mixed
[ Top ] #### $messages = [line 64] contains all error messages of a module
Type: | mixed
[ Top ] #### $meta = [line 43] includes all meta data provided by the sub class
Type: | mixed
[ Top ] #### $moduleSettings = [line 49] configuration settings of all modules
Type: | mixed
[ Top ] #### $orig = [line 58] contains all ldap attributes which are loaded from ldap
Type: | mixed
[ Top ] #### $scope = [line 46] the account type of this module (user, group, host)
Type: | mixed
[ Top ] #### $triggered_messages = [line 61] contains all messages wich were triggered
Type: | mixed
[ Top ] ### Class Methods ### constructor baseModule [line 71]
`baseModule baseModule( string $scope)`
Creates a new base module class #### Parameters:
string | $scope | the account type (user, group, host)
[ Top ] ### method build_uploadAccounts [line 498]
`array build_uploadAccounts( array $rawAccounts, array $ids, array &$partialAccounts)`
In this function the LDAP account is built up. #### Tags:
return: | list of error messages if any
Overridden in child classes as: account::build_uploadAccounts() In this function the LDAP account is built up. ieee802Device::build_uploadAccounts() In this function the LDAP account is built up. posixGroup::build_uploadAccounts() In this function the LDAP account is built up. quota::build_uploadAccounts() In this function the LDAP account is built up. sambaAccount::build_uploadAccounts() In this function the LDAP account is built up. sambaSamAccount::build_uploadAccounts() In this function the LDAP account is built up. posixAccount::build_uploadAccounts() In this function the LDAP account is built up. kolabUser::build_uploadAccounts() In this function the LDAP account is built up. sambaGroupMapping::build_uploadAccounts() In this function the LDAP account is built up. shadowAccount::build_uploadAccounts() In this function the LDAP account is built up. ldapPublicKey::build_uploadAccounts() In this function the LDAP account is built up. sambaDomain::build_uploadAccounts() In this function the LDAP account is built up. inetOrgPerson::build_uploadAccounts() In this function the LDAP account is built up. inetLocalMailRecipient::build_uploadAccounts() In this function the LDAP account is built up. nisMailAlias::build_uploadAccounts() In this function the LDAP account is built up. #### 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)
[ Top ] ### method can_manage [line 150]
`boolean can_manage( )`
Returns true if this module fits for the current scope. #### Tags:
return: | true if module fits
[ Top ] ### method check_configOptions [line 358]
`array check_configOptions( array $scopes, array $options)`
Checks input values of module settings. #### Tags:
return: | list of error messages
Overridden in child classes as: posixAccount::check_configOptions() Checks input values of module settings. #### Parameters:
array | $scopes | list of account types which are used
array | $options | hash array containing the settings (array('option' => array('value')))
[ Top ] ### method check_profileOptions [line 230]
`array check_profileOptions( array $options)`
Checks input values of account profiles. #### Tags:
return: | list of error messages (array(type, title, text)) to generate StatusMessages, if any
Overridden in child classes as: quota::check_profileOptions() Checks input values of account profiles. #### Parameters:
array | $options | a hash array (name => value) containing the options
[ Top ] ### method delete_attributes [line 653]
`List delete_attributes( $post $post)`
Dummy function for modules which use no special options on account deletion. #### Tags:
return: | of LDAP operations, same as for save_attributes()
Overridden in child classes as: posixGroup::delete_attributes() quota::delete_attributes() posixAccount::delete_attributes() #### Parameters:
$post | $post | The HTTP POST variables of the delete page
[ Top ] ### method display_html_delete [line 663]
`meta display_html_delete( $post &$post)`
Dummy function for modules which do not print extra HTML code on account deletion. #### Tags:
return: | HTML code
Overridden in child classes as: quota::display_html_delete() posixAccount::display_html_delete() #### Parameters:
$post | &$post | HTTP POST values
[ Top ] ### method doUploadPostActions [line 624]
`array doUploadPostActions( array $data, array $ids, array $failed, array &$temp)`
This function executes one post upload action. #### Tags:
return: | current status array ( 'status' => 'finished' | 'inProgress' 'progress' => 0..100 'errors' => array (<array of parameters for StatusMessage>) )
Overridden in child classes as: quota::doUploadPostActions() This function executes one post upload action. posixAccount::doUploadPostActions() This function executes one post upload action. #### Parameters:
array | $data | array containing one account in each element
array | $ids | array(<column_name> => <column number>)
array | $failed | list of accounts which were not created successfully
array | $temp | variable to store temporary data between two post actions
[ Top ] ### method getButtonStatus [line 548]
`string getButtonStatus( )`
Controls if the module button the account page is visible and activated. #### Tags:
return: | status ("enabled", "disabled", "hidden")
Overridden in child classes as: account::getButtonStatus() Controls if the module button the account page is visible and activated. posixGroup::getButtonStatus() Controls if the module button the account page is visible and activated. inetOrgPerson::getButtonStatus() Controls if the module button the account page is visible and activated. nisMailAlias::getButtonStatus() Controls if the module button the account page is visible and activated. [ Top ] ### method get_alias [line 185]
`string get_alias( )`
Returns an alias name for the module. This alias is used in various places instead of the less descriptive class name. The alias also has less syntax restrictions and may contain spaces or special characters. #### Tags:
return: | alias name
[ Top ] ### method get_configDescriptions [line 345]
`array get_configDescriptions( )`
Returns an array containing descriptions shown on configuration pages. The returned array has the format array('legend' => '...', descriptions => array('option1' => '...', ...)). The "legend" value is used as text for the fieldset, the descriptions are used when the configuration is printed. #### Tags:
return: | configuration elements
[ Top ] ### method get_configOptions [line 328]
`array get_configOptions( array $scopes)`
Returns a list of elements for the configuration. #### Tags:
return: | configuration elements
#### Parameters:
array | $scopes | account types (user, group, host)
[ Top ] ### method get_dependencies [line 209]
`array get_dependencies( )`
This function returns a list with all depending and conflicting modules. #### Tags:
return: | list of dependencies and conflicts
[ Top ] ### method get_help [line 512]
`array get_help( string $id, string $scope)`
This function return the help entry array for a specific help id. Normally this->meta can be used. #### Tags:
return: | The desired help entry.
#### Parameters:
string | $id | The id string for the help entry needed.
string | $scope | The scope for which the help entry should be retrieved. May be empty when there is now difference of the help entry depending on the actual scope.
[ Top ] ### method get_ldap_filter [line 172]
`string get_ldap_filter( )`
returns an LDAP filter for the account lists #### Tags:
return: | LDAP filter
[ Top ] ### method get_metaData [line 132]
`array get_metaData( )`
Dummy function, meta data is provided by sub classes. #### Tags:
return: | empty array
Overridden in child classes as: account::get_metaData() Returns meta data that is interpreted by parent class ieee802Device::get_metaData() Returns meta data that is interpreted by parent class posixGroup::get_metaData() Returns meta data that is interpreted by parent class quota::get_metaData() Returns meta data that is interpreted by parent class sambaAccount::get_metaData() Returns meta data that is interpreted by parent class sambaSamAccount::get_metaData() Returns meta data that is interpreted by parent class posixAccount::get_metaData() Returns meta data that is interpreted by parent class kolabUser::get_metaData() Returns meta data that is interpreted by parent class sambaGroupMapping::get_metaData() Returns meta data that is interpreted by parent class shadowAccount::get_metaData() Returns meta data that is interpreted by parent class ldapPublicKey::get_metaData() Returns meta data that is interpreted by parent class sambaDomain::get_metaData() Returns meta data that is interpreted by parent class inetOrgPerson::get_metaData() Returns meta data that is interpreted by parent class inetLocalMailRecipient::get_metaData() Returns meta data that is interpreted by parent class nisMailAlias::get_metaData() Returns meta data that is interpreted by parent class [ Top ] ### method get_pdfFields [line 442]
`array get_pdfFields( string $scope)`
Returns an array with all fields available for this account type on the PDF output. This method may be overwritten by subclasses or it may be used by using entries in the $this->meta['PDF_fields'] array of the specific sub- class. #### Tags:
return: | list of available fields for PDF output
#### Parameters:
string | $scope | account type
[ Top ] ### method get_pdf_entries [line 457]
`array get_pdf_entries( [string $scope = 'user'])`
Returns a hastable with all entries that may be printed out in the PDF. The syntax of the hashtable is specified by the module specification and the corresponding DTD. This method must be overwritten in case that there are non static things to be returned. The $this->meta['PDF_entries'] array may be used when there is only static content. #### Tags:
return: | hastable of entries for the PDF. Each entry is an array where each entry is treated as a new line in the PDF.
#### Parameters:
string | $scope | account type
[ Top ] ### method get_profileOptions [line 219]
`profile get_profileOptions( )`
Returns a list of elements for the account profiles. #### Tags:
return: | elements
Overridden in child classes as: quota::get_profileOptions() Returns a list of elements for the account profiles. sambaSamAccount::get_profileOptions() Returns a list of elements for the account profiles. posixAccount::get_profileOptions() Returns a list of elements for the account profiles. sambaGroupMapping::get_profileOptions() Returns a list of elements for the account profiles. [ Top ] ### method get_RDNAttributes [line 199]
`array get_RDNAttributes( )`
Returns a list of possible LDAP attributes which can be used to form the RDN. The returned elements have this form: <attribute> => <priority> <attribute> is the name of the LDAP attribute <priority> defines the priority of the attribute (can be "low", "normal", "high") #### Tags:
return: | list of attributes
[ Top ] ### method get_scope [line 141]
`string get_scope( )`
Returns the account type of this module (user, group, host) #### Tags:
return: | account type
[ Top ] ### method get_uploadColumns [line 475]
`array get_uploadColumns( )`
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: <module name>_<column name>) 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 ) #### Tags:
return: | column list
Overridden in child classes as: quota::get_uploadColumns() Returns an array containing all input columns for the file upload. [ Top ] ### method get_uploadPreDepends [line 485]
`array get_uploadPreDepends( )`
Returns a list of module names which must be processed in building the account befor this module. #### Tags:
return: | list of module names
[ Top ] ### method init [line 89]
`void init( string $base)`
Initializes the module after it became part of an accountContainer Overridden in child classes as: posixGroup::init() This functin will be called when the module will be loaded * quota::init() sambaAccount::init() Initializes the module after it became part of an accountContainer sambaSamAccount::init() Initializes the module after it became part of an accountContainer posixAccount::init() sambaGroupMapping::init() Initializes the module after it became part of an accountContainer #### Parameters:
string | $base | the name of the accountContainer object ($_SESSION[$base])
[ Top ] ### method input_check [line 560]
`mixed input_check( )`
Checks if the attribute values follow the LDAP syntax. Not every LDAP attribute allows UTF-8 strings. Therefore we do a syntax check here and change UTF-8 strings to ASCII strings if needed. The maximum length of the attributes is checked, too. #### Tags:
return: | 0 if no errors/warnings occured, otherwise an array of status messages.
[ Top ] ### method is_base_module [line 162]
`boolean is_base_module( )`
Returns true if this module is enough to provide a sensible account. There is no relation to the name of this class. #### Tags:
return: | true if base module
[ Top ] ### method load_attributes [line 109]
`void load_attributes( array $attr)`
This function loads all standard LDAP attributes. It is used by the modules to reduce code Overridden in child classes as: account::load_attributes() This function loads all attributes into the object. ieee802Device::load_attributes() This function loads all needed attributes into the object. quota::load_attributes() sambaAccount::load_attributes() sambaSamAccount::load_attributes() posixAccount::load_attributes() kolabUser::load_attributes() This function loads all needed attributes into the object. ldapPublicKey::load_attributes() This function loads all needed attributes into the object. sambaDomain::load_attributes() This function loads all needed attributes into the object. inetLocalMailRecipient::load_attributes() This function loads all needed attributes into the object. nisMailAlias::load_attributes() This function loads all needed attributes into the object. #### Parameters:
array | $attr | attribute list
[ Top ] ### method load_Messages [line 81]
`void load_Messages( )`
This function fills the $messages variable with output messages from this module. Overridden in child classes as: account::load_Messages() This function fills the message array. ieee802Device::load_Messages() This function fills the error message array with messages posixGroup::load_Messages() this functin fills the error message array with messages quota::load_Messages() this functin fills the error message array with messages sambaAccount::load_Messages() this functin fills the error message array with messages sambaSamAccount::load_Messages() this functin fills the error message array with messages posixAccount::load_Messages() this functin fills the error message array with messages kolabUser::load_Messages() This function fills the error message array with messages sambaGroupMapping::load_Messages() this functin fills the error message array with messages shadowAccount::load_Messages() This function builds up the message array. sambaDomain::load_Messages() This function fills the error message array with messages inetOrgPerson::load_Messages() This function fills the message array. inetLocalMailRecipient::load_Messages() This function fills the error message array with messages nisMailAlias::load_Messages() This function fills the error message array with messages [ Top ] ### method load_profile [line 311]
`void load_profile( array $profile)`
Loads the values of an account profile into internal variables. Overridden in child classes as: quota::load_profile() Loads the values of an account profile into internal variables. sambaAccount::load_profile() Loads the values of an account profile into internal variables. sambaSamAccount::load_profile() Loads the values of an account profile into internal variables. posixAccount::load_profile() Loads the values of an account profile into internal variables. sambaGroupMapping::load_profile() Loads the values of an account profile into internal variables. shadowAccount::load_profile() Loads the values of an account profile into internal variables. #### Parameters:
array | $profile | hash array with profile values (identifier => value)
[ Top ] ### method module_complete [line 539]
`boolean module_complete( )`
This functions is used to check if all settings for this module have been made. #### Tags:
return: | true, if settings are complete
Overridden in child classes as: account::module_complete() This functions returns true if all needed settings are done. posixGroup::module_complete() quota::module_complete() sambaAccount::module_complete() This functions returns true if all needed settings are done sambaSamAccount::module_complete() This functions is used to check if all settings for this module have been made. posixAccount::module_complete() kolabUser::module_complete() This function returns true if all needed settings are done. sambaGroupMapping::module_complete() inetOrgPerson::module_complete() This functions return true if all needed settings are done. [ Top ] ### method module_ready [line 530]
`boolean module_ready( )`
This function is used to check if this module page can be displayed. It returns false if a module depends on data from other modules which was not yet entered. #### Tags:
return: | true, if page can be displayed
Overridden in child classes as: quota::module_ready() sambaAccount::module_ready() sambaSamAccount::module_ready() This function is used to check if this module page can be displayed. sambaGroupMapping::module_ready() [ Top ] ### method save_attributes [line 643]
`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
Overridden in child classes as: account::save_attributes() posixGroup::save_attributes() quota::save_attributes() sambaAccount::save_attributes() sambaSamAccount::save_attributes() posixAccount::save_attributes() kolabUser::save_attributes() Returns a list of modifications which have to be made to the LDAP account. sambaGroupMapping::save_attributes() shadowAccount::save_attributes() Returns a list of modifications which have to be made to the LDAP account. inetOrgPerson::save_attributes() nisMailAlias::save_attributes() Returns a list of modifications which have to be made to the LDAP account. [ Top ] Documentation generated on Tue, 07 Feb 2006 17:03:34 +0100 by phpDocumentor 1.2.3