/** * submits an issue inthe current tracker * @uses CFG * @param int $trackerid the current tracker */ function tracker_submitanissue($trackerid) { 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 = $trackerid; $issue->status = POSTED; $issue->reportedby = required_param('reportedby', PARAM_INT); $issue->id = insert_record('tracker_issue', $issue, true); if ($issue->id) { tracker_recordelements($issue); // add reporter as observer on this bug $issuecc->trackerid = $trackerid; $issuecc->issueid = $issue->id; $issuecc->userid = $issue->reportedby; insert_record('tracker_issuecc', $issuecc); return $issue; } else { error("Could not submit issue"); } }
error("Could not log old ownership"); } } $issue->bywhomid = $USER->id; $issue->timeassigned = time(); if (!update_record('tracker_issue', $issue)) { error("Could not update tracker issue"); } // if not CCed, the assignee should be tracker_register_cc($tracker, $issue, $issue->assignedto); /// send state change notification if ($oldrecord->status != $issue->status) { tracker_notifyccs_changestate($issue->id, $tracker); } tracker_clearelements($issue->id); tracker_recordelements($issue); // TODO : process dependancies $dependancies = optional_param('dependancies', null, PARAM_INT); if (is_array($dependancies)) { // cleanup previous depdendancies if (!delete_records('tracker_issuedependancy', 'childid', $issue->id)) { error("Could not delete old dependancies"); } // install back new one foreach ($dependancies as $dependancy) { $dependancyrec->trackerid = $tracker->id; $dependancyrec->parentid = $dependancy; $dependancyrec->childid = $issue->id; $dependancyrec->comment = ''; if (!insert_record('tracker_issuedependancy', $dependancyrec)) { error("Could not write dependancy record");
/** * 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"); } }