summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2014-05-29 08:52:46 -0300
committerRenato Botelho <garga@FreeBSD.org>2014-05-29 08:53:05 -0300
commit22ed6e3eab85f55e993c75a28a772b6e1fc870d8 (patch)
tree4b02c531343afc3398fea566b9b6a896cbb92b02 /usr
parent1930a63e811915da210555804925e67ec419d662 (diff)
downloadpfsense-22ed6e3eab85f55e993c75a28a772b6e1fc870d8.zip
pfsense-22ed6e3eab85f55e993c75a28a772b6e1fc870d8.tar.gz
Show disabled interface when it was already part of interface group, it avoids to show a random interface instead and let user to add it by mistake. It should fix #3680
Diffstat (limited to 'usr')
-rwxr-xr-xusr/local/www/interfaces_groups.php2
-rwxr-xr-xusr/local/www/interfaces_groups_edit.php18
2 files changed, 14 insertions, 6 deletions
diff --git a/usr/local/www/interfaces_groups.php b/usr/local/www/interfaces_groups.php
index 1dd8f31..0910360 100755
--- a/usr/local/www/interfaces_groups.php
+++ b/usr/local/www/interfaces_groups.php
@@ -106,7 +106,7 @@ include("head.inc");
<td class="listr" ondblclick="document.location='interfaces_groups_edit.php?id=<?=$i;?>';">
<?php
$members_arr = explode(" ", $ifgroupentry['members']);
- $iflist = get_configured_interface_with_descr();
+ $iflist = get_configured_interface_with_descr(false, true);
$memberses_arr = array();
foreach ($members_arr as $memb)
$memberses_arr[] = $iflist[$memb] ? $iflist[$memb] : $memb;
diff --git a/usr/local/www/interfaces_groups_edit.php b/usr/local/www/interfaces_groups_edit.php
index a5960be..3ff0035 100755
--- a/usr/local/www/interfaces_groups_edit.php
+++ b/usr/local/www/interfaces_groups_edit.php
@@ -58,9 +58,11 @@ if (isset($id) && $a_ifgroups[$id]) {
$pconfig['ifname'] = $a_ifgroups[$id]['ifname'];
$pconfig['members'] = $a_ifgroups[$id]['members'];
$pconfig['descr'] = html_entity_decode($a_ifgroups[$id]['descr']);
-
}
+$iflist = get_configured_interface_with_descr();
+$iflist_disabled = get_configured_interface_with_descr(false, true);
+
if ($_POST) {
unset($input_errors);
@@ -74,8 +76,7 @@ if ($_POST) {
if (preg_match("/([^a-zA-Z])+/", $_POST['ifname'], $match))
$input_errors[] = gettext("Only letters A-Z are allowed as the group name.");
- $ifaces = get_configured_interface_with_descr();
- foreach ($ifaces as $gif => $gdescr) {
+ foreach ($iflist as $gif => $gdescr) {
if ($gdescr == $_POST['ifname'] || $gif == $_POST['ifname'])
$input_errors[] = "The specified group name is already used by an interface. Please choose another name.";
}
@@ -200,7 +201,6 @@ var addRowTo = (function() {
<?php
$innerHTML="\"<input type='hidden' value='\" + totalrows +\"' name='\" + rowname[i] + \"_row-\" + totalrows + \"' /><select size='1' name='\" + rowname[i] + totalrows + \"'>\" +\"";
- $iflist = get_configured_interface_with_descr();
foreach ($iflist as $ifnam => $ifdescr)
$innerHTML .= "<option value='{$ifnam}'>{$ifdescr}<\/option>";
$innerHTML .= "<\/select>\";";
@@ -288,12 +288,20 @@ function removeRow(el) {
<td class="vtable">
<select name="members<?php echo $tracker; ?>" class="formselect" id="members<?php echo $tracker; ?>">
<?php
+ $found = false;
foreach ($iflist as $ifnam => $ifdescr) {
echo "<option value=\"{$ifnam}\"";
- if ($ifnam == $members)
+ if ($ifnam == $members) {
+ $found = true;
echo " selected=\"selected\"";
+ }
echo ">{$ifdescr}</option>";
}
+
+ if ($found === false)
+ foreach ($iflist_disabled as $ifnam => $ifdescr)
+ if ($ifnam == $members)
+ echo "<option value=\"{$ifnam}\" selected=\"selected\">{$ifdescr}</option>";
?>
</select>
</td>
OpenPOWER on IntegriCloud