/** * Displays the input control for when the student should upload a single file. * @param question_attempt $qa the question attempt to display. * @param int $numallowed the maximum number of attachments allowed. -1 = unlimited. * @param question_display_options $options controls what should and should * not be displayed. Used to get the context. */ public function files_input(question_attempt $qa, $numallowed, question_display_options $options) { global $CFG; require_once $CFG->dirroot . '/lib/form/filemanager.php'; $pickeroptions = new stdClass(); $pickeroptions->mainfile = null; $pickeroptions->maxfiles = $numallowed; $pickeroptions->itemid = $qa->prepare_response_files_draft_itemid('attachments', $options->context->id); $pickeroptions->context = $options->context; $pickeroptions->itemid = $qa->prepare_response_files_draft_itemid('attachments', $options->context->id); return form_filemanager_render($pickeroptions) . html_writer::empty_tag('input', array('type' => 'hidden', 'name' => $qa->get_qt_field_name('attachments'), 'value' => $pickeroptions->itemid)); }