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 a22a8af17d09408ba69ca4c3af583bca33207bb0..6f9589290884b953b06d0dab49617375ccd14450 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 aecf02637ee050b5842f15e3a8341e4622dc8f67..0f1e92ddc34bbcaa843a6c8bbdeea44aaa84b171 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