为了保留我的网站的登录统计信息,我需要保留用户登录和注销的时间。为此,我利用了穆迪的观察者:
$observers = array(
array(
'eventname'=>'\core\event\user_loggedin',
'callback' => 'observer::recordloginTime'
);
);
以及以下事件侦听器类:
defined('MOODLE_INTERNAL') || die();
class observer
{
public static function recordloginTime()
{
global $DB;
//Do stuff here
}
public static function recordLogoutTime()
{
global $DB;
//Do stuff here
}
}
所以现在我想访问当前会话ID和当前用户ID,因此我可以记录用户登录和注销的时间。我如何访问此信息,我想这将是某种全局变量,但我不知道它是什么。
答案 0 :(得分:1)
您可以使用$ USER全局获取当前用户记录。或者,每个事件观察器函数都将触发该事件的事件的副本传递给您-与event.php中列出的类相同的类(例如\ core \ event \ user_loggedin)。因此,您应该只可以使用$ event-> userid(假设您已将函数param $ event称为)。