]> git.mjollnir.org Git - moodle.git/commitdiff
Fixes Bug MDL-8545 "Restore bugs, groups-members and role assignments"
authornfreear <nfreear>
Fri, 16 Feb 2007 14:45:57 +0000 (14:45 +0000)
committernfreear <nfreear>
Fri, 16 Feb 2007 14:45:57 +0000 (14:45 +0000)
backup/restorelib.php

index e1cfecd1d757ce2d05bb5ec62bb7052b1d01b1df..ac108011276026e1f1b8060eeaccba230e2179ce 100644 (file)
 
         $status = true;
 
+        if (! isset($info['GROUP']['#']['MEMBERS']['0']['#']['MEMBER'])) {
+            //OK, some groups have no members.
+            return $status;
+        }
         //Get the members array
         $members = $info['GROUP']['#']['MEMBERS']['0']['#']['MEMBER'];
 
         foreach ($assignments as $assignment) {
 
             $olduser = backup_getid($restore->backup_unique_code,"user",$assignment->userid);
-            if (!$olduser || $olduser->info == "notincourse") { // it's possible that user is not in the course
+            //Oh dear, $olduser... can be an object, $obj->string or bool!
+            if (!$olduser || (is_string($olduser->info) && $olduser->info == "notincourse")) { // it's possible that user is not in the course
                 continue;  
             }        
             $assignment->userid = $olduser->new_id; // new userid here