function transferTickets($itemtype, $ID, $newID)
{
global $DB;
$job = new Ticket();
$rel = new Item_Ticket();
$query = "SELECT `glpi_tickets`.*, `glpi_items_tickets`.`id` as _relid\n FROM `glpi_tickets`\n LEFT JOIN `glpi_items_tickets`\n ON `glpi_items_tickets`.`tickets_id` = `glpi_tickets`.`id`\n WHERE `items_id` = '{$ID}'\n AND `itemtype` = '{$itemtype}'";
if ($result = $DB->query($query)) {
if ($DB->numrows($result) != 0) {
switch ($this->options['keep_ticket']) {
// Transfer
case 2:
// Same Item / Copy Item -> update entity
while ($data = $DB->fetch_assoc($result)) {
$input = $this->transferHelpdeskAdditionalInformations($data);
$input['id'] = $data['id'];
$input['entities_id'] = $this->to;
$job->update($input);
$input = array();
$input['id'] = $data['_relid'];
$input['items_id'] = $newID;
$input['itemtype'] = $itemtype;
$rel->update($input);
$this->addToAlreadyTransfer('Ticket', $data['id'], $data['id']);
$this->transferTaskCategory('Ticket', $data['id'], $data['id']);
}
break;
// Clean ref : keep ticket but clean link
// Clean ref : keep ticket but clean link
case 1:
// Same Item / Copy Item : keep and clean ref
while ($data = $DB->fetch_assoc($result)) {
$rel->delete(array('id' => $data['relid']));
$this->addToAlreadyTransfer('Ticket', $data['id'], $data['id']);
}
break;
// Delete
// Delete
case 0:
// Same item -> delete
if ($ID == $newID) {
while ($data = $DB->fetch_assoc($result)) {
$job->delete(array('id' => $data['id']));
}
}
// Copy Item : nothing to do
break;
}
}
}
}