diff --git a/mod/glossary/classes/local/concept_cache.php b/mod/glossary/classes/local/concept_cache.php index a7f42b9be5a..cd5adc8046b 100644 --- a/mod/glossary/classes/local/concept_cache.php +++ b/mod/glossary/classes/local/concept_cache.php @@ -159,6 +159,14 @@ class concept_cache { $courseid = (int)$courseid; + // Get info on any glossaries in this course. + $modinfo = get_fast_modinfo($courseid); + $cminfos = $modinfo->get_instances_of('glossary'); + if (!$cminfos) { + // No glossaries in this course, so don't do any work. + return array(array(), array()); + } + $cache = \cache::make('mod_glossary', 'concepts'); $data = $cache->get($courseid); if (is_array($data)) { @@ -201,8 +209,6 @@ class concept_cache { $concepts = $allconcepts; // Verify access control to glossary instances. - $modinfo = get_fast_modinfo($courseid); - $cminfos = $modinfo->get_instances_of('glossary'); foreach ($concepts as $modid => $unused) { if (!isset($cminfos[$modid])) { // This should not happen.