. /** * Form for editing HTML block instances. * * @package block_html * @copyright 2009 Tim Hunt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ /** * Form for editing HTML block instances. * * @copyright 2009 Tim Hunt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class block_html_edit_form extends block_edit_form { protected function specific_definition($mform) { // Fields for editing HTML block title and contents. $mform->addElement('header', 'configheader', get_string('blocksettings', 'block')); $mform->addElement('text', 'config_title', get_string('configtitle', 'block_html')); $mform->setType('config_title', PARAM_MULTILANG); // prevent potential XSS on user profile pages $parentcontext = get_context_instance_by_id($this->block->instance->parentcontextid); $noclean = ($parentcontext->contextlevel != CONTEXT_USER); $editoroptions = array('maxfiles' => EDITOR_UNLIMITED_FILES, 'noclean'=>$noclean, 'context'=>$this->block->context); $mform->addElement('editor', 'config_text', get_string('configcontent', 'block_html'), null, $editoroptions); $mform->setType('config_text', PARAM_RAW); // no XSS prevention here, users must be trusted } function set_data($defaults) { $block = $this->block; $draftid_editor = file_get_submitted_draft_itemid('config_text'); if (!empty($block->config) && is_object($block->config)) { $data = clone($block->config); $block->config->text = array(); if (empty($data->text)) { $currenttext = ''; } else { $currenttext = $data->text; } $block->config->text['text'] = file_prepare_draft_area($draftid_editor, $block->context->id, 'block_html', 'content', 0, array('subdirs'=>true), $currenttext); $block->config->text['itemid'] = $draftid_editor; $block->config->text['format'] = $data->format; unset($data); } parent::set_data($defaults); } }