From 224c4ede8d4061a4ee22dc605104d59ecdbec7d3 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sun, 12 Jul 2015 12:41:47 +0000 Subject: [PATCH] common function to upload multi-value attributes --- lam/lib/baseModule.inc | 31 +++- lam/lib/modules/inetOrgPerson.inc | 248 +++++++++--------------------- 2 files changed, 94 insertions(+), 185 deletions(-) diff --git a/lam/lib/baseModule.inc b/lam/lib/baseModule.inc index 17964df6..5fb2b22f 100644 --- a/lam/lib/baseModule.inc +++ b/lam/lib/baseModule.inc @@ -959,18 +959,37 @@ abstract class baseModule { * @param String $regexID for get_preg() (e.g. 'ascii') * @param array $message error message to add if regex does not match * @param array $errors list of error messages if any + * @param String $regexSplit multiple values are separated and can be split with this preg_split expression (e.g. "/;[ ]?/") */ - protected function mapSimpleUploadField(&$rawAccounts, &$ids, &$partialAccounts, $position, $colName, $attrName, $regex = null, &$message = array(), &$errors = array()) { + protected function mapSimpleUploadField(&$rawAccounts, &$ids, &$partialAccounts, $position, $colName, $attrName, $regex = null, &$message = array(), &$errors = array(), $regexSplit = null) { if (!isset($ids[$colName])) { return; } if (!empty($rawAccounts[$position][$ids[$colName]])) { - if (!empty($regex) && !get_preg($rawAccounts[$position][$ids[$colName]], $regex)) { - $errMsg = $message; - array_push($errMsg, array($position)); - $errors[] = $errMsg; + // single value + if ($regexSplit == null) { + if (!empty($regex) && !get_preg($rawAccounts[$position][$ids[$colName]], $regex)) { + $errMsg = $message; + array_push($errMsg, array($position)); + $errors[] = $errMsg; + } + $partialAccounts[$position][$attrName] = $rawAccounts[$position][$ids[$colName]]; + } + // multi-value + else { + $list = preg_split($regexSplit, trim($rawAccounts[$position][$ids[$colName]])); + $partialAccounts[$position][$attrName] = $list; + if (!empty($regex)) { + for ($x = 0; $x < sizeof($list); $x++) { + if (!get_preg($list[$x], $regex)) { + $errMsg = $message; + array_push($errMsg, array($position)); + $errors[] = $errMsg; + break; + } + } + } } - $partialAccounts[$position][$attrName] = $rawAccounts[$position][$ids[$colName]]; } } diff --git a/lam/lib/modules/inetOrgPerson.inc b/lam/lib/modules/inetOrgPerson.inc index bfbf76b3..524aa00c 100644 --- a/lam/lib/modules/inetOrgPerson.inc +++ b/lam/lib/modules/inetOrgPerson.inc @@ -36,7 +36,7 @@ $Id$ * @package modules */ class inetOrgPerson extends baseModule implements passwordService { - + /** caches the list of possible managers */ private $cachedManagers = null; /** clear text password */ @@ -55,10 +55,10 @@ class inetOrgPerson extends baseModule implements passwordService { private $businessCategoryCache = null; /** cache for email duplication checks */ private $emailCheckCache = array(); - + /** session variable for existing user certificates in self service */ const SESS_CERTIFICATES_LIST = 'inetOrgPerson_certificatesList'; - + /** * This function fills the message array. **/ @@ -110,7 +110,7 @@ class inetOrgPerson extends baseModule implements passwordService { /** * Returns true if this module can manage accounts of the current type, otherwise false. - * + * * @return boolean true if module fits */ public function can_manage() { @@ -121,7 +121,7 @@ class inetOrgPerson extends baseModule implements passwordService { * Returns meta data that is interpreted by parent class * * @return array array with meta data - * + * * @see baseModule::get_metaData() */ function get_metaData() { @@ -630,7 +630,7 @@ class inetOrgPerson extends baseModule implements passwordService { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideInitials')) { $return['PDF_fields']['initials'] = _('Initials'); } - + if (isLoggedIn()) { $modules = $_SESSION['config']->get_AccountModules($this->get_scope()); if (!in_array('posixAccount', $modules)) { @@ -979,10 +979,10 @@ class inetOrgPerson extends baseModule implements passwordService { } return $return; } - + /** * Runs the postmodify actions. - * + * * @see baseModule::postModifyActions() * * @param boolean $newAccount @@ -1068,7 +1068,7 @@ class inetOrgPerson extends baseModule implements passwordService { $errors[] = $msg; } } - } + } } } if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber') && !$this->isAdminReadOnly('telephoneNumber')) { @@ -1165,7 +1165,7 @@ class inetOrgPerson extends baseModule implements passwordService { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideInitials') && !$this->isAdminReadOnly('initials')) { $this->attributes['initials'] = preg_split('/;[ ]*/', $_POST['initials']); } - + if (!$this->isUnixActive()) { // uid if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideUID') && !$this->isAdminReadOnly('uid')) { @@ -1211,7 +1211,7 @@ class inetOrgPerson extends baseModule implements passwordService { } } } - + if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidejpegPhoto') && isset($_POST['delPhoto']) && !$this->isAdminReadOnly('jpegPhoto')) { $this->attributes['jpegPhoto'] = array(); } @@ -1221,7 +1221,7 @@ class inetOrgPerson extends baseModule implements passwordService { /** * Returns the HTML meta data for the main account page. - * + * * @return array HTML meta data */ function display_html_attributes() { @@ -1451,7 +1451,7 @@ class inetOrgPerson extends baseModule implements passwordService { || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideLabeledURI')) { $fieldContainer->addElement(new htmlSubTitle(_('Contact data')), true); } - + if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) { if ($this->isAdminReadOnly('telephoneNumber')) { $this->addSimpleReadOnlyField($fieldContainer, 'telephoneNumber', _('Telephone number')); @@ -1508,14 +1508,14 @@ class inetOrgPerson extends baseModule implements passwordService { $this->addMultiValueInputTextField($fieldContainer, 'labeledURI', _('Web site'), false, null, false, null, null, $equalWidthElements); } } - + if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideJobTitle') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideCarLicense') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideEmployeeType') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideBusinessCategory') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideManager') || !$this->isBooleanConfigOptionSet('inetOrgPerson_hideuserCertificate')) { $fieldContainer->addElement(new htmlSubTitle(_('Work details')), true); } - + if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideJobTitle')) { if ($this->isAdminReadOnly('title')) { $this->addSimpleReadOnlyField($fieldContainer, 'title', _('Job title')); @@ -1677,7 +1677,7 @@ class inetOrgPerson extends baseModule implements passwordService { $container->addElement($imageContainer, false); } $container->addElement(new htmlEqualWidth($equalWidthElements)); - return $container; + return $container; } /** @@ -1755,10 +1755,10 @@ class inetOrgPerson extends baseModule implements passwordService { $container->addElement($buttonContainer); return $container; } - + /** * This function will create the meta HTML code to show a page to change the manager attribute. - * + * * @return htmlElement HTML meta data */ function display_html_manager() { @@ -1920,7 +1920,7 @@ class inetOrgPerson extends baseModule implements passwordService { $container->addElement(new htmlAccountPageButton(get_class($this), 'attributes', 'back', _('Back'))); return $container; } - + /** * Sets a new certificate or deletes old ones. * @@ -2006,7 +2006,7 @@ class inetOrgPerson extends baseModule implements passwordService { $this->addSimplePDFField($return, 'departmentNumber', _('Department')); return $return; } - + /** * Loads the values of an account profile into internal variables. * @@ -2068,7 +2068,7 @@ class inetOrgPerson extends baseModule implements passwordService { $this->attributes['st'] = $list; } } - + /** * Checks input values of account profiles. * @@ -2143,7 +2143,7 @@ class inetOrgPerson extends baseModule implements passwordService { } return $return; } - + /** * In this function the LDAP account is built up. * @@ -2211,62 +2211,18 @@ class inetOrgPerson extends baseModule implements passwordService { // description $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_description', 'description'); // title - if (isset($ids['inetOrgPerson_title']) && ($rawAccounts[$i][$ids['inetOrgPerson_title']] != "")) { - $titleList = preg_split('/;[ ]*/', $rawAccounts[$i][$ids['inetOrgPerson_title']]); - $partialAccounts[$i]['title'] = $titleList; - for ($x = 0; $x < sizeof($titleList); $x++) { - if (!get_preg($titleList[$x], 'title')) { - $errMsg = $this->messages['title'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_title', 'title', 'title', $this->messages['title'][1], $errors, '/;[ ]*/'); // employee number $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_employeeNumber', 'employeeNumber'); // employee type $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_type', 'employeeType', 'employeeType', $this->messages['employeeType'][1], $errors); // business category - if (isset($ids['inetOrgPerson_businessCategory']) && ($rawAccounts[$i][$ids['inetOrgPerson_businessCategory']] != "")) { - $businessCategoryList = preg_split('/;[ ]*/', $rawAccounts[$i][$ids['inetOrgPerson_businessCategory']]); - $partialAccounts[$i]['businessCategory'] = $businessCategoryList; - for ($x = 0; $x < sizeof($businessCategoryList); $x++) { - if (!get_preg($businessCategoryList[$x], 'businessCategory')) { - $errMsg = $this->messages['businessCategory'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_businessCategory', 'businessCategory', 'businessCategory', $this->messages['businessCategory'][1], $errors, '/;[ ]*/'); // manager - if (isset($ids['inetOrgPerson_manager']) && ($rawAccounts[$i][$ids['inetOrgPerson_manager']] != "")) { - $managerList = preg_split('/;[ ]*/', $rawAccounts[$i][$ids['inetOrgPerson_manager']]); - $partialAccounts[$i]['manager'] = $managerList; - for ($x = 0; $x < sizeof($managerList); $x++) { - if (!get_preg($managerList[$x], 'dn')) { - $errMsg = $this->messages['manager'][0]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_manager', 'manager', 'dn', $this->messages['manager'][0], $errors, '/;[ ]*/'); // street - if (isset($ids['inetOrgPerson_street']) && ($rawAccounts[$i][$ids['inetOrgPerson_street']] != "")) { - $streetList = preg_split('/;[ ]*/', $rawAccounts[$i][$ids['inetOrgPerson_street']]); - $partialAccounts[$i]['street'] = $streetList; - for ($x = 0; $x < sizeof($streetList); $x++) { - if (!get_preg($streetList[$x], 'street')) { - $errMsg = $this->messages['street'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_street', 'street', 'street', $this->messages['street'][1], $errors, '/;[ ]*/'); // post office box if (isset($ids['inetOrgPerson_postOfficeBox']) && ($rawAccounts[$i][$ids['inetOrgPerson_postOfficeBox']] != "")) { $partialAccounts[$i]['postOfficeBox'] = preg_split('/;[ ]*/', $rawAccounts[$i][$ids['inetOrgPerson_postOfficeBox']]); @@ -2302,18 +2258,7 @@ class inetOrgPerson extends baseModule implements passwordService { // carLicense $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_carLicense', 'carLicense'); // postal code - if (isset($ids['inetOrgPerson_postalCode']) && ($rawAccounts[$i][$ids['inetOrgPerson_postalCode']] != "")) { - $postalCodeList = preg_split('/;[ ]*/', $rawAccounts[$i][$ids['inetOrgPerson_postalCode']]); - $partialAccounts[$i]['postalCode'] = $postalCodeList; - for ($x = 0; $x < sizeof($postalCodeList); $x++) { - if (!get_preg($postalCodeList[$x], 'postalCode')) { - $errMsg = $this->messages['postalCode'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_postalCode', 'postalCode', 'postalCode', $this->messages['postalCode'][1], $errors, '/;[ ]*/'); // postal address $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_address', 'postalAddress', 'postalAddress',$this->messages['postalAddress'][1] , $errors); @@ -2321,70 +2266,15 @@ class inetOrgPerson extends baseModule implements passwordService { $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_registeredAddress', 'registeredAddress', 'postalAddress',$this->messages['registeredAddress'][1] , $errors); // telephone - if (isset($ids['inetOrgPerson_telephone']) && ($rawAccounts[$i][$ids['inetOrgPerson_telephone']] != "")) { - $telephoneList = preg_split('/;[ ]*/', trim($rawAccounts[$i][$ids['inetOrgPerson_telephone']])); - $partialAccounts[$i]['telephoneNumber'] = $telephoneList; - for ($x = 0; $x < sizeof($telephoneList); $x++) { - if (!get_preg($telephoneList[$x], 'telephone')) { - $errMsg = $this->messages['telephoneNumber'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_telephone', 'telephoneNumber', 'telephone', $this->messages['telephoneNumber'][1], $errors, '/;[ ]*/'); // home telephone - if (isset($ids['inetOrgPerson_homePhone']) && ($rawAccounts[$i][$ids['inetOrgPerson_homePhone']] != "")) { - $homePhoneList = preg_split('/;[ ]*/', trim($rawAccounts[$i][$ids['inetOrgPerson_homePhone']])); - $partialAccounts[$i]['homePhone'] = $homePhoneList; - for ($x = 0; $x < sizeof($homePhoneList); $x++) { - if (!get_preg($homePhoneList[$x], 'telephone')) { - $errMsg = $this->messages['homePhone'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_homePhone', 'homePhone', 'telephone', $this->messages['homePhone'][1], $errors, '/;[ ]*/'); // mobile - if (isset($ids['inetOrgPerson_mobile']) && ($rawAccounts[$i][$ids['inetOrgPerson_mobile']] != "")) { - $mobileList = preg_split('/;[ ]*/', trim($rawAccounts[$i][$ids['inetOrgPerson_mobile']])); - $partialAccounts[$i]['mobile'] = $mobileList; - for ($x = 0; $x < sizeof($mobileList); $x++) { - if (!get_preg($mobileList[$x], 'telephone')) { - $errMsg = $this->messages['mobileTelephone'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_mobile', 'mobile', 'telephone', $this->messages['mobileTelephone'][1], $errors, '/;[ ]*/'); // facsimile - if (isset($ids['inetOrgPerson_fax']) && ($rawAccounts[$i][$ids['inetOrgPerson_fax']] != "")) { - $facsimileTelephoneNumberList = preg_split('/;[ ]*/', trim($rawAccounts[$i][$ids['inetOrgPerson_fax']])); - $partialAccounts[$i]['facsimileTelephoneNumber'] = $facsimileTelephoneNumberList; - for ($x = 0; $x < sizeof($facsimileTelephoneNumberList); $x++) { - if (!get_preg($facsimileTelephoneNumberList[$x], 'telephone')) { - $errMsg = $this->messages['facsimileNumber'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_fax', 'facsimileTelephoneNumber', 'telephone', $this->messages['facsimileNumber'][1], $errors, '/;[ ]*/'); // pager - if (isset($ids['inetOrgPerson_pager']) && ($rawAccounts[$i][$ids['inetOrgPerson_pager']] != "")) { - $pagerList = preg_split('/;[ ]*/', trim($rawAccounts[$i][$ids['inetOrgPerson_pager']])); - $partialAccounts[$i]['pager'] = $pagerList; - for ($x = 0; $x < sizeof($pagerList); $x++) { - if (!get_preg($pagerList[$x], 'telephone')) { - $errMsg = $this->messages['pager'][1]; - array_push($errMsg, array($i)); - $errors[] = $errMsg; - break; - } - } - } + $this->mapSimpleUploadField($rawAccounts, $ids, $partialAccounts, $i, 'inetOrgPerson_pager', 'pager', 'telephone', $this->messages['pager'][1], $errors, '/;[ ]*/'); // eMail if (isset($ids['inetOrgPerson_email']) && ($rawAccounts[$i][$ids['inetOrgPerson_email']] != "")) { foreach ($replacements as $wildcard => $value) { @@ -2527,9 +2417,9 @@ class inetOrgPerson extends baseModule implements passwordService { ); } } - - - + + + /** * Returns a list of self service configuration settings. * @@ -2551,10 +2441,10 @@ class inetOrgPerson extends baseModule implements passwordService { $container->addElement($photoTable, true); return $container; } - + /** * Checks if the self service settings are valid. - * + * * If the input data is invalid the return value is an array that contains arrays * to build StatusMessages (message type, message head, message text). If no errors * occured the function returns an empty array. @@ -2963,11 +2853,11 @@ class inetOrgPerson extends baseModule implements passwordService { } return $return; } - + /** * Returns the meta HTML code to display the certificate area. * This also includes the file upload. - * + * * @return htmlTable certificate content */ private function getSelfServiceUserCertificates() { @@ -3012,10 +2902,10 @@ class inetOrgPerson extends baseModule implements passwordService { } return $content; } - + /** * Returns the Java Script functions to manage the certificates. - * + * * @return htmlJavaScript JS block */ private static function getSelfServiceUserCertificatesJSBlock() { @@ -3029,7 +2919,7 @@ class inetOrgPerson extends baseModule implements passwordService { . '&' . getSecurityTokenName() . '=' . getSecurityTokenValue() . '\', {jsonInput: actionJSON}, function(data) {inetOrgPersonDeleteCertificateHandleReply(data);}, \'json\'); } - + function inetOrgPersonDeleteCertificateHandleReply(data) { if (data.errorsOccured == "false") { jQuery(\'#userCertificateDiv\').html(data.html); @@ -3038,7 +2928,7 @@ class inetOrgPerson extends baseModule implements passwordService { alert(data.errormessage); } } - + function inetOrgPersonUploadCert(elementID) { var uploadStatus = document.getElementById(\'inetOrgPerson_upload_status_cert\'); var uploader = new qq.FineUploader({ @@ -3065,9 +2955,9 @@ class inetOrgPerson extends baseModule implements passwordService { } } } - }); + }); } - + '; return new htmlJavaScript($content); } @@ -3080,7 +2970,7 @@ class inetOrgPerson extends baseModule implements passwordService { *
del: array of attributes to remove *
mod: array of attributes to modify *
info: array of values with informational value (e.g. to be used later by pre/postModify actions) - * + * * Calling this method does not require the existence of an enclosing {@link accountContainer}. * * @param string $fields input fields @@ -3406,10 +3296,10 @@ class inetOrgPerson extends baseModule implements passwordService { } return $return; } - + /** * Resizes the given image data to the settings provided. - * + * * @param array $data binary image data * @param array $settings settings * @return array binary image data @@ -3431,7 +3321,7 @@ class inetOrgPerson extends baseModule implements passwordService { } return $data; } - + /** * Manages AJAX requests. * This function may be called with or without an account container. @@ -3451,7 +3341,7 @@ class inetOrgPerson extends baseModule implements passwordService { } echo json_encode($jsonReturn); } - + /** * Handles an AJAX file upload and prints the JSON result. */ @@ -3491,7 +3381,7 @@ class inetOrgPerson extends baseModule implements passwordService { /** * Manages the deletion of a certificate. - * + * * @param array $data JSON data */ private function ajaxDeleteSelfServiceUserCertificate($data) { @@ -3516,10 +3406,10 @@ class inetOrgPerson extends baseModule implements passwordService { 'html' => $content, ); } - + /** * Invalid AJAX request received. - * + * * @param String $message error message */ public static function invalidAjaxRequest($message = null) { @@ -3545,13 +3435,13 @@ class inetOrgPerson extends baseModule implements passwordService { /** * Specifies if this module supports to force that a user must change his password on next login. - * + * * @return boolean force password change supported */ public function supportsForcePasswordChange() { return false; } - + /** * 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. @@ -3593,7 +3483,7 @@ class inetOrgPerson extends baseModule implements passwordService { } return array(); } - + /** * Returns a list of possible managers. * @@ -3613,9 +3503,9 @@ class inetOrgPerson extends baseModule implements passwordService { for ($i = 0; $i < sizeof($dnUsers); $i++) { $this->cachedManagers[getAbstractDN($dnUsers[$i])] = $dnUsers[$i]; } - return $this->cachedManagers; + return $this->cachedManagers; } - + /** * Loads cached data from LDAP such as departmets etc. */ @@ -3690,10 +3580,10 @@ class inetOrgPerson extends baseModule implements passwordService { $this->employeeTypeCache = array_values(array_unique($employeeTypes)); $this->businessCategoryCache = array_values(array_unique($businessCategories)); } - + /** * Returns if the attribute is read-only in admin interface. - * + * * @param String $attrName attribute name * @return boolean attribute is read-only */ @@ -3704,10 +3594,10 @@ class inetOrgPerson extends baseModule implements passwordService { } return $this->isBooleanConfigOptionSet('inetOrgPerson_readOnly_' . $attrName); } - + /** * Adds a simple read-only field to the given container. - * + * * @param htmlTable $container parent container * @param String $attrName attribute name * @param String $label field label @@ -3726,10 +3616,10 @@ class inetOrgPerson extends baseModule implements passwordService { $container->addElement($labelBox); $container->addElement(new htmlOutputText($val, false), true); } - + /** * Returns a list of configuration options. - * + * * Calling this method does not require the existence of an enclosing {@link accountContainer}.
*
* The field names are used as keywords to load and save settings. @@ -3738,7 +3628,7 @@ class inetOrgPerson extends baseModule implements passwordService { * @param array $scopes account types (user, group, host) * @param array $allScopes list of all active account modules and their scopes (module => array(scopes)) * @return mixed htmlElement or array of htmlElement - * + * * @see htmlElement */ public function get_configOptions($scopes, $allScopes) { @@ -3890,7 +3780,7 @@ class inetOrgPerson extends baseModule implements passwordService { /** * Checks if the given email address already exists in LDAP. - * + * * @param String $mail email address * @return boolean true if already exists */ @@ -3905,10 +3795,10 @@ class inetOrgPerson extends baseModule implements passwordService { $this->emailCheckCache[$mail] = (sizeof($result) > 0); return $this->emailCheckCache[$mail]; } - + /** * Returns if the Unix module is also active. - * + * * @return boolean Unix is active */ private function isUnixActive() { @@ -3918,7 +3808,7 @@ class inetOrgPerson extends baseModule implements passwordService { $modules = $_SESSION['config']->get_AccountModules($this->get_scope()); return in_array('posixAccount', $modules); } - + } ?>