diff --git a/admin/uploaduser.php b/admin/uploaduser.php index 9e86474be6e..d92191bf26a 100755 --- a/admin/uploaduser.php +++ b/admin/uploaduser.php @@ -119,6 +119,11 @@ if ($um->preprocess_files() && confirm_sesskey()) { "type3" => 1, "type4" => 1, "type5" => 1, + "role1" => 1, + "role2" => 1, + "role3" => 1, + "role4" => 1, + "role5" => 1, "password" => $createpassword, "oldusername" => $allowrenames); @@ -206,6 +211,11 @@ if ($um->preprocess_files() && confirm_sesskey()) { $addtype[2] = $user->type3; $addtype[3] = $user->type4; $addtype[4] = $user->type5; + $addrole[0] = $user->role1; + $addrole[1] = $user->role2; + $addrole[2] = $user->role3; + $addrole[3] = $user->role4; + $addrole[4] = $user->role5; for ($i=0; $i<5; $i++) { $course[$i]=NULL; @@ -306,7 +316,13 @@ if ($um->preprocess_files() && confirm_sesskey()) { } for ($i=0; $i<5; $i++) { /// Enrol into courses if necessary if ($course[$i]) { - if (isset($addtype[$i])) { + if (isset($addrole[$i])) { + $coursecontext = get_context_instance(CONTEXT_COURSE, $course[$i]->id); + if (!user_can_assign($coursecontext, $addrole[$i])) { + notify('--> Can not eroll into course'); //TODO: localize + } + $ret = role_assign($addrole[$i], $user->id, 0, $coursecontext->id); + } else if (isset($addtype[$i])) { switch ($addtype[$i]) { case 2: // teacher $ret = add_teacher($user->id, $course[$i]->id, 1); @@ -332,8 +348,8 @@ if ($um->preprocess_files() && confirm_sesskey()) { } for ($i=0; $i<5; $i++) { // Add user to groups if necessary if ($course[$i] && $groupid[$i]) { - if (record_exists('user_students','userid',$user->id,'course',$course[$i]->id) || - record_exists('user_teachers','userid',$user->id,'course',$course[$i]->id)) { + $coursecontext = get_context_instance(CONTEXT_COURSE, $course[$i]->id); + if (count(get_user_roles($coursecontext, $user->id))) { if (add_user_to_group($groupid[$i], $user->id)) { notify('-->' . get_string('addedtogroup','',$addgroup[$i])); } else { diff --git a/lang/en_utf8/help/uploadusers.html b/lang/en_utf8/help/uploadusers.html index 38cf4e38546..ca3bb576607 100644 --- a/lang/en_utf8/help/uploadusers.html +++ b/lang/en_utf8/help/uploadusers.html @@ -15,13 +15,13 @@
Default fieldnames: these are optional - if they are not included then the values are taken from the primary admin
institution, department, city, country, lang, auth, timezone
Optional fieldnames: all of these are completely optional. The course names are the "shortnames" of the courses - if present then the user will be enrolled as students in those courses. Group names must be associated to the corresponding courses, i.e. group1 to course1, etc.
-idnumber, icq, phone1, phone2, address, url, description, mailformat, maildisplay, htmleditor, autosubscribe, course1, course2, course3, course4, course5, group1, group2, group3, group4, group5, type1, type2, type3, type4, type5
+idnumber, icq, phone1, phone2, address, url, description, mailformat, maildisplay, htmleditor, autosubscribe, course1, course2, course3, course4, course5, group1, group2, group3, group4, group5, type1, type2, type3, type4, type5, role1, role2, role3, role4, role5