From c768b610577ab1400ffbbe52d6cf6c06a31a0d9a Mon Sep 17 00:00:00 2001 From: toyomoyo Date: Wed, 1 Nov 2006 03:51:04 +0000 Subject: [PATCH] merged fix for MDL-6928, LDAP course creation error --- lib/moodlelib.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index be0e264ddb..f62226d233 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -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)) { -- 2.39.5