$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"); } }