如何在moodle中获取登录用户的上下文/角色?我正在尝试实现一个上下文感知块。该区块将根据用户的情绪向他们推荐正确的测验。
角色可以是教师、学生、教师助理或管理员。我已经找到了get_context_instance()
和has_compatibility()
函数,但我不知道如何使用它们来实现此目的。
发布于 2014-08-07 18:33:45
检查用户是否为管理员
$admins = get_admins();
$isadmin = false;
foreach($admins as $admin) {
if ($USER->id == $admin->id) {
$isadmin = true;
break;
}
}
将结果用于函数
if ($isadmin) {
echo "you are an admin";
} else {
echo "you are not an amidn";
}
发布于 2012-06-14 13:37:11
$context = get_context_instance (CONTEXT_SYSTEM);
$roles = get_user_roles($context, $USER->id, false);
$role = key($roles);
$roleid = $roles[$role]->roleid;
它对我很管用
发布于 2013-12-30 15:50:20
在Moodle2.x中,您可以使用函数get_user_roles
,这将返回在课程、站点或模块的上下文中分配给特定用户的角色列表。
$context = get_context_instance(CONTEXT_COURSE, $courseid, true);
$roles = get_user_roles($context, $USER->id, true);
您还可以获取模块上下文中的角色。
$context = get_context_instance(CONTEXT_MODULE, $cm->id, true);
$roles = get_user_roles($context, $USER->id, true);
https://stackoverflow.com/questions/10580338
复制相似问题