// workshopplus renderer echo $output->header(); echo $output->heading(format_string($workshopplus->name)); echo $output->heading(get_string('assessedsubmission', 'workshopplus'), 3); $submission = $workshopplus->get_submission_by_id($submission->id); // reload so can be passed to the renderer echo $output->render($workshopplus->prepare_submission($submission, has_capability('mod/workshopplus:viewauthornames', $workshopplus->context))); // show instructions for assessing as they may contain important information // for evaluating the assessment if (trim($workshopplus->instructreviewers)) { $instructions = file_rewrite_pluginfile_urls($workshopplus->instructreviewers, 'pluginfile.php', $PAGE->context->id, 'mod_workshopplus', 'instructreviewers', 0, workshopplus::instruction_editors_options($PAGE->context)); print_collapsible_region_start('', 'workshopplus-viewlet-instructreviewers', get_string('instructreviewers', 'workshopplus')); echo $output->box(format_text($instructions, $workshopplus->instructreviewersformat, array('overflowdiv' => true)), array('generalbox', 'instructions')); print_collapsible_region_end(); } // extend the current assessment record with user details $assessment = $workshopplus->get_assessment_by_id($assessment->id); if ($isreviewer) { $options = array('showreviewer' => true, 'showauthor' => has_capability('mod/workshopplus:viewauthornames', $workshopplus->context), 'showform' => $assessmenteditable or !is_null($assessment->grade), 'showweight' => true); $assessment = $workshopplus->prepare_assessment($assessment, $mform, $options); $assessment->title = get_string('assessmentbyyourself', 'workshopplus'); echo $output->render($assessment); } else { $options = array('showreviewer' => has_capability('mod/workshopplus:viewreviewernames', $workshopplus->context), 'showauthor' => has_capability('mod/workshopplus:viewauthornames', $workshopplus->context), 'showform' => $assessmenteditable or !is_null($assessment->grade), 'showweight' => true); $assessment = $workshopplus->prepare_assessment($assessment, $mform, $options); echo $output->render($assessment); } if (!$assessmenteditable and $canoverridegrades) { $feedbackform->display(); } echo $output->footer();
$sid = required_param('sid', PARAM_INT); // example submission id $aid = required_param('aid', PARAM_INT); // the user's assessment id $cm = get_coursemodule_from_id('workshopplus', $cmid, 0, false, MUST_EXIST); $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); require_login($course, false, $cm); if (isguestuser()) { print_error('guestsarenotallowed'); } $workshopplus = $DB->get_record('workshopplus', array('id' => $cm->instance), '*', MUST_EXIST); $workshopplus = new workshopplus($workshopplus, $cm, $course); $strategy = $workshopplus->grading_strategy_instance(); $PAGE->set_url($workshopplus->excompare_url($sid, $aid)); $example = $workshopplus->get_example_by_id($sid); $assessment = $workshopplus->get_assessment_by_id($aid); if ($assessment->submissionid != $example->id) { print_error('invalidarguments'); } $mformassessment = $strategy->get_assessment_form($PAGE->url, 'assessment', $assessment, false); if ($refasid = $DB->get_field('workshopplus_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1))) { $reference = $workshopplus->get_assessment_by_id($refasid); $mformreference = $strategy->get_assessment_form($PAGE->url, 'assessment', $reference, false); } $canmanage = has_capability('mod/workshopplus:manageexamples', $workshopplus->context); $isreviewer = $USER->id == $assessment->reviewerid; if ($canmanage) { // ok you can go } elseif ($isreviewer and $workshopplus->assessing_examples_allowed()) { // ok you can go } else {