]> git.mjollnir.org Git - moodle.git/commitdiff
Bugfix: blocks with no content at all show up as shadows when editing.
authordefacer <defacer>
Fri, 28 May 2004 13:57:09 +0000 (13:57 +0000)
committerdefacer <defacer>
Fri, 28 May 2004 13:57:09 +0000 (13:57 +0000)
blocks/course_summary/block_course_summary.php
blocks/moodleblock.class.php

index 86963a5eb6d83f67c734614a406b084907be7483..f35427fbb54ae2e6d7769bb71cfabf64b01d0a97 100644 (file)
@@ -18,7 +18,7 @@ class CourseBlock_course_summary extends MoodleBlock {
             return $this->content;
         }
 
-        $this->content = New object;
+        $this->content = New stdClass;
         $this->content->text = format_text($this->course->summary, FORMAT_HTML);
         $this->content->footer = '';
 
index 0940956812417df6ace870588b8ed12ffd3a60eb..8896a40bf11ea5bcab3b32dc0061181cbd8d6610 100644 (file)
@@ -66,22 +66,46 @@ class MoodleBlock {
             case BLOCK_TYPE_NUKE:
             case BLOCK_TYPE_TEXT:
                 if(empty($this->content->text) && empty($this->content->footer)) {
-                    break;
+                    if(empty($this->edit_controls)) {
+                        // No content, no edit controls, so just shut up
+                        break;
+                    }
+                    else {
+                        // No content but editing, so show something at least
+                        $this->print_shadow();
+                    }
                 }
-                if ($this->edit_controls !== NULL || !$this->hide_header()) {
-                    print_side_block($title, $this->content->text, NULL, NULL, $this->content->footer, $this->html_attributes());
-                } else {
-                    print_side_block(NULL, $this->content->text, NULL, NULL, $this->content->footer, $this->html_attributes());
+                else {
+                    if($this->hide_header() && empty($this->edit_controls)) {
+                        // Header wants to hide, no edit controls to show, so no header it is
+                        print_side_block(NULL, $this->content->text, NULL, NULL, $this->content->footer, $this->html_attributes());
+                    }
+                    else {
+                        // The full treatment, please
+                        print_side_block($title, $this->content->text, NULL, NULL, $this->content->footer, $this->html_attributes());
+                    }
                 }
             break;
             case BLOCK_TYPE_LIST:
-                if(empty($this->content->items) && empty($this->content->footer)) {
-                    break;
+                if(empty($this->content->text) && empty($this->content->footer)) {
+                    if(empty($this->edit_controls)) {
+                        // No content, no edit controls, so just shut up
+                        break;
+                    }
+                    else {
+                        // No content but editing, so show something at least
+                        $this->print_shadow();
+                    }
                 }
-                if ($this->edit_controls !== NULL || !$this->hide_header()) {
-                    print_side_block($title, '', $this->content->items, $this->content->icons, $this->content->footer, $this->html_attributes());
-                } else {
-                    print_side_block(NULL, '', $this->content->items, $this->content->icons, $this->content->footer, $this->html_attributes());
+                else {
+                    if($this->hide_header() && empty($this->edit_controls)) {
+                        // Header wants to hide, no edit controls to show, so no header it is
+                        print_side_block(NULL, '', $this->content->items, $this->content->icons, $this->content->footer, $this->html_attributes());
+                    }
+                    else {
+                        // The full treatment, please
+                        print_side_block($title, '', $this->content->items, $this->content->icons, $this->content->footer, $this->html_attributes());
+                    }
                 }
             break;
         }