diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml index bbdce9725..76cfb06bf 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml @@ -100,9 +100,6 @@ - - - diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php index b81bcc2b7..cf2eff951 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php @@ -103,7 +103,9 @@ class MenuSystem } } } + $config = Config::getInstance()->object(); + // add interfaces to "Interfaces" menu tab... $ifarr = array(); if ($config->interfaces->count() > 0) { @@ -124,6 +126,25 @@ class MenuSystem )); } + // add interfaces to "Interfaces: Wireless" menu tab... + $wlarr = array(); + if ($config->interfaces->count() > 0) { + foreach ($config->interfaces->children() as $key => $node) { + if (!empty($node->wireless)) { + $wlarr[$key] = !empty($node->descr) ? (string)$node->descr : strtoupper($key); + } + } + } + natcasesort($wlarr); + $ordid = 100; + foreach ($wlarr as $key => $descr) { + $this->appendItem('Interfaces.Wireless', $key, array( + 'visiblename' => sprintf(gettext('%s Status'), $descr), + 'url' => '/status_wireless.php?if='. $key, + 'order' => $ordid++, + )); + } + // add interfaces to "Firewall: Rules" menu tab... if ($config->interfaces->count() > 0) { foreach ($config->interfaces->children() as $key => $node) { diff --git a/src/www/status_wireless.php b/src/www/status_wireless.php index 4670c9e1a..f8e567436 100644 --- a/src/www/status_wireless.php +++ b/src/www/status_wireless.php @@ -34,63 +34,39 @@ require_once("interfaces.inc"); if ($_SERVER['REQUEST_METHOD'] === 'GET') { if(!empty($_GET['if'])) { $if = $_GET['if']; - } - if (!empty($_GET['savemsg']) && $_GET['savemsg'] == 'rescan') { - $savemsg = gettext("Rescan has been initiated in the background. Refresh this page in 10 seconds to see the results."); - } -} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { - if (!empty($_POST['if'])) { - $if = $_POST['if']; + } else { + /* if no interface is provided this invoke is invalid */ + header(url_safe('Location: /index.php')); + exit; } $rwlif = escapeshellarg(get_real_interface($if)); - if(!empty($_POST['rescanwifi'])) { - mwexecf_bg('/sbin/ifconfig %s scan', $rwlif); - header(url_safe('Location: /status_wireless.php?if=%s&savemsg=rescan', array($if))); + if(!empty($_GET['rescanwifi'])) { + mwexec("/sbin/ifconfig {$rwlif} scan; sleep 1"); + header(url_safe('Location: /status_wireless.php?if=%s', array($if))); exit; } } -$ciflist = get_configured_interface_with_descr(); -if(empty($if)) { - /* Find the first wireless interface */ - foreach($ciflist as $interface => $ifdescr) { - if(is_interface_wireless(get_real_interface($interface))) { - $if = $interface; - break; - } - } -} -$rwlif = escapeshellarg(get_real_interface($if)); include("head.inc"); -?> +$main_buttons = array( + array('href' => 'status_wireless.php?if=' . html_safe($if) . '&rescanwifi=1', 'label' => gettext('Rescan')), +); + +?>
+
- - $ifdescr) { - if (is_interface_wireless(get_real_interface($interface))) { - $enabled = false; - if($if == $interface) { - $enabled = true; - } - $tab_array[] = array(gettext("Status") . " ({$ifdescr})", $enabled, "status_wireless.php?if={$interface}"); - } - } - display_top_tabs($tab_array); -?> -
+

-
@@ -138,8 +114,7 @@ include("head.inc");
-
-
+

@@ -181,18 +156,9 @@ include("head.inc"); - -
-
- - - - -
- " class="btn btn-primary"/> -
+