Bugfix: blocks with no content at all show up as shadows when editing.

This commit is contained in:
defacer 2004-05-28 13:57:09 +00:00
parent 89adb17442
commit 22931cf410
2 changed files with 36 additions and 12 deletions

View 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 = '';

View 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;
}