Transfer::transferTaskCategory PHP Method

transferTaskCategory() public method

Transfer task categories for specified tickets
public transferTaskCategory ( $itemtype, $ID, $newID )
$itemtype itemtype : Problem / Ticket
$ID original ticket ID
$newID new ticket ID
    function transferTaskCategory($itemtype, $ID, $newID)
    {
        global $DB;
        switch ($itemtype) {
            case 'Ticket':
                $table = 'glpi_tickettasks';
                $field = 'tickets_id';
                $task = new TicketTask();
                break;
            case 'Problem':
                $table = 'glpi_problemtasks';
                $field = 'problems_id';
                $task = new ProblemTask();
                break;
            case 'Change':
                $table = 'glpi_changetasks';
                $field = 'changes_id';
                $task = new ProblemTask();
                break;
        }
        $query = "SELECT *\n                FROM `{$table}`\n                WHERE `{$field}` = '{$ID}'";
        if ($result = $DB->query($query)) {
            if ($DB->numrows($result) != 0) {
                while ($data = $DB->fetch_assoc($result)) {
                    $input = array();
                    if ($data['taskcategories_id'] > 0) {
                        $categ = new TaskCategory();
                        if ($categ->getFromDB($data['taskcategories_id'])) {
                            $inputcat['entities_id'] = $this->to;
                            $inputcat['completename'] = addslashes($categ->fields['completename']);
                            $catid = $categ->findID($inputcat);
                            if ($catid < 0) {
                                $catid = $categ->import($inputcat);
                            }
                            $input['id'] = $data['id'];
                            $input[$field] = $ID;
                            $input['taskcategories_id'] = $catid;
                            $task->update($input);
                        }
                    }
                }
            }
        }
    }