/** * Given an object containing all the necessary data,(defined by the * form in mod_form.php) this function will update an existing instance * with new data. * * @param object $oublog the data from the mod form * @return boolean true on success, false on failure. */ function oublog_update_instance($oublog) { global $DB; $oublog->id = $oublog->instance; if (!($blog = $DB->get_record('oublog', array('id' => $oublog->id)))) { return false; } if (!$DB->update_record('oublog', $oublog)) { return false; } oublog_grade_item_update($oublog); return true; }
/** * Grades users from the participation.php page * * @param array $newgrades array of grade records to update * @param array $oldgrades array of old grade records to check * @param object $cm current course module object * @param object $oublog current oublog object * @param object $course current course object */ function oublog_update_manual_grades($newgrades, $oldgrades, $cm, $oublog, $course) { global $CFG, $SESSION; require_once $CFG->libdir . '/gradelib.php'; $grades = array(); foreach ($oldgrades as $key => $user) { if (array_key_exists($key, $newgrades)) { if (empty($user->gradeobj->grade) || $newgrades[$key] != $user->gradeobj->grade) { $grade = new StdClass(); $grade->userid = $key; $grade->dategraded = time(); if ($newgrades[$key] == -1) { // no grade $grade->rawgrade = null; } else { $grade->rawgrade = $newgrades[$key]; } $oublog->cmidnumber = $cm->id; $grades[$key] = $grade; } } } oublog_grade_item_update($oublog, $grades); // Add a message to display to the page. if (!isset($SESSION->oubloggradesupdated)) { $SESSION->oubloggradesupdated = get_string('gradesupdated', 'oublog'); } }
/** * Update activity grades * * @global object * @global object * @param object $oublog * @param int $userid specific user only, 0 means all * @param bool $nullifnone */ function oublog_update_grades($oublog, $userid = 0, $nullifnone = true) { global $CFG, $DB; require_once $CFG->libdir . '/gradelib.php'; require_once $CFG->dirroot . '/mod/oublog/locallib.php'; if ($oublog->grading != OUBLOG_USE_RATING) { return; } if (!$oublog->assessed) { oublog_grade_item_update($oublog); } else { if ($grades = oublog_get_user_grades($oublog, $userid)) { oublog_grade_item_update($oublog, $grades); } else { if ($userid && $nullifnone) { $grade = new stdClass(); $grade->userid = $userid; $grade->rawgrade = null; oublog_grade_item_update($oublog, $grade); } else { oublog_grade_item_update($oublog); } } } }