]> git.mjollnir.org Git - moodle.git/commitdiff
Bug #6093 - Removed course sections re-appear after moving existing sections; merged...
authorskodak <skodak>
Wed, 19 Jul 2006 12:30:39 +0000 (12:30 +0000)
committerskodak <skodak>
Wed, 19 Jul 2006 12:30:39 +0000 (12:30 +0000)
course/lib.php

index 316867c96b1fd0452683809c152539cb90815082..f4d73b5991d22ef3e590cdebb9e39eff522d4692 100644 (file)
@@ -1789,20 +1789,17 @@ function move_section($course, $section, $move) {
         course_set_display($course->id, $sectiondest);
     }
 
-    // Check for duplicates.
+    // Check for duplicates and fix order if needed.
     // There is a very rare case that some sections in the same course have the same section id.
-    if (($count_section = count_records('course_sections', 'course', $course->id) - 1) != $course->numsections) {
-        $sections = get_records_select('course_sections', "course = $course->id AND section > 0", 'section ASC');
-        $n = 1;
-        foreach ($sections as $section) {
+    $sections = get_records_select('course_sections', "course = $course->id", 'section ASC');
+    $n = 0;
+    foreach ($sections as $section) {
+        if ($section->section != $n) {
             if (!set_field('course_sections', 'section', $n, 'id', $section->id)) {
                 return false;
             }
-            $n++;
-        }
-        if (!set_field('course', 'numsections', $count_section, 'id', $course->id)) {
-            return false;
         }
+        $n++;
     }
     return true;
 }