Checked in Nick's patch from MDL-6699 to aid installation when there

are a LOT of students (it was running out of memory)
This commit is contained in:
moodler
2006-09-26 13:31:57 +00:00
parent d22130f36d
commit f1dcf0000a
+23 -9
View File
@@ -942,9 +942,11 @@ function moodle_install_roles() {
* Sort using id ASC, first one is primary admin.
*/
if (in_array($CFG->prefix.'user_admins', $dbtables)) {
if ($useradmins = get_records_sql('SELECT * from '.$CFG->prefix.'user_admins ORDER BY ID ASC')) {
foreach ($useradmins as $admin) {
if ($rs = get_recordset_sql('SELECT * from '.$CFG->prefix.'user_admins ORDER BY ID ASC')) {
while (! $rs->EOF) {
$admin = $rs->FetchObj();
role_assign($adminrole, $admin->userid, 0, $systemcontext->id);
$rs->MoveNext();
}
}
} else {
@@ -956,9 +958,11 @@ function moodle_install_roles() {
* Upgrade course creators.
*/
if (in_array($CFG->prefix.'user_coursecreators', $dbtables)) {
if ($usercoursecreators = get_records('user_coursecreators')) {
foreach ($usercoursecreators as $coursecreator) {
if ($rs = get_recordset('user_coursecreators')) {
while (! $rs->EOF) {
$coursecreator = $rs->FetchObj();
role_assign($coursecreatorrole, $coursecreator->userid, 0, $systemcontext->id);
$rs->MoveNext();
}
}
}
@@ -968,14 +972,17 @@ function moodle_install_roles() {
* Upgrade editting teachers and non-editting teachers.
*/
if (in_array($CFG->prefix.'user_teachers', $dbtables)) {
if ($userteachers = get_records('user_teachers')) {
foreach ($userteachers as $teacher) {
if ($rs = get_recordset('user_teachers')) {
while (! $rs->EOF) {
$teacher = $rs->FetchObj();
// populate the user_lastaccess table
$access = new object();
$access->timeaccess = $teacher->timeaccess;
$access->userid = $teacher->userid;
$access->courseid = $teacher->course;
insert_record('user_lastaccess', $access);
// assign the default student role
$coursecontext = get_context_instance(CONTEXT_COURSE, $teacher->course); // needs cache
if ($teacher->editall) { // editting teacher
@@ -983,6 +990,8 @@ function moodle_install_roles() {
} else {
role_assign($noneditteacherrole, $teacher->userid, 0, $coursecontext->id);
}
$rs->MoveNext();
}
}
}
@@ -992,17 +1001,22 @@ function moodle_install_roles() {
* Upgrade students.
*/
if (in_array($CFG->prefix.'user_students', $dbtables)) {
if ($userstudents = get_records('user_students')) {
foreach ($userstudents as $student) {
if ($rs = get_recordset('user_students')) {
while (! $rs->EOF) {
$student = $rs->FetchObj();
// populate the user_lastaccess table
unset($access);
$access = new object;
$access->timeaccess = $student->timeaccess;
$access->userid = $student->userid;
$access->courseid = $student->course;
insert_record('user_lastaccess', $access);
// assign the default student role
$coursecontext = get_context_instance(CONTEXT_COURSE, $student->course);
role_assign($studentrole, $student->userid, 0, $coursecontext->id);
$rs->MoveNext();
}
}
}