summaryrefslogtreecommitdiffstats
path: root/usr/local/www/interfaces_groups_edit.php
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local/www/interfaces_groups_edit.php')
-rwxr-xr-xusr/local/www/interfaces_groups_edit.php36
1 files changed, 20 insertions, 16 deletions
diff --git a/usr/local/www/interfaces_groups_edit.php b/usr/local/www/interfaces_groups_edit.php
index b72a442..1906a69 100755
--- a/usr/local/www/interfaces_groups_edit.php
+++ b/usr/local/www/interfaces_groups_edit.php
@@ -97,26 +97,30 @@ if ($_POST) {
if (isset($id) && $a_ifgroups[$id] && $_POST['ifname'] != $a_ifgroups[$id]['ifname']) {
- foreach ($config['filter']['rule'] as $ridx => $rule) {
- if (isset($rule['floating'])) {
- $rule_ifs = explode(",", $rule['interface']);
- $rule_changed = false;
- foreach ($rule_ifs as $rule_if_id => $rule_if) {
- if ($rule_if == $a_ifgroups[$id]['ifname']) {
- $rule_ifs[$rule_if_id] = $_POST['ifname'];
- $rule_changed = true;
+ if (!empty($config['filter']) && is_array($config['filter']['rule'])) {
+ foreach ($config['filter']['rule'] as $ridx => $rule) {
+ if (isset($rule['floating'])) {
+ $rule_ifs = explode(",", $rule['interface']);
+ $rule_changed = false;
+ foreach ($rule_ifs as $rule_if_id => $rule_if) {
+ if ($rule_if == $a_ifgroups[$id]['ifname']) {
+ $rule_ifs[$rule_if_id] = $_POST['ifname'];
+ $rule_changed = true;
+ }
}
+ if ($rule_changed)
+ $config['filter']['rule'][$ridx]['interface'] = implode(",", $rule_ifs);
+ } else {
+ if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
+ $config['filter']['rule'][$ridx]['interface'] = $_POST['ifname'];
}
- if ($rule_changed)
- $config['filter']['rule'][$ridx]['interface'] = implode(",", $rule_ifs);
- } else {
- if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
- $config['filter']['rule'][$ridx]['interface'] = $_POST['ifname'];
}
}
- foreach ($config['nat']['rule'] as $ridx => $rule) {
- if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
- $config['nat']['rule'][$ridx]['interface'] = $_POST['ifname'];
+ if (!empty($config['nat']) && is_array($config['nat']['rule'])) {
+ foreach ($config['nat']['rule'] as $ridx => $rule) {
+ if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
+ $config['nat']['rule'][$ridx]['interface'] = $_POST['ifname'];
+ }
}
$omembers = explode(" ", $a_ifgroups[$id]['members']);
if (count($omembers) > 0) {
OpenPOWER on IntegriCloud