/** * @param $ocsservers_id integer the OCS server id **/ function FirstPass($ocsservers_id) { global $DB, $PluginOcsinventoryngDBocs; if (PluginOcsinventoryngOcsServer::checkOCSconnection($ocsservers_id)) { // Compute lastest new computer $query = "SELECT MAX(`ID`)\n FROM `hardware`"; $max_id = 0; if ($result = $PluginOcsinventoryngDBocs->query($query)) { if ($PluginOcsinventoryngDBocs->numrows($result) > 0) { $max_id = $PluginOcsinventoryngDBocs->result($result, 0, 0); } } // Compute lastest synchronization date $query = "SELECT MAX(`last_ocs_update`)\n FROM `glpi_plugin_ocsinventoryng_ocslinks`\n WHERE `plugin_ocsinventoryng_ocsservers_id` = '{$ocsservers_id}'"; $max_date = "0000-00-00 00:00:00"; if ($result = $DB->query($query)) { if ($DB->numrows($result) > 0) { if ($DB->result($result, 0, 0) != '') { $max_date = $DB->result($result, 0, 0); } } } // Store result for second pass (multi-thread) $server = new PluginOcsinventoryngServer(); $fields["max_ocsid"] = $max_id; $fields["max_glpidate"] = $max_date; $fields["plugin_ocsinventoryng_ocsservers_id"] = $ocsservers_id; if ($server->getFromDBbyOcsServer($ocsservers_id)) { $fields["id"] = $server->fields["id"]; $server->update($fields); } else { $fields["id"] = $server->add($fields); } // Handle ID changed or PC deleted in OCS. $cfg_ocs = PluginOcsinventoryngOcsServer::getConfig($ocsservers_id); echo "\tManage delete items in OCS server #{$ocsservers_id}: \"" . $cfg_ocs["name"] . "\"\n"; PluginOcsinventoryngOcsServer::manageDeleted($ocsservers_id); } else { echo "*** Can't connect to OCS server #{$ocsservers_id} ***"; } }
/** * @param $ocsservers_id integer the OCS server id **/ function FirstPass($ocsservers_id) { global $DB; if (PluginOcsinventoryngOcsServer::checkOCSconnection($ocsservers_id)) { $ocsClient = PluginOcsinventoryngOcsServer::getDBocs($ocsservers_id); // Compute lastest new computer $ocsResult = $ocsClient->getComputers(array('COMPLETE' => '0', 'MAX_RECORDS' => 1, 'ORDER' => 'ID DESC')); if (count($ocsResult['COMPUTERS'])) { $max_id = key($ocsResult['COMPUTERS']); } else { $max_id = 0; } // Compute lastest synchronization date $query = "SELECT MAX(`last_ocs_update`)\n FROM `glpi_plugin_ocsinventoryng_ocslinks`\n WHERE `plugin_ocsinventoryng_ocsservers_id` = '{$ocsservers_id}'"; $max_date = "0000-00-00 00:00:00"; if ($result = $DB->query($query)) { if ($DB->numrows($result) > 0) { if ($DB->result($result, 0, 0) != '') { $max_date = $DB->result($result, 0, 0); } } } // Store result for second pass (multi-thread) $server = new PluginOcsinventoryngServer(); $fields["max_ocsid"] = $max_id; $fields["max_glpidate"] = $max_date; $fields["plugin_ocsinventoryng_ocsservers_id"] = $ocsservers_id; if ($server->getFromDBbyOcsServer($ocsservers_id)) { $fields["id"] = $server->fields["id"]; $server->update($fields); } else { $fields["id"] = $server->add($fields); } // Handle ID changed or PC deleted in OCS. $cfg_ocs = PluginOcsinventoryngOcsServer::getConfig($ocsservers_id); echo "\tManage delete items in OCS server #{$ocsservers_id}: \"" . $cfg_ocs["name"] . "\"\n"; PluginOcsinventoryngOcsServer::manageDeleted($ocsservers_id, false); } else { echo "*** Can't connect to OCS server #{$ocsservers_id} ***"; } }