MDL-25988 fixed overriding of roles variable
authorPetr Skoda <commits@skodak.org>
Fri, 14 Jan 2011 18:04:55 +0000 (19:04 +0100)
committerPetr Skoda <commits@skodak.org>
Fri, 14 Jan 2011 18:04:55 +0000 (19:04 +0100)
credit goes to Michael Landis

enrol/database/lib.php

index a40c807..50f2571 100644 (file)
@@ -430,8 +430,8 @@ class enrol_database_plugin extends enrol_plugin {
             unset($user_mapping);
 
             // enrol all users and sync roles
-            foreach ($requested_roles as $userid=>$roles) {
-                foreach ($roles as $roleid) {
+            foreach ($requested_roles as $userid=>$userroles) {
+                foreach ($userroles as $roleid) {
                     if (empty($current_roles[$userid])) {
                         $this->enrol_user($instance, $userid, $roleid);
                         $current_roles[$userid][$roleid] = $roleid;
@@ -441,7 +441,7 @@ class enrol_database_plugin extends enrol_plugin {
 
                 // unassign removed roles
                 foreach($current_roles[$userid] as $cr) {
-                    if (empty($roles[$cr])) {
+                    if (empty($userroles[$cr])) {
                         role_unassign($cr, $userid, $context->id, 'enrol_database', $instance->id);
                         unset($current_roles[$userid][$cr]);
                     }