diff --git a/lam/lib/modules/ddns.inc b/lam/lib/modules/ddns.inc
index 0a3d757f..406d56b6 100644
--- a/lam/lib/modules/ddns.inc
+++ b/lam/lib/modules/ddns.inc
@@ -92,19 +92,19 @@ class ddns extends baseModule {
"Text" => _("Please enter the IP address of your DNS server.")
),
'zone' => array(
- "Headline" => _("Zone names"),
- "Text" => _("Zone names for the DNS server (e.g. company.local).")
+ "Headline" => _("Zone name"),
+ "Text" => _("Zone name for the DNS server (e.g. company.local).")
),
'zone_reverse' => array(
- "Headline" => _("Reverse zone names"),
- "Text" => ("Name of the reverse zones of the DNS server (e.g. 0.168.192.in-addr.arpa).")
+ "Headline" => _("Reverse zone name"),
+ "Text" => ("Name of the reverse zone of the DNS server (e.g. 0.168.192.in-addr.arpa).")
),
);
// available PDF fields
$return['PDF_fields'] = array(
'DNSserver' => _('IP address of the DNS server'),
- 'zone' => _('Zone names'),
- 'reverseZone' => _('Reverse zone names'),
+ 'zone' => _('Zone name'),
+ 'reverseZone' => _('Reverse zone name'),
);
// upload fields
if (isset($_SESSION['loggedIn']) && $this->check_if_ddns_is_enable()) {
@@ -118,14 +118,14 @@ class ddns extends baseModule {
),
array(
'name' => 'ddns_zone',
- 'description' => _('Zone names'),
+ 'description' => _('Zone name'),
'help' => 'zone',
'example' => 'company.local',
'required' => true
),
array(
'name' => 'ddns_reverseZone',
- 'description' => _('Reverse zone names'),
+ 'description' => _('Reverse zone name'),
'help' => 'zone_reverse',
'example' => '0.168.192.in-addr.arpa',
'required' => true
@@ -392,11 +392,11 @@ class ddns extends baseModule {
if (isset($zones[1])) {
$revzone = $zones[1];
}
- // zone names
- $zoneInput = new htmlTableExtendedInputField(_('Zone names'), 'zone', $zone, 'zone');
+ // zone name
+ $zoneInput = new htmlTableExtendedInputField(_('Zone name'), 'zone', $zone, 'zone');
$return->addElement($zoneInput, true);
- // reverse zone names
- $revZoneInput = new htmlTableExtendedInputField(_('Reverse zone names'), 'zone_reverse', $revzone, 'zone_reverse');
+ // reverse zone name
+ $revZoneInput = new htmlTableExtendedInputField(_('Reverse zone name'), 'zone_reverse', $revzone, 'zone_reverse');
$return->addElement($revZoneInput);
}
}
@@ -424,8 +424,8 @@ class ddns extends baseModule {
}
return array(
get_class($this) . '_DNSserver' => array('' . _('IP address of the DNS server') . '' . $this->getDNSServer() . ''),
- get_class($this) . '_zone' => array('' . _('Zone names') . '' . $zone . ''),
- get_class($this) . '_reverseZone' => array('' . _('Reverse zone names') . '' . $revzone . ''),
+ get_class($this) . '_zone' => array('' . _('Zone name') . '' . $zone . ''),
+ get_class($this) . '_reverseZone' => array('' . _('Reverse zone name') . '' . $revzone . ''),
);
}
@@ -455,18 +455,28 @@ class ddns extends baseModule {
/**
* Returns the zone names.
*
- * @return array zone names
+ * @return array zone names array(zone, reverse zone)
*/
private function getZoneNames() {
$return = array();
+ $zone = '';
+ $revZone = '';
if (is_array($this->attributes['dhcpStatements'])) {
for ($i = 0; $i < sizeof($this->attributes['dhcpStatements']); $i++) {
if (substr($this->attributes['dhcpStatements'][$i], 0, 5) == 'zone ') {
$parts = explode(" ",substr($this->attributes['dhcpStatements'][$i],5));
- $return[] = substr(array_shift($parts),0,-1);
+ $value = substr(array_shift($parts),0,-1);
+ if (strpos($value, 'in-addr.arpa') === false) {
+ $zone = $value;
+ }
+ else {
+ $revZone = $value;
+ }
}
}
}
+ $return[0] = $zone;
+ $return[1] = $revZone;
return $return;
}