$formdata = new stdClass(); $formdata->userid = $user->id; $formdata->id = $cm->id; $formdata->xgrade = $userfinalgrade ? $userfinalgrade->grade : null; $formdata->feedback = $userfinalgrade ? $userfinalgrade->feedback : null; $custom = array('course' => $course, 'str_grade' => $userfinalgrade ? $userfinalgrade->str_grade : '', 'user' => $user, 'lastupdate' => giportfolio_get_user_contribution_status($giportfolio->id, $user->id), 'gradesetting' => $giportfolio->grade, 'dategraded' => $userfinalgrade ? $userfinalgrade->dategraded : null); $mform = new mod_giporotfolio_grading_form(null, $custom); $mform->set_data($formdata); if ($mform->is_cancelled()) { redirect("submissions.php?id={$cm->id}"); } else { if ($gradeinfo = $mform->get_data()) { global $DB; $grade = (object) array('userid' => $user->id, 'usermodified' => $USER->id, 'rawgrade' => $gradeinfo->xgrade, 'feedback' => $gradeinfo->feedback); $grades = array($user->id => $grade); giportfolio_grade_item_update($giportfolio, $grades); redirect("submissions.php?id={$cm->id}"); } } // Header and strings. $PAGE->set_title(format_string($giportfolio->name)); $PAGE->add_body_class('mod_giportfolio'); $PAGE->set_heading(format_string($course->fullname)); $realuser = $DB->get_record('user', array('id' => $userid)); $PAGE->navbar->add(get_string('studentgiportfolio', 'mod_giportfolio'), new moodle_url('submissions.php?=', array('id' => $cm->id))); $PAGE->navbar->add(fullname($realuser)); echo $OUTPUT->header(); echo $OUTPUT->heading(get_string('giportfolioof', 'mod_giportfolio') . ' ' . fullname($user, true)); $mform->display(); echo '<br />'; echo $OUTPUT->footer();
/** * Update activity grades * * @param object $giportfolio * @param int $userid specific user only, 0 means all * @param bool $nullifnone */ function giportfolio_update_grades($giportfolio, $userid = 0, $nullifnone = true) { global $CFG; require_once $CFG->libdir . '/gradelib.php'; if ($giportfolio->grade == 0) { giportfolio_grade_item_update($giportfolio); } else { if ($grades = giportfolio_get_user_grades($giportfolio, $userid)) { foreach ($grades as $k => $v) { if ($v->rawgrade == -1) { $grades[$k]->rawgrade = null; } } giportfolio_grade_item_update($giportfolio, $grades); } else { giportfolio_grade_item_update($giportfolio); } } }