query($sql); // ##################################### // ## Expand Devices Table // ##################################### $sql = 'ALTER TABLE "Devices" ADD "dev_Infrastructure" INTEGER'; $result = $db->query($sql); $sql = 'ALTER TABLE "Devices" ADD "dev_Infrastructure_port" INTEGER'; $result = $db->query($sql); // ##################################### // Add New Network Devices // ##################################### if ($_REQUEST['Networkinsert'] == "yes") { if (isset($_REQUEST['NetworkDeviceName']) && isset($_REQUEST['NetworkDeviceTyp'])) { $sql = 'INSERT INTO "network_infrastructure" ("net_device_name", "net_device_typ", "net_device_port") VALUES("'.$_REQUEST['NetworkDeviceName'].'", "'.$_REQUEST['NetworkDeviceTyp'].'", "'.$_REQUEST['NetworkDevicePort'].'")'; $result = $db->query($sql); } } // ##################################### // Add New Network Devices // ##################################### if ($_REQUEST['Networkedit'] == "yes") { if (isset($_REQUEST['NewNetworkDeviceName']) && isset($_REQUEST['NewNetworkDeviceTyp'])) { $sql = 'UPDATE "network_infrastructure" SET "net_device_name" = "'.$_REQUEST['NewNetworkDeviceName'].'", "net_device_typ" = "'.$_REQUEST['NewNetworkDeviceTyp'].'", "net_device_port" = "'.$_REQUEST['NewNetworkDevicePort'].'" WHERE "device_id"="'.$_REQUEST['NetworkDeviceID'].'"'; //$sql = 'INSERT INTO "network_infrastructure" ("net_device_name", "net_device_typ", "net_device_port") VALUES("'.$_REQUEST['NetworkDeviceName'].'", "'.$_REQUEST['NetworkDeviceTyp'].'", "'.$_REQUEST['NetworkDevicePort'].'")'; $result = $db->query($sql); } } // ##################################### // remove Network Devices // ##################################### if ($_REQUEST['Networkdelete'] == "yes") { if (isset($_REQUEST['NetworkDeviceID'])) { $sql = 'DELETE FROM "network_infrastructure" WHERE "device_id"="'.$_REQUEST['NetworkDeviceID'].'"'; $result = $db->query($sql); } } ?>

'.$pia_func_netdevname.' / '.$pia_func_netdevtyp; if ($pia_func_netdevport != "") {echo ' ('.$pia_func_netdevport.')';} echo ''; } function createnetworktabcontent($pia_func_netdevid, $pia_func_netdevname, $pia_func_netdevtyp, $pia_func_netdevport, $activetab) { global $pia_lang; echo '

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


'; echo '
'; // 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;} // Create Array with specific length $network_device_portname = array(); $network_device_portmac = array(); $network_device_portip = array(); $network_device_portstate = array(); // 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)) { //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'], ',') == '') { if ($network_device_portname[$func_res['dev_Infrastructure_port']] != '') {$network_device_portname[$func_res['dev_Infrastructure_port']] = $network_device_portname[$func_res['dev_Infrastructure_port']].','.$func_res['dev_Name'];} else {$network_device_portname[$func_res['dev_Infrastructure_port']] = $func_res['dev_Name'];} if ($network_device_portmac[$func_res['dev_Infrastructure_port']] != '') {$network_device_portmac[$func_res['dev_Infrastructure_port']] = $network_device_portmac[$func_res['dev_Infrastructure_port']].','.$func_res['dev_MAC'];} else {$network_device_portmac[$func_res['dev_Infrastructure_port']] = $func_res['dev_MAC'];} if ($network_device_portip[$func_res['dev_Infrastructure_port']] != '') {$network_device_portip[$func_res['dev_Infrastructure_port']] = $network_device_portip[$func_res['dev_Infrastructure_port']].','.$func_res['dev_LastIP'];} else {$network_device_portip[$func_res['dev_Infrastructure_port']] = $func_res['dev_LastIP'];} if (isset($network_device_portstate[$func_res['dev_Infrastructure_port']])) {$network_device_portstate[$func_res['dev_Infrastructure_port']] = $network_device_portstate[$func_res['dev_Infrastructure_port']].','.$func_res['dev_PresentLastScan'];} else {$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); } } else { // Table without Port > echo values // Specific icon for devicetype if ($pia_func_netdevtyp == "WLAN") {$dev_port_icon = 'fa-wifi';} if ($pia_func_netdevtyp == "Powerline") {$dev_port_icon = 'fa-flash';} echo ''; } } // Create table with Port if ($pia_func_netdevport > 1) { for ($x=1; $x<=$pia_func_netdevport; $x++) { // Prepare online/offline badge for later functions $online_badge = '
Online
'; $offline_badge = '
Offline
'; // Set online/offline badge echo ''; echo ''; // Set online/offline badge // Check if multiple badges necessary if (stristr($network_device_portstate[$x],',') == '') { // Set single online/offline badge if ($network_device_portstate[$x] == 1) {$port_state = $online_badge;} else {$port_state = $offline_badge;} echo ''; } else { // Set multiple online/offline badges $multistate = array(); $multistate = explode(',',$network_device_portstate[$x]); echo ''; unset($multistate); } // Check if multiple Hostnames are set // print single hostname if (stristr($network_device_portmac[$x],',') == '') { echo ''; } else { // print multiple hostnames with separate links $multimac = array(); $multimac = explode(',',$network_device_portmac[$x]); $multiname = array(); $multiname = explode(',',$network_device_portname[$x]); echo ''; unset($multiname, $multimac); } // Check if multiple IP are set // print single IP if (stristr($network_device_portip[$x],',') == '') { echo ''; } else { // print multiple IPs $multiip = array(); $multiip = explode(',',$network_device_portip[$x]); echo ''; unset($multiip); } echo ''; } } echo '
Port '.$pia_lang['Network_Table_State'].' '.$pia_lang['Network_Table_Hostname'].' '.$pia_lang['Network_Table_IP'].'
'.$port_state.''.$func_res['dev_Name'].''.$func_res['dev_LastIP'].'
'.$x.''.$port_state.''; foreach($multistate as $key => $value) { if ($value == 1) {$port_state = $online_badge;} else {$port_state = $offline_badge;} echo $port_state.'
'; } echo '
'.$network_device_portname[$x].''; foreach($multiname as $key => $value) { echo ''.$value.'
'; } echo '
'.$network_device_portip[$x].''; foreach($multiip as $key => $value) { echo $value.'
'; } echo '
'; 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); ?>