modules

# Procedural File: modules.inc

Source Location: /lib/modules.inc

## Classes:

accountContainer
  This class includes all modules and attributes of an account.
passwordService
  This interface needs to be implemented by all account modules which manage passwords.

## Page Details:

Interface between modules and other parts of LAM.

#### Tags:

author: | Tilo Lutz
author: | Michael Duergner
author: | Roland Gruber

#### Includes:

include_once("ldap.inc") [line 39]
access to LDAP server
include_once($modulesINC_dirname.'/'.$entry) [line 55]
This includes all module files.
include_once("baseModule.inc") [line 37]
parent class of account modules
include_once("html.inc") [line 45]
meta HTML classes
include_once("account.inc") [line 35]
some helper functions
include_once("lamdaemon.inc") [line 41]
lamdaemon functions
include_once("security.inc") [line 43]
security functions

### buildUploadAccounts [line 422]

`mixed buildUploadAccounts( string $scope, array $data, array $ids, array $selectedModules)`

This function builds the LDAP accounts for the file upload.

If there are problems status messages will be printed automatically.

#### Tags:

return: | array including accounts or false if there were errors

#### Parameters

string | $scope | account type
array | $data | array containing one account in each element
array | $ids | array(<column_name> => <column number>)
array | $selectedModules | selected account modules

[ Top ]

### checkConfigOptions [line 323]

`array checkConfigOptions( array $scopes, array $options)`

Checks if the configuration options are valid

#### Tags:

return: | list of error messages

#### Parameters

array | $scopes | hash array (module name => array(account types))
array | $options | hash array containing all options (name => array(...))

[ Top ]

### checkProfileOptions [line 289]

`array checkProfileOptions( string $scope, array $options)`

Checks if the profile options are valid

#### Tags:

return: | list of error messages

#### Parameters

string | $scope | account type (user, group, host)
array | $options | hash array containing all options (name => array(...))

[ Top ]

### check_module_conflicts [line 233]

`boolean check_module_conflicts( array $selected, array $deps)`

Checks if there are conflicts between modules

#### Tags:

return: | false if no conflict was found, otherwise an array of array(selected module, conflicting module) if conflicts were found

#### Parameters

array | $selected | selected module names
array | $deps | module dependencies

[ Top ]

### check_module_depends [line 192]

`mixed check_module_depends( array $selected, array $deps)`

Checks if there are missing dependencies between modules.

#### Tags:

return: | false if no misssing dependency was found, otherwise an array of array(selected module, depending module) if missing dependencies were found

#### Parameters

array | $selected | selected module names
array | $deps | module dependencies

[ Top ]

### doUploadPostActions [line 504]

`array doUploadPostActions( string $scope, &$data, array $ids, array $failed, array $selectedModules, &$accounts, array $data, array $accounts)`

This function executes one post upload action.

#### Tags:

return: | current status array ( 'status' => 'finished' | 'inProgress' 'module' => <name of active module> 'progress' => 0..100 'errors' => array (<array of parameters for StatusMessage>) )

#### Parameters

string | $scope | account type
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 | $selectedModules | list of selected account modules
array | $accounts | list of LDAP entries
| &$data |
| &$accounts |

[ Top ]

### getAvailableModules [line 252]

`array getAvailableModules( string $scope)`

Returns an array with all available user module names

#### Tags:

return: | list of possible modules

#### Parameters

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

[ Top ]

### getAvailablePDFFields [line 363]

`array getAvailablePDFFields( string $scope)`

Returns a list of available PDF entries.

#### Tags:

return: | PDF entries (field ID => field label)

#### Parameters

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

[ Top ]

### getConfigOptions [line 306]

`array getConfigOptions( array $scopes)`

Returns a hash array (module name => elements) of all module options for the configuration page.

#### Tags:

return: | configuration options

#### Parameters

array | $scopes | hash array (module name => array(account types))

[ Top ]

### getHelp [line 344]

`array getHelp( string $module, string $helpID, [string $scope = ''])`

Returns a help entry from an account module.

#### Tags:

return: | help entry

#### Parameters

string | $module | module name
string | $helpID | help identifier
string | $scope | account type

[ Top ]

### getModuleAlias [line 65]

`string getModuleAlias( string $name, string $scope)`

Returns the alias name of a module

#### Tags:

return: | alias name

#### Parameters

string | $name | the module name
string | $scope | the account type ("user", "group", "host")

[ Top ]

### getModulesDependencies [line 174]

`array getModulesDependencies( string $scope)`

Returns a hash array (module name => dependencies) of all module dependencies

"dependencies" contains an array with two sub arrays: depends, conflicts
The elements of "depends" are either module names or an array of module names (OR-case).
The elements of conflicts are module names.

#### Tags:

return: | dependencies

#### Parameters

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

[ Top ]

### getProfileOptions [line 272]

`array getProfileOptions( string $scope)`

Returns the elements for the profile page.

#### Tags:

return: | profile elements

#### Parameters

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

[ Top ]

### getRDNAttributes [line 121]

`array getRDNAttributes( string $scope, [array $selectedModules = null])`

Returns a list of LDAP attributes which can be used to form the RDN.

The list is already sorted by the priority given by the nodules.

#### Tags:

return: | list of LDAP attributes

#### Parameters

string | $scope | account type (user, group, host)
array | $selectedModules | return only RDN attributes of these modules

[ Top ]

### getRequiredExtensions [line 540]

`array getRequiredExtensions( )`

Returns true if the module is a base module

#### Tags:

return: | required extensions

[ Top ]

### getUploadColumns [line 402]

`array getUploadColumns( string $scope, array $selectedModules)`

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

#### Parameters

string | $scope | account type
array | $selectedModules | selected account modules

[ Top ]

### get_ldap_filter [line 88]

`string get_ldap_filter( string $scope)`

Returns the LDAP filter used by the account lists

#### Tags:

return: | LDAP filter

#### Parameters

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

[ Top ]

### is_base_module [line 77]

`boolean is_base_module( string $name, string $scope)`

Returns true if the module is a base module

#### Tags:

return: | true if base module

#### Parameters

string | $name | the module name
string | $scope | the account type ("user", "group", "host")

[ Top ]

### lamCompareDescriptiveOptions [line 592]

`integer lamCompareDescriptiveOptions( &$a, &$b, array $a, array $b)`

Helper function to sort descriptive options in parseHTML().

It compares the second entries of two arrays.

#### Tags:

return: | compare result

#### Parameters

array | $a | first array
array | $b | second array
| &$a |
| &$b |

[ Top ]

### parseHtml [line 570]

`array parseHtml( string $module, mixed $input, array $values, boolean $restricted, &$tabindex, string $scope, integer $tabindex)`

Takes a list of meta-HTML elements and prints the equivalent HTML output.

The modules are not allowed to display HTML code directly but return meta HTML code. This allows to have a common design for all module pages.

#### Tags:

return: | List of input field names and their type (name => type)

#### Parameters

string | $module | Name of account module
mixed | $input | htmlElement or array of htmlElement elements
array | $values | List of values which override the defaults in $input (name => value)
boolean | $restricted | If true then no buttons will be displayed
integer | $tabindex | Start value of tabulator index for input fields
string | $scope | Account type
| &$tabindex |

[ Top ]

### printHelpLink [line 608]

`void printHelpLink( array $entry, String $number, [String $module = ''], [String $scope = ''])`

Prints a LAM help link.

#### Parameters

array | $entry | help entry
String | $number | help number
String | $module | module name
String | $scope | account scope

[ Top ]

Documentation generated on Tue, 22 Nov 2011 16:29:56 +0100 by phpDocumentor 1.4.1