connect_errno) { die($db->connect_error); } $doc = new DOMDocument(); $doc->load($cmd['f']); $items = getValue($doc, 'IAVM', null, true); foreach ($items as $node) { $pdi_id = 0; $vms = getValue($doc, 'S/@VMSKey', $node); $vms = preg_replace("/V0{1,6}/", "V-", $vms); $iavm_id = getValue($doc, 'S/@IAVM', $node); $title = getValue($doc, 'S/@Title', $node); $cat = substr_count(getValue($doc, 'S/@Severity', $node), 'I', 7); $rel_date = getValue($doc, 'S/@ReleaseDate', $node); $rel_dt = new DateTime($rel_date); $cves = getValue($doc, 'CVEs/CVENumber', $node, true); $stig = $sys->get_Stig($iavm_id); $iavm = $sys->get_IAVM($iavm_id); print $iavm_id . PHP_EOL; if (is_array($stig) && count($stig) && isset($stig[0]) && is_a($stig[0], 'stig')) { $stig = $stig[0]; $pdi_id = $stig->get_PDI_ID(); } else { if ($iavm) { $stig = new stig($iavm->get_PDI_ID(), $iavm_id, $title); $sys->add_Stig($stig); } else { $pdi = new pdi(null, $cat, $rel_dt->format("Y-m-d")); $pdi->set_Short_Title($title); $pdi->set_Group_Title($title); $pdi_id = $sys->save_PDI($pdi); $stig = new stig($pdi_id, $iavm_id, $title); $sys->add_Stig($stig); } } if ($iavm) { if ($cves->length) { foreach ($cves as $cve_node) { if (substr($cve_node->textContent, 0, 3) == 'CAN') { $cve = 'CVE' . substr($cve_node->textContent, 3); } else { $cve = $cve_node->textContent; } if (!in_array($cve, $iavm->get_CVE())) { $iavm->add_CVE($cve); } } $sys->save_IAVM($iavm); } } } function usage() { print <<