你可以使用user_created event.
还没有测试过这个,但你可以创建一个本地插件
创建本地文件夹
/local/newuser/
创建事件.php
/local/newuser/db/events.php
将其粘贴到 events.php 中
defined('MOODLE_INTERNAL') || die();
$handlers = array (
'user_created' => array (
'handlerfile' => '/local/newuser/lib.php',
'handlerfunction' => 'local_newuser_user_created',
'schedule' => 'instant',
),
);
创建 lib.php 文件
/local/newuser/lib.php
将其粘贴到 lib.php 中
defined('MOODLE_INTERNAL') || die();
function local_newuser_user_created($user) {
global $DB;
$body = '';
// Original fields.
foreach ($user as $field => $value) {
$body .= $field . ' = ' . $value . "\n";
}
// Custom fields.
$sql = "SELECT f.id, f.name, d.data
FROM {user_info_field} f
LEFT JOIN {user_info_data} d ON d.fieldid = f.id AND d.userid = :userid";
$customfields = $DB->get_records_sql($sql, array('userid' => $user->id);
foreach ($customfields as $customfield) {
$body .= $customfield->name . ' = ' . $customfield->data . "\n";
}
// Send the email to the admin user
$admin = get_admin();
$subject = get_string('newuser');
email_to_user($admin, $admin, $subject, $body);
return true;
}
最后创建一个version.php
/local/newuser/version.php
并粘贴这个
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2014012901; // Plugin version.
$plugin->requires = 2013051402; // Moodle version.
$plugin->component = 'local_newuser'; // Full name of the plugin (used for diagnostics).
然后在 Moodle 中转到站点管理 -> 通知来添加代码。然后创建一个用户,管理员应该会收到一封电子邮件:)