get_lang('Horizontal'), 'vertical' => get_lang('Vertical'), ]; $this->getForm()->addRadio('horizontalvertical', get_lang('Display'), $options); $formData['horizontalvertical'] = isset($formData['horizontalvertical']) ? $formData['horizontalvertical'] : 'horizontal'; $this->getForm()->setDefaults($formData); $config = ['ToolbarSet' => 'Survey', 'Width' => '100%', 'Height' => '120']; if (is_array($formData['answers'])) { foreach ($formData['answers'] as $key => $value) { $this->getForm()->addHtmlEditor( 'answers['.$key.']', null, false, false, $config ); } } parent::addRemoveButtons($formData); } /** * @param FormValidator $form * @param array $questionData * @param array $answers */ public function render( FormValidator $form, $questionData = [], $answers = [] ) { $class = 'checkbox-inline'; $labelClass = 'checkbox-inline'; if ($questionData['display'] == 'vertical') { $class = 'checkbox-vertical'; } $name = 'question'.$questionData['question_id']; $form->addCheckBoxGroup( $name, null, $questionData['options'], ['checkbox-class' => $class, 'label-class' => $labelClass] ); $defaults = []; if (!empty($answers)) { foreach ($answers as $answer) { $defaults[$name.'['.$answer.']'] = true; } } $form->setDefaults($defaults); } }