From: stronk7 <stronk7>
Date: Mon, 19 Apr 2004 19:24:42 +0000 (+0000)
Subject: Detected a display bug when looking for possible causes of
X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=1eb25080df02c7527a35049de9d8b26e017c6967;p=moodle.git

Detected a display bug when looking for possible causes of
bug 1248. Widhts were only calculated in teacher mode and
they were down to 100px in student mode!!
Perhaps we could make some session caching to avoid some
calculations every time the course is displayed. Seems to
work fine now.
Anyway, if I compare the right column width
in my server (with blocks running) against moodle.org (without
blocks), it seems that the right column is narrower in my test server...
---

diff --git a/course/view.php b/course/view.php
index b17d0a3233..07c2f78172 100644
--- a/course/view.php
+++ b/course/view.php
@@ -47,6 +47,10 @@
             $courseformat = 0;
     }
 
+    //We *always* need to get active blocks (perhaps this should be cached
+    //in a session object and updated in when editing = true ????
+    $recblocks = get_records('blocks','visible','1');
+
     // Doing this now so we can pass the results to block_action()
     // and dodge the overhead of doing the same work twice.
 
@@ -107,7 +111,6 @@
         $allblocks = array_merge($leftblocks, $rightblocks);
 
         $missingblocks = array();
-        $recblocks = get_records('blocks','visible','1');
         if($editing && $recblocks) {
             foreach($recblocks as $recblock) {
                 // If it's not hidden or displayed right now...
@@ -121,8 +124,6 @@
             }
         }
 
-        $preferred_width_left = blocks_preferred_width($leftblocks, $recblocks);
-        $preferred_width_right = blocks_preferred_width($rightblocks, $recblocks);
 
         if (!empty($section)) {
             if (!empty($move)) {
@@ -170,6 +171,12 @@
         }
     }
 
+    //Calculate left and right width. This has to be calculated *always*. Perhaps
+    //we could cache it in a session variable and update it only when editing=true ????
+    //This caused some display problems (100 width) in student mode.
+    $preferred_width_left = blocks_preferred_width($leftblocks, $recblocks);
+    $preferred_width_right = blocks_preferred_width($rightblocks, $recblocks);
+
     require("$CFG->dirroot/course/format/$course->format/format.php");  // Include the actual course format
 
     print_footer();