function post_addItem() { global $DB; if (isset($this->input['transform_unknown_ports_that_match']) && $this->input['transform_unknown_ports_that_match']) { $networkport = new PluginOcsinventoryngNetworkPort(); $query = "SELECT `id`\n FROM `" . $networkport->getTable() . "`\n WHERE `TYPE` = '" . $this->fields['OCS_TYPE'] . "'"; if ($this->fields['OCS_TYPEMIB'] != '*') { $query .= " AND `TYPEMIB` = '" . $this->fields['OCS_TYPEMIB'] . "'"; } foreach ($DB->request($query) as $line) { if ($networkport->getFromDBByQuery("WHERE `id`='" . $line['id'] . "'")) { $networkport->transformAccordingTypes(); } } } }
/** * @since version 0.85 * * @see CommonDBTM::processMassiveActionsForOneItemtype() * @param MassiveAction $ma * @param CommonDBTM $item * @param array $ids * @return nothing|void */ static function processMassiveActionsForOneItemtype(MassiveAction $ma, CommonDBTM $item, array $ids) { switch ($ma->getAction()) { case "plugin_ocsinventoryng_update_networkport_type": $networkport = new PluginOcsinventoryngNetworkPort(); $input = $ma->getInput(); foreach ($ids as $id) { if ($networkport->getFromDBByQuery("WHERE `networkports_id` = '{$id}'")) { if ($networkport->transformAccordingTypes()) { $ma->itemDone($item->getType(), $id, MassiveAction::ACTION_OK); } else { $ma->itemDone($item->getType(), $ids, MassiveAction::ACTION_KO); } } else { $ma->itemDone($item->getType(), $ids, MassiveAction::ACTION_KO); } } return; } parent::processMassiveActionsForOneItemtype($ma, $item, $ids); }