static function clean_db()
 {
     global $DB;
     $ptp = new PluginFusioninventoryPort();
     $pti = new PluginFusioninventoryIfaddr();
     $ptn = new PluginFusioninventoryNetworking2();
     $ptpr = new PluginFusioninventoryPrinters();
     $ptpc = new PluginFusioninventoryPrintersCartridges();
     $ptph = new PluginFusioninventoryPrintersHistory();
     // * Clean glpi_plugin_fusioninventory_networking_ports
     $query_select = "SELECT `glpi_plugin_fusioninventory_networking_ports`.`ID`\n                       FROM `glpi_plugin_fusioninventory_networking_ports`\n                             LEFT JOIN `glpi_networking_ports`\n                                       ON `glpi_networking_ports`.`ID` = `FK_networking_ports`\n                             LEFT JOIN `glpi_networking` ON `glpi_networking`.`ID` = `on_device`\n                       WHERE `glpi_networking`.`ID` IS NULL";
     $result = $DB->query($query_select);
     while ($data = $DB->fetch_array($result)) {
         $ptp->deleteFromDB($data["ID"], 1);
     }
     // * Clean glpi_plugin_fusioninventory_networking_ifaddr
     $query_select = "SELECT `glpi_plugin_fusioninventory_networking_ifaddr`.`ID`\n                       FROM `glpi_plugin_fusioninventory_networking_ifaddr`\n                             LEFT JOIN `glpi_networking` ON `glpi_networking`.`ID` = `FK_networking`\n                       WHERE `glpi_networking`.`ID` IS NULL";
     $result = $DB->query($query_select);
     while ($data = $DB->fetch_array($result)) {
         $pti->deleteFromDB($data["ID"], 1);
     }
     // * Clean glpi_plugin_fusioninventory_networking
     $query_select = "SELECT `glpi_plugin_fusioninventory_networking`.`ID`\n                       FROM `glpi_plugin_fusioninventory_networking`\n                             LEFT JOIN `glpi_networking` ON `glpi_networking`.`ID` = `FK_networking`\n                       WHERE `glpi_networking`.`ID` IS NULL";
     $result = $DB->query($query_select);
     while ($data = $DB->fetch_array($result)) {
         $ptn->deleteFromDB($data["ID"], 1);
     }
     // * Clean glpi_plugin_fusioninventory_printers
     $query_select = "SELECT `glpi_plugin_fusioninventory_printers`.`ID`\n                       FROM `glpi_plugin_fusioninventory_printers`\n                             LEFT JOIN `glpi_printers` ON `glpi_printers`.`ID` = `FK_printers`\n                       WHERE `glpi_printers`.`ID` IS NULL";
     $result = $DB->query($query_select);
     while ($data = $DB->fetch_array($result)) {
         $ptpr->deleteFromDB($data["ID"], 1);
     }
     // * Clean glpi_plugin_fusioninventory_printers_cartridges
     $query_select = "SELECT `glpi_plugin_fusioninventory_printers_cartridges`.`ID`\n                       FROM `glpi_plugin_fusioninventory_printers_cartridges`\n                             LEFT JOIN `glpi_printers` ON `glpi_printers`.`ID` = `FK_printers`\n                       WHERE `glpi_printers`.`ID` IS NULL";
     $result = $DB->query($query_select);
     while ($data = $DB->fetch_array($result)) {
         $ptpc->deleteFromDB($data["ID"], 1);
     }
     // * Clean glpi_plugin_fusioninventory_printers_history
     $query_select = "SELECT `glpi_plugin_fusioninventory_printers_history`.`ID`\n                       FROM `glpi_plugin_fusioninventory_printers_history`\n                             LEFT JOIN `glpi_printers` ON `glpi_printers`.`ID` = `FK_printers`\n                       WHERE `glpi_printers`.`ID` IS NULL";
     $result = $DB->query($query_select);
     while ($data = $DB->fetch_array($result)) {
         $ptph->deleteFromDB($data["ID"], 1);
     }
 }
 /**
  * Get ips
  *
  *@return Array of ips instances
  **/
 private function getIfaddrsDB()
 {
     global $DB;
     $pti = new PluginFusioninventoryIfaddr();
     $query = "SELECT `ID`\n                FROM `glpi_plugin_fusioninventory_networking_ifaddr`\n                WHERE `FK_networking` = '" . $this->getValue('ID') . "';";
     $ifaddrsIds = array();
     if ($result = $DB->query($query)) {
         if ($DB->numrows($result) != 0) {
             while ($ifaddr = $DB->fetch_assoc($result)) {
                 $pti->load($ifaddr['ID']);
                 $ifaddrsIds[] = clone $pti;
             }
         }
     }
     return $ifaddrsIds;
 }
 /**
  * Import IPS
  *@param $p_ips IPS code to import
  *
  *@return errors string to be alimented if import ko / '' if ok
  **/
 function importIps($p_ips)
 {
     global $LANG;
     $errors = '';
     $pti = new PluginFusioninventoryIfaddr();
     foreach ($p_ips->children() as $name => $child) {
         switch ($child->getName()) {
             case 'IP':
                 $ifaddrIndex = $this->ptd->getIfaddrIndex($child);
                 if (is_int($ifaddrIndex)) {
                     $oldIfaddr = $this->ptd->getIfaddr($ifaddrIndex);
                     $pti->load($oldIfaddr->getValue('ID'));
                 } else {
                     $pti->load();
                 }
                 $pti->setValue('ifaddr', $child);
                 $this->ptd->addIfaddr(clone $pti, $ifaddrIndex);
                 break;
             default:
                 $errors .= $LANG['plugin_fusioninventory']["errors"][22] . ' IPS : ' . $child->getName() . "\n";
         }
     }
     $this->ptd->saveIfaddrs();
     return $errors;
 }