From: mjollnir_ Date: Wed, 11 Apr 2007 23:53:15 +0000 (+0000) Subject: merged: fixing warnings in stats lib - rather than doing an include_once and noticing... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=bd903ae9debb857a4fb4b361355dd7b5b300dde8;p=moodle.git merged: fixing warnings in stats lib - rather than doing an include_once and noticing for every missing mod, check the file exists first from MOODLE_16_STABLE, and fixed up some weirdness in the reports --- diff --git a/course/report/stats/graph.php b/course/report/stats/graph.php index 18e3fc2747..1c1c18c09d 100644 --- a/course/report/stats/graph.php +++ b/course/report/stats/graph.php @@ -103,6 +103,16 @@ $times[$stat->timeend] = userdate($stat->timeend,get_string('strftimedate'),$CFG->timezone); } } + foreach (array_keys($times) as $t) { + foreach ($data as $roleid => $stuff) { + if (!array_key_exists($t, $stuff)) { + $data[$roleid][$t] = 0; + } + } + } + foreach ($data as $role => $stuff) { + ksort($data[$role]); + } $nonzeroroleid = 0; foreach (array_keys($data) as $roleid) { if ($roleid == 0) { diff --git a/course/report/stats/report.php b/course/report/stats/report.php index 5cf737e666..973e941f82 100644 --- a/course/report/stats/report.php +++ b/course/report/stats/report.php @@ -175,6 +175,13 @@ $rolesdata[$roleid] = 0; } } + else { + foreach (array_keys($roles) as $r) { + if (!array_key_exists($r, $rolesdata)) { + $rolesdata[$r] = 0; + } + } + } krsort($rolesdata); $row = array_merge(array($times[$time]),$rolesdata); if (empty($CFG->loglifetime) || ($stat->timeend-(60*60*24)) >= (time()-60*60*24*$CFG->loglifetime)) { @@ -197,4 +204,4 @@ } } -?> \ No newline at end of file +?> diff --git a/lib/statslib.php b/lib/statslib.php index 34a6907b47..7c6c53d0e4 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());