Можем ли мы получить обратный вызов начала курса и полный ответ обратного вызова от moodle в нашу систему? - PullRequest
0 голосов
/ 17 мая 2019

Когда студент начинает курс по Moodle, нам необходимо обновить нашу систему, указав дату, с которой он начал курс.Поэтому нам нужно получить ответ от Moodle, чтобы обновить его в нашей системе, то же самое для завершения курса.

1 Ответ

2 голосов
/ 17 мая 2019

Вы не можете получить доступ к первому курсу в Moodle 3+. Это действие больше не регистрируется, вы можете получить только последний доступ (если вы не используете более раннюю версию Moodle).

Вы можете получить последнюю дату доступа к курсу, запросив mdl_logstore_standard_log для события "\ core \ event \ course_viewed".

Например:

SELECT * FROM mdl_logstore_standard_log WHERE eventname = '\\core\\event\\course_viewed' AND userid=?

Чтобы узнать дату окончания курса, вы можете выполнить поиск события "\ core \ event \ course_completed". например:

SELECT * FROM mdl_logstore_standard_log WHERE eventname = '\\core\\event\\course_completed' AND userid=?

Если вы хотите получить дату их зачисления, вы можете использовать этот запрос:

SELECT u.username, u.lastname, u.firstname, c.fullname, DATE_FORMAT(FROM_UNIXTIME(ue.timecreated), '%Y-%m-%d %H:%i') AS 'DateAndTimeCreated' FROM mdl_user_enrolments ue LEFT JOIN mdl_enrol e ON (ue.enrolid = e.id) LEFT JOIN mdl_course c ON (e.courseid = c.id) LEFT JOIN mdl_user u ON (ue.userid = u.id)

Я бы порекомендовал создать локальный плагин и использовать cron, чтобы проверить изменения и вставить их в вашу систему.

...