diff --git a/lib/questionlib.php b/lib/questionlib.php index f68487d23d9..3592993b23f 100644 --- a/lib/questionlib.php +++ b/lib/questionlib.php @@ -248,18 +248,22 @@ class cmoptions { * @return array of strings */ function question_list_instances($questionid) { + global $CFG; $instances = array(); $modules = get_records('modules'); foreach ($modules as $module) { - $fn = $module->name.'_question_list_instances'; - if (function_exists($fn)) { - $instances = $instances + $fn($questionid); + $fullmod = $CFG->dirroot . '/mod/' . $module->name; + if (file_exists($fullmod . '/lib.php')) { + include_once($fullmod . '/lib.php'); + $fn = $module->name.'_question_list_instances'; + if (function_exists($fn)) { + $instances = $instances + $fn($questionid); + } } } return $instances; } - /** * Returns list of 'allowed' grades for grade selection * formatted suitably for dropdown box function