]> git.mjollnir.org Git - moodle.git/commitdiff
Groups are now included in backup too. I start working in restore now.
authorstronk7 <stronk7>
Sun, 25 Jan 2004 19:26:24 +0000 (19:26 +0000)
committerstronk7 <stronk7>
Sun, 25 Jan 2004 19:26:24 +0000 (19:26 +0000)
backup/backup_execute.html
backup/backuplib.php

index 5030e7638bd6c22792644acb63969f196a3803a8..c328076cc1233d1a27523938450ad891cd33d9f0 100644 (file)
             }
         }
 
+        //Print groups info
+        if ($status) {
+            echo "<li>".get_string("writinggroupsinfo");
+            if (!$status = backup_groups_info($backup_file,$preferences)) {
+                notify("An error occurred while backing up groups");
+            }
+        }
+
         //Module info, this unique function makes all the work!!
         //db export and module fileis copy
         if ($status) {
index cbc99b3625877d5b89c0ca4664cf978d1218b5c5..5592a6b6f1bd433459ac7eefdb087229c17f2813 100644 (file)
         return $status;
     }
 
+    //Backup groups info
+    function backup_groups_info($bf,$preferences) {
+    
+        global $CFG;
+        
+        $status = true;
+
+        //Get groups 
+        $groups = get_records("groups","courseid",$preferences->backup_course);
+
+        //Pring groups header
+        if ($groups) {
+            //Pring groups header
+            fwrite ($bf,start_tag("GROUPS",2,true));
+            //Iterate
+            foreach ($groups as $group) {
+                //Begin group tag
+                fwrite ($bf,start_tag("GROUP",3,true));
+                //Output group contents
+                fwrite ($bf,full_tag("ID",4,false,$group->id));
+                fwrite ($bf,full_tag("COURSEID",4,false,$group->courseid));
+                fwrite ($bf,full_tag("NAME",4,false,$group->name));
+                fwrite ($bf,full_tag("DESCRIPTION",4,false,$group->description));
+                fwrite ($bf,full_tag("LANG",4,false,$group->lang));
+                fwrite ($bf,full_tag("PICTURE",4,false,$group->picture));
+                fwrite ($bf,full_tag("TIMECREATED",4,false,$group->timecreated));
+                fwrite ($bf,full_tag("TIMEMODIFIED",4,false,$group->timemodified));
+                
+                //Now, backup groups_members
+                $status2 = backup_groups_members_info($bf,$preferences,$group->id);
+
+                //End group tag
+                fwrite ($bf,end_tag("GROUP",3,true));
+            }
+            //End groups tag
+            $status = fwrite ($bf,end_tag("GROUPS",2,true));
+        }
+        return ($status && $status2);
+    }
+
+    //Backup groups_members info
+    function backup_groups_members_info($bf,$preferences,$groupid) {
+  
+        global $CFG;
+        
+        $status = true;
+
+        //Get groups_members
+        $groups_members = get_records("groups_members","groupid",$groupid);
+        
+        //Pring groups_members header
+        if ($groups_members) {
+            //Pring groups_members header
+            fwrite ($bf,start_tag("MEMBERS",4,true));
+            //Iterate
+            foreach ($groups_members as $group_member) {
+                //Begin group_member tag
+                fwrite ($bf,start_tag("MEMBER",5,true));
+                //Output group_member contents
+                fwrite ($bf,full_tag("USERID",6,false,$group_member->userid));
+                fwrite ($bf,full_tag("TIMEADDED",6,false,$group_member->timeadded));
+                //End group_member tag
+                fwrite ($bf,end_tag("MEMBER",5,true));
+            }
+            //End groups_members tag
+            $status = fwrite ($bf,end_tag("MEMBERS",4,true));
+        }
+        return $status;
+    }
 
     //Start the modules tag
     function backup_modules_start ($bf,$preferences) {