]> git.mjollnir.org Git - moodle.git/commitdiff
Fix for Bug #5021 - Unhiding an entire Module unhides all it's child
authorvyshane <vyshane>
Tue, 11 Apr 2006 08:30:10 +0000 (08:30 +0000)
committervyshane <vyshane>
Tue, 11 Apr 2006 08:30:10 +0000 (08:30 +0000)
resources, even in hidden sections

admin/modules.php

index 461548bd5a0ee4a14bdd9093938d4d774362a3ac..2783f809226afd82f9b435e1300d2e21c76bfd0e 100644 (file)
         if (!$module = get_record("modules", "name", $hide)) {
             error("Module doesn't exist!");
         }
-        set_field("modules", "visible", "0", "id", $module->id);            // Hide main module
-        set_field("course_modules", "visible", "0", "module", $module->id); // Hide all related activity modules
+        set_field("modules", "visible", "0", "id", $module->id);                               // Hide main module
+        set_field('course_modules', 'visibleold', '1', 'visible' ,'1', 'module', $module->id); // Remember the previous visible state so we can toggle this back if the module is unhidden.
+        set_field('course_modules', 'visibleold', '0', 'visible' ,'0', 'module', $module->id);
+        set_field("course_modules", "visible", "0", "module", $module->id);                    // Hide all related activity modules
     }
 
     if (!empty($show) and confirm_sesskey()) {
         if (!$module = get_record("modules", "name", $show)) {
             error("Module doesn't exist!");
         }
-        set_field("modules", "visible", "1", "id", $module->id);            // Show main module
-        set_field("course_modules", "visible", "1", "module", $module->id); // Show all related activity modules
+        set_field("modules", "visible", "1", "id", $module->id);                               // Show main module
+        set_field('course_modules', 'visible', '1', 'visibleold', '1', 'module', $module->id); // Get the previous saved visible state for the course module.
     }
 
     if (!empty($delete) and confirm_sesskey()) {