コード例 #1
0
 /**
  * @param $params array
  *
  * @return bool
  * @return bool
  */
 static function computerImport($params = array())
 {
     if (isset($params['id'])) {
         $notimported = new PluginOcsinventoryngNotimportedcomputer();
         $notimported->getFromDB($params['id']);
         $changes = self::getOcsComputerInfos($notimported->fields);
         if (isset($params['force'])) {
             $result = PluginOcsinventoryngOcsServer::processComputer($notimported->fields['ocsid'], $notimported->fields['plugin_ocsinventoryng_ocsservers_id'], 0, $params['entity'], 0);
         } else {
             $result = PluginOcsinventoryngOcsServer::processComputer($notimported->fields['ocsid'], $notimported->fields['plugin_ocsinventoryng_ocsservers_id'], 0, -1, -1);
         }
         if (in_array($result['status'], array(PluginOcsinventoryngOcsServer::COMPUTER_IMPORTED, PluginOcsinventoryngOcsServer::COMPUTER_LINKED, PluginOcsinventoryngOcsServer::COMPUTER_SYNCHRONIZED))) {
             $notimported->delete(array('id' => $params['id']));
             //If serial has been changed in order to import computer
             if (in_array('serial', $changes)) {
                 PluginOcsinventoryngOcsServer::mergeOcsArray($result['computers_id'], array('serial'), "computer_update");
             }
             return true;
         } else {
             Session::addMessageAfterRedirect(self::getReason($result['status']), false, ERROR);
             return false;
         }
         $tmp = $notimported->fields;
         $tmp['reason'] = $result['status'];
         if (isset($result['entities_id'])) {
             $tmp["entities_id"] = $result['entities_id'];
         } else {
             $tmp['entities_id'] = 0;
         }
         $tmp["rules_id"] = json_encode($result['rule_matched']);
         $notimported->update($tmp);
         return false;
     }
 }