From cb9af73037d3b3d2ca5aad57f3b49c75dcc98c1f Mon Sep 17 00:00:00 2001 From: Jean-Michel Vedrine Date: Wed, 3 Dec 2014 10:37:05 +0100 Subject: [PATCH] MDL-48473 mod_lesson: fill in the blank shortanswer option --- mod/lesson/pagetypes/shortanswer.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/mod/lesson/pagetypes/shortanswer.php b/mod/lesson/pagetypes/shortanswer.php index 3b5c9a230db..e62dca3be02 100644 --- a/mod/lesson/pagetypes/shortanswer.php +++ b/mod/lesson/pagetypes/shortanswer.php @@ -350,21 +350,31 @@ class lesson_display_answer_form_shortanswer extends moodleform { } } + $placeholder = false; + if (preg_match('/_____+/', $contents, $matches)) { + $placeholder = $matches[0]; + $contentsparts = explode( $placeholder, $contents, 2); + $attrs['size'] = round(strlen($placeholder) * 1.1); + } + $mform->addElement('header', 'pageheader'); - - $mform->addElement('html', $OUTPUT->container($contents, 'contents')); - - $options = new stdClass; - $options->para = false; - $options->noclean = true; - $mform->addElement('hidden', 'id'); $mform->setType('id', PARAM_INT); $mform->addElement('hidden', 'pageid'); $mform->setType('pageid', PARAM_INT); - $mform->addElement('text', 'answer', get_string('youranswer', 'lesson'), $attrs); + if ($placeholder) { + $contentsgroup = array(); + $contentsgroup[] = $mform->createElement('static', '', '', $contentsparts[0]); + $contentsgroup[] = $mform->createElement('text', 'answer', '', $attrs); + $contentsgroup[] = $mform->createElement('static', '', '', $contentsparts[1]); + $mform->addGroup($contentsgroup, '', '', '', false); + } else { + $mform->addElement('html', $OUTPUT->container($contents, 'contents')); + $mform->addElement('text', 'answer', get_string('youranswer', 'lesson'), $attrs); + + } $mform->setType('answer', PARAM_TEXT); if ($hasattempt) {