//Print header $PAGE->requires->css(new moodle_url('/mod/vpl/css/sh.css')); $PAGE->requires->css(new moodle_url('/mod/vpl/editor/VPLIDE.css')); $vpl->print_header(get_string('submissionview', VPL)); $vpl->print_view_tabs(basename(__FILE__)); //Display submission //Check consistence if (!$subinstance) { notice(get_string('nosubmission', VPL), vpl_mod_href('view.php', 'id', $id, 'userid', $userid)); } $submissionid = $subinstance->id; if ($vpl->is_inconsistent_user($subinstance->userid, $userid)) { print_error('vpl submission user inconsistence'); } if ($vpl->get_instance()->id != $subinstance->vpl) { print_error('vpl submission vpl inconsistence'); } $submission = new mod_vpl_submission($vpl, $subinstance); if ($vpl->get_visiblegrade() || $vpl->has_capability(VPL_GRADE_CAPABILITY)) { if ($submission->is_graded()) { echo '<h2>' . get_string('grade') . '</h2>'; $submission->print_grade(true); } } $vpl->print_variation($subinstance->userid); $submission->print_submission(); $vpl->print_footer(); \mod_vpl\event\submission_viewed::log($submission); } catch (Exception $e) { print_r($e); }
/** * Show variations if actived and defined **/ function print_variation($userid = 0, $already = array()) { global $OUTPUT; if (isset($already[$this->instance->id])) { //Avoid infinite recursion return; } $already[$this->instance->id] = true; //Mark as visited if ($this->instance->basedon) { //Show recursive varaitions $basevpl = new mod_vpl(false, $this->instance->basedon); $basevpl->print_variation($userid, $already); } //If user with grade or manage capability print all variations if ($this->has_capability(VPL_GRADE_CAPABILITY, $userid) || $this->has_capability(VPL_MANAGE_CAPABILITY, $userid)) { $this->print_variations(); } //Show user variation if active if ($this->instance->usevariations) { //Variations actived $variation = $this->get_variation($userid); if ($variation !== false) { //Variations defined if ($this->instance->variationtitle > '') { echo '<b>' . format_text($this->instance->variationtitle, FORMAT_HTML) . '</b><br />'; } echo $OUTPUT->box($variation->description); } } }