$gdescr) { if ($gdescr == $pconfig['ifname'] || $gif == $pconfig['ifname']) { $input_errors[] = gettext("The specified group name is already used by an interface. Please choose another name."); } } if (empty($pconfig['members'])) { $input_errors[] = gettext("At least one group member must be specified."); $pconfig['members'] = array(); } if (count($input_errors) == 0) { $ifgroupentry = array(); $ifgroupentry['members'] = implode(' ', $pconfig['members']); $ifgroupentry['descr'] = $pconfig['descr']; $ifgroupentry['ifname'] = $pconfig['ifname']; if (isset($id)) { // rename interface group if ($pconfig['ifname'] != $a_ifgroups[$id]['ifname']) { if (!empty($config['filter']) && is_array($config['filter']['rule'])) { foreach ($config['filter']['rule'] as &$rule) { $rule_ifs = explode(",", $rule['interface']); if (in_array($a_ifgroups[$id]['ifname'], $rule_ifs)) { // replace interface $rule_ifs[array_search($a_ifgroups[$id]['ifname'], $rule_ifs)] = $ifgroupentry['ifname']; $rule['interface'] = implode(",", $rule_ifs); } } } if (!empty($config['nat']) && is_array($config['nat']['rule'])) { foreach ($config['nat']['rule'] as &$rule) { $rule_ifs = explode(",", $rule['interface']); if (in_array($a_ifgroups[$id]['ifname'], $rule_ifs)) { // replace interface $rule_ifs[array_search($a_ifgroups[$id]['ifname'], $rule_ifs)] = $ifgroupentry['ifname']; $rule['interface'] = implode(",", $rule_ifs); } } } } // remove group members foreach (explode(" ", $a_ifgroups[$id]['members']) as $old_member) { if (!in_array($old_member, $pconfig['members'])) { $realif = get_real_interface($old_member); if (!empty($realif)) { mwexec("/sbin/ifconfig {$realif} -group " . escapeshellarg($a_ifgroups[$id]['ifname'])); } } } // update item $a_ifgroups[$id] = $ifgroupentry; } else { // add new item $a_ifgroups[] = $ifgroupentry; } write_config(); interface_group_setup($ifgroupentry); header(url_safe('Location: /interfaces_groups.php')); exit; } } include("head.inc"); legacy_html_escape_form_data($pconfig); ?>
0) print_input_errors($input_errors); ?>
 
  " /> " onclick="window.location.href='/interfaces_groups.php'" />