aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/bind/bind.inc11
-rw-r--r--config/bind/bind_zones.xml4
2 files changed, 10 insertions, 5 deletions
diff --git a/config/bind/bind.inc b/config/bind/bind.inc
index 4d579689..d5af73b6 100644
--- a/config/bind/bind.inc
+++ b/config/bind/bind.inc
@@ -346,7 +346,7 @@ EOD;
$custom_root_zone = true;
}
$zonetype = $zone['type'];
- $zoneview = $zone['view'];
+ $zoneviewlist = explode(',', $zone['view']);
$zonecustom = base64_decode($zone['custom']);
$zoneipslave = $zone['slaveip'];
$zoneforwarders = $zone['forwarders'];
@@ -358,8 +358,10 @@ EOD;
// Ensure zone view folder exists
if ($zonetype != "forward") {
- if (!(is_dir(CHROOT_LOCALBASE."/etc/namedb/$zonetype/$zoneview"))) {
- mkdir(CHROOT_LOCALBASE."/etc/namedb/$zonetype/$zoneview", 0755, true);
+ foreach ($zoneviewlist as $zoneview) {
+ if (!(is_dir(CHROOT_LOCALBASE."/etc/namedb/$zonetype/$zoneview"))) {
+ mkdir(CHROOT_LOCALBASE."/etc/namedb/$zonetype/$zoneview", 0755, true);
+ }
}
}
@@ -383,7 +385,8 @@ EOD;
$zoneallowtransfer = str_replace(',', '; ', $zone['allowtransfer']);
}
- if ($zoneview == $viewname) {
+ if (in_array($viewname, $zoneviewlist)) {
+ $zoneview = $viewname;
// Add zone name
if ($zonereverso == "on") {
if ($zonereversv6o == "on") {
diff --git a/config/bind/bind_zones.xml b/config/bind/bind_zones.xml
index 667fd608..17af9538 100644
--- a/config/bind/bind_zones.xml
+++ b/config/bind/bind_zones.xml
@@ -154,11 +154,13 @@
<field>
<fielddescr>View</fielddescr>
<fieldname>view</fieldname>
- <description><![CDATA[Select the View that this zone will belong.]]></description>
+ <description><![CDATA[Select(CTRL+click) views that this zone will belong.]]></description>
<type>select_source</type>
<source><![CDATA[$config['installedpackages']['bindviews']['config']]]></source>
<source_name>name</source_name>
<source_value>name</source_value>
+ <multiple/>
+ <size>02</size>
</field>
<field>
<fielddescr>Reverse Zone</fielddescr>