modules

# Procedural File: modules.inc Source Location: /lib/modules.inc ## Classes: accountContainer This class includes all modules and attributes of an account. ## Page Details: Interface between modules and other parts of LAM. #### Tags:
author: | Tilo Lutz
author: | Michael Duergner
author: | Roland Gruber
#### Includes: include_once("cache.inc") [line 35] LDAP caches include_once("ldap.inc") [line 41] access to LDAP server include_once("baseModule.inc") [line 39] parent class of account modules include_once("account.inc") [line 37] some helper functions include_once("security.inc") [line 45] security functions include_once($modulesINC_dirname.'/'.$entry) [line 55] This includes all module files. include_once("lamdaemon.inc") [line 43] lamdaemon functions ### buildUploadAccounts [line 405]
`mixed buildUploadAccounts( string $scope, array $data, array $ids)`
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>)
[ Top ] ### checkConfigOptions [line 319]
`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 285]
`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 229]
`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 188]
`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 485]
`array doUploadPostActions( string $scope, array $data, array $ids, array $failed)`
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
[ Top ] ### getAvailableModules [line 248]
`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 359]
`array getAvailablePDFFields( string $scope)`
Returns a list of available PDF entries. #### Tags:
return: | PDF entries
#### Parameters
string | $scope | account type (user, group, host)
[ Top ] ### getConfigOptions [line 302]
`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 340]
`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 170]
`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 268]
`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 120]
`array getRDNAttributes( string $scope)`
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)
[ Top ] ### getRequiredExtensions [line 521]
`array getRequiredExtensions( )`
Returns true if the module is a base module #### Tags:
return: | required extensions
[ Top ] ### getUploadColumns [line 385]
`array getUploadColumns( string $scope)`
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
[ 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 ] ### parseHtml [line 685]
`array parseHtml( string $module, array $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. Meta HTML code is always returned as a three dimensional array[a][b][c] where a is the row number, b is the column number and c is is a data element. Format of data elements: A data element is an array which contains the data to display. All data elements must contail a value "kind" which defines what kind of element should be displayed. These are the possibilies for kind and what other options have to be added to the array: fieldset: Inserts a fieldset. legend: The legend of the fieldset. value: A data element. Can be used recursively. help: Adds a help link. value: The help number for the help entry. scope: The account type for the help entry. input: Adds a HTML input element. name: The name of the element, will be used later as variable name when user input is returned. type: allowed values: submit, reset, checkbox, text, password, file, hidden checked: Boolean value, if true a checkbox will be checked. This value is only needed or checkboxes. disabled: Boolean value, if true the element will be disabled. size: The length of the input element, only used for text, password and file. maxlength: The maximum size of the input element, only used for text, password and file. value: The element will have this value as default. Button elements will have this as caption. title: Title value for input element (optional). image: This is used to display image buttons. File name of an 16x16px image in the graphics folder (e.g. add.png). You may only use this for submit buttons. select: This will add a select field. name: The name of the element, will be used later as variable name when user input is returned. multiple: Boolean value, if set to true the user can select more than one entry. options: Array of string. This is the list of option values the user can select. options_selected: Array of string. This is the list of pre selected elements, must contain values that are also in options. descriptiveOptions: Boolean value, if set to true then all elements in options must be arrays themselves (array(value, description)) (default: false) size: The size of the select field, if set to 1 a dropdown box will be displayed. noSorting: If set to true then the entries will not be sorted. Default is false. onchange: onchange event table: Adds a table. Can be used recursively. value: A data element. Can be used recursively. text: Inserts a text element. text: The text to display. textarea: Adds a multiline text field. name: The name of the element, will be used later as variable name when user input is returned. rows: Number of rows (required) cols: Number of characters for each line (required) readonly: Boolean value, if true the text field will be read only. image: Displays an image. path: Path to the image width: Width of the image height: Height of the image alt: Alt text of the image Beneath those values a "td" value may be added. This has to be an array with one or more of these options: colspan: Like the HTML colspan attribute for td elements rowspan: Like the HTML rowspan attribute for td elements align: left/center/right/justify Like the HTML align attribute valign: top/middle/bottom Like the HTML valign attribute width: Like the HTML height attribute for td elements Input buttons which should load a different subpage of a module must have a special name attribute: name => 'form_subpage_' . <module name> . '_' . <subpage name> . '_' . <button name> <module name>: name of this account module (e.g. 'posixAccount') <subpage name>: name of next subpage (e.g. 'attributes') <button name>: a name to distinguish buttons (e.g. 'ok'/'cancel'/'back') Example: array( array( array("kind" => "text", "text" => "This is an example", "td" => array("colspan" => 3)) ), array( array("kind" => "text", "text" => "Input:"), array("kind" => "input", "name" => "myinput", "type" => "text"), array("kind" => "help", "value" => "42") ), array( array("kind" => "input", "name" => 'form_subpage_myModule_attributes_back', "value" => _("Back")) ) ) #### Tags:
return: | List of input field names and their type (name => type)
#### Parameters
string | $module | Name of account module
array | $input | List of meta-HTML 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 887]
`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, 07 Apr 2009 20:35:08 +0200 by phpDocumentor 1.4.1