コード例 #1
0
ファイル: lib.php プロジェクト: nadavkav/moodle-mod_oublog
/**
 * 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;
}
コード例 #2
0
/**
 * 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');
    }
}
コード例 #3
0
/**
 * 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);
            }
        }
    }
}