From eaf84be82556d0bf236faf321b7584d89057d17a Mon Sep 17 00:00:00 2001 From: leiweibau <105860611+leiweibau@users.noreply.github.com> Date: Thu, 28 Jul 2022 20:22:36 +0200 Subject: [PATCH] add multiple ports support --- front/network.php | 75 +++++++++++++++++++++++++++++------------------ 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/front/network.php b/front/network.php index 4dff45b1..4f885ce4 100644 --- a/front/network.php +++ b/front/network.php @@ -68,10 +68,10 @@ echo $_REQUEST['device_id'];
-
+

Verwalte Netzwerk-Geräte

- +
@@ -91,10 +91,11 @@ echo $_REQUEST['device_id']; +
- +
@@ -135,6 +136,9 @@ echo $_REQUEST['device_id'];
'.$pia_func_netdevname.' / '.$pia_func_netdevtyp; if ($pia_func_netdevport != "") {echo ' ('.$pia_func_netdevport.')';} @@ -143,7 +147,6 @@ function createnetworktab($pia_func_netdevid, $pia_func_netdevname, $pia_func_ne function createnetworktabcontent($pia_func_netdevid, $pia_func_netdevname, $pia_func_netdevtyp, $pia_func_netdevport, $activetab) { echo '

'.$pia_func_netdevname.' (ID: '.$pia_func_netdevid.')


'; - echo '
@@ -152,9 +155,10 @@ function createnetworktabcontent($pia_func_netdevid, $pia_func_netdevname, $pia_ '; - // Prepare Array + // Prepare Array for Devices with Port value + // If no Port is set, the Port number is set to 1 if ($pia_func_netdevport == "") {$pia_func_netdevport = 1;} - //echo $pia_func_netdevport; + // Create Array with specific length $network_device_portname = array(); $network_device_portmac = array(); $network_device_portip = array(); @@ -163,39 +167,47 @@ function createnetworktabcontent($pia_func_netdevid, $pia_func_netdevname, $pia_ { for ($x=1; $x<=$pia_func_netdevport; $x++) { $network_device_portname[$x] = ''; $network_device_portmac[$x] = ''; $network_device_portip[$x] = ''; $network_device_portstate[$x] = ''; } } - // Debug - // print_r($network_device_port); - // SQL for Devices with Network Device Number + // make sql query for Network Hardware ID global $db; $func_sql = 'SELECT * FROM "Devices" WHERE "dev_Infrastructure" = "'.$pia_func_netdevid.'"'; $func_result = $db->query($func_sql);//->fetchArray(SQLITE3_ASSOC); - while($func_res = $func_result->fetchArray(SQLITE3_ASSOC)){ - // Debug - //if(!isset($func_res['dev_Name'])) continue; - if ($func_res['dev_PresentLastScan'] == 1) {$port_state = '
Up
';} else {$port_state = '
Down
';} - //echo 'Port: '.$func_res['dev_Infrastructure_port'].' - '.$port_state.' - '.$func_res['dev_Name'].' - '.$func_res['dev_LastIP'].'
'; + while($func_res = $func_result->fetchArray(SQLITE3_ASSOC)) { + //if(!isset($func_res['dev_Name'])) continue; + if ($func_res['dev_PresentLastScan'] == 1) {$port_state = '
Online
';} else {$port_state = '
Offline
';} + // Prepare Table with Port > push values in array if ($pia_func_netdevport > 1) { + if (stristr($func_res['dev_Infrastructure_port'], ',') == '') { $network_device_portname[$func_res['dev_Infrastructure_port']] = $func_res['dev_Name']; $network_device_portmac[$func_res['dev_Infrastructure_port']] = $func_res['dev_MAC']; $network_device_portip[$func_res['dev_Infrastructure_port']] = $func_res['dev_LastIP']; $network_device_portstate[$func_res['dev_Infrastructure_port']] = $func_res['dev_PresentLastScan']; + } else { + $multiport = array(); + $multiport = explode(',',$func_res['dev_Infrastructure_port']); + foreach($multiport as $row) { + $network_device_portname[trim($row)] = $func_res['dev_Name']; + $network_device_portmac[trim($row)] = $func_res['dev_MAC']; + $network_device_portip[trim($row)] = $func_res['dev_LastIP']; + $network_device_portstate[trim($row)] = $func_res['dev_PresentLastScan']; + } + unset($multiport); + } + // $network_device_portname[$func_res['dev_Infrastructure_port']] = $func_res['dev_Name']; + // $network_device_portmac[$func_res['dev_Infrastructure_port']] = $func_res['dev_MAC']; + // $network_device_portip[$func_res['dev_Infrastructure_port']] = $func_res['dev_LastIP']; + // $network_device_portstate[$func_res['dev_Infrastructure_port']] = $func_res['dev_PresentLastScan']; } else { -// Table without Port + // Table without Port > echo values echo ''; } } - // Debug - //print_r($network_device_portname); - //print_r($network_device_portmac); - //print_r($network_device_portip); - //print_r($network_device_portstate); - + // Create table with Port if ($pia_func_netdevport > 1) { for ($x=1; $x<=$pia_func_netdevport; $x++) { - if ($network_device_portstate[$x] == 1) {$port_state = '
Up
';} else {$port_state = '
Down
';} + if ($network_device_portstate[$x] == 1) {$port_state = '
Online
';} else {$port_state = '
Offline
';} echo ' @@ -208,13 +220,18 @@ function createnetworktabcontent($pia_func_netdevid, $pia_func_netdevname, $pia_ '; echo ' '; } +// ##################################### +// ## End Function Setup +// ##################################### + +// ##################################### +// ## Create Tabs +// ##################################### $sql = 'SELECT "device_id", "net_device_name", "net_device_typ", "net_device_port" FROM "network_infrastructure"'; $result = $db->query($sql);//->fetchArray(SQLITE3_ASSOC); ?> - -
Hostname Last known IP
###'.$port_state.''.$func_res['dev_Name'].''.$func_res['dev_LastIP'].'
'.$x.' '.$port_state.'