Index: temp_moodle_dev/moodle/mod/lesson/lib.php =================================================================== RCS file: /usr/local/cvsroot/temp_moodle_dev/moodle/mod/lesson/lib.php,v diff -u -r1.2 -r1.3 --- temp_moodle_dev/moodle/mod/lesson/lib.php 5 Jan 2009 23:25:58 -0000 1.2 +++ temp_moodle_dev/moodle/mod/lesson/lib.php 28 Oct 2009 07:31:59 -0000 1.3 @@ -107,7 +107,7 @@ } $pagetypes = page_import_types('mod/lesson/'); foreach ($pagetypes as $pagetype) { - if (!delete_records('block_instance', 'pageid', $lesson->id, 'pagetype', $pagetype)) { + if (!blocks_delete_all_on_page($pagetype, $lesson->id)) { $result = false; } } @@ -427,6 +427,19 @@ if ($grades === 'reset') { $params['reset'] = true; $grades = NULL; + } else if (!empty($grades)) { + // Need to calculate raw grade (Note: $grades has many forms) + if (is_object($grades)) { + $grades = array($grades->userid => $grades); + } else if (array_key_exists('userid', $grades)) { + $grades = array($grades['userid'] => $grades); + } + foreach ($grades as $key => $grade) { + if (!is_array($grade)) { + $grades[$key] = $grade = (array) $grade; + } + $grades[$key]['rawgrade'] = ($grade['rawgrade'] * $lesson->grade / 100); + } } return grade_update('mod/lesson', $lesson->course, 'mod', 'lesson', $lesson->id, 0, $grades, $params); @@ -508,9 +521,7 @@ unset($lesson->completed); unset($lesson->gradebetterthan); - if (!empty($lesson->password)) { - $lesson->password = md5($lesson->password); - } else { + if (empty($lesson->password)) { unset($lesson->password); } @@ -661,6 +672,13 @@ return array('moodle/site:accessallgroups'); } +/** + * Tells if files in moddata are trusted and can be served without XSS protection. + * @return bool true if file can be submitted by teacher only (trusted), false otherwise + */ +function lesson_is_moddata_trusted() { + return true; +} // /**