mirror of
https://github.com/moodle/moodle.git
synced 2025-04-20 07:56:06 +02:00
MDL-41269 add separate ip column to standard log table
This commit is contained in:
parent
770eac9805
commit
81fbecc049
@ -63,8 +63,10 @@ class store implements \tool_log\log\writer, \core\log\sql_reader {
|
||||
$data['other'] = serialize($data['other']);
|
||||
if (CLI_SCRIPT) {
|
||||
$data['origin'] = 'cli';
|
||||
$data['ip'] = null;
|
||||
} else {
|
||||
$data['origin'] = getremoteaddr();
|
||||
$data['origin'] = 'web';
|
||||
$data['ip'] = getremoteaddr();
|
||||
}
|
||||
$data['realuserid'] = \core\session\manager::is_loggedinas() ? $_SESSION['USER']->realuser : null;
|
||||
$dataobj[] = $data;
|
||||
@ -80,7 +82,7 @@ class store implements \tool_log\log\writer, \core\log\sql_reader {
|
||||
$records = $DB->get_records_select('logstore_standard_log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum);
|
||||
|
||||
foreach ($records as $data) {
|
||||
$extra = array('origin' => $data->origin, 'realuserid' => $data->realuserid);
|
||||
$extra = array('origin' => $data->origin, 'ip' => $data->ip, 'realuserid' => $data->realuserid);
|
||||
$data = (array)$data;
|
||||
$id = $data['id'];
|
||||
$data['other'] = unserialize($data['other']);
|
||||
@ -88,6 +90,7 @@ class store implements \tool_log\log\writer, \core\log\sql_reader {
|
||||
$data['other'] = array();
|
||||
}
|
||||
unset($data['origin']);
|
||||
unset($data['ip']);
|
||||
unset($data['realuserid']);
|
||||
unset($data['id']);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XMLDB PATH="admin/tool/log/store/standard/db" VERSION="20131222" COMMENT="XMLDB file for Moodle admin/tool/log/store/standard"
|
||||
<XMLDB PATH="admin/tool/log/store/standard/db" VERSION="20140130" COMMENT="XMLDB file for Moodle admin/tool/log/store/standard"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../../../../../../lib/xmldb/xmldb.xsd"
|
||||
>
|
||||
@ -23,7 +23,8 @@
|
||||
<FIELD NAME="relateduserid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
|
||||
<FIELD NAME="other" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
|
||||
<FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
|
||||
<FIELD NAME="origin" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="IP address, cli, cron"/>
|
||||
<FIELD NAME="origin" TYPE="char" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="cli, cron, ws, etc."/>
|
||||
<FIELD NAME="ip" TYPE="char" LENGTH="45" NOTNULL="false" SEQUENCE="false" COMMENT="IP address"/>
|
||||
<FIELD NAME="realuserid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="real user id when logged-in-as"/>
|
||||
</FIELDS>
|
||||
<KEYS>
|
||||
@ -34,4 +35,4 @@
|
||||
</INDEXES>
|
||||
</TABLE>
|
||||
</TABLES>
|
||||
</XMLDB>
|
||||
</XMLDB>
|
@ -350,11 +350,12 @@ abstract class base implements \IteratorAggregate {
|
||||
/**
|
||||
* Create fake event from legacy log data.
|
||||
*
|
||||
* @param stdClass $legacy
|
||||
* @param \stdClass $legacy
|
||||
* @return base
|
||||
*/
|
||||
public static final function restore_legacy($legacy) {
|
||||
$classname = get_called_class();
|
||||
/** @var base $event */
|
||||
$event = new $classname();
|
||||
$event->restored = true;
|
||||
$event->triggered = true;
|
||||
@ -417,7 +418,15 @@ abstract class base implements \IteratorAggregate {
|
||||
$event->data['relateduserid'] = ($legacy->userid ? $legacy->userid : null);
|
||||
$event->data['timecreated'] = $legacy->time;
|
||||
|
||||
$event->logextra = array('origin'=>$legacy->ip, 'realuserid'=>null);
|
||||
$event->logextra = array();
|
||||
if ($legacy->ip) {
|
||||
$event->logextra['origin'] = 'web';
|
||||
$event->logextra['ip'] = $legacy->ip;
|
||||
} else {
|
||||
$event->logextra['origin'] = 'cli';
|
||||
$event->logextra['ip'] = null;
|
||||
}
|
||||
$event->logextra['realuserid'] = null;
|
||||
|
||||
$event->data['other'] = (array)$legacy;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user