fix for MDL-6928 LDAP course creation capability error
This commit is contained in:
@@ -2382,6 +2382,7 @@ function authenticate_user_login($username, $password) {
|
||||
$user = create_user_record($username, $password, $auth);
|
||||
}
|
||||
|
||||
/*
|
||||
if (function_exists('auth_iscreator')) { // Check if the user is a creator
|
||||
$useriscreator = auth_iscreator($username);
|
||||
if (!is_null($useriscreator)) {
|
||||
@@ -2401,6 +2402,23 @@ function authenticate_user_login($username, $password) {
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
// fix for MDL-6928
|
||||
|
||||
if (function_exists('auth_iscreator')) {
|
||||
$sitecontext = get_context_instance(CONTEXT_SYSTEM);
|
||||
if ($creatorroles = get_roles_with_capability('moodle/legacy:coursecreator', CAP_ALLOW)) {
|
||||
$creatorrole = array_shift($creatorroles); // We can only use one, let's use the first one
|
||||
// Check if the user is a creator
|
||||
if (auth_iscreator($username)) { // Following calls will not create duplicates
|
||||
if ($useriscreator) {
|
||||
role_assign($creatorrole->id, $user->id, 0, $sitecontext->id, 0, 0, 0, 'ldap');
|
||||
} else {
|
||||
role_unassign($creatorrole->id, $user->id, 0, $sitecontext->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Log in to a second system if necessary
|
||||
if (!empty($CFG->sso)) {
|
||||
|
||||
Reference in New Issue
Block a user