From 1afdd452aa4785f30acc7c02e07e228b22b9b264 Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Tue, 20 Aug 2013 10:26:34 +1000 Subject: [PATCH] MDL-41222 Remove unnecessary course cache rebuild --- lib/modinfolib.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/modinfolib.php b/lib/modinfolib.php index d48504ec640..2cd4dbd7ad0 100644 --- a/lib/modinfolib.php +++ b/lib/modinfolib.php @@ -244,6 +244,10 @@ class course_modinfo extends stdClass { public function __construct($course, $userid) { global $CFG, $DB; + if (!isset($course->modinfo) || !isset($course->sectioncache)) { + $course = get_course($course->id, false); + } + // Check modinfo field is set. If not, build and load it. if (empty($course->modinfo) || empty($course->sectioncache)) { rebuild_course_cache($course->id); @@ -1367,7 +1371,7 @@ function get_fast_modinfo($courseorid, $userid = 0, $resetonly = false) { if (is_object($courseorid)) { $course = $courseorid; } else { - $course = (object)array('id' => $courseorid, 'modinfo' => null, 'sectioncache' => null); + $course = (object)array('id' => $courseorid); } // Function is called with $reset = true @@ -1398,14 +1402,6 @@ function get_fast_modinfo($courseorid, $userid = 0, $resetonly = false) { } } - if (!property_exists($course, 'modinfo')) { - debugging('Coding problem - missing course modinfo property in get_fast_modinfo() call'); - } - - if (!property_exists($course, 'sectioncache')) { - debugging('Coding problem - missing course sectioncache property in get_fast_modinfo() call'); - } - unset($cache[$course->id]); // prevent potential reference problems when switching users $cache[$course->id] = new course_modinfo($course, $userid);