MDL-38700 course: only change visibility if a module moves to a different section
authorCharles Fulton <mackensen@gmail.com>
Mon, 25 Mar 2013 20:35:44 +0000 (13:35 -0700)
committerDan Poltawski <dan@moodle.com>
Tue, 26 Mar 2013 07:10:44 +0000 (15:10 +0800)
course/lib.php

index f7842ee..0ac08a8 100644 (file)
@@ -3166,15 +3166,17 @@ function moveto_module($mod, $section, $beforemod=NULL) {
 /// Update module itself if necessary
 
     // If moving to a hidden section then hide module.
-    if (!$section->visible && $mod->visible) {
-        // Set this in the object because it is sent as a response to ajax calls.
-        set_coursemodule_visible($mod->id, 0, true);
-        $mod->visible = 0;
-    }
-    if ($section->visible && !$mod->visible) {
-        set_coursemodule_visible($mod->id, 1, true);
-        // Set this in the object because it is sent as a response to ajax calls.
-        $mod->visible = $mod->visibleold;
+    if ($mod->section != $section->id) {
+        if (!$section->visible && $mod->visible) {
+            // Set this in the object because it is sent as a response to ajax calls.
+            set_coursemodule_visible($mod->id, 0, true);
+            $mod->visible = 0;
+        }
+        if ($section->visible && !$mod->visible) {
+            set_coursemodule_visible($mod->id, 1, true);
+            // Set this in the object because it is sent as a response to ajax calls.
+            $mod->visible = $mod->visibleold;
+        }
     }
 
 /// Add the module into the new section