changed separation by semicolon to multi-fields

This commit is contained in:
Roland Gruber 2012-01-06 17:34:39 +00:00
parent 3e3b9e1ac3
commit 91c2471de3
1 changed files with 501 additions and 113 deletions

View File

@ -125,23 +125,23 @@ class inetOrgPerson extends baseModule implements passwordService {
'postalCode' => _('Postal code'), 'postOfficeBox' => _('Post office box'), 'jpegPhoto' => _('Photo'), 'postalCode' => _('Postal code'), 'postOfficeBox' => _('Post office box'), 'jpegPhoto' => _('Photo'),
'homePhone' => _('Home telephone number'), 'roomNumber' => _('Room number'), 'carLicense' => _('Car license'), 'homePhone' => _('Home telephone number'), 'roomNumber' => _('Room number'), 'carLicense' => _('Car license'),
'location' => _('Location'), 'state' => _('State'), 'officeName' => _('Office name'), 'businessCategory' => _('Business category'), 'location' => _('Location'), 'state' => _('State'), 'officeName' => _('Office name'), 'businessCategory' => _('Business category'),
'departmentNumber' => _('Department(s)'), 'initials' => _('Initials'), 'title' => _('Job title'), 'labeledURI' => _('Web site')); 'departmentNumber' => _('Department'), 'initials' => _('Initials'), 'title' => _('Job title'), 'labeledURI' => _('Web site'));
// profile elements // profile elements
$profileElements = array(); $profileElements = array();
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideStreet')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideStreet')) {
$profileElements[] = new htmlTableExtendedInputField(_('Street'), 'inetOrgPerson_street', null, 'street'); $profileElements[] = new htmlTableExtendedInputField(_('Street'), 'inetOrgPerson_street', null, 'streetList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostOfficeBox')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostOfficeBox')) {
$profileElements[] = new htmlTableExtendedInputField(_('Post office box'), 'inetOrgPerson_postOfficeBox', null, 'postOfficeBox'); $profileElements[] = new htmlTableExtendedInputField(_('Post office box'), 'inetOrgPerson_postOfficeBox', null, 'postOfficeBoxList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalCode')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalCode')) {
$profileElements[] = new htmlTableExtendedInputField(_('Postal code'), 'inetOrgPerson_postalCode', null, 'postalCode'); $profileElements[] = new htmlTableExtendedInputField(_('Postal code'), 'inetOrgPerson_postalCode', null, 'postalCodeList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLocation')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLocation')) {
$profileElements[] = new htmlTableExtendedInputField(_('Location'), 'inetOrgPerson_l', null, 'l'); $profileElements[] = new htmlTableExtendedInputField(_('Location'), 'inetOrgPerson_l', null, 'lList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideState')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideState')) {
$profileElements[] = new htmlTableExtendedInputField(_('State'), 'inetOrgPerson_st', null, 'st'); $profileElements[] = new htmlTableExtendedInputField(_('State'), 'inetOrgPerson_st', null, 'stList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalAddress')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalAddress')) {
$profileElements[] = new htmlTableExtendedInputField(_('Postal address'), 'inetOrgPerson_postalAddress', null, 'postalAddress'); $profileElements[] = new htmlTableExtendedInputField(_('Postal address'), 'inetOrgPerson_postalAddress', null, 'postalAddress');
@ -150,22 +150,22 @@ class inetOrgPerson extends baseModule implements passwordService {
$profileElements[] = new htmlTableExtendedInputField(_('Registered address'), 'inetOrgPerson_registeredAddress', null, 'registeredAddress'); $profileElements[] = new htmlTableExtendedInputField(_('Registered address'), 'inetOrgPerson_registeredAddress', null, 'registeredAddress');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) {
$profileElements[] = new htmlTableExtendedInputField(_('Telephone number'), 'inetOrgPerson_telephoneNumber', null, 'telephoneNumber'); $profileElements[] = new htmlTableExtendedInputField(_('Telephone number'), 'inetOrgPerson_telephoneNumber', null, 'telephoneNumberList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideFaxNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideFaxNumber')) {
$profileElements[] = new htmlTableExtendedInputField(_('Fax number'), 'inetOrgPerson_facsimileTelephoneNumber', null, 'facsimileTelephoneNumber'); $profileElements[] = new htmlTableExtendedInputField(_('Fax number'), 'inetOrgPerson_facsimileTelephoneNumber', null, 'facsimileTelephoneNumberList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress')) {
$profileElements[] = new htmlTableExtendedInputField(_('Email address'), 'inetOrgPerson_mail', null, 'mail'); $profileElements[] = new htmlTableExtendedInputField(_('Email address'), 'inetOrgPerson_mail', null, 'mailList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLabeledURI')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLabeledURI')) {
$profileElements[] = new htmlTableExtendedInputField(_('Web site'), 'inetOrgPerson_labeledURI', null, 'labeledURIList'); $profileElements[] = new htmlTableExtendedInputField(_('Web site'), 'inetOrgPerson_labeledURI', null, 'labeledURIList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) {
$profileElements[] = new htmlTableExtendedInputField(_('Department(s)'), 'inetOrgPerson_departmentNumber', null, 'departmentNumber'); $profileElements[] = new htmlTableExtendedInputField(_('Department'), 'inetOrgPerson_departmentNumber', null, 'departmentNumberList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideO')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideO')) {
$profileElements[] = new htmlTableExtendedInputField(_('Organisation'), 'inetOrgPerson_o', null, 'o'); $profileElements[] = new htmlTableExtendedInputField(_('Organisation'), 'inetOrgPerson_o', null, 'oList');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideJobTitle')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideJobTitle')) {
$profileElements[] = new htmlTableExtendedInputField(_('Job title'), 'inetOrgPerson_title', null, 'title'); $profileElements[] = new htmlTableExtendedInputField(_('Job title'), 'inetOrgPerson_title', null, 'title');
@ -267,7 +267,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$configContainerOptions->addElement(new htmlOutputText(' ')); $configContainerOptions->addElement(new htmlOutputText(' '));
$configContainerOptions->addElement(new htmlTableExtendedInputCheckbox('inetOrgPerson_hideBusinessCategory', false, _('Business category'), null, false)); $configContainerOptions->addElement(new htmlTableExtendedInputCheckbox('inetOrgPerson_hideBusinessCategory', false, _('Business category'), null, false));
$configContainerOptions->addElement(new htmlOutputText(' ')); $configContainerOptions->addElement(new htmlOutputText(' '));
$configContainerOptions->addElement(new htmlTableExtendedInputCheckbox('inetOrgPerson_hideDepartments', false, _('Department(s)'), null, false)); $configContainerOptions->addElement(new htmlTableExtendedInputCheckbox('inetOrgPerson_hideDepartments', false, _('Department'), null, false));
$configContainerOptions->addNewLine(); $configContainerOptions->addNewLine();
$configContainerOptions->addElement(new htmlTableExtendedInputCheckbox('inetOrgPerson_hideManager', false, _('Manager'), null, false)); $configContainerOptions->addElement(new htmlTableExtendedInputCheckbox('inetOrgPerson_hideManager', false, _('Manager'), null, false));
$configContainerOptions->addElement(new htmlOutputText(' ')); $configContainerOptions->addElement(new htmlOutputText(' '));
@ -367,7 +367,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_street', 'name' => 'inetOrgPerson_street',
'description' => _('Street'), 'description' => _('Street'),
'help' => 'street', 'help' => 'streetList',
'example' => _('Mystreetname 42') 'example' => _('Mystreetname 42')
); );
} }
@ -375,7 +375,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_postalCode', 'name' => 'inetOrgPerson_postalCode',
'description' => _('Postal code'), 'description' => _('Postal code'),
'help' => 'postalCode', 'help' => 'postalCodeList',
'example' => _('GB-12345') 'example' => _('GB-12345')
); );
} }
@ -399,7 +399,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_postOfficeBox', 'name' => 'inetOrgPerson_postOfficeBox',
'description' => _('Post office box'), 'description' => _('Post office box'),
'help' => 'postOfficeBox', 'help' => 'postOfficeBoxList',
'example' => _('12345') 'example' => _('12345')
); );
} }
@ -407,7 +407,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_telephone', 'name' => 'inetOrgPerson_telephone',
'description' => _('Telephone number'), 'description' => _('Telephone number'),
'help' => 'telephoneNumber', 'help' => 'telephoneNumberList',
'example' => _('123-123-1234') 'example' => _('123-123-1234')
); );
} }
@ -415,7 +415,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_homePhone', 'name' => 'inetOrgPerson_homePhone',
'description' => _('Home telephone number'), 'description' => _('Home telephone number'),
'help' => 'homePhone', 'help' => 'homePhoneList',
'example' => _('123-124-1234') 'example' => _('123-124-1234')
); );
} }
@ -423,7 +423,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_mobile', 'name' => 'inetOrgPerson_mobile',
'description' => _('Mobile number'), 'description' => _('Mobile number'),
'help' => 'mobileTelephoneNumber', 'help' => 'mobileTelephoneNumberList',
'example' => _('123-123-1235') 'example' => _('123-123-1235')
); );
} }
@ -431,7 +431,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_fax', 'name' => 'inetOrgPerson_fax',
'description' => _('Fax number'), 'description' => _('Fax number'),
'help' => 'facsimileTelephoneNumber', 'help' => 'facsimileTelephoneNumberList',
'example' => _('123-123-1236') 'example' => _('123-123-1236')
); );
} }
@ -439,7 +439,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_email', 'name' => 'inetOrgPerson_email',
'description' => _('Email address'), 'description' => _('Email address'),
'help' => 'mail', 'help' => 'mailList',
'example' => _('user@company.com') 'example' => _('user@company.com')
); );
} }
@ -462,8 +462,8 @@ class inetOrgPerson extends baseModule implements passwordService {
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_departmentNumber', 'name' => 'inetOrgPerson_departmentNumber',
'description' => _('Department(s)'), 'description' => _('Department'),
'help' => 'departmentNumber', 'help' => 'departmentNumberList',
'example' => _('Administration') 'example' => _('Administration')
); );
} }
@ -471,7 +471,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_o', 'name' => 'inetOrgPerson_o',
'description' => _('Organisation'), 'description' => _('Organisation'),
'help' => 'o', 'help' => 'oList',
'example' => _('YourCompany') 'example' => _('YourCompany')
); );
} }
@ -479,7 +479,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_l', 'name' => 'inetOrgPerson_l',
'description' => _('Location'), 'description' => _('Location'),
'help' => 'l', 'help' => 'lList',
'example' => _('MyCity') 'example' => _('MyCity')
); );
} }
@ -487,7 +487,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['upload_columns'][] = array( $return['upload_columns'][] = array(
'name' => 'inetOrgPerson_st', 'name' => 'inetOrgPerson_st',
'description' => _('State'), 'description' => _('State'),
'help' => 'st', 'help' => 'stList',
'example' => _('New York') 'example' => _('New York')
); );
} }
@ -573,7 +573,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$return['PDF_fields']['businessCategory'] = _('Business category'); $return['PDF_fields']['businessCategory'] = _('Business category');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) {
$return['PDF_fields']['departmentNumber'] = _('Department(s)'); $return['PDF_fields']['departmentNumber'] = _('Department');
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideManager')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideManager')) {
$return['PDF_fields']['manager'] = _('Manager'); $return['PDF_fields']['manager'] = _('Manager');
@ -626,14 +626,26 @@ class inetOrgPerson extends baseModule implements passwordService {
"Text" => _("This is the LDAP DN of the user's manager. Use this property to represent hierarchies in your company.") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("This is the LDAP DN of the user's manager. Use this property to represent hierarchies in your company.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
'street' => array ( 'street' => array (
"Headline" => _("Street"),
"Text" => _("The street name of the user's address.")
),
'streetList' => array (
"Headline" => _("Street"), "Headline" => _("Street"),
"Text" => _("The street name of the user's address.") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("The street name of the user's address.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
'postOfficeBox' => array ( 'postOfficeBox' => array (
"Headline" => _("Post office box"),
"Text" => _("The post office box of the user's address.")
),
'postOfficeBoxList' => array (
"Headline" => _("Post office box"), "Headline" => _("Post office box"),
"Text" => _("The post office box of the user's address.") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("The post office box of the user's address.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
'postalCode' => array ( 'postalCode' => array (
"Headline" => _("Postal code"),
"Text" => _("The postal code of the user's address.")
),
'postalCodeList' => array (
"Headline" => _("Postal code"), "Headline" => _("Postal code"),
"Text" => _("The postal code of the user's address.") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("The postal code of the user's address.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
@ -646,18 +658,34 @@ class inetOrgPerson extends baseModule implements passwordService {
"Text" => _("Registered address, city") "Text" => _("Registered address, city")
), ),
'telephoneNumber' => array ( 'telephoneNumber' => array (
"Headline" => _("Telephone number"),
"Text" => _("The user's telephone number.")
),
'telephoneNumberList' => array (
"Headline" => _("Telephone number"), "Headline" => _("Telephone number"),
"Text" => _("The user's telephone number.") . ' ' . _('Multiple values are separated by semicolon.') "Text" => _("The user's telephone number.") . ' ' . _('Multiple values are separated by semicolon.')
), ),
'mobileTelephoneNumber' => array ( 'mobileTelephoneNumber' => array (
"Headline" => _("Mobile number"),
"Text" => _("The user's mobile number.")
),
'mobileTelephoneNumberList' => array (
"Headline" => _("Mobile number"), "Headline" => _("Mobile number"),
"Text" => _("The user's mobile number.") . ' ' . _('Multiple values are separated by semicolon.') "Text" => _("The user's mobile number.") . ' ' . _('Multiple values are separated by semicolon.')
), ),
'facsimileTelephoneNumber' => array ( 'facsimileTelephoneNumber' => array (
"Headline" => _("Fax number"),
"Text" => _("The user's fax number.")
),
'facsimileTelephoneNumberList' => array (
"Headline" => _("Fax number"), "Headline" => _("Fax number"),
"Text" => _("The user's fax number.") . ' ' . _('Multiple values are separated by semicolon.') "Text" => _("The user's fax number.") . ' ' . _('Multiple values are separated by semicolon.')
), ),
'mail' => array ( 'mail' => array (
"Headline" => _("Email address"),
"Text" => _("The user's email address.")
),
'mailList' => array (
"Headline" => _("Email address"), "Headline" => _("Email address"),
"Text" => _("The user's email address.") . ' ' . _('Multiple values are separated by semicolon.') "Text" => _("The user's email address.") . ' ' . _('Multiple values are separated by semicolon.')
), ),
@ -682,6 +710,10 @@ class inetOrgPerson extends baseModule implements passwordService {
"Text" => _("Please select an image file to upload. It must be in JPG format (.jpg/.jpeg).") "Text" => _("Please select an image file to upload. It must be in JPG format (.jpg/.jpeg).")
), ),
'homePhone' => array( 'homePhone' => array(
"Headline" => _("Home telephone number"),
"Text" => _("The user's private telephone number.")
),
'homePhoneList' => array(
"Headline" => _("Home telephone number"), "Headline" => _("Home telephone number"),
"Text" => _("The user's private telephone number.") . ' ' . _('Multiple values are separated by semicolon.') "Text" => _("The user's private telephone number.") . ' ' . _('Multiple values are separated by semicolon.')
), ),
@ -694,10 +726,18 @@ class inetOrgPerson extends baseModule implements passwordService {
"Text" => _("Business category (e.g. Administration, IT-Services, Manangement, ...)") "Text" => _("Business category (e.g. Administration, IT-Services, Manangement, ...)")
), ),
'l' => array( 'l' => array(
"Headline" => _("Location"),
"Text" => _("This describes the location of the user.")
),
'lList' => array(
"Headline" => _("Location"), "Headline" => _("Location"),
"Text" => _("This describes the location of the user.") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("This describes the location of the user.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
'st' => array( 'st' => array(
"Headline" => _("State"),
"Text" => _("The state where the user resides or works.")
),
'stList' => array(
"Headline" => _("State"), "Headline" => _("State"),
"Text" => _("The state where the user resides or works.") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("The state where the user resides or works.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
@ -710,8 +750,12 @@ class inetOrgPerson extends baseModule implements passwordService {
"Text" => _("The office name of the user (e.g. YourCompany, Human Resources).") "Text" => _("The office name of the user (e.g. YourCompany, Human Resources).")
), ),
'departmentNumber' => array( 'departmentNumber' => array(
"Headline" => _("Department(s)"), "Headline" => _("Department"),
"Text" => _("Here you can enter the user's department(s).") . ' ' . _("Multiple values are separated by semicolon.") "Text" => _("Here you can enter the user's department.")
),
'departmentNumberList' => array(
"Headline" => _("Department"),
"Text" => _("Here you can enter the user's department.") . ' ' . _("Multiple values are separated by semicolon.")
), ),
'hiddenOptions' => array( 'hiddenOptions' => array(
"Headline" => _("Hidden options"), "Headline" => _("Hidden options"),
@ -722,6 +766,10 @@ class inetOrgPerson extends baseModule implements passwordService {
"Text" => _("LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of passwords. SSHA and CRYPT are the most common but CRYPT does not support passwords greater than 8 letters. We do not recommend to use plain text passwords.") "Text" => _("LAM supports CRYPT, SHA, SSHA, MD5 and SMD5 to generate the hash value of passwords. SSHA and CRYPT are the most common but CRYPT does not support passwords greater than 8 letters. We do not recommend to use plain text passwords.")
), ),
'o' => array( 'o' => array(
"Headline" => _("Organisation"),
"Text" => _("The user's organisation name.")
),
'oList' => array(
"Headline" => _("Organisation"), "Headline" => _("Organisation"),
"Text" => _("The user's organisation name.") . ' ' . _('Multiple values are separated by semicolon.') "Text" => _("The user's organisation name.") . ' ' . _('Multiple values are separated by semicolon.')
), ),
@ -861,70 +909,123 @@ class inetOrgPerson extends baseModule implements passwordService {
if (!get_preg($this->attributes['title'][0], 'title')) $errors[] = $this->messages['title'][0]; if (!get_preg($this->attributes['title'][0], 'title')) $errors[] = $this->messages['title'][0];
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress')) {
$this->attributes['mail'] = preg_split('/;[ ]*/', $_POST['mail']); $mailCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['mail']); $i++) { while (isset($_POST['mail' . $mailCounter])) {
if (($this->attributes['mail'][$i] != '') && !get_preg($this->attributes['mail'][$i], 'email')) { $this->attributes['mail'][$mailCounter] = $_POST['mail' . $mailCounter];
$errors[] = $this->messages['email'][0]; if (($_POST['mail' . $mailCounter] != '') && !get_preg($this->attributes['mail'][$mailCounter], 'email')) $errors[] = $this->messages['email'][0];
break; if ($this->attributes['mail'][$mailCounter] == '') {
unset($this->attributes['mail'][$mailCounter]);
} }
$mailCounter++;
} }
if (isset($_POST['addMail'])) {
$this->attributes['mail'][] = '';
}
$this->attributes['mail'] = array_values($this->attributes['mail']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) {
$this->attributes['telephoneNumber'] = preg_split('/;[ ]*/', $_POST['telephoneNumber']); $telephoneNumberCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['telephoneNumber']); $i++) { while (isset($_POST['telephoneNumber' . $telephoneNumberCounter])) {
if (!get_preg($this->attributes['telephoneNumber'][$i], 'telephone')) { $this->attributes['telephoneNumber'][$telephoneNumberCounter] = $_POST['telephoneNumber' . $telephoneNumberCounter];
$errors[] = $this->messages['telephoneNumber'][0]; if (!get_preg($this->attributes['telephoneNumber'][$telephoneNumberCounter], 'telephone')) $errors[] = $this->messages['telephoneNumber'][0];
break; if ($this->attributes['telephoneNumber'][$telephoneNumberCounter] == '') {
unset($this->attributes['telephoneNumber'][$telephoneNumberCounter]);
} }
$telephoneNumberCounter++;
} }
if (isset($_POST['addTelephoneNumber'])) {
$this->attributes['telephoneNumber'][] = '';
}
$this->attributes['telephoneNumber'] = array_values($this->attributes['telephoneNumber']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideMobileNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideMobileNumber')) {
$this->attributes['mobile'] = preg_split('/;[ ]*/', $_POST['mobileTelephoneNumber']); $mobileCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['mobile']); $i++) { while (isset($_POST['mobile' . $mobileCounter])) {
if (!get_preg($this->attributes['mobile'][$i], 'telephone')) { $this->attributes['mobile'][$mobileCounter] = $_POST['mobile' . $mobileCounter];
$errors[] = $this->messages['mobileTelephone'][0]; if (!get_preg($this->attributes['mobile'][$mobileCounter], 'telephone')) $errors[] = $this->messages['mobileTelephone'][0];
break; if ($this->attributes['mobile'][$mobileCounter] == '') {
unset($this->attributes['mobile'][$mobileCounter]);
} }
$mobileCounter++;
} }
if (isset($_POST['addMobile'])) {
$this->attributes['mobile'][] = '';
}
$this->attributes['mobile'] = array_values($this->attributes['mobile']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideFaxNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideFaxNumber')) {
$this->attributes['facsimileTelephoneNumber'] = preg_split('/;[ ]*/', $_POST['facsimileTelephoneNumber']); $facsimileTelephoneNumberCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['facsimileTelephoneNumber']); $i++) { while (isset($_POST['facsimileTelephoneNumber' . $facsimileTelephoneNumberCounter])) {
if (!get_preg($this->attributes['facsimileTelephoneNumber'][$i], 'telephone')) { $this->attributes['facsimileTelephoneNumber'][$facsimileTelephoneNumberCounter] = $_POST['facsimileTelephoneNumber' . $facsimileTelephoneNumberCounter];
$errors[] = $this->messages['facsimileNumber'][0]; if (!get_preg($this->attributes['facsimileTelephoneNumber'][$facsimileTelephoneNumberCounter], 'telephone')) $errors[] = $this->messages['facsimileNumber'][0];
break; if ($this->attributes['facsimileTelephoneNumber'][$facsimileTelephoneNumberCounter] == '') {
unset($this->attributes['facsimileTelephoneNumber'][$facsimileTelephoneNumberCounter]);
} }
$facsimileTelephoneNumberCounter++;
} }
if (isset($_POST['addFacsimileTelephoneNumber'])) {
$this->attributes['facsimileTelephoneNumber'][] = '';
}
$this->attributes['facsimileTelephoneNumber'] = array_values($this->attributes['facsimileTelephoneNumber']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideHomeTelephoneNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideHomeTelephoneNumber')) {
$this->attributes['homePhone'] = preg_split('/;[ ]*/', $_POST['homePhone']); $homePhoneCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['homePhone']); $i++) { while (isset($_POST['homePhone' . $homePhoneCounter])) {
if (!get_preg($this->attributes['homePhone'][$i], 'telephone')) { $this->attributes['homePhone'][$homePhoneCounter] = $_POST['homePhone' . $homePhoneCounter];
$errors[] = $this->messages['homePhone'][0]; if (!get_preg($this->attributes['homePhone'][$homePhoneCounter], 'telephone')) $errors[] = $this->messages['homePhone'][0];
break; if ($this->attributes['homePhone'][$homePhoneCounter] == '') {
unset($this->attributes['homePhone'][$homePhoneCounter]);
} }
$homePhoneCounter++;
} }
if (isset($_POST['addHomePhone'])) {
$this->attributes['homePhone'][] = '';
}
$this->attributes['homePhone'] = array_values($this->attributes['homePhone']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideStreet')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideStreet')) {
$this->attributes['street'] = preg_split('/;[ ]*/', $_POST['street']); $streetCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['street']); $i++) { while (isset($_POST['street' . $streetCounter])) {
if (!get_preg($this->attributes['street'][$i], 'street')) { $this->attributes['street'][$streetCounter] = $_POST['street' . $streetCounter];
$errors[] = $this->messages['street'][0]; if (!get_preg($this->attributes['street'][$streetCounter], 'street')) $errors[] = $this->messages['street'][0];
break; if ($this->attributes['street'][$streetCounter] == '') {
unset($this->attributes['street'][$streetCounter]);
} }
$streetCounter++;
} }
if (isset($_POST['addStreet'])) {
$this->attributes['street'][] = '';
}
$this->attributes['street'] = array_values($this->attributes['street']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostOfficeBox')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostOfficeBox')) {
$this->attributes['postOfficeBox'] = preg_split('/;[ ]*/', $_POST['postOfficeBox']); $postOfficeBoxCounter = 0;
while (isset($_POST['postOfficeBox' . $postOfficeBoxCounter])) {
$this->attributes['postOfficeBox'][$postOfficeBoxCounter] = $_POST['postOfficeBox' . $postOfficeBoxCounter];
if ($this->attributes['postOfficeBox'][$postOfficeBoxCounter] == '') {
unset($this->attributes['postOfficeBox'][$postOfficeBoxCounter]);
}
$postOfficeBoxCounter++;
}
if (isset($_POST['addPostOfficeBox'])) {
$this->attributes['postOfficeBox'][] = '';
}
$this->attributes['postOfficeBox'] = array_values($this->attributes['postOfficeBox']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalCode')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalCode')) {
$this->attributes['postalCode'] = preg_split('/;[ ]*/', $_POST['postalCode']); $postalCodeCounter = 0;
for ($i = 0; $i < sizeof($this->attributes['postalCode']); $i++) { while (isset($_POST['postalCode' . $postalCodeCounter])) {
if (!get_preg($this->attributes['postalCode'][$i], 'postalCode')) { $this->attributes['postalCode'][$postalCodeCounter] = $_POST['postalCode' . $postalCodeCounter];
$errors[] = $this->messages['postalCode'][0]; if (!get_preg($this->attributes['postalCode'][$postalCodeCounter], 'postalCode')) $errors[] = $this->messages['postalCode'][0];
break; if ($this->attributes['postalCode'][$postalCodeCounter] == '') {
unset($this->attributes['postalCode'][$postalCodeCounter]);
} }
$postalCodeCounter++;
} }
if (isset($_POST['addPostalCode'])) {
$this->attributes['postalCode'][] = '';
}
$this->attributes['postalCode'] = array_values($this->attributes['postalCode']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalAddress')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalAddress')) {
$addressCounter = 0; $addressCounter = 0;
@ -982,10 +1083,32 @@ class inetOrgPerson extends baseModule implements passwordService {
if (!get_preg($this->attributes['businessCategory'][0], 'businessCategory')) $errors[] = $this->messages['businessCategory'][0]; if (!get_preg($this->attributes['businessCategory'][0], 'businessCategory')) $errors[] = $this->messages['businessCategory'][0];
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLocation')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLocation')) {
$this->attributes['l'] = preg_split('/;[ ]*/', $_POST['l']); $lCounter = 0;
while (isset($_POST['l' . $lCounter])) {
$this->attributes['l'][$lCounter] = $_POST['l' . $lCounter];
if ($this->attributes['l'][$lCounter] == '') {
unset($this->attributes['l'][$lCounter]);
}
$lCounter++;
}
if (isset($_POST['addL'])) {
$this->attributes['l'][] = '';
}
$this->attributes['l'] = array_values($this->attributes['l']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideState')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideState')) {
$this->attributes['st'] = preg_split('/;[ ]*/', $_POST['st']); $stCounter = 0;
while (isset($_POST['st' . $stCounter])) {
$this->attributes['st'][$stCounter] = $_POST['st' . $stCounter];
if ($this->attributes['st'][$stCounter] == '') {
unset($this->attributes['st'][$stCounter]);
}
$stCounter++;
}
if (isset($_POST['addSt'])) {
$this->attributes['st'][] = '';
}
$this->attributes['st'] = array_values($this->attributes['st']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideCarLicense')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideCarLicense')) {
$this->attributes['carLicense'][0] = $_POST['carLicense']; $this->attributes['carLicense'][0] = $_POST['carLicense'];
@ -994,22 +1117,35 @@ class inetOrgPerson extends baseModule implements passwordService {
$this->attributes['physicalDeliveryOfficeName'][0] = $_POST['physicalDeliveryOfficeName']; $this->attributes['physicalDeliveryOfficeName'][0] = $_POST['physicalDeliveryOfficeName'];
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) {
if (isset($_POST['departmentNumber'])) { $departmentNumberCounter = 0;
$this->attributes['departmentNumber'] = explode(';', $_POST['departmentNumber']); while (isset($_POST['departmentNumber' . $departmentNumberCounter])) {
// remove extra spaces $this->attributes['departmentNumber'][$departmentNumberCounter] = $_POST['departmentNumber' . $departmentNumberCounter];
$this->attributes['departmentNumber'] = array_map('trim', $this->attributes['departmentNumber']); if ($this->attributes['departmentNumber'][$departmentNumberCounter] == '') {
} unset($this->attributes['departmentNumber'][$departmentNumberCounter]);
else {
if (isset($this->attributes['departmentNumber'])) {
unset($this->attributes['departmentNumber']);
} }
$departmentNumberCounter++;
} }
if (isset($_POST['addDepartmentNumber'])) {
$this->attributes['departmentNumber'][] = '';
}
$this->attributes['departmentNumber'] = array_values($this->attributes['departmentNumber']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEmployeeNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEmployeeNumber')) {
$this->attributes['employeeNumber'][0] = $_POST['employeeNumber']; $this->attributes['employeeNumber'][0] = $_POST['employeeNumber'];
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideO')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideO')) {
$this->attributes['o'] = preg_split('/;[ ]*/', $_POST['o']); $oCounter = 0;
while (isset($_POST['o' . $oCounter])) {
$this->attributes['o'][$oCounter] = $_POST['o' . $oCounter];
if ($this->attributes['o'][$oCounter] == '') {
unset($this->attributes['o'][$oCounter]);
}
$oCounter++;
}
if (isset($_POST['addO'])) {
$this->attributes['o'][] = '';
}
$this->attributes['o'] = array_values($this->attributes['o']);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideInitials')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideInitials')) {
$this->attributes['initials'] = preg_split('/;[ ]*/', $_POST['initials']); $this->attributes['initials'] = preg_split('/;[ ]*/', $_POST['initials']);
@ -1135,29 +1271,134 @@ class inetOrgPerson extends baseModule implements passwordService {
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideStreet')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideStreet')) {
$street = ''; $streets = array();
if (isset($this->attributes['street'][0])) $street = implode('; ', $this->attributes['street']); if (isset($this->attributes['street'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Street'), 'street', $street, 'street'), true); $streets = $this->attributes['street'];
}
if (sizeof($streets) == 0) {
$streets[] = '';
}
$streetLabel = new htmlOutputText(_('Street'));
$streetLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($streetLabel);
$streetContainer = new htmlGroup();
for ($i = 0; $i < sizeof($streets); $i++) {
$streetContainer->addElement(new htmlInputField('street' . $i, $streets[$i]));
if ($i < (sizeof($streets) - 1)) {
$streetContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$streetContainer->addElement(new htmlButton('addStreet', 'add.png', true));
}
}
$fieldContainer->addElement($streetContainer);
$streetHelp = new htmlHelpLink('street');
$streetHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($streetHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostOfficeBox')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostOfficeBox')) {
$postOffice = ''; $postOfficeBoxes = array();
if (isset($this->attributes['postOfficeBox'][0])) $postOffice = implode('; ', $this->attributes['postOfficeBox']); if (isset($this->attributes['postOfficeBox'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Post office box'), 'postOfficeBox', $postOffice, 'postOfficeBox'), true); $postOfficeBoxes = $this->attributes['postOfficeBox'];
}
if (sizeof($postOfficeBoxes) == 0) {
$postOfficeBoxes[] = '';
}
$postOfficeBoxLabel = new htmlOutputText(_('Post office box'));
$postOfficeBoxLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($postOfficeBoxLabel);
$postOfficeBoxContainer = new htmlGroup();
for ($i = 0; $i < sizeof($postOfficeBoxes); $i++) {
$postOfficeBoxContainer->addElement(new htmlInputField('postOfficeBox' . $i, $postOfficeBoxes[$i]));
if ($i < (sizeof($postOfficeBoxes) - 1)) {
$postOfficeBoxContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$postOfficeBoxContainer->addElement(new htmlButton('addPostOfficeBox', 'add.png', true));
}
}
$fieldContainer->addElement($postOfficeBoxContainer);
$postOfficeBoxHelp = new htmlHelpLink('postOfficeBox');
$postOfficeBoxHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($postOfficeBoxHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalCode')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalCode')) {
$postalCode = ''; $postalCodes = array();
if (isset($this->attributes['postalCode'][0])) $postalCode = implode('; ', $this->attributes['postalCode']); if (isset($this->attributes['postalCode'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Postal code'), 'postalCode', $postalCode, 'postalCode'), true); $postalCodes = $this->attributes['postalCode'];
}
if (sizeof($postalCodes) == 0) {
$postalCodes[] = '';
}
$postalCodeLabel = new htmlOutputText(_('Postal code'));
$postalCodeLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($postalCodeLabel);
$postalCodeContainer = new htmlGroup();
for ($i = 0; $i < sizeof($postalCodes); $i++) {
$postalCodeContainer->addElement(new htmlInputField('postalCode' . $i, $postalCodes[$i]));
if ($i < (sizeof($postalCodes) - 1)) {
$postalCodeContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$postalCodeContainer->addElement(new htmlButton('addPostalCode', 'add.png', true));
}
}
$fieldContainer->addElement($postalCodeContainer);
$postalCodeHelp = new htmlHelpLink('postalCode');
$postalCodeHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($postalCodeHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLocation')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLocation')) {
$l = ''; $locations = array();
if (isset($this->attributes['l'][0])) $l = implode('; ', $this->attributes['l']); if (isset($this->attributes['l'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Location'), 'l', $l, 'l'), true); $locations = $this->attributes['l'];
}
if (sizeof($locations) == 0) {
$locations[] = '';
}
$locationLabel = new htmlOutputText(_('Location'));
$locationLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($locationLabel);
$locationContainer = new htmlGroup();
for ($i = 0; $i < sizeof($locations); $i++) {
$locationContainer->addElement(new htmlInputField('l' . $i, $locations[$i]));
if ($i < (sizeof($locations) - 1)) {
$locationContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$locationContainer->addElement(new htmlButton('addL', 'add.png', true));
}
}
$fieldContainer->addElement($locationContainer);
$locationHelp = new htmlHelpLink('l');
$locationHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($locationHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideState')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideState')) {
$st = ''; $states = array();
if (isset($this->attributes['st'][0])) $st = implode('; ', $this->attributes['st']); if (isset($this->attributes['st'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('State'), 'st', $st, 'st'), true); $states = $this->attributes['st'];
}
if (sizeof($states) == 0) {
$states[] = '';
}
$stateLabel = new htmlOutputText(_('State'));
$stateLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($stateLabel);
$stateContainer = new htmlGroup();
for ($i = 0; $i < sizeof($states); $i++) {
$stateContainer->addElement(new htmlInputField('st' . $i, $states[$i]));
if ($i < (sizeof($states) - 1)) {
$stateContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$stateContainer->addElement(new htmlButton('addSt', 'add.png', true));
}
}
$fieldContainer->addElement($stateContainer);
$stateHelp = new htmlHelpLink('st');
$stateHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($stateHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalAddress')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hidePostalAddress')) {
$postalAddresses = array(); $postalAddresses = array();
@ -1233,29 +1474,134 @@ class inetOrgPerson extends baseModule implements passwordService {
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideTelephoneNumber')) {
$telephone = ''; $telephoneNumbers = array();
if (isset($this->attributes['telephoneNumber'][0])) $telephone = implode('; ', $this->attributes['telephoneNumber']); if (isset($this->attributes['telephoneNumber'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Telephone number'), 'telephoneNumber', $telephone, 'telephoneNumber'), true); $telephoneNumbers = $this->attributes['telephoneNumber'];
}
if (sizeof($telephoneNumbers) == 0) {
$telephoneNumbers[] = '';
}
$telephoneNumberLabel = new htmlOutputText(_('Telephone number'));
$telephoneNumberLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($telephoneNumberLabel);
$telephoneNumberContainer = new htmlGroup();
for ($i = 0; $i < sizeof($telephoneNumbers); $i++) {
$telephoneNumberContainer->addElement(new htmlInputField('telephoneNumber' . $i, $telephoneNumbers[$i]));
if ($i < (sizeof($telephoneNumbers) - 1)) {
$telephoneNumberContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$telephoneNumberContainer->addElement(new htmlButton('addTelephoneNumber', 'add.png', true));
}
}
$fieldContainer->addElement($telephoneNumberContainer);
$telephoneNumberHelp = new htmlHelpLink('telephoneNumber');
$telephoneNumberHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($telephoneNumberHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideHomeTelephoneNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideHomeTelephoneNumber')) {
$homePhone = ''; $homePhones = array();
if (isset($this->attributes['homePhone'][0])) $homePhone = implode('; ', $this->attributes['homePhone']); if (isset($this->attributes['homePhone'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Home telephone number'), 'homePhone', $homePhone, 'homePhone'), true); $homePhones = $this->attributes['homePhone'];
}
if (sizeof($homePhones) == 0) {
$homePhones[] = '';
}
$homePhoneLabel = new htmlOutputText(_('Home telephone number'));
$homePhoneLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($homePhoneLabel);
$homePhoneContainer = new htmlGroup();
for ($i = 0; $i < sizeof($homePhones); $i++) {
$homePhoneContainer->addElement(new htmlInputField('homePhone' . $i, $homePhones[$i]));
if ($i < (sizeof($homePhones) - 1)) {
$homePhoneContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$homePhoneContainer->addElement(new htmlButton('addHomePhone', 'add.png', true));
}
}
$fieldContainer->addElement($homePhoneContainer);
$homePhoneHelp = new htmlHelpLink('homePhone');
$homePhoneHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($homePhoneHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideMobileNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideMobileNumber')) {
$mobile = ''; $mobiles = array();
if (isset($this->attributes['mobile'][0])) $mobile = implode('; ', $this->attributes['mobile']); if (isset($this->attributes['mobile'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Mobile number'), 'mobileTelephoneNumber', $mobile, 'mobileTelephoneNumber'), true); $mobiles = $this->attributes['mobile'];
}
if (sizeof($mobiles) == 0) {
$mobiles[] = '';
}
$mobileLabel = new htmlOutputText(_('Mobile number'));
$mobileLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($mobileLabel);
$mobileContainer = new htmlGroup();
for ($i = 0; $i < sizeof($mobiles); $i++) {
$mobileContainer->addElement(new htmlInputField('mobile' . $i, $mobiles[$i]));
if ($i < (sizeof($mobiles) - 1)) {
$mobileContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$mobileContainer->addElement(new htmlButton('addMobile', 'add.png', true));
}
}
$fieldContainer->addElement($mobileContainer);
$mobileHelp = new htmlHelpLink('mobileTelephoneNumber');
$mobileHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($mobileHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideFaxNumber')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideFaxNumber')) {
$fax = ''; $facsimileTelephoneNumbers = array();
if (isset($this->attributes['facsimileTelephoneNumber'][0])) $fax = implode('; ', $this->attributes['facsimileTelephoneNumber']); if (isset($this->attributes['facsimileTelephoneNumber'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Fax number'), 'facsimileTelephoneNumber', $fax, 'facsimileTelephoneNumber'), true); $facsimileTelephoneNumbers = $this->attributes['facsimileTelephoneNumber'];
}
if (sizeof($facsimileTelephoneNumbers) == 0) {
$facsimileTelephoneNumbers[] = '';
}
$facsimileTelephoneNumberLabel = new htmlOutputText(_('Fax number'));
$facsimileTelephoneNumberLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($facsimileTelephoneNumberLabel);
$facsimileTelephoneNumberContainer = new htmlGroup();
for ($i = 0; $i < sizeof($facsimileTelephoneNumbers); $i++) {
$facsimileTelephoneNumberContainer->addElement(new htmlInputField('facsimileTelephoneNumber' . $i, $facsimileTelephoneNumbers[$i]));
if ($i < (sizeof($facsimileTelephoneNumbers) - 1)) {
$facsimileTelephoneNumberContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$facsimileTelephoneNumberContainer->addElement(new htmlButton('addFacsimileTelephoneNumber', 'add.png', true));
}
}
$fieldContainer->addElement($facsimileTelephoneNumberContainer);
$facsimileTelephoneNumberHelp = new htmlHelpLink('facsimileTelephoneNumber');
$facsimileTelephoneNumberHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($facsimileTelephoneNumberHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideEMailAddress')) {
$email = ''; $mails = array();
if (isset($this->attributes['mail'][0])) $email = implode('; ', $this->attributes['mail']); if (isset($this->attributes['mail'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Email address'), 'mail', $email, 'mail'), true); $mails = $this->attributes['mail'];
}
if (sizeof($mails) == 0) {
$mails[] = '';
}
$mailLabel = new htmlOutputText(_('Email address'));
$mailLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($mailLabel);
$mailContainer = new htmlGroup();
for ($i = 0; $i < sizeof($mails); $i++) {
$mailContainer->addElement(new htmlInputField('mail' . $i, $mails[$i]));
if ($i < (sizeof($mails) - 1)) {
$mailContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$mailContainer->addElement(new htmlButton('addMail', 'add.png', true));
}
}
$fieldContainer->addElement($mailContainer);
$mailHelp = new htmlHelpLink('mail');
$mailHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($mailHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLabeledURI')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideLabeledURI')) {
$labeledURI = array(); $labeledURI = array();
@ -1316,14 +1662,56 @@ class inetOrgPerson extends baseModule implements passwordService {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Business category'), 'businessCategory', $businessCategory, 'businessCategory'), true); $fieldContainer->addElement(new htmlTableExtendedInputField(_('Business category'), 'businessCategory', $businessCategory, 'businessCategory'), true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideDepartments')) {
$departmentNumber = ''; $departmentNumbers = array();
if (isset($this->attributes['departmentNumber'][0])) $departmentNumber = implode('; ', $this->attributes['departmentNumber']); if (isset($this->attributes['departmentNumber'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Department(s)'), 'departmentNumber', $departmentNumber, 'departmentNumber'), true); $departmentNumbers = $this->attributes['departmentNumber'];
}
if (sizeof($departmentNumbers) == 0) {
$departmentNumbers[] = '';
}
$departmentNumberLabel = new htmlOutputText(_('Department'));
$departmentNumberLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($departmentNumberLabel);
$departmentNumberContainer = new htmlGroup();
for ($i = 0; $i < sizeof($departmentNumbers); $i++) {
$departmentNumberContainer->addElement(new htmlInputField('departmentNumber' . $i, $departmentNumbers[$i]));
if ($i < (sizeof($departmentNumbers) - 1)) {
$departmentNumberContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$departmentNumberContainer->addElement(new htmlButton('addDepartmentNumber', 'add.png', true));
}
}
$fieldContainer->addElement($departmentNumberContainer);
$departmentNumberHelp = new htmlHelpLink('departmentNumber');
$departmentNumberHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($departmentNumberHelp, true);
} }
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideO')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideO')) {
$o = ''; $os = array();
if (isset($this->attributes['o'][0])) $o = implode('; ', $this->attributes['o']); if (isset($this->attributes['o'][0])) {
$fieldContainer->addElement(new htmlTableExtendedInputField(_('Organisation'), 'o', $o, 'o'), true); $os = $this->attributes['o'];
}
if (sizeof($os) == 0) {
$os[] = '';
}
$oLabel = new htmlOutputText(_('Organisation'));
$oLabel->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($oLabel);
$oContainer = new htmlGroup();
for ($i = 0; $i < sizeof($os); $i++) {
$oContainer->addElement(new htmlInputField('o' . $i, $os[$i]));
if ($i < (sizeof($os) - 1)) {
$oContainer->addElement(new htmlOutputText('<br>', false));
}
else {
$oContainer->addElement(new htmlButton('addO', 'add.png', true));
}
}
$fieldContainer->addElement($oContainer);
$oHelp = new htmlHelpLink('o');
$oHelp->alignment = htmlElement::ALIGN_TOP;
$fieldContainer->addElement($oHelp, true);
} }
// manager // manager
if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideManager')) { if (!$this->isBooleanConfigOptionSet('inetOrgPerson_hideManager')) {
@ -1659,7 +2047,7 @@ class inetOrgPerson extends baseModule implements passwordService {
get_class($this) . '_labeledURI' => array('<block><key>' . _('Web site') . '</key><value>' . $labeledURI . '</value></block>'), get_class($this) . '_labeledURI' => array('<block><key>' . _('Web site') . '</key><value>' . $labeledURI . '</value></block>'),
); );
if (isset($this->attributes['departmentNumber'])) { if (isset($this->attributes['departmentNumber'])) {
$return[get_class($this) . '_departmentNumber'] = array('<block><key>' . _('Department(s)') . '</key><value>' . implode(', ', $this->attributes['departmentNumber']) . '</value></block>'); $return[get_class($this) . '_departmentNumber'] = array('<block><key>' . _('Department') . '</key><value>' . implode(', ', $this->attributes['departmentNumber']) . '</value></block>');
} }
return $return; return $return;
} }
@ -2256,7 +2644,7 @@ class inetOrgPerson extends baseModule implements passwordService {
$departmentNumber = ''; $departmentNumber = '';
if (isset($attributes['departmentNumber'][0])) $departmentNumber = implode('; ', $attributes['departmentNumber']); if (isset($attributes['departmentNumber'][0])) $departmentNumber = implode('; ', $attributes['departmentNumber']);
$return['departmentNumber'] = new htmlTableRow(array( $return['departmentNumber'] = new htmlTableRow(array(
new htmlTableExtendedInputField(_('Department(s)'), 'inetOrgPerson_departmentNumber', $departmentNumber) new htmlTableExtendedInputField(_('Department'), 'inetOrgPerson_departmentNumber', $departmentNumber)
)); ));
} }
if (in_array('initials', $fields)) { if (in_array('initials', $fields)) {