Index: temp_moodle_dev/moodle/mod/lesson/lib.php =================================================================== diff -u -r085c5bae08907c3c1cf6eef22e011b47a5e9e272 -raca9f00eec05f594be36b6397b9c363742db6022 --- temp_moodle_dev/moodle/mod/lesson/lib.php (.../lib.php) (revision 085c5bae08907c3c1cf6eef22e011b47a5e9e272) +++ temp_moodle_dev/moodle/mod/lesson/lib.php (.../lib.php) (revision aca9f00eec05f594be36b6397b9c363742db6022) @@ -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; +} // /**