I am creating a new question type 'ddclassify' and having problem with question edit form.
The question type will have a edit form as in the attachment ddclassify_question_form.png.
The code for the form is :
<?php
defined('MOODLE_INTERNAL') || die();
class qtype_ddclassify_edit_form extends question_edit_form {
protected function definition_inner($mform) {
$mform->addElement('header', 'groupshdr', get_string('groupshdr', 'qtype_ddclassify'));
$mform->setExpanded('groupshdr', 1);
$textboxgroup = array();
$textboxgroup[] = $mform->createElement('group', 'groups',
get_string('groupx', 'qtype_ddclassify'), $this->groups_group($mform));
$repeatsatstart = 6;
$repeatedgroups = $this->repeated_groups();
$mform->setType('groups', PARAM_RAW);
$this->repeat_elements($textboxgroup, $repeatsatstart, $repeatedgroups,
'nogroups', 'addgroups', 3,
get_string('addgroup', 'qtype_ddclassify'), true);
$mform->addElement('header', 'optionshdr', get_string('optionshdr', 'qtype_ddclassify'));
$mform->setExpanded('optionshdr', 1);
$textboxoption = array();
$textboxoption[] = $mform->createElement('group', 'options',
get_string('optionx', 'qtype_ddclassify'), $this->options_group($mform));
$repeatedoptions = $this->repeated_option();
$mform->setType('options', PARAM_RAW);
//error
$this->repeat_elements($textboxoption, $repeatsatstart, $repeatedoptions,
'nooptions', 'addoptions', 3,
get_string('addoption', 'qtype_ddclassify'), true);
//
$this->add_interactive_settings();
}
protected function groups_group($mform) {
$grouparray = array();
$grouparray[] = $mform->createElement('text', 'group',
get_string('group', 'qtype_ddclassify'), array('size'=>30, 'class'=>'tweakcss'));
return $grouparray;
}
protected function repeated_groups() {
$repeatedoptions = array();
$repeatedoptions['groups[group]']['type'] = PARAM_RAW;
return $repeatedoptions;
}
protected function options_group($mform) {
$options = array();
for ($i = 1; $i <= 10; $i += 1) {
$options[$i] = $i;
}
$grouparray = array();
$grouparray[] = $mform->createElement('text', 'option',
get_string('option', 'qtype_ddclassify'), array('size'=>30, 'class'=>'tweakcss'));
$grouparray[] = $mform->createElement('select', 'optiongroup',
get_string('group', 'qtype_ddclassify'), $options);
return $grouparray;
}
protected function repeated_option() {
$repeatedoptions = array();
$repeatedoptions['optiongroup']['default'] = '1';
$repeatedoptions['option']['default'] = '5';
$repeatedoptions['options[option]']['type'] = PARAM_RAW;
return $repeatedoptions;
}
protected function data_preprocessing($question) {
$question = parent::data_preprocessing($question);
$question = $this->data_preprocessing_hints($question);
return $question;
}
public function qtype() {
return 'ddclassify';
}
}
It is giving errors as in the attachment error_message.png.
Can anyone kindly help me to resolve the problem ?