<html> <head> <title>Docs for page modules.inc</title> <link rel="stylesheet" type="text/css" href="../media/style.css"> </head> <body> <table border="0" cellspacing="0" cellpadding="0" height="48" width="100%"> <tr> <td class="header_top">modules</td> </tr> <tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr> <tr> <td class="header_menu"> [ <a href="../classtrees_modules.html" class="menu">class tree: modules</a> ] [ <a href="../elementindex_modules.html" class="menu">index: modules</a> ] [ <a href="../elementindex.html" class="menu">all elements</a> ] </td> </tr> <tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr> </table> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="200" class="menu"> <div id="ric"> <p><a href="../ric_INSTALL.html">INSTALL</a></p> <p><a href="../ric_README.html">README</a></p> </div> <b>Packages:</b><br /> <a href="../li_configuration.html">configuration</a><br /> <a href="../li_Help.html">Help</a><br /> <a href="../li_LDAP.html">LDAP</a><br /> <a href="../li_lib.html">lib</a><br /> <a href="../li_lists.html">lists</a><br /> <a href="../li_main.html">main</a><br /> <a href="../li_modules.html">modules</a><br /> <a href="../li_PDF.html">PDF</a><br /> <a href="../li_profiles.html">profiles</a><br /> <a href="../li_selfService.html">selfService</a><br /> <a href="../li_tests.html">tests</a><br /> <a href="../li_tools.html">tools</a><br /> <a href="../li_types.html">types</a><br /> <br /><br /> <b>Files:</b><br /> <div class="package"> <a href="../modules/_lib---modules---account.inc.html"> account.inc </a><br> <a href="../modules/_lib---baseModule.inc.html"> baseModule.inc </a><br> <a href="../modules/_lib---createntlm.inc.html"> createntlm.inc </a><br> <a href="../modules/_templates---account---edit.php.html"> edit.php </a><br> <a href="../modules/_lib---modules---ieee802device.inc.html"> ieee802device.inc </a><br> <a href="../modules/_lib---modules---inetLocalMailRecipient.inc.html"> inetLocalMailRecipient.inc </a><br> <a href="../modules/_lib---modules---inetOrgPerson.inc.html"> inetOrgPerson.inc </a><br> <a href="../modules/_lib---modules---kolabUser.inc.html"> kolabUser.inc </a><br> <a href="../modules/_lib---lamdaemon.inc.html"> lamdaemon.inc </a><br> <a href="../modules/_lib---modules---ldapPublicKey.inc.html"> ldapPublicKey.inc </a><br> <a href="../modules/_lib---modules.inc.html"> modules.inc </a><br> <a href="../modules/_lib---modules---nisMailAlias.inc.html"> nisMailAlias.inc </a><br> <a href="../modules/_lib---modules---posixAccount.inc.html"> posixAccount.inc </a><br> <a href="../modules/_lib---modules---posixGroup.inc.html"> posixGroup.inc </a><br> <a href="../modules/_lib---modules---quota.inc.html"> quota.inc </a><br> <a href="../modules/_lib---modules---sambaAccount.inc.html"> sambaAccount.inc </a><br> <a href="../modules/_lib---modules---sambaDomain.inc.html"> sambaDomain.inc </a><br> <a href="../modules/_lib---modules---sambaGroupMapping.inc.html"> sambaGroupMapping.inc </a><br> <a href="../modules/_lib---modules---sambaSamAccount---sambaMungedDial.inc.html"> sambaMungedDial.inc </a><br> <a href="../modules/_lib---modules---sambaSamAccount.inc.html"> sambaSamAccount.inc </a><br> <a href="../modules/_lib---modules---shadowAccount.inc.html"> shadowAccount.inc </a><br> </div><br /> <b>Classes:</b><br /> <div class="package"> <a href="../modules/account.html">account</a><br /> <a href="../modules/accountContainer.html">accountContainer</a><br /> <a href="../modules/baseModule.html">baseModule</a><br /> <a href="../modules/ieee802Device.html">ieee802Device</a><br /> <a href="../modules/inetLocalMailRecipient.html">inetLocalMailRecipient</a><br /> <a href="../modules/inetOrgPerson.html">inetOrgPerson</a><br /> <a href="../modules/kolabUser.html">kolabUser</a><br /> <a href="../modules/ldapPublicKey.html">ldapPublicKey</a><br /> <a href="../modules/nisMailAlias.html">nisMailAlias</a><br /> <a href="../modules/posixAccount.html">posixAccount</a><br /> <a href="../modules/posixGroup.html">posixGroup</a><br /> <a href="../modules/quota.html">quota</a><br /> <a href="../modules/samba3domain.html">samba3domain</a><br /> <a href="../modules/sambaAccount.html">sambaAccount</a><br /> <a href="../modules/sambaDomain.html">sambaDomain</a><br /> <a href="../modules/sambaGroupMapping.html">sambaGroupMapping</a><br /> <a href="../modules/sambaMungedDial.html">sambaMungedDial</a><br /> <a href="../modules/sambaSamAccount.html">sambaSamAccount</a><br /> <a href="../modules/shadowAccount.html">shadowAccount</a><br /> <a href="../modules/smbHash.html">smbHash</a><br /> </div> </td> <td> <table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top"> <h1>Procedural File: modules.inc</h1> Source Location: /lib/modules.inc<br /><br /> <br> <br> <div class="contents"> <h2>Classes:</h2> <dt><a href="../modules/accountContainer.html">accountContainer</a></dt> <dd>This class includes all modules and attributes of an account.</dd> </div><br /><br /> <h2>Page Details:</h2> Interface between modules and other parts of LAM.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>author:</b> </td><td>Tilo Lutz</td> </tr> <tr> <td><b>author:</b> </td><td>Michael Duergner</td> </tr> <tr> <td><b>author:</b> </td><td>Roland Gruber</td> </tr> </table> </div> <br /><br /> <h4>Includes:</h4> <div class="tags"> include_once(<a href="../modules/_lib---lamdaemon.inc.html">"lamdaemon.inc"</a>) [line 43]<br /> lamdaemon functions<br /><br />include_once(<a href="../modules/_lib---baseModule.inc.html">"baseModule.inc"</a>) [line 39]<br /> parent class of account modules<br /><br />include_once(<a href="../lib/_lib---cache.inc.html">"cache.inc"</a>) [line 35]<br /> LDAP caches<br /><br />include_once(<a href="../lib/_lib---account.inc.html">"account.inc"</a>) [line 37]<br /> some helper functions<br /><br />include_once($modulesINC_dirname.'/'.$entry) [line 55]<br /> This includes all module files.<br /><br />include_once(<a href="../LDAP/_lib---ldap.inc.html">"ldap.inc"</a>) [line 41]<br /> access to LDAP server<br /><br />include_once(<a href="../lib/_lib---security.inc.html">"security.inc"</a>) [line 45]<br /> security functions<br /><br /></div> <br /><br /> <br /><br /> <br /> <hr /> <a name="functionbuildUploadAccounts"></a> <h3>buildUploadAccounts <span class="smalllinenumber">[line 396]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>mixed buildUploadAccounts( string $scope, array $data, array $ids)</code> </td></tr></table> </td></tr></table><br /> This function builds the LDAP accounts for the file upload.<br /><br /><p>If there are problems status messages will be printed automatically.</p><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>array including accounts or false if there were errors</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type</td> </tr> <tr> <td class="type">array </td> <td><b>$data</b> </td> <td>array containing one account in each element</td> </tr> <tr> <td class="type">array </td> <td><b>$ids</b> </td> <td>array(<column_name> => <column number>)</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functioncheckConfigOptions"></a> <h3>checkConfigOptions <span class="smalllinenumber">[line 319]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array checkConfigOptions( array $scopes, array $options)</code> </td></tr></table> </td></tr></table><br /> Checks if the configuration options are valid<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>list of error messages</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">array </td> <td><b>$scopes</b> </td> <td>hash array (module name => array(account types))</td> </tr> <tr> <td class="type">array </td> <td><b>$options</b> </td> <td>hash array containing all options (name => array(...))</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functioncheckProfileOptions"></a> <h3>checkProfileOptions <span class="smalllinenumber">[line 285]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array checkProfileOptions( string $scope, array $options)</code> </td></tr></table> </td></tr></table><br /> Checks if the profile options are valid<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>list of error messages</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type (user, group, host)</td> </tr> <tr> <td class="type">array </td> <td><b>$options</b> </td> <td>hash array containing all options (name => array(...))</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functioncheck_module_conflicts"></a> <h3>check_module_conflicts <span class="smalllinenumber">[line 229]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>boolean check_module_conflicts( array $selected, array $deps)</code> </td></tr></table> </td></tr></table><br /> Checks if there are conflicts between modules<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>false if no conflict was found, otherwise an array of array(selected module, conflicting module) if conflicts were found</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">array </td> <td><b>$selected</b> </td> <td>selected module names</td> </tr> <tr> <td class="type">array </td> <td><b>$deps</b> </td> <td>module dependencies</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functioncheck_module_depends"></a> <h3>check_module_depends <span class="smalllinenumber">[line 188]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>mixed check_module_depends( array $selected, array $deps)</code> </td></tr></table> </td></tr></table><br /> Checks if there are missing dependencies between modules.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>false if no misssing dependency was found, otherwise an array of array(selected module, depending module) if missing dependencies were found</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">array </td> <td><b>$selected</b> </td> <td>selected module names</td> </tr> <tr> <td class="type">array </td> <td><b>$deps</b> </td> <td>module dependencies</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiondoUploadPostActions"></a> <h3>doUploadPostActions <span class="smalllinenumber">[line 476]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array doUploadPostActions( string $scope, array $data, array $ids, array $failed)</code> </td></tr></table> </td></tr></table><br /> This function executes one post upload action.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>current status <br /> array ( <br /> 'status' => 'finished' | 'inProgress' <br /> 'module' => <name of active module> <br /> 'progress' => 0..100 <br /> 'errors' => array (<array of parameters for StatusMessage>) <br /> )</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type</td> </tr> <tr> <td class="type">array </td> <td><b>$data</b> </td> <td>array containing one account in each element</td> </tr> <tr> <td class="type">array </td> <td><b>$ids</b> </td> <td>array(<column_name> => <column number>)</td> </tr> <tr> <td class="type">array </td> <td><b>$failed</b> </td> <td>list of accounts which were not created successfully</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetAvailableModules"></a> <h3>getAvailableModules <span class="smalllinenumber">[line 248]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getAvailableModules( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns an array with all available user module names<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>list of possible modules</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type (user, group, host)</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetAvailablePDFFields"></a> <h3>getAvailablePDFFields <span class="smalllinenumber">[line 350]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getAvailablePDFFields( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns a list of available PDF entries.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>PDF entries</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type (user, group, host)</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetConfigOptions"></a> <h3>getConfigOptions <span class="smalllinenumber">[line 302]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getConfigOptions( array $scopes)</code> </td></tr></table> </td></tr></table><br /> Returns a hash array (module name => elements) of all module options for the configuration page.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>configuration options</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">array </td> <td><b>$scopes</b> </td> <td>hash array (module name => array(account types))</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetHelp"></a> <h3>getHelp <span class="smalllinenumber">[line 339]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getHelp( string $module, string $helpID, [ $scope = ''])</code> </td></tr></table> </td></tr></table><br /> Returns a help entry from an account module.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>help entry</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$helpID</b> </td> <td>help identifier</td> </tr> <tr> <td class="type">string </td> <td><b>$module</b> </td> <td>module name</td> </tr> <tr> <td class="type"> </td> <td><b>$scope</b> </td> <td></td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetModuleAlias"></a> <h3>getModuleAlias <span class="smalllinenumber">[line 65]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>string getModuleAlias( string $name, string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns the alias name of a module<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>alias name</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$name</b> </td> <td>the module name</td> </tr> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>the account type ("user", "group", "host")</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetModulesDependencies"></a> <h3>getModulesDependencies <span class="smalllinenumber">[line 170]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getModulesDependencies( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns a hash array (module name => dependencies) of all module dependencies<br /><br /><p>"dependencies" contains an array with two sub arrays: depends, conflicts <br />The elements of "depends" are either module names or an array of module names (OR-case). <br />The elements of conflicts are module names.</p><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>dependencies</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>the account type (user, group, host)</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetProfileOptions"></a> <h3>getProfileOptions <span class="smalllinenumber">[line 268]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getProfileOptions( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns the elements for the profile page.<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>profile elements</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type (user, group, host)</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetRDNAttributes"></a> <h3>getRDNAttributes <span class="smalllinenumber">[line 120]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getRDNAttributes( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns a list of LDAP attributes which can be used to form the RDN.<br /><br /><p>The list is already sorted by the priority given by the nodules.</p><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>list of LDAP attributes</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type (user, group, host)</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetRequiredExtensions"></a> <h3>getRequiredExtensions <span class="smalllinenumber">[line 512]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getRequiredExtensions( )</code> </td></tr></table> </td></tr></table><br /> Returns true if the module is a base module<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>required extensions</td> </tr> </table> </div> <br /><br /> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functiongetUploadColumns"></a> <h3>getUploadColumns <span class="smalllinenumber">[line 376]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array getUploadColumns( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns an array containing all input columns for the file upload.<br /><br /><p>Syntax: <br /> array( <br /> string: name, // fixed non-translated name which is used as column name (should be of format: <module name>_<column name>) <br /> string: description, // short descriptive name <br /> string: help, // help ID <br /> string: example, // example value <br /> boolean: required // true, if user must set a value for this column <br /> )</p><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>column list</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>account type</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functionget_ldap_filter"></a> <h3>get_ldap_filter <span class="smalllinenumber">[line 88]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>string get_ldap_filter( string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns the LDAP filter used by the account lists<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>LDAP filter</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>the account type ("user", "group", "host")</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functionis_base_module"></a> <h3>is_base_module <span class="smalllinenumber">[line 77]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>boolean is_base_module( string $name, string $scope)</code> </td></tr></table> </td></tr></table><br /> Returns true if the module is a base module<br /><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>true if base module</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$name</b> </td> <td>the module name</td> </tr> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>the account type ("user", "group", "host")</td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <hr /> <a name="functionparseHtml"></a> <h3>parseHtml <span class="smalllinenumber">[line 674]</span></h3> <div class="function"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <code>array parseHtml( string $module, array $input, array $values, boolean $restricted, &$tabindex, &$tabindexLink, string $scope, integer $tabindex, integer $tabindexLink)</code> </td></tr></table> </td></tr></table><br /> Takes a list of meta-HTML elements and prints the equivalent HTML output.<br /><br /><p>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.<br /> <br /> Meta HTML code is always returned as a three dimensional <strong>array[a][b][c]</strong> where <strong>a</strong> is the row number, <strong>b</strong> is the column number and <strong>c</strong> is is a <em>data element</em>.<br /> <br /> <strong>Format of data elements:</strong><br /> <br /> A <em>data element</em> is an array which contains the data to display.<br /> All <em>data elements</em> must contail a value <strong>"kind"</strong> which defines what kind of element should be displayed.<br /> <br /> These are the possibilies for <strong>kind</strong> and what other options have to be added to the array:<br /> <br /> <ul><li><strong>fieldset:</strong> Inserts a fieldset. <ul><li><strong>legend:</strong> The legend of the fieldset.</li><li><strong>value:</strong> A <em>data element</em>. Can be used recursively.</li></ul></li><li><strong>help:</strong> Adds a help link. <ul><li><strong>value:</strong> The help number for the help entry.</li><li><strong>scope:</strong> The account type for the help entry.<br /></li></ul></li><li><strong>input:</strong> Adds a HTML input element. <ul><li><strong>name:</strong> The name of the element, will be used later as variable name when user input is returned.</li><li><strong>type:</strong> allowed values: submit, reset, checkbox, text, password, file, hidden</li><li><strong>checked:</strong> Boolean value, if true a checkbox will be checked. This value is only needed or checkboxes.</li><li><strong>disabled:</strong> Boolean value, if true the element will be disabled.</li><li><strong>size:</strong> The length of the input element, only used for text, password and file.</li><li><strong>maxlength:</strong> The maximum size of the input element, only used for text, password and file.</li><li><strong>value:</strong> The element will have this value as default. Button elements will have this as caption.</li></ul></li><li><strong>select:</strong> This will add a select field. <ul><li><strong>name:</strong> The name of the element, will be used later as variable name when user input is returned.</li><li><strong>multiple:</strong> Boolean value, if set to true the user can select more than one entry.</li><li><strong>options:</strong> Array of string. This is the list of option values the user can select.</li><li><strong>options_selected:</strong> Array of string. This is the list of pre selected elements, must contain values that are also in <em>options</em>.</li><li><strong>descriptiveOptions:</strong> Boolean value, if set to true then all elements in options must be arrays themselves (array(<em>value</em>, <em>description</em>)) (default: false)<br /></li><li><strong>size:</strong> The size of the select field, if set to 1 a dropdown box will be displayed.</li><li><strong>noSorting:</strong> If set to true then the entries will not be sorted. Default is false.</li><li><strong>onchange:</strong> onchange event<br /></li></ul></li><li><strong>table:</strong> Adds a table. Can be used recursively. <ul><li><strong>value:</strong> A <em>data element</em>. Can be used recursively.</li></ul></li><li><strong>text:</strong> Inserts a text element. <ul><li><strong>text:</strong> The text to display.</li></ul></li><li><strong>textarea:</strong> Adds a multiline text field. <ul><li><strong>name:</strong> The name of the element, will be used later as variable name when user input is returned.</li><li><strong>rows:</strong> Number of rows (required)<br /></li><li><strong>cols:</strong> Number of characters for each line (required)<br /></li><li><strong>readonly:</strong> Boolean value, if true the text field will be read only.<br /></li></ul></li><li><strong>image:</strong> Displays an image. <ul><li><strong>path:</strong> Path to the image</li><li><strong>width:</strong> Width of the image</li><li><strong>height:</strong> Height of the image</li><li><strong>alt:</strong> Alt text of the image<br /></li></ul></li></ul> <br /> Beneath those values a <strong>"td"</strong> value may be added. This has to be an array with one or more of these options:<br /> <br /> <ul><li><strong>colspan:</strong> Like the HTML colspan attribute for td elements</li><li><strong>rowspan:</strong> Like the HTML rowspan attribute for td elements</li><li><strong>align:</strong> left/center/right/justify Like the HTML align attribute</li><li><strong>valign:</strong> top/middle/bottom Like the HTML valign attribute</li><li><strong>width:</strong> Like the HTML height attribute for td elements</li></ul> <br /> Input buttons which should load a different subpage of a module must have a special <em>name</em> attribute:<br /> <br /> <strong>name</strong> => 'form_subpage_' . <em><module name></em> . '_' . <em><subpage name></em> . '_' . <em><button name></em><br /> <ul><li><strong><module name>:</strong> name of this account module (e.g. 'posixAccount')</li><li><strong><subpage name>:</strong> name of next subpage (e.g. 'attributes')</li><li><strong><button name>:</strong> a name to distinguish buttons (e.g. 'ok'/'cancel'/'back')</li></ul> <br /> <br /> <strong>Example:</strong> <ol><li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">"kind" </span>=> <span class="src-str">"text"</span><span class="src-sym">, </span><span class="src-str">"text" </span>=> <span class="src-str">"This is an example"</span><span class="src-sym">, </span><span class="src-str">"td" </span>=> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">"colspan" </span>=> <span class="src-num">3</span><span class="src-sym">))</span></div></li> <li><div class="src-line"> <span class="src-sym">)</span><span class="src-sym">,</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">"kind" </span>=> <span class="src-str">"text"</span><span class="src-sym">, </span><span class="src-str">"text" </span>=> <span class="src-str">"Input:"</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">"kind" </span>=> <span class="src-str">"input"</span><span class="src-sym">, </span><span class="src-str">"name" </span>=> <span class="src-str">"myinput"</span><span class="src-sym">, </span><span class="src-str">"type" </span>=> <span class="src-str">"text"</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">"kind" </span>=> <span class="src-str">"help"</span><span class="src-sym">, </span><span class="src-str">"value" </span>=> <span class="src-str">"42"</span><span class="src-sym">)</span></div></li> <li><div class="src-line"> <span class="src-sym">)</span><span class="src-sym">,</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span></div></li> <li><div class="src-line"> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">"kind" </span>=> <span class="src-str">"input"</span><span class="src-sym">, </span><span class="src-str">"name" </span>=> <span class="src-str">'form_subpage_myModule_attributes_back'</span><span class="src-sym">, </span><span class="src-str">"value" </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">"Back"</span><span class="src-sym">))</span></div></li> <li><div class="src-line"> <span class="src-sym">)</span></div></li> <li><div class="src-line"><span class="src-sym">)</span></div></li> </ol></p><br /><br /><br /> <h4>Tags:</h4> <div class="tags"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>return:</b> </td><td>List of input field names and their type (name => type)</td> </tr> </table> </div> <br /><br /> <h4>Parameters</h4> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="type">string </td> <td><b>$module</b> </td> <td>Name of account module</td> </tr> <tr> <td class="type">array </td> <td><b>$input</b> </td> <td>List of meta-HTML elements</td> </tr> <tr> <td class="type">array </td> <td><b>$values</b> </td> <td>List of values which override the defaults in $input (name => value)</td> </tr> <tr> <td class="type">boolean </td> <td><b>$restricted</b> </td> <td>If true then no buttons will be displayed</td> </tr> <tr> <td class="type">integer </td> <td><b>$tabindex</b> </td> <td>Start value of tabulator index for input fields</td> </tr> <tr> <td class="type">integer </td> <td><b>$tabindexLink</b> </td> <td>Start value of tabulator index for links</td> </tr> <tr> <td class="type">string </td> <td><b>$scope</b> </td> <td>Account type</td> </tr> <tr> <td class="type"> </td> <td><b>&$tabindex</b> </td> <td></td> </tr> <tr> <td class="type"> </td> <td><b>&$tabindexLink</b> </td> <td></td> </tr> </table> <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> </div> <div class="credit"> <hr /> Documentation generated on Thu, 07 Feb 2008 20:26:41 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.0</a> </div> </td></tr></table> </td> </tr> </table> </body> </html>