Example #1
0
    //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);
}
Example #2
0
 /**
  * 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);
         }
     }
 }