print_error("That's an invalid course id");
}
- require_login($course->id);
+ require_login($course);
- $context=get_context_instance(CONTEXT_COURSE, $course->id);
+ $context = get_context_instance(CONTEXT_COURSE, $course->id);
require_capability('moodle/site:viewreports', $context);
$strreports = get_string('reports');
foreach ($directories as $directory) {
$pluginfile = $CFG->dirroot.'/course/report/'.$directory.'/mod.php';
if (file_exists($pluginfile)) {
- echo '<div class="plugin">';
- //echo $pluginfile;
- include_once($pluginfile); // Fragment for listing
- echo '</div>';
+ ob_start();
+ include($pluginfile); // Fragment for listing
+ $html = ob_get_contents();
+ ob_end_clean();
+ // add div only if plugin accessible
+ if ($html !== '') {
+ echo '<div class="plugin">';
+ echo $html;
+ echo '</div>';
+ }
}
}
require_once($CFG->dirroot.'/course/lib.php');
require_once($CFG->dirroot.'/course/report/log/lib.php');
+ if (has_capability('moodle/site:viewreports', $context)) {
+ print_heading(get_string('chooselogs') .':');
- print_heading(get_string('chooselogs') .':');
+ print_log_selector_form($course);
- print_log_selector_form($course);
-
- print_heading(get_string('chooselivelogs') .':');
- echo '<p>';
- link_to_popup_window('/course/report/log/live.php?id='. $course->id,'livelog', get_string('livelogs'), 500, 800);
- echo '</p>';
+ print_heading(get_string('chooselivelogs') .':');
+ echo '<p>';
+ link_to_popup_window('/course/report/log/live.php?id='. $course->id,'livelog', get_string('livelogs'), 500, 800);
+ echo '</p>';
+ }
?>
\ No newline at end of file
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
}
- echo '<p>';
- $activityreport = get_string( 'activityreport' );
- echo "<a href=\"{$CFG->wwwroot}/course/report/outline/index.php?id={$course->id}\">";
- echo "$activityreport</a>\n";
- echo '</p>';
+ if (has_capability('moodle/site:viewreports', $context)) {
+ echo '<p>';
+ $activityreport = get_string( 'activityreport' );
+ echo "<a href=\"{$CFG->wwwroot}/course/report/outline/index.php?id={$course->id}\">";
+ echo "$activityreport</a>\n";
+ echo '</p>';
+ }
?>
\ No newline at end of file
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
}
- echo '<p>';
- $participationreport = get_string('participationreport');
- echo "<a href=\"{$CFG->wwwroot}/course/report/participation/index.php?id={$course->id}\">";
- echo "$participationreport</a>\n";
- echo '</p>';
-
+ if (has_capability('moodle/site:viewreports', $context)) {
+ echo '<p>';
+ $participationreport = get_string('participationreport');
+ echo "<a href=\"{$CFG->wwwroot}/course/report/participation/index.php?id={$course->id}\">";
+ echo "$participationreport</a>\n";
+ echo '</p>';
+ }
?>
die('Direct access to this script is forbidden.'); // It must be included from a Moodle page
}
- $completion=new completion_info($course);
- if ($completion->is_enabled() && has_capability('moodle/course:viewprogress',$context)) {
- echo '<p>';
- echo '<a href="'.$CFG->wwwroot.'/course/report/progress/?course='.$course->id.'">'.get_string('completionreport','completion').'</a>';
- echo '</p>';
- }
+ if (has_capability('moodle/site:viewreports', $context)) {
+ $completion = new completion_info($course);
+ if ($completion->is_enabled() && has_capability('moodle/course:viewprogress', $context)) {
+ echo '<p>';
+ echo '<a href="'.$CFG->wwwroot.'/course/report/progress/?course='.$course->id.'">'.get_string('completionreport','completion').'</a>';
+ echo '</p>';
+ }
+ }
?>
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
}
-
- if (!empty($CFG->enablestats)) {
- echo '<p>';
- echo '<a href="'.$CFG->wwwroot.'/course/report/stats/index.php?course='.$course->id.'">'.get_string('stats').'</a>';
- echo '</p>';
- } else {
- echo '<p>';
- echo get_string('statsoff');
- echo '</p>';
+
+ if (has_capability('moodle/site:viewreports', $context)) {
+ if (!empty($CFG->enablestats)) {
+ echo '<p>';
+ echo '<a href="'.$CFG->wwwroot.'/course/report/stats/index.php?course='.$course->id.'">'.get_string('stats').'</a>';
+ echo '</p>';
+ } else {
+ echo '<p>';
+ echo get_string('statsoff');
+ echo '</p>';
+ }
}
?>
$defpath = $CFG->dirroot.'/mod/quiz/report/'.$compparts[1].'/db/access.php';
$varprefix = $compparts[0].'_'.$compparts[1];
+ } else if ($compparts[0] == 'coursereport') {
+ $defpath = $CFG->dirroot.'/course/report/'.$compparts[1].'/db/access.php';
+ $varprefix = $compparts[0].'_'.$compparts[1];
+
} else {
$defpath = $CFG->dirroot.'/'.$component.'/db/access.php';
$varprefix = str_replace('/', '_', $component);
$string = get_string($stringname, 'gradereport_'.$componentname);
break;
+ case 'coursereport':
+ $string = get_string($stringname, 'coursereport_'.$componentname);
+ break;
+
case 'quizreport':
$string = get_string($stringname, 'quiz_'.$componentname);
break;
|| preg_match('|^gradeexport/|', $component)
|| preg_match('|^gradereport/|', $component)) {
$string = get_string('gradebook', 'admin');
+ } else if (preg_match('|^coursereport/|', $component)) {
+ $string = get_string('reports');
} else {
$string = get_string('course');
}
$compsa = explode('/', $cap->component);
$compsb = explode('/', $comp);
-
+ // list of system reports
+ if (($compsa[0] == 'report') && ($compsb[0] == 'report')) {
+ return false;
+ }
// we are in gradebook, still
if (($compsa[0] == 'gradeexport' || $compsa[0] == 'gradeimport' || $compsa[0] == 'gradereport') &&
($compsb[0] == 'gradeexport' || $compsb[0] == 'gradeimport' || $compsb[0] == 'gradereport')) {
return false;
}
+
+ if (($compsa[0] == 'coursereport') && ($compsb[0] == 'coursereport')) {
+ return false;
+ }
}
return ($cap->component != $comp || $cap->contextlevel != $contextlevel);
/// Check all message output plugins and upgrade if necessary
upgrade_plugins('message','message/output',$return_url);
+/// Check all course report plugins and upgrade if necessary
+ upgrade_plugins('coursereport', 'course/report', $return_url);
+
/// Check all admin report plugins and upgrade if necessary
upgrade_plugins('report', $CFG->admin.'/report', $return_url);