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

This commit is contained in:
mjollnir_ 2007-04-11 23:53:15 +00:00
parent dcc2ffde63
commit bd903ae9de
3 changed files with 38 additions and 7 deletions

View File

@ -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) {

View File

@ -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 @@
}
}
?>
?>

View File

@ -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());