Moodle: получение идентификатора пользователя при входе в систему - PullRequest
0 голосов
/ 04 мая 2019

Чтобы вести статистику входа в систему для моего сайта Moodle, мне нужно следить за тем, чтобы пользователь входил и выходил из системы.Для этого я использую наблюдателя 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
    }
}

Итак, теперь я хочу получить доступ к текущему идентификатору сеанса и текущемуидентификатор пользователя, поэтому я могу записать время, когда пользователь вошел в систему и вышел из системы.Как я могу получить доступ к этой информации, я думаю, это будет какая-то глобальная переменная, но я не знаю, что это такое.

1 Ответ

1 голос
/ 04 мая 2019

Вы можете использовать глобальную переменную $ USER для получения текущей записи пользователя. В качестве альтернативы, каждой функции-наблюдателю события передается копия события, которое ее вызвало - того же класса, который вы перечислили в файле event.php (например, \ core \ event \ user_loggedin). Так что вы должны иметь возможность просто использовать $ event-> userid (при условии, что вы вызвали функцию param $ event).

...