diff --git a/lib/statslib.php b/lib/statslib.php index 34a6907b470..7c6c53d0e45 100644 --- a/lib/statslib.php +++ b/lib/statslib.php @@ -81,9 +81,11 @@ function stats_cron_daily () { $daily_modules = array(); $mods = get_records("modules"); foreach ($mods as $mod) { - // include_once() will only warn if a mod is missing - // as we don't want processing to stop on such minutiae (MDL-7385) - include_once($CFG->dirroot.'/mod/'.$mod->name.'/lib.php'); + $file = $CFG->dirroot.'/mod/'.$mod->name.'/lib.php'; + if (!is_readable($file)) { + continue; + } + require_once($file); $fname = $mod->name.'_get_daily_stats'; if (function_exists($fname)) { $daily_modules[$mod] = $fname; @@ -238,7 +240,11 @@ function stats_cron_weekly () { $weekly_modules = array(); $mods = get_records("modules"); foreach ($mods as $mod) { - include_once($CFG->dirroot.'/mod/'.$mod->name.'/lib.php'); + $file = $CFG->dirroot.'/mod/'.$mod->name.'/lib.php'; + if (!is_readable($file)) { + continue; + } + require_once($file); $fname = $mod->name.'_get_weekly_stats'; if (function_exists($fname)) { $weekly_modules[$mod] = $fname; @@ -367,7 +373,11 @@ function stats_cron_monthly () { $monthly_modules = array(); $mods = get_records("modules"); foreach ($mods as $mod) { - include_once($CFG->dirroot.'/mod/'.$mod->name.'/lib.php'); + $file = $CFG->dirroot.'/mod/'.$mod->name.'/lib.php'; + if (!is_readable($file)) { + continue; + } + require_once($file); $fname = $mod->name.'_get_monthly_stats'; if (function_exists($fname)) { $monthly_modules[$mod] = $fname; @@ -769,7 +779,11 @@ function stats_get_action_sql_in($str) { $function = 'stats_get_'.$str.'_actions'; $actions = $function(); foreach ($mods as $mod) { - include_once($CFG->dirroot.'/mod/'.$mod->name.'/lib.php'); + $file = $CFG->dirroot.'/mod/'.$mod->name.'/lib.php'; + if (!is_readable($file)) { + continue; + } + require_once($file); $function = $mod->name.'_get_'.$str.'_actions'; if (function_exists($function)) { $actions = array_merge($actions,$function());