MDL-22054 skip loading of missing modules on course page
authorPetr Skoda <skodak@moodle.org>
Sun, 11 Apr 2010 09:05:48 +0000 (09:05 +0000)
committerPetr Skoda <skodak@moodle.org>
Sun, 11 Apr 2010 09:05:48 +0000 (09:05 +0000)
course/lib.php

index 13e91f3..477df92 100644 (file)
@@ -1126,7 +1126,7 @@ function get_array_of_activities($courseid) {
  * Returns a number of useful structures for course displays
  */
 function get_all_mods($courseid, &$mods, &$modnames, &$modnamesplural, &$modnamesused) {
-    global $DB,$COURSE;
+    global $CFG, $DB, $COURSE;
 
     $mods          = array();    // course modules indexed by id
     $modnames      = array();    // all course module names (except resource!)
@@ -1135,6 +1135,9 @@ function get_all_mods($courseid, &$mods, &$modnames, &$modnamesplural, &$modname
 
     if ($allmods = $DB->get_records("modules")) {
         foreach ($allmods as $mod) {
+            if (!file_exists("$CFG->dirroot/mod/$mod->name/lib.php")) {
+                continue;
+            }
             if ($mod->visible) {
                 $modnames[$mod->name] = get_string("modulename", "$mod->name");
                 $modnamesplural[$mod->name] = get_string("modulenameplural", "$mod->name");