From c2f51fe3bebf89b47e9c29428b0d58a010748afc Mon Sep 17 00:00:00 2001 From: tjhunt Date: Fri, 9 Mar 2007 14:33:50 +0000 Subject: [PATCH] Groups upgrade fails if you have groups defined, but none of them contain any members. --- group/db/upgrade.php | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/group/db/upgrade.php b/group/db/upgrade.php index 6287f3d1af..2160d845bf 100644 --- a/group/db/upgrade.php +++ b/group/db/upgrade.php @@ -153,44 +153,33 @@ function groups_transfer_db() { $status = true; if (table_exists($t_groups = new XMLDBTable('groups_temp'))) { - $status = $status &&(bool)$groups_r = get_records('groups_temp'); - $status = $status &&(bool)$members_r= get_records('groups_members_temp'); + $groups_r = get_records('groups_temp'); + $members_r = get_records('groups_members_temp'); - if (! $groups_r) { - if (! $members_r) { - /* - * I think this might occur when group table is empty -- ohmori. - */ - return true; - } else { - return $status; - } + if (!$groups_r) { + // No gropus to upgrade. + return true; } foreach ($groups_r as $group) { if (debugging()) { print_object($group); } $group->enrolmentkey = $group->password; - ///unset($group->password); - ///unset($group->courseid); - $status = $status &&(bool)$newgroupid = groups_db_upgrade_group($group->courseid, $group); + $status = $status && ($newgroupid = groups_db_upgrade_group($group->courseid, $group)); if ($members_r) { foreach ($members_r as $member) { if ($member->groupid == $group->id) { - $status = $status &&(bool)$memberid = groups_add_member($newgroupid, $member->userid); + $status = $status && groups_add_member($newgroupid, $member->userid); } } } } - ///$status = $status && drop_table($t_groups); - ///$status = $status && drop_table(new XMLDBTable('groups_members_temp')); } else { - return false; + $status = false; } return $status; } - function groups_drop_keys_indexes_db() { $result = true; /// Define index groupid-courseid (unique) to be added to groups_members -- 2.39.5