diff --git a/blocks/html/edit_form.php b/blocks/html/edit_form.php index 05b52fde06b40..35d6e9425cd35 100644 --- a/blocks/html/edit_form.php +++ b/blocks/html/edit_form.php @@ -57,11 +57,24 @@ function set_data($defaults) { } else { $text = ''; } + + if (!$this->block->user_can_edit() && !empty($this->block->config->title)) { + // If a title has been set but the user cannot edit it format it nicely + $title = $this->block->config->title; + $defaults->config_title = format_string($title, true, $this->page->context); + // Remove the title from the config so that parent::set_data doesn't set it. + unset($this->block->config->title); + } + // have to delete text here, otherwise parent::set_data will empty content // of editor unset($this->block->config->text); parent::set_data($defaults); // restore $text $this->block->config->text = $text; + if (isset($title)) { + // Reset the preserved title + $this->block->config->title = $title; + } } }