我想知道是否有插件或以某种方式通过电子邮件通知moodle用户,如果他们自xxxx日期后没有连接完成课程。
有没有办法通过cron左右自动生成?
感谢。
答案 0 :(得分:1)
你的问题是2合1.你问的是如何识别一段时间没有登录的用户,以及如何通过电子邮件发送。我将相应地回答部分内容。所有这一切都可以通过cron完成,但我不使用Moodle,所以我不知道你可以使用哪些插件。
他是一个查询示例,用于识别180天内未登录的用户(但会忽略那些从未登录过的用户)。
SELECT * FROM mdl_user
WHERE lastlogin < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
AND lastlogin != 0
AND lastaccess < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
AND deleted = 0
现在是电子邮件位。根据Google的说法,Moodle使用PHPMailer作为email_to_user()函数。在PHP中使用它的一个例子:
email_to_user($toUser, $fromUser, $subject, $messageText, $messageHtml, '', '', true);
$ toUser和$ fromUser应该是Moodle用户对象,而不是电子邮件地址。遍历查询结果以构建这些对象将是剩下的工作。
最后提示:要根据查询的每个结果获取用户对象,可以使用get_record函数,如下所示:
$userObj = get_record("user", "id", $userID);