diff options
Diffstat (limited to 'config/bind')
-rw-r--r-- | config/bind/bind.inc | 11 | ||||
-rw-r--r-- | config/bind/bind_zones.xml | 4 |
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> |