diff --git a/lib/form/editor.php b/lib/form/editor.php
index 87d888dbbbd..a463d231362 100644
--- a/lib/form/editor.php
+++ b/lib/form/editor.php
@@ -97,6 +97,25 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
editors_head_setup();
}
+ /**
+ * Called by HTML_QuickForm whenever form event is made on this element
+ *
+ * @param string $event Name of event
+ * @param mixed $arg event arguments
+ * @param object $caller calling object
+ * @return bool
+ */
+ function onQuickFormEvent($event, $arg, &$caller)
+ {
+ switch ($event) {
+ case 'createElement':
+ $caller->setType($arg[0] . '[format]', PARAM_ALPHANUM);
+ $caller->setType($arg[0] . '[itemid]', PARAM_INT);
+ break;
+ }
+ return parent::onQuickFormEvent($event, $arg, $caller);
+ }
+
/**
* Sets name of editor
*
@@ -388,7 +407,8 @@ class MoodleQuickForm_editor extends HTML_QuickForm_element {
if (!during_initial_install() && empty($CFG->adminsetuppending)) {
// 0 means no files, -1 unlimited
if ($maxfiles != 0 ) {
- $str .= '';
+ $str .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => $elname.'[itemid]',
+ 'value' => $draftitemid));
// used by non js editor only
$editorurl = new moodle_url("$CFG->wwwroot/repository/draftfiles_manager.php", array(
diff --git a/lib/form/filemanager.php b/lib/form/filemanager.php
index 77ee16903e5..8140fec153d 100644
--- a/lib/form/filemanager.php
+++ b/lib/form/filemanager.php
@@ -79,6 +79,24 @@ class MoodleQuickForm_filemanager extends HTML_QuickForm_element {
parent::HTML_QuickForm_element($elementName, $elementLabel, $attributes);
}
+ /**
+ * Called by HTML_QuickForm whenever form event is made on this element
+ *
+ * @param string $event Name of event
+ * @param mixed $arg event arguments
+ * @param object $caller calling object
+ * @return bool
+ */
+ function onQuickFormEvent($event, $arg, &$caller)
+ {
+ switch ($event) {
+ case 'createElement':
+ $caller->setType($arg[0], PARAM_INT);
+ break;
+ }
+ return parent::onQuickFormEvent($event, $arg, $caller);
+ }
+
/**
* Sets name of filemanager
*
@@ -263,9 +281,9 @@ class MoodleQuickForm_filemanager extends HTML_QuickForm_element {
$output = $PAGE->get_renderer('core', 'files');
$html .= $output->render($fm);
- $html .= '';
+ $html .= html_writer::empty_tag('input', array('value' => $draftitemid, 'name' => $elname, 'type' => 'hidden'));
// label element needs 'for' attribute work
- $html .= '';
+ $html .= html_writer::empty_tag('input', array('value' => '', 'id' => 'id_'.$elname, 'type' => 'hidden'));
return $html;
}