コード例 #1
0
 /**
  * Function to uninstall an object
  *
  * @param $computers_id the computer's ID in GLPI
  *
  * @return nothing
  **/
 static function deleteFusionInventoryLink($itemtype, $items_id)
 {
     if (function_exists('plugin_pre_item_purge_fusioninventory')) {
         $item = new $itemtype();
         $item->getFromDB($items_id);
         $agent = new PluginFusioninventoryAgent();
         $agents = $agent->getAgentsFromComputers(array($items_id));
         // clean item associated to agents
         plugin_pre_item_purge_fusioninventory($item);
         if ($itemtype == 'Computer') {
             // remove agent(s)
             foreach ($agents as $current_agent) {
                 $agent->deleteByCriteria(array('id' => $current_agent['id']), true);
             }
             // remove licences
             $pfComputerLicenseInfo = new PluginFusioninventoryComputerLicenseInfo();
             $pfComputerLicenseInfo->deleteByCriteria(array('computers_id' => $items_id));
             // remove batteries
             $pfInventoryComputerBatteries = new PluginFusioninventoryInventoryComputerBatteries();
             $pfInventoryComputerBatteries->deleteByCriteria(array('computers_id' => $items_id));
             // Delete links between two computerstorages
             $pfInventoryComputerStorageStorageStorage = new PluginFusioninventoryInventoryComputerStorage_Storage();
             $tab_ids = $pfInventoryComputerStorageStorageStorage->getOpposites($items_id);
             if (!empty($tab_ids)) {
                 //because getOpposites can return 0
                 foreach ($tab_ids as $inventorycomputerstorages_id) {
                     $storage->deleteByCriteria(array('plugin_fusioninventory_inventorycomputerstorages_id_1' => $inventorycomputerstorages_id));
                     $storage->deleteByCriteria(array('plugin_fusioninventory_inventorycomputerstorages_id_2' => $inventorycomputerstorages_id));
                 }
             }
             // ** Delete computerstorages **
             $pfInventoryComputerStorage = new PluginFusioninventoryInventoryComputerStorage();
             $pfInventoryComputerStorage->deleteByCriteria(array('computers_id' => $items_id));
         }
     }
 }
 /**
  * Delete batteries on computer
  *
  * @param $items_id integer id of the computer
  *
  * @return nothing
  *
  **/
 static function cleanComputer($items_id)
 {
     $pfInventoryComputerBatteries = new PluginFusioninventoryInventoryComputerBatteries();
     $a_batteries = $pfInventoryComputerBatteries->find("`computers_id`='" . $items_id . "'");
     if (count($a_batteries) > 0) {
         $input = current($a_batteries);
         $pfInventoryComputerBatteries->delete($input);
     }
 }