function vpl_user_complete($course, $user, $mod, $vpl) { require_once 'vpl_submission.class.php'; //TODO Print a detailed report of what a user has done with a given particular instance //Search submisions for $user $instance $vpl = new mod_vpl(null, $vpl->id); $sub = $vpl->last_user_submission($user->id); if (!$sub) { $return = null; } else { $submission = new mod_vpl_submission($vpl, $sub); $submission->print_info(true); $submission->print_grade(true); } return true; }
$vpl->network_check(); $vpl->password_check(); $instance = $vpl->get_instance(); $manager = $vpl->has_capability(VPL_MANAGE_CAPABILITY); $grader = $vpl->has_capability(VPL_GRADE_CAPABILITY); //This code allow to edit previous versions (only managers) if ($subid && $vpl->has_capability(VPL_MANAGE_CAPABILITY)) { $parms = array('id' => $subid, 'vpl' => $instance->id, 'userid' => $userid); $res = $DB->get_records('vpl_submissions', $parms); if (count($res) == 1) { $lastsub = $res[$subid]; } else { $lastsub = false; } } else { $lastsub = $vpl->last_user_submission($userid); } $options = array(); $options['id'] = $id; $options['restrictededitor'] = $instance->restrictededitor && !$grader; $options['save'] = !$instance->example; $options['run'] = $instance->run || $manager; $options['debug'] = $instance->debug || $manager; $options['evaluate'] = $instance->evaluate || $manager; $options['example'] = true && $instance->example; $linkuserid = $copy ? $USER->id : $userid; $options['ajaxurl'] = "edit.json.php?id={$id}&userid={$linkuserid}&action="; $options['download'] = "../views/downloadsubmission.php?id={$id}&userid={$linkuserid}"; //Get files $files = array(); $req_fgm = $vpl->get_required_fgm();
$vpl = new mod_vpl($id); $userid = optional_param('userid', FALSE, PARAM_INT); $submissionid = optional_param('submissionid', FALSE, PARAM_INT); if (!$vpl->has_capability(VPL_GRADE_CAPABILITY)) { $userid = FALSE; $submissionid = FALSE; } //Read record if ($userid && $userid != $USER->id) { //Grader $vpl->require_capability(VPL_GRADE_CAPABILITY); $grader = TRUE; if ($submissionid) { $subinstance = $DB->get_record('vpl_submissions', array('id' => $submissionid)); } else { $subinstance = $vpl->last_user_submission($userid); } } else { //Download own submission $vpl->require_capability(VPL_VIEW_CAPABILITY); $userid = $USER->id; $grader = FALSE; if ($submissionid && $vpl->has_capability(VPL_GRADE_CAPABILITY)) { $subinstance = $DB->get_record('vpl_submissions', array('id' => $submissionid)); } else { $subinstance = $vpl->last_user_submission($userid); } $vpl->password_check(); } //Check consistence if (!$subinstance) {
$user_complete = $mod->modname."_user_complete"; $image = $OUTPUT->pix_icon('icon', $mod->modfullname, 'mod_'.$mod->modname, array('class'=>'icon')); echo "<h4>$image $mod->modfullname: ".format_string($instance->name,true). "</h4>"; // echo '<a href=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">". //format_string($instance->name,true)."</a>'; ob_start(); echo "<ul>"; if (function_exists($user_complete)) { //$user_complete($course, $user, $mod, $instance); if($mod->modname=='vpl'){ $vpl = new mod_vpl(null,$instance->id); $sub = $vpl->last_user_submission($user->id); if(!$sub) { $return = null; } else{ $submission = new mod_vpl_submission($vpl,$sub); $submission->student_print_info(true); $submission->print_grade(true); } } else{ $user_complete($course, $user, $mod, $instance); } } else { //echo 'modname='.$mod->modname; echo report_outline_user_complete($user->id, $cmid, $mod->modname, $instance->id);