From b52de577b5f72fd102bf00a29756103c37963728 Mon Sep 17 00:00:00 2001 From: Daniel <git@myrandor.com> Date: Thu, 16 Mar 2023 15:27:41 -0400 Subject: [PATCH] Fix saving the mac address --- app/subnets/scan/subnet-scan-execute-update-snmp-arp.php | 2 +- functions/classes/class.Scan.php | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php b/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php index a22a8af1..6f958929 100644 --- a/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php +++ b/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php @@ -72,7 +72,7 @@ if (sizeof($all_subnet_hosts)>0) { $result[$Subnets->transform_address($r['ip'], "decimal")]['code'] = 0; $result[$Subnets->transform_address($r['ip'], "decimal")]['status'] = "Online"; // update alive time and mac address - @$Scan->ping_update_lastseen($result[$Subnets->transform_address($r['ip'], "decimal")]['id'], $r['mac']); + @$Scan->ping_update_lastseen($result[$Subnets->transform_address($r['ip'], "decimal")]['id'], null, $r['mac']); } } } diff --git a/functions/classes/class.Scan.php b/functions/classes/class.Scan.php index aecf0263..0f1e92dd 100644 --- a/functions/classes/class.Scan.php +++ b/functions/classes/class.Scan.php @@ -587,11 +587,15 @@ class Scan extends Common_functions { * @param datetime $datetime * @return void */ - public function ping_update_lastseen ($id, $mac = null, $datetime = null) { + public function ping_update_lastseen ($id, $datetime = null, $mac = null) { # set datetime $datetime = is_null($datetime) ? date("Y-m-d H:i:s") : $datetime; # execute - try { $this->Database->updateObject("ipaddresses", array("id"=>$id, "mac"=>$mac, "lastSeen"=>$datetime), "id"); } + $update_ipaddress = array("id"=>$id, "lastSeen"=>$datetime); + if (!is_null($mac)) { + $update_ipaddress["mac"] = $mac; + } + try { $this->Database->updateObject("ipaddresses", $update_ipaddress, "id"); } catch (Exception $e) { !$this->debugging ? : $this->Result->show("danger", $e->getMessage(), false); # log -- GitLab