Manages the object class "posixGroup" for groups. 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.
Checks input values of module settings. Calling this method does not require the existence of an enclosing {@link accountContainer}.
If the input data is invalid the return value is an array that contains subarrays to build StatusMessages ('message type', 'message head', 'message text').
If no errors occured the function returns an empty array.
Arguments
Name
Type
Description
Default
$scopes
array
list of account types which are used
$options
array
hash array (option name => value) that contains the input. The option values are all arrays containing one or more elements.
Return value
Type
Description
array
list of error messages
Tags
Name
Description
see
delete_attributes(
)
:
\List
Description
Checks if the group which should be deleted is still used as primary group.
Return value
Type
Description
\List
of LDAP operations, same as for save_attributes()
display_html_attributes(
)
:
array
Description
Returns the HTML meta data for the main account page.
Return value
Type
Description
array
HTML meta data
Tags
Name
Description
see
display_html_user(
)
:
array
Description
Displays selections to add or remove users from current group.
Return value
Type
Description
array
meta HTML output
getButtonStatus(
)
:
string
Description
Controls if the module button the account page is visible and activated.
Return value
Type
Description
string
status ("enabled", "disabled", "hidden")
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_user(
)
:
array
Description
Processes user input of the user selection 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)
supportsForcePasswordChange(
)
:
boolean
Description
Specifies if this module supports to force that a user must change his password on next login.