diff --git a/blocks/html/block_html.php b/blocks/html/block_html.php index 9fe64c9eb11..21833704172 100644 --- a/blocks/html/block_html.php +++ b/blocks/html/block_html.php @@ -104,6 +104,23 @@ class block_html extends block_base { return true; } + /** + * Copy any block-specific data when copying to a new block instance. + * @param int $fromid the id number of the block instance to copy from + * @return boolean + */ + public function instance_copy($fromid) { + $fromcontext = context_block::instance($fromid); + $fs = get_file_storage(); + // This extra check if file area is empty adds one query if it is not empty but saves several if it is. + if (!$fs->is_area_empty($fromcontext->id, 'block_html', 'content', 0, false)) { + $draftitemid = 0; + file_prepare_draft_area($draftitemid, $fromcontext->id, 'block_html', 'content', 0, array('subdirs' => true)); + file_save_draft_area_files($draftitemid, $this->context->id, 'block_html', 'content', 0, array('subdirs' => true)); + } + return true; + } + function content_is_trusted() { global $SCRIPT;