diff --git a/lib/classes/output/class.htmlform.php b/lib/classes/output/class.htmlform.php index 4f9a5b6f..62c3db8c 100644 --- a/lib/classes/output/class.htmlform.php +++ b/lib/classes/output/class.htmlform.php @@ -48,22 +48,42 @@ class htmlform } eval("self::\$_form .= \"" . getTemplate("misc/form/table_section", "1") . "\";"); - + + $nexto = false; foreach($section['fields'] as $fieldname => $fielddata) { if(isset($fielddata['visible']) && $fielddata['visible'] === false) { continue; } - - $label = $fielddata['label']; - $desc = (isset($fielddata['desc']) ? $fielddata['desc'] : ''); - $style = (isset($fielddata['style']) ? ' style="'.$fielddata['style'].'"' : ''); - $mandatory = self::_getMandatoryFlag($fielddata); - $data_field = self::_parseDataField($fieldname, $fielddata); - $data_field = str_replace("\n", "", $data_field); - $data_field = str_replace("\t", "", $data_field); - eval("self::\$_form .= \"" . getTemplate("misc/form/table_row", "1") . "\";"); + + if ($nexto === false || (isset($fielddata['next_to']) && $nexto['field'] != $fielddata['next_to'])) { + $label = $fielddata['label']; + $desc = (isset($fielddata['desc']) ? $fielddata['desc'] : ''); + $style = (isset($fielddata['style']) ? ' style="'.$fielddata['style'].'"' : ''); + $mandatory = self::_getMandatoryFlag($fielddata); + $data_field = self::_parseDataField($fieldname, $fielddata); + $data_field = str_replace("\n", "", $data_field); + $data_field = str_replace("\t", "", $data_field); + if (isset($fielddata['has_nextto'])) { + $nexto = array('field' => $fieldname); + $data_field.='{NEXTTOFIELD_'.$fieldname.'}'; + } else { + $nexto = false; + } + eval("self::\$_form .= \"" . getTemplate("misc/form/table_row", "1") . "\";"); + } else { + $data_field = self::_parseDataField($fieldname, $fielddata); + $data_field = str_replace("\n", "", $data_field); + $data_field = str_replace("\t", "", $data_field); + $data_field = $fielddata['next_to_prefix'].$data_field; + self::$_form = str_replace( + '{NEXTTOFIELD_'.$fielddata['next_to'].'}', + $data_field, + self::$_form + ); + $nexto = false; + } } } } diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index ad88b3d3..2e0a12a2 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -26,10 +26,12 @@ return array( 'fields' => array( 'subdomain' => array( 'label' => $lng['domains']['domainname'], - 'type' => 'text' + 'type' => 'text', + 'has_nextto' => true ), 'domain' => array( - 'label' => '@TODO up to subdomain-part', + 'next_to' => 'subdomain', + 'next_to_prefix' => ' . ', 'type' => 'select', 'select_var' => $domains ), @@ -54,7 +56,7 @@ return array( 'label' => $lng['domains']['redirectifpathisurl'], 'desc' => $lng['domains']['redirectifpathisurlinfo'], 'type' => 'select', - 'select_var' => $redirectcode + 'select_var' => isset($redirectcode) ? $redirectcode : null ), 'ssl_redirect' => array( 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), diff --git a/lib/formfields/customer/email/formfield.emails_add.php b/lib/formfields/customer/email/formfield.emails_add.php index 5ea85d68..401e074f 100644 --- a/lib/formfields/customer/email/formfield.emails_add.php +++ b/lib/formfields/customer/email/formfield.emails_add.php @@ -26,10 +26,12 @@ return array( 'fields' => array( 'email_part' => array( 'label' => $lng['emails']['emailaddress'], - 'type' => 'text' + 'type' => 'text', + 'has_nextto' => true ), 'domain' => array( - 'label' => '@TODO up to email-part', + 'next_to' => 'email_part', + 'next_to_prefix' => ' @ ', 'type' => 'select', 'select_var' => $domains ),