Sort port by interface name while list ports. (#15093)

* Sort port by interface name while list ports.

* Remove sql sort

* use ksort instead of sort manually

* Update ajax_listports.php

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
This commit is contained in:
KITAHARA SETSUNA
2023-06-25 01:17:37 +09:00
committed by GitHub
parent f84fca697c
commit 2e2d1bb7d1

View File

@@ -20,8 +20,14 @@ if (! Auth::check()) {
Debug::set($_REQUEST['debug']);
if (is_numeric($_GET['device_id'])) {
foreach (dbFetch('SELECT * FROM ports WHERE device_id = ? ORDER BY portName,ifAlias', [$_GET['device_id']]) as $interface) {
// use php to sort since we need call cleanPort
$interface_map = [];
foreach (dbFetch('SELECT * FROM ports WHERE device_id = ?', [$_GET['device_id']]) as $interface) {
$interface = cleanPort($interface);
$interface_map[$interface['label']] = $interface;
}
ksort($interface_map);
foreach ($interface_map as $interface) {
$string = addslashes(html_entity_decode($interface['label'] . ' - ' . $interface['ifAlias']));
echo "obj.options[obj.options.length] = new Option('" . $string . "','" . $interface['port_id'] . "');\n";
}