summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xusr/local/www/interfaces_lan.php28
-rw-r--r--usr/local/www/interfaces_ppp.php18
-rwxr-xr-xusr/local/www/interfaces_vlan.php10
-rwxr-xr-xusr/local/www/load_balancer_pool_edit.php15
-rwxr-xr-xusr/local/www/services_captiveportal.php16
-rwxr-xr-xusr/local/www/services_dhcp.php23
6 files changed, 38 insertions, 72 deletions
diff --git a/usr/local/www/interfaces_lan.php b/usr/local/www/interfaces_lan.php
index ad2867d..9cbb04e 100755
--- a/usr/local/www/interfaces_lan.php
+++ b/usr/local/www/interfaces_lan.php
@@ -50,15 +50,16 @@ if ($_POST) {
if ($_POST['bridge']) {
/* double bridging? */
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- if ($i != $index) {
- if ($config['interfaces']['opt' . $i]['bridge'] == $_POST['bridge']) {
- //$input_errors[] = "Optional interface {$i} " .
- // "({$config['interfaces']['opt' . $i]['descr']}) is already bridged to " .
+ $iflist = get_configured_interface_list(true, true);
+ foreach ($iflist as $if) {
+ if ($if != $index) { /* XXX: totaly bogus */
+ if ($config['interfaces'][$if]['bridge'] == $_POST['bridge']) {
+ //$input_errors[] = "Optional interface {$if} " .
+ // "({$config['interfaces'][$if]['descr']}) is already bridged to " .
// "the specified interface.";
- } else if ($config['interfaces']['opt' . $i]['bridge'] == "opt{$index}") {
- //$input_errors[] = "Optional interface {$i} " .
- // "({$config['interfaces']['opt' . $i]['descr']}) is already bridged to " .
+ } else if ($config['interfaces'][$if]['bridge'] == $if) {
+ //$input_errors[] = "Optional interface {$if} " .
+ // "({$config['interfaces'][$if]['descr']}) is already bridged to " .
// "this interface.";
}
}
@@ -174,13 +175,10 @@ function enable_change(enable_over) {
<td width="78%" class="vtable">
<select name="bridge" class="formselect" id="bridge" onChange="enable_change(false)">
<option <?php if (!$pconfig['bridge']) echo "selected";?> value="">none</option>
- <?php $opts = array('wan' => "WAN");
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- if ($i != $index)
- $opts['opt' . $i] = "Optional " . $i . " (" .
- $config['interfaces']['opt' . $i]['descr'] . ")";
- }
- foreach ($opts as $opt => $optname): ?>
+ <?php
+ $opts = get_configured_interface_with_descr();
+ foreach ($opts as $opt => $optname):
+ if ($opt == "lan") continue;?>
<option <?php if ($opt == $pconfig['bridge']) echo "selected";?> value="<?=htmlspecialchars($opt);?>">
<?=htmlspecialchars($optname);?>
</option>
diff --git a/usr/local/www/interfaces_ppp.php b/usr/local/www/interfaces_ppp.php
index d77b66a..c72c771 100644
--- a/usr/local/www/interfaces_ppp.php
+++ b/usr/local/www/interfaces_ppp.php
@@ -41,13 +41,9 @@ $a_ppps = &$config['ppps']['ppp'] ;
function ppp_inuse($num) {
global $config, $g;
- if ($config['interfaces']['lan']['if'] == "ppp{$num}")
- return true;
- if ($config['interfaces']['wan']['if'] == "ppp{$num}")
- return true;
-
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- if ($config['interfaces']['opt' . $i]['if'] == "ppp{$num}")
+ $iflist = get_configured_interface_list(false, true);
+ foreach ($iflist as $if) {
+ if ($config['interfaces'][$if]['if'] == "ppp{$num}")
return true;
}
@@ -72,11 +68,9 @@ if ($_GET['act'] == "del") {
} else {
unset($a_ppps[$_GET['id']]);
- /* renumber all interfaces that use PPP */
- $config['interfaces']['lan']['if'] = renumber_ppp($config['interfaces']['lan']['if'], $_GET['id']);
- $config['interfaces']['wan']['if'] = renumber_ppp($config['interfaces']['wan']['if'], $_GET['id']);
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++)
- $config['interfaces']['opt' . $i]['if'] = renumber_ppp($config['interfaces']['opt' . $i]['if'], $_GET['id']);
+ $iflist = get_configured_interface_list(false, true);
+ foreach ($iflist as $if)
+ $config['interfaces'][$if]['if'] = renumber_ppp($config['interfaces'][$if]['if'], $_GET['id']);
write_config();
diff --git a/usr/local/www/interfaces_vlan.php b/usr/local/www/interfaces_vlan.php
index 276312b..1ae9397 100755
--- a/usr/local/www/interfaces_vlan.php
+++ b/usr/local/www/interfaces_vlan.php
@@ -39,13 +39,9 @@ $a_vlans = &$config['vlans']['vlan'] ;
function vlan_inuse($num) {
global $config, $g;
- if ($config['interfaces']['lan']['if'] == "vlan{$num}")
- return true;
- if ($config['interfaces']['wan']['if'] == "vlan{$num}")
- return true;
-
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- if ($config['interfaces']['opt' . $i]['if'] == "vlan{$num}")
+ $iflist = get_configured_interface_list(false, true);
+ foreach ($iflist as $if) {
+ if ($config['interfaces'][$if]['if'] == "vlan{$num}")
return true;
}
diff --git a/usr/local/www/load_balancer_pool_edit.php b/usr/local/www/load_balancer_pool_edit.php
index 7190bde..5aadeae 100755
--- a/usr/local/www/load_balancer_pool_edit.php
+++ b/usr/local/www/load_balancer_pool_edit.php
@@ -327,11 +327,10 @@ function clearcombo(){
<div style="float: none;">
<select id="gatewayip" name="gatewayip" onchange="gateway_change();" style="float: left;">
<?php
- $interfaces = array('wan' => 'WAN');
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- $interfaces['opt' . $i] = $config['interfaces']['opt' . $i]['descr'];
- }
+ $interfaces = get_configured_interface_with_descr(false, true);
foreach ($interfaces as $iface => $ifacename) {
+ if ($iface == "lan")
+ continue;
$ifinfo = get_interface_info($iface);
if(isset($ifinfo['gateway'])) { ?>
<option value="<?=$ifinfo['gateway'];?>"><?=htmlspecialchars($ifacename);?>'s Gateway</option>
@@ -357,13 +356,7 @@ function clearcombo(){
<input name="ipaddr" type="text" size="16" style="float: left;">
<select id="iface" name="iface" style="float: left; display: none;">
<?php
- if($config['interfaces']['lan'])
- $interfaces = array('wan' => 'WAN', 'lan' => 'LAN');
- else
- $interfaces = array('wan' => 'WAN');
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- $interfaces['opt' . $i] = $config['interfaces']['opt' . $i]['descr'];
- }
+ $interfaces = get_configured_interface_with_descr(false, true);
foreach ($interfaces as $iface => $ifacename) {
$ifinfo = get_interface_info($iface);
if(isset($ifinfo['gateway'])) { ?>
diff --git a/usr/local/www/services_captiveportal.php b/usr/local/www/services_captiveportal.php
index 7cc6c49..40a5cc6 100755
--- a/usr/local/www/services_captiveportal.php
+++ b/usr/local/www/services_captiveportal.php
@@ -92,9 +92,10 @@ if ($_POST) {
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
/* make sure no interfaces are bridged */
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- $coptif = &$config['interfaces']['opt' . $i];
- if (isset($coptif['enable']) && $coptif['bridge'] == $pconfig['cinterface']) {
+ $iflist = get_configured_interface_list(true);
+ foreach ($iflist as $if) {
+ $coptif = &$config['interfaces'][$if];
+ if ($coptif['bridge'] == $pconfig['cinterface']) {
$input_errors[] = "The captive portal cannot be used when one or more interfaces are bridged.";
break;
}
@@ -279,14 +280,7 @@ function enable_change(enable_change) {
<td width="78%" class="vtable">
<select name="cinterface" class="formselect" id="cinterface">
<?php
- if($config['interfaces']['lan'])
- $interfaces = array('lan' => 'LAN');
- else
- $interfaces = array();
- for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- if (isset($config['interfaces']['opt' . $i]['enable']))
- $interfaces['opt' . $i] = $config['interfaces']['opt' . $i]['descr'];
- }
+ $interfaces = get_configured_interface_with_descr();
foreach ($interfaces as $iface => $ifacename): ?>
<option value="<?=$iface;?>" <?php if ($iface == $pconfig['cinterface']) echo "selected"; ?>>
<?=htmlspecialchars($ifacename);?>
diff --git a/usr/local/www/services_dhcp.php b/usr/local/www/services_dhcp.php
index 2c46379..bdfe57f 100755
--- a/usr/local/www/services_dhcp.php
+++ b/usr/local/www/services_dhcp.php
@@ -39,30 +39,21 @@ if ($_POST['if'])
if($config['installedpackages']['olsrd']) {
foreach($config['installedpackages']['olsrd']['config'] as $olsrd) {
if($olsrd['enable']) {
- $iflist = array("lan" => "LAN", "wan" => "WAN");
$is_olsr_enabled = true;
break;
}
}
}
-if($config['interfaces']['lan']) {
- if(!$iflist)
- $iflist = array("lan" => "LAN");
-} else {
- /* if WAN is configured for anything other than static
- IP, do not allow DHCP server to be configured. */
- if (!is_ipaddr($config['interfaces']['wan']['ipaddr']))
- $singleif_nostaticip = true;
- $iflist = array("wan" => strtoupper($g['wan_interface_name']));
-}
+$ifdescrs = get_configured_interface_with_descr();
-for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
- $oc = $config['interfaces']['opt' . $i];
+foreach ($ifdescrs as $ifname => $ifdesc) {
+ $oc = $config['interfaces'][$ifname];
- if (isset($oc['enable']) && $oc['if'] && (!$oc['bridge'])) {
- $iflist['opt' . $i] = $oc['descr'];
- }
+ if (!is_ipaddr($oc['ipaddr']) && $is_olsr_enabled)
+ $singleif_nostaticip = true;
+ else if ($oc['if'] && (!$oc['bridge']))
+ $iflist[$ifname] = $ifdesc['descr'];
}
/* set the starting interface */
OpenPOWER on IntegriCloud