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
),