$issue = get_record('tracker_issue', 'id', $issueid);
    tracker_register_cc($tracker, $issue, $USER->id);
} elseif ($action == 'usequery') {
    $queryid = required_param('queryid', PARAM_INT);
    $fields = tracker_extractsearchparametersfromdb($queryid);
} elseif ($action == 'unregister') {
    $issueid = required_param('issueid', PARAM_INT);
    $ccid = required_param('ccid', PARAM_INT);
    if (!delete_records('tracker_issuecc', 'trackerid', $tracker->id, 'issueid', $issueid, 'userid', $ccid)) {
        error("Cannot delete carbon copy {$tracker->ticketprefix}{$issueid} for user : " . $ccid);
    }
} elseif ($action == 'register') {
    $issueid = required_param('issueid', PARAM_INT);
    $ccid = required_param('ccid', PARAM_INT);
    $issue = get_record('tracker_issue', 'id', $issueid);
    tracker_register_cc($tracker, $issue, $ccid);
} elseif ($action == 'cascade') {
    global $USER;
    $issueid = required_param('issueid', PARAM_INT);
    $issue = get_record('tracker_issue', 'id', $issueid);
    $attributes = get_records('tracker_issueattribute', 'issueid', $issue->id);
    // remaps elementid to elementname for
    tracker_loadelementsused($tracker, $used);
    if (!empty($attributes)) {
        foreach (array_keys($attributes) as $attkey) {
            $attributes[$attkey]->elementname = @$used[$attributes[$attkey]->id]->name;
        }
    }
    $issue->attributes = $attributes;
    // We get comments and make a single backtrack. There should not
    // be usefull to bring along full user profile. We just want not
/**
* submits an issue in the current tracker
* @uses $CFG
* @param int $trackerid the current tracker
*/
function tracker_submitanissue(&$tracker)
{
    global $CFG;
    $issue->datereported = required_param('datereported', PARAM_INT);
    $issue->summary = required_param('summary', PARAM_TEXT);
    $issue->description = addslashes(required_param('description', PARAM_CLEANHTML));
    $issue->format = addslashes(required_param('format', PARAM_CLEANHTML));
    $issue->assignedto = 0;
    $issue->bywhomid = 0;
    $issue->trackerid = $tracker->id;
    $issue->status = POSTED;
    $issue->reportedby = required_param('reportedby', PARAM_INT);
    // fetch max actual priority
    $maxpriority = get_field_select('tracker_issue', 'MAX(resolutionpriority)', " trackerid = {$tracker->id} GROUP BY trackerid ");
    $issue->resolutionpriority = $maxpriority + 1;
    $issue->id = insert_record('tracker_issue', $issue, true);
    if ($issue->id) {
        tracker_recordelements($issue);
        // if not CCed, the assignee should be
        tracker_register_cc($tracker, $issue, $issue->reportedby);
        return $issue;
    } else {
        error("Could not submit issue");
    }
}