Moodle:在用户登录时获取用户ID

时间:2019-05-04 18:16:06

标签: php moodle

为了保留我的网站的登录统计信息,我需要保留用户登录和注销的时间。为此,我利用了穆迪的观察者:

$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,因此我可以记录用户登录和注销的时间。我如何访问此信息,我想这将是某种全局变量,但我不知道它是什么。

1 个答案:

答案 0 :(得分:1)

您可以使用$ USER全局获取当前用户记录。或者,每个事件观察器函数都将触发该事件的事件的副本传递给您-与event.php中列出的类相同的类(例如\ core \ event \ user_loggedin)。因此,您应该只可以使用$ event-> userid(假设您已将函数param $ event称为)。