]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-2674 adding $cm->grouping reset if groupings not restored; removed info about...
authorskodak <skodak>
Mon, 17 Mar 2008 21:57:02 +0000 (21:57 +0000)
committerskodak <skodak>
Mon, 17 Mar 2008 21:57:02 +0000 (21:57 +0000)
backup/restore_form.html
backup/restorelib.php

index d1eaae7b7c9f22e37eb2f859bad115498a5ae503..028d6709616ab476a35a4a573ab2e77b7a394cc5 100644 (file)
@@ -435,7 +435,7 @@ function selectItemInCheckboxByName(formId, checkName, checked ) {
             $group_options[RESTORE_GROUPS_NONE] = get_string('no');
             $group_options[RESTORE_GROUPS_ONLY] = get_string('yes');
         } else {
-            echo '<label for="menurestore_groups">'.get_string ("groupsgroupings").'</label>'.$helplink;
+            echo '<label for="menurestore_groups">'.get_string ('groupsgroupings', 'group').'</label>'.$helplink;
             echo "</b></td><td colspan=\"2\">";
             $group_options[RESTORE_GROUPS_NONE] = get_string('none');
             $group_options[RESTORE_GROUPS_ONLY] = get_string('groups');
index 8a618d5606bc611669019f63111ffd1f9c2945f1..b726b36e8f44da7c529023f602e97c4f0aa84030 100644 (file)
@@ -480,17 +480,6 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
             $tab[$elem][0] = "<b>".get_string("users").":</b>";
             $tab[$elem][1] = get_string($info->backup_users);
             $elem++;
-            //Groups info
-            if (empty($CFG->enablegroupings)) {
-                $tab[$elem][0] = "<b>".get_string('groups').":</b>";
-            } else {
-                $tab[$elem][0] = "<b>".get_string('groupsgroupings','group').":</b>";
-            }
-            if (!isset($info->backup_groups)) {  //Backwards compatibility.
-                $info->backup_groups = 'course';
-            }
-            $tab[$elem][1] = get_string($info->backup_groups);
-            $elem++;
             //Logs info
             $tab[$elem][0] = "<b>".get_string("logs").":</b>";
             if ($info->backup_logs == "true") {
@@ -1083,7 +1072,7 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
                                         $course_module->indent = $mod->indent;
                                         $course_module->visible = $mod->visible;
                                         $course_module->groupmode = $mod->groupmode;
-                                        if ($mod->groupingid and $grouping = backup_getid($restore->backup_unique_code,"groupings",$mod->groupingid)) {
+                                        if ($mod->groupingid and $grouping = restore_grouping_getid($restore, $mod->groupingid)) {
                                             $course_module->groupingid = $grouping->new_id;
                                         } else {
                                             $course_module->groupingid = 0;
@@ -3067,6 +3056,20 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
         return $group;
     }
 
+    /**
+     * Recode grouping ID field, and set grouping ID based on restore options.
+     * @return object Group object with new_id field.
+     */
+    function restore_grouping_getid($restore, $groupingid) {
+        //We have to recode the groupid field
+        $grouping = backup_getid($restore->backup_unique_code, 'groupings', $groupingid);
+        
+        if ($restore->groups == RESTORE_GROUPS_GROUPINGS or $restore->groups == RESTORE_GROUPINGS_ONLY) {
+            $grouping->new_id = 0;
+        }
+        return $grouping;
+    }
+
     //This function creates all the groups
     function restore_create_groups($restore,$xml_file) {
 
@@ -3280,7 +3283,7 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
         // now fix the defaultgroupingid in course
         $course = get_record('course', 'id', $restore->course_id);
         if ($course->defaultgroupingid) {
-            if ($grouping = backup_getid($restore->backup_unique_code,"groupings",$course->defaultgroupingid)) {
+            if ($grouping = restore_grouping_getid($restore, $course->defaultgroupingid)) { 
                 set_field('course', 'defaultgroupingid', $grouping->new_id, 'id', $course->id);
             } else {
                 set_field('course', 'defaultgroupingid', 0, 'id', $course->id);