|
@@ -41,19 +41,25 @@ class MultipleAnswerTrueFalse extends Question
|
|
|
$renderer = & $form->defaultRenderer();
|
|
|
$defaults = array();
|
|
|
|
|
|
- $html = '<table class="data_table">
|
|
|
- <tr style="text-align: center;">
|
|
|
- <th>' . get_lang('Number') . '</th>
|
|
|
- <th>' . get_lang('True') . '</th>
|
|
|
- <th>' . get_lang('False') . '</th>
|
|
|
- <th>' . get_lang('Answer') . '</th>';
|
|
|
+ $html = '<table class="table table-striped table-hover">';
|
|
|
+ $html .= '<thead>';
|
|
|
+ $html .= '<tr>';
|
|
|
+ $html .= '<th>' . get_lang('Number') . '</th>';
|
|
|
+ $html .= '<th>' . get_lang('True') . '</th>';
|
|
|
+ $html .= '<th>' . get_lang('False') . '</th>';
|
|
|
+ $html .= '<th>' . get_lang('Answer') . '</th>';
|
|
|
+
|
|
|
// show column comment when feedback is enable
|
|
|
if ($obj_ex->selectFeedbackType() != EXERCISE_FEEDBACK_TYPE_EXAM) {
|
|
|
- $html .='<th>' . get_lang('Comment') . '</th>';
|
|
|
+ $html .= '<th>' . get_lang('Comment') . '</th>';
|
|
|
}
|
|
|
+
|
|
|
$html .= '</tr>';
|
|
|
+ $html .= '</thead>';
|
|
|
+ $html .= '<tbody>';
|
|
|
|
|
|
- $form->addElement('label', get_lang('Answers') . '<br /> <img src="../img/fill_field.png">', $html);
|
|
|
+ $form->addHeader(get_lang('Answers'));
|
|
|
+ $form->addHtml($html);
|
|
|
|
|
|
$correct = 0;
|
|
|
$answer = null;
|
|
@@ -79,6 +85,8 @@ class MultipleAnswerTrueFalse extends Question
|
|
|
$option_data = Question::readQuestionOption($this->id, $course_id);
|
|
|
|
|
|
for ($i = 1; $i <= $nb_answers; ++$i) {
|
|
|
+ $form->addHtml('<tr>');
|
|
|
+
|
|
|
$renderer->setElementTemplate(
|
|
|
'<td><!-- BEGIN error --><span class="form_error">{error}</span><!-- END error --><br/>{element}</td>',
|
|
|
'correct[' . $i . ']'
|
|
@@ -129,14 +137,14 @@ class MultipleAnswerTrueFalse extends Question
|
|
|
}
|
|
|
|
|
|
$boxes_names[] = 'correct[' . $i . ']';
|
|
|
- $form->addElement(
|
|
|
- 'html_editor',
|
|
|
- 'answer[' . $i . ']',
|
|
|
- null,
|
|
|
- array(),
|
|
|
- array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')
|
|
|
+
|
|
|
+ $form->addHtmlEditor(
|
|
|
+ "answer[$i]",
|
|
|
+ get_lang('ThisFieldIsRequired'),
|
|
|
+ true,
|
|
|
+ true,
|
|
|
+ ['ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100']
|
|
|
);
|
|
|
- $form->addRule('answer[' . $i . ']', get_lang('ThisFieldIsRequired'), 'required');
|
|
|
|
|
|
// show comment when feedback is enable
|
|
|
if ($obj_ex->selectFeedbackType() != EXERCISE_FEEDBACK_TYPE_EXAM) {
|
|
@@ -149,30 +157,40 @@ class MultipleAnswerTrueFalse extends Question
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- $form->addElement('html', '</tr>');
|
|
|
+ $form->addHtml('</tr>');
|
|
|
}
|
|
|
|
|
|
- $form->addElement('html', '</table>');
|
|
|
- $form->addElement('html', '<br />');
|
|
|
-
|
|
|
- $form->addElement(
|
|
|
- 'html',
|
|
|
- '<table><tr><td></td><td>' . get_lang('Correct') . '</td><td>' . get_lang('Wrong') . '</td><td>' . get_lang('DoubtScore') . '</td></tr>'
|
|
|
- );
|
|
|
-
|
|
|
- $renderer->setElementTemplate(
|
|
|
- '<tr><td><span class="form_required">*</span>' . get_lang('Score') . ' </td><td>{element} <br /><!-- BEGIN error --><span class="form_error">{error}</span><!-- END error --></td>',
|
|
|
- 'option[1]'
|
|
|
- );
|
|
|
- $renderer->setElementTemplate(
|
|
|
- '<td>{element} <br /><!-- BEGIN error --><span class="form_error">{error}</span><!-- END error --></td>',
|
|
|
- 'option[2]'
|
|
|
- );
|
|
|
- $renderer->setElementTemplate(
|
|
|
- '<td>{element} <br /><!-- BEGIN error --><span class="form_error">{error}</span><!-- END error --></td>',
|
|
|
- 'option[3]'
|
|
|
- );
|
|
|
-
|
|
|
+ $form->addHtml('</tbody></table>');
|
|
|
+
|
|
|
+ $correctInputTemplate = '<div class="form-group">';
|
|
|
+ $correctInputTemplate .= '<label class="col-sm-2 control-label">';
|
|
|
+ $correctInputTemplate .= '<span class="form_required">*</span>' . get_lang('Score');
|
|
|
+ $correctInputTemplate .= '</label>';
|
|
|
+ $correctInputTemplate .= '<div class="col-sm-8">';
|
|
|
+ $correctInputTemplate .= '<table>';
|
|
|
+ $correctInputTemplate .= '<tr>';
|
|
|
+ $correctInputTemplate .= '<td>';
|
|
|
+ $correctInputTemplate .= get_lang('Correct') . '{element}';
|
|
|
+ $correctInputTemplate .= '<!-- BEGIN error --><span class="form_error">{error}</span><!-- END error -->';
|
|
|
+ $correctInputTemplate .= '</td>';
|
|
|
+
|
|
|
+ $wrongInputTemplate = '<td>';
|
|
|
+ $wrongInputTemplate .= get_lang('Wrong') . '{element}';
|
|
|
+ $wrongInputTemplate .= '<!-- BEGIN error --><span class="form_error">{error}</span><!-- END error -->';
|
|
|
+ $wrongInputTemplate .= '</td>';
|
|
|
+
|
|
|
+ $doubtScoreInputTempalte = '<td>' . get_lang('DoubtScore') . '<br>{element}';
|
|
|
+ $doubtScoreInputTempalte .= '<!-- BEGIN error --><span class="form_error">{error}</span><!-- END error -->';
|
|
|
+ $doubtScoreInputTempalte .= '</td>';
|
|
|
+ $doubtScoreInputTempalte .= '</tr>';
|
|
|
+ $doubtScoreInputTempalte .= '</table>';
|
|
|
+ $doubtScoreInputTempalte .= '</div>';
|
|
|
+ $doubtScoreInputTempalte .= '</div>';
|
|
|
+
|
|
|
+ $renderer->setElementTemplate($correctInputTemplate, 'option[1]');
|
|
|
+ $renderer->setElementTemplate($wrongInputTemplate, 'option[2]');
|
|
|
+ $renderer->setElementTemplate($doubtScoreInputTempalte, 'option[3]');
|
|
|
+
|
|
|
// 3 scores
|
|
|
$form->addElement('text', 'option[1]', get_lang('Correct'), array('class' => 'span1', 'value' => '1'));
|
|
|
$form->addElement('text', 'option[2]', get_lang('Wrong'), array('class' => 'span1', 'value' => '-0.5'));
|
|
@@ -182,9 +200,7 @@ class MultipleAnswerTrueFalse extends Question
|
|
|
$form->addRule('option[2]', get_lang('ThisFieldIsRequired'), 'required');
|
|
|
$form->addRule('option[3]', get_lang('ThisFieldIsRequired'), 'required');
|
|
|
|
|
|
- $form->addElement('html', '</tr><table>');
|
|
|
$form->addElement('hidden', 'options_count', 3);
|
|
|
- $form->addElement('html', '</table><br /><br />');
|
|
|
|
|
|
//Extra values True, false, Dont known
|
|
|
if (!empty($this->extra)) {
|
|
@@ -202,25 +218,23 @@ class MultipleAnswerTrueFalse extends Question
|
|
|
global $text, $class;
|
|
|
|
|
|
if ($obj_ex->edit_exercise_in_lp == true) {
|
|
|
+ $buttonGroup = [];
|
|
|
+
|
|
|
//ie6 fix
|
|
|
if ($navigator_info['name'] == 'Internet Explorer' && $navigator_info['version'] == '6') {
|
|
|
- $form->addElement('submit', 'lessAnswers', get_lang('LessAnswer'), 'class="btn minus"');
|
|
|
- $form->addElement('submit', 'moreAnswers', get_lang('PlusAnswer'), 'class="btn plus"');
|
|
|
- $form->addElement('submit', 'submitQuestion', $text, 'class="' . $class . '"');
|
|
|
+ $buttonGroup[] = $form->addElement('submit', 'lessAnswers', get_lang('LessAnswer'), 'class="btn minus"');
|
|
|
+ $buttonGroup[] = $form->addElement('submit', 'moreAnswers', get_lang('PlusAnswer'), 'class="btn plus"');
|
|
|
+ $buttonGroup[] = $form->addElement('submit', 'submitQuestion', $text, 'class="' . $class . '"');
|
|
|
} else {
|
|
|
// setting the save button here and not in the question class.php
|
|
|
-
|
|
|
- $form->addElement('style_submit_button', 'lessAnswers', get_lang('LessAnswer'), 'class="btn minus"');
|
|
|
- $form->addElement('style_submit_button', 'moreAnswers', get_lang('PlusAnswer'), 'class="btn plus"');
|
|
|
- $form->addElement('style_submit_button', 'submitQuestion', $text, 'class="' . $class . '"');
|
|
|
+ $buttonGroup[] = $form->addButtonDelete(get_lang('LessAnswer'), 'lessAnswers', true);
|
|
|
+ $buttonGroup[] = $form->addButtonCreate(get_lang('PlusAnswer'), 'moreAnswers', true);
|
|
|
+ $buttonGroup[] = $form->addButtonSave($text, 'SubmitQuestion', true);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- $renderer->setElementTemplate('{element} ', 'lessAnswers');
|
|
|
- $renderer->setElementTemplate('{element} ', 'submitQuestion');
|
|
|
- $renderer->setElementTemplate('{element} ', 'moreAnswers');
|
|
|
+ $form->addGroup($buttonGroup);
|
|
|
+ }
|
|
|
|
|
|
- $form->addElement('html', '</div></div>');
|
|
|
$defaults['correct'] = $correct;
|
|
|
|
|
|
if (!empty($this->id)) {
|