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; }