From: stronk7 Date: Sun, 25 Jan 2004 19:26:24 +0000 (+0000) Subject: Groups are now included in backup too. I start working in restore now. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=a4de843e15cf32620734a32a706dfce0468c0dc0;p=moodle.git Groups are now included in backup too. I start working in restore now. --- diff --git a/backup/backup_execute.html b/backup/backup_execute.html index 5030e7638b..c328076cc1 100644 --- a/backup/backup_execute.html +++ b/backup/backup_execute.html @@ -212,6 +212,14 @@ } } + //Print groups info + if ($status) { + echo "
  • ".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) { diff --git a/backup/backuplib.php b/backup/backuplib.php index cbc99b3625..5592a6b6f1 100644 --- a/backup/backuplib.php +++ b/backup/backuplib.php @@ -942,6 +942,75 @@ 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) {