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