我们可以获取课程开始回调并完成从moodle到系统的回调响应吗?

时间:2019-05-17 12:21:40

标签: php laravel moodle moodle-api

当学生使用穆迪尔课程时,我们需要使用他们开始课程的日期来更新我们的系统。因此,我们需要从moodle那里获得响应,以在我们的系统中进行更新,以完成课程。

1 个答案:

答案 0 :(得分:2)

您无法在Moody 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检查更改并将其推送到您的系统中。

相关问题