public function transfer($ID, $entity) { global $DB; if ($ID <= 0 || !$this->getFromDB($ID)) { return 0; } //If reference is not visible in the target entity : transfer it! if (!countElementsInTableForEntity($this->getTable(), $entity, "`id`='" . $this->getID() . "'")) { $input = $this->fields; $input['entities_id'] = $entity; $oldref = $input['id']; unset($input['id']); $input['transfert'] = 1; $newid = $this->add($input); $reference_supplier = new PluginOrderReference_Supplier(); $reference_supplier->getFromDBByReference($oldref); $input = $reference_supplier->fields; $input['entities_id'] = $entity; $input['plugin_order_references_id'] = $newid; unset($input['id']); $reference_supplier->add($input); $PluginOrderOrder_Item = new PluginOrderOrder_Item(); $query = "SELECT `id`\n FROM `glpi_plugin_order_orders_items`\n WHERE `plugin_order_references_id` = '{$oldref}'"; $result = $DB->query($query); $num = $DB->numrows($result); if ($num) { while ($dataref = $DB->fetch_array($result)) { $values["id"] = $dataref['id']; $values["plugin_order_references_id"] = $newid; $PluginOrderOrder_Item->update($values); } } } }