diff --git a/admin/tool/log/store/legacy/classes/log/store.php b/admin/tool/log/store/legacy/classes/log/store.php index 48d561ead0c..faabf716b98 100644 --- a/admin/tool/log/store/legacy/classes/log/store.php +++ b/admin/tool/log/store/legacy/classes/log/store.php @@ -95,7 +95,7 @@ class store implements \tool_log\log\store, \core\log\sql_select_reader { $records = array(); try { - $records = $DB->get_records_select('log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum); + $records = $DB->get_recordset_select('log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum); } catch (\moodle_exception $ex) { debugging("error converting legacy event data " . $ex->getMessage() . $ex->debuginfo, DEBUG_DEVELOPER); } @@ -104,6 +104,8 @@ class store implements \tool_log\log\store, \core\log\sql_select_reader { $events[$data->id] = \logstore_legacy\event\legacy_logged::restore_legacy($data); } + $records->close(); + return $events; } diff --git a/admin/tool/log/store/standard/classes/log/store.php b/admin/tool/log/store/standard/classes/log/store.php index 992d4cfc06e..44c66dea4b4 100644 --- a/admin/tool/log/store/standard/classes/log/store.php +++ b/admin/tool/log/store/standard/classes/log/store.php @@ -72,7 +72,7 @@ class store implements \tool_log\log\writer, \core\log\sql_internal_reader { $sort = self::tweak_sort_by_id($sort); $events = array(); - $records = $DB->get_records_select('logstore_standard_log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum); + $records = $DB->get_recordset_select('logstore_standard_log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum); foreach ($records as $data) { $extra = array('origin' => $data->origin, 'ip' => $data->ip, 'realuserid' => $data->realuserid); @@ -94,6 +94,8 @@ class store implements \tool_log\log\writer, \core\log\sql_internal_reader { } } + $records->close(); + return $events; } diff --git a/report/log/classes/table_log.php b/report/log/classes/table_log.php index ff6b57382c7..02e06d17339 100644 --- a/report/log/classes/table_log.php +++ b/report/log/classes/table_log.php @@ -133,18 +133,23 @@ class report_log_table_log extends table_sql { if ($event->courseid) { $params['course'] = $event->courseid; } - $a->realusername = html_writer::link(new moodle_url("/user/view.php", $params), - $this->userfullnames[$logextra['realuserid']]); - $params['id'] = $event->userid; - $a->asusername = html_writer::link(new moodle_url("/user/view.php", $params), - $this->userfullnames[$event->userid]); + $a->realusername = $this->userfullnames[$logextra['realuserid']]; + $a->asusername = $this->userfullnames[$event->userid]; + if (empty($this->download)) { + $a->realusername = html_writer::link(new moodle_url('/user/view.php', $params), $a->realusername); + $params['id'] = $event->userid; + $a->asusername = html_writer::link(new moodle_url('/user/view.php', $params), $a->asusername); + } $username = get_string('eventloggedas', 'report_log', $a); } else if (!empty($event->userid) && !empty($this->userfullnames[$event->userid])) { $params = array('id' => $event->userid); if ($event->courseid) { $params['course'] = $event->courseid; } - $username = html_writer::link(new moodle_url("/user/view.php", $params), $this->userfullnames[$event->userid]); + $username = $this->userfullnames[$event->userid]; + if (empty($this->download)) { + $username = html_writer::link(new moodle_url('/user/view.php', $params), $username); + } } else { $username = '-'; } @@ -164,10 +169,14 @@ class report_log_table_log extends table_sql { if ($event->courseid) { $params['course'] = $event->courseid; } - return html_writer::link(new moodle_url("/user/view.php", $params), $this->userfullnames[$event->relateduserid]); + $username = $this->userfullnames[$event->relateduserid]; + if (empty($this->download)) { + $username = html_writer::link(new moodle_url('/user/view.php', $params), $username); + } } else { - return '-'; + $username = '-'; } + return $username; } /** @@ -186,7 +195,7 @@ class report_log_table_log extends table_sql { $context = context::instance_by_id($event->contextid, IGNORE_MISSING); if ($context) { $contextname = $context->get_context_name(true); - if ($url = $context->get_url()) { + if ($url = $context->get_url() && empty($this->download)) { $contextname = html_writer::link($url, $contextname); } } else { @@ -233,7 +242,8 @@ class report_log_table_log extends table_sql { } else { $eventname = $event->get_name(); } - if ($url = $event->get_url()) { + // Only encode as an action link if we're not downloading. + if (($url = $event->get_url()) && empty($this->download)) { $eventname = $this->action_link($url, $eventname, 'action'); } return $eventname; @@ -273,9 +283,13 @@ class report_log_table_log extends table_sql { public function col_ip($event) { // Get extra event data for origin and realuserid. $logextra = $event->get_logextra(); + $ip = $logextra['ip']; - $url = new moodle_url("/iplookup/index.php?ip={$logextra['ip']}&user=$event->userid"); - return $this->action_link($url, $logextra['ip'], 'ip'); + if (empty($this->download)) { + $url = new moodle_url("/iplookup/index.php?ip={$ip}&user={$event->userid}"); + $ip = $this->action_link($url, $ip, 'ip'); + } + return $ip; } /**