mirror of
https://github.com/moodle/moodle.git
synced 2025-08-09 19:06:41 +02:00
MDL-43682 loglive: Rewrite loglive to use new logging stores
AMOS BEGIN CPY [eventcomponent,report_log],[eventcomponent,report_loglive] CPY [eventcontext,report_log],[eventcontext,report_loglive] CPY [eventloggedas,report_log],[eventloggedas,report_loglive] CPY [eventorigin,report_log],[eventorigin,report_loglive] CPY [eventrelatedfullnameuser,report_log],[eventrelatedfullnameuser,report_loglive] CPY [nologreaderenabled,report_log],[nologreaderenabled,report_loglive] CPY [selectlogreader,report_log],[selectlogreader,report_loglive] AMOS END
This commit is contained in:
parent
1a727e121e
commit
5991eb80cd
19 changed files with 1759 additions and 76 deletions
|
@ -28,78 +28,69 @@ require('../../config.php');
|
|||
require_once($CFG->libdir.'/adminlib.php');
|
||||
require_once($CFG->dirroot.'/course/lib.php');
|
||||
|
||||
if (!defined('REPORT_LOGLIVE_REFRESH')) {
|
||||
define('REPORT_LOGLIVE_REFRESH', 60); // Seconds
|
||||
}
|
||||
|
||||
$id = optional_param('id', $SITE->id, PARAM_INT);
|
||||
$id = optional_param('id', 0, PARAM_INT);
|
||||
$page = optional_param('page', 0, PARAM_INT);
|
||||
$inpopup = optional_param('inpopup', 0, PARAM_BOOL);
|
||||
$logreader = optional_param('logreader', '', PARAM_COMPONENT); // Reader which will be used for displaying logs.
|
||||
|
||||
$course = $DB->get_record('course', array('id'=>$id), '*', MUST_EXIST);
|
||||
|
||||
if ($course->id == SITEID) {
|
||||
if (empty($id)) {
|
||||
require_login();
|
||||
$PAGE->set_context(context_system::instance());
|
||||
$context = context_system::instance();
|
||||
$coursename = format_string($SITE->fullname, true, array('context' => $context));
|
||||
} else {
|
||||
$course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST);
|
||||
require_login($course);
|
||||
$context = context_course::instance($course->id);
|
||||
$coursename = format_string($course->fullname, true, array('context' => $context));
|
||||
}
|
||||
|
||||
$context = context_course::instance($course->id);
|
||||
require_capability('report/loglive:view', $context);
|
||||
|
||||
$params = array();
|
||||
if ($id != 0) {
|
||||
$params['id'] = $id;
|
||||
}
|
||||
if ($page != 0) {
|
||||
$params['page'] = $page;
|
||||
}
|
||||
if ($logreader !== '') {
|
||||
$params['logreader'] = $logreader;
|
||||
}
|
||||
$url = new moodle_url("/report/loglive/index.php", $params);
|
||||
|
||||
$PAGE->set_url($url);
|
||||
$PAGE->set_pagelayout('report');
|
||||
|
||||
$renderable = new report_loglive_renderable($logreader, $id, $url, 0, $page);
|
||||
$refresh = $renderable->get_refresh_rate();
|
||||
$logreader = $renderable->selectedlogreader;
|
||||
|
||||
// Include and trigger ajax requests.
|
||||
if ($page == 0 && !empty($logreader)) {
|
||||
// Tell Js to fetch new logs only, by passing time().
|
||||
$jsparams = array('since' => time() , 'courseid' => $id, 'page' => $page, 'logreader' => $logreader,
|
||||
'interval' => $refresh, 'perpage' => $renderable->perpage);
|
||||
$PAGE->requires->strings_for_js(array('pause', 'resume'), 'report_loglive');
|
||||
$PAGE->requires->yui_module('moodle-report_loglive-fetchlogs', 'Y.M.report_loglive.FetchLogs.init', array($jsparams));
|
||||
}
|
||||
|
||||
$strlivelogs = get_string('livelogs', 'report_loglive');
|
||||
if (!empty($page)) {
|
||||
$strlogs = get_string('logs'). ": ". get_string('page', 'report_loglive', $page + 1);
|
||||
} else {
|
||||
$strlogs = get_string('logs');
|
||||
$strupdatesevery = get_string('updatesevery', 'moodle', $refresh);
|
||||
|
||||
if (empty($id)) {
|
||||
admin_externalpage_setup('reportloglive', '', null, '', array('pagelayout' => 'report'));
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
$PAGE->set_context($context);
|
||||
$PAGE->set_title("$coursename: $strlivelogs ($strupdatesevery)");
|
||||
$PAGE->set_heading("$coursename: $strlivelogs ($strupdatesevery)");
|
||||
|
||||
if ($inpopup) {
|
||||
\core\session\manager::write_close();
|
||||
$output = $PAGE->get_renderer('report_loglive');
|
||||
echo $output->header();
|
||||
echo $output->reader_selector($renderable);
|
||||
echo $output->toggle_liveupdate_button($renderable);
|
||||
echo $output->render($renderable);
|
||||
|
||||
$date = time() - 3600;
|
||||
// Trigger a logs viewed event.
|
||||
$event = \report_loglive\event\report_viewed::create(array('context' => $context));
|
||||
$event->trigger();
|
||||
|
||||
$url = new moodle_url('/report/loglive/index.php', array('id'=>$course->id, 'user'=>0, 'date'=>$date, 'inpopup'=>1));
|
||||
|
||||
$strupdatesevery = get_string('updatesevery', 'moodle', REPORT_LOGLIVE_REFRESH);
|
||||
|
||||
$coursename = format_string($course->fullname, true, array('context'=>$context));
|
||||
|
||||
$PAGE->set_url($url);
|
||||
$PAGE->set_pagelayout('popup');
|
||||
$PAGE->set_title("$coursename: $strlivelogs ($strupdatesevery)");
|
||||
$PAGE->set_periodic_refresh_delay(REPORT_LOGLIVE_REFRESH);
|
||||
$PAGE->set_heading($strlivelogs);
|
||||
echo $OUTPUT->header();
|
||||
|
||||
// Trigger a logs viewed event.
|
||||
$event = \report_loglive\event\report_viewed::create(array('context' => $context));
|
||||
$event->trigger();
|
||||
|
||||
print_log($course, 0, $date, "l.time DESC", $page, 500, $url);
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
if ($course->id == SITEID) {
|
||||
admin_externalpage_setup('reportloglive', '', null, '', array('pagelayout'=>'report'));
|
||||
echo $OUTPUT->header();
|
||||
|
||||
} else {
|
||||
$PAGE->set_url('/report/log/live.php', array('id'=>$course->id));
|
||||
$PAGE->set_title($course->shortname .': '. $strlivelogs);
|
||||
$PAGE->set_heading($course->fullname);
|
||||
echo $OUTPUT->header();
|
||||
}
|
||||
|
||||
echo $OUTPUT->heading(get_string('pluginname', 'report_loglive'));
|
||||
|
||||
echo $OUTPUT->container_start('info');
|
||||
$link = new moodle_url('/report/loglive/index.php', array('id'=>$course->id, 'inpopup'=>1));
|
||||
echo $OUTPUT->action_link($link, $strlivelogs, new popup_action('click', $link, 'livelog', array('height' => 500, 'width' => 800)));
|
||||
echo $OUTPUT->container_end();
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
echo $output->footer();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue