// open for editing?
$delete = optional_param('delete', false, PARAM_BOOL);
// example removal requested
$confirm = optional_param('confirm', false, PARAM_BOOL);
// example removal request confirmed
$assess = optional_param('assess', false, PARAM_BOOL);
// assessment required
$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);
$PAGE->set_url($workshopplus->exsubmission_url($id), array('edit' => $edit));
$PAGE->set_title($workshopplus->name);
$PAGE->set_heading($course->fullname);
if ($edit) {
    $PAGE->navbar->add(get_string('exampleediting', 'workshopplus'));
} else {
    $PAGE->navbar->add(get_string('example', 'workshopplus'));
}
$output = $PAGE->get_renderer('mod_workshopplus');
if ($id) {
    // example is specified
    $example = $workshopplus->get_example_by_id($id);
    $workshopplus->log('view example', $workshopplus->exsubmission_url($example->id), $example->id);
} else {
    // no example specified - create new one
    require_capability('mod/workshopplus:manageexamples', $workshopplus->context);
$PAGE->navbar->add(get_string('examplecomparing', 'workshopplus'));
// Output starts here
$output = $PAGE->get_renderer('mod_workshopplus');
echo $output->header();
echo $output->heading(format_string($workshopplus->name));
echo $output->heading(get_string('assessedexample', 'workshopplus'), 3);
echo $output->render($workshopplus->prepare_example_submission($example));
// if the reference assessment is available, display it
if (!empty($mformreference)) {
    $options = array('showreviewer' => false, 'showauthor' => false, 'showform' => true);
    $reference = $workshopplus->prepare_example_reference_assessment($reference, $mformreference, $options);
    $reference->title = get_string('assessmentreference', 'workshopplus');
    if ($canmanage) {
        $reference->url = $workshopplus->exassess_url($reference->id);
    }
    echo $output->render($reference);
}
if ($isreviewer) {
    $options = array('showreviewer' => true, 'showauthor' => false, 'showform' => true);
    $assessment = $workshopplus->prepare_example_assessment($assessment, $mformassessment, $options);
    $assessment->title = get_string('assessmentbyyourself', 'workshopplus');
    if ($workshopplus->assessing_examples_allowed()) {
        $assessment->add_action(new moodle_url($workshopplus->exsubmission_url($example->id), array('assess' => 'on', 'sesskey' => sesskey())), get_string('reassess', 'workshopplus'));
    }
    echo $output->render($assessment);
} elseif ($canmanage) {
    $options = array('showreviewer' => true, 'showauthor' => false, 'showform' => true);
    $assessment = $workshopplus->prepare_example_assessment($assessment, $mformassessment, $options);
    echo $output->render($assessment);
}
echo $output->footer();