Manages PyKota group accounts. 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.
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
cnExists(
String
$cn,
)
:
boolean
Description
Returns if the given cn already exists.
Arguments
Name
Type
Description
Default
$cn
String
cn attribute value
Return value
Type
Description
boolean
cn exists
display_html_attributes(
)
:
\htmlElement
Description
Returns the HTML meta data for the main account page.
Return value
Type
Description
\htmlElement
HTML meta data
getCurrentGroupName(
)
:
String
Description
Returns the current group name (cn) of this account.
Return value
Type
Description
String
group name
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(
)
:
n/a
Description
Returns a list of PDF entries
Return value
Type
Description
n/a
n/a
isStructural(
)
:
boolean
Description
Returns if this module also manages the structural object class pykotaObject. This is overridden by a submodule that must provide the structural object class.
Return value
Type
Description
boolean
structural usage
loadGroupNameCache(
)
:
n/a
Description
Loads the list of group names into the cache.
Return value
Type
Description
n/a
n/a
load_Messages(
)
:
n/a
Description
This function fills the $messages variable with output messages from this module.
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
manageCn(
)
:
boolean
Description
Returns if the cn attribute should be managed.
Return value
Type
Description
boolean
manage cn attribute
manageDescription(
)
:
boolean
Description
Returns if the description attribute should be managed.
Return value
Type
Description
boolean
manage description attribute
module_complete(
)
:
boolean
Description
This function is used to check if all settings for this module have been made. Calling this method requires the existence of an enclosing {@link accountContainer}.
This function tells LAM if it can create/modify the LDAP account. If your module needs any
additional input then set this to false. The user will be notified that your module needs
more input.
This method's return value defaults to true.
Return value
Type
Description
boolean
true, if settings are complete
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.
Returns if the given pykotaGroupName already exists.
Arguments
Name
Type
Description
Default
$pykotaGroupName
String
pykotaGroupName attribute value
Return value
Type
Description
boolean
pykotaGroupName exists
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)