Transfer::transferInfocoms PHP Method

transferInfocoms() public method

Transfer infocoms of an item
public transferInfocoms ( $itemtype, $ID, $newID )
$itemtype type of the item to transfer
$ID original ID of the item
$newID new ID of the item
    function transferInfocoms($itemtype, $ID, $newID)
    {
        global $DB;
        $ic = new Infocom();
        if ($ic->getFromDBforDevice($itemtype, $ID)) {
            switch ($this->options['keep_infocom']) {
                // delete
                case 0:
                    // Same item -> delete
                    if ($ID == $newID) {
                        $query = "DELETE\n                            FROM `glpi_infocoms`\n                            WHERE `itemtype` = '{$itemtype}'\n                                  AND `items_id` = '{$ID}'";
                        $result = $DB->query($query);
                    }
                    // Copy : nothing to do
                    break;
                    // Keep
                // Keep
                default:
                    // transfer enterprise
                    $suppliers_id = 0;
                    if ($ic->fields['suppliers_id'] > 0) {
                        $suppliers_id = $this->transferSingleSupplier($ic->fields['suppliers_id']);
                    }
                    // Copy : copy infocoms
                    if ($ID != $newID) {
                        // Copy items
                        $input = $ic->fields;
                        $input['items_id'] = $newID;
                        $input['suppliers_id'] = $suppliers_id;
                        unset($input['id']);
                        unset($ic->fields);
                        $ic->add(toolbox::addslashes_deep($input));
                    } else {
                        // Same Item : manage only enterprise move
                        // Update enterprise
                        if ($suppliers_id > 0 && $suppliers_id != $ic->fields['suppliers_id']) {
                            $ic->update(array('id' => $ic->fields['id'], 'suppliers_id' => $suppliers_id));
                        }
                    }
                    break;
            }
        }
    }