protected function form_length(\MoodleQuickForm $mform, $helptext = '') { return parent::form_length($mform, 'numberscaleitems'); }
/** * Get all survey responses in one go. * * @author: Guy Thomas * @param string $rid * @param string $userid * @return array */ protected function get_survey_all_responses($rid = '', $userid = '') { global $DB; $uniquetypes = $this->get_survey_questiontypes(true); $allresponsessql = ""; $allresponsesparams = []; foreach ($uniquetypes as $type) { $typename = \mod_questionnaire\question\base::qtypename($type); $question = self::question_factory($typename); if (!isset($question->response)) { continue; } $allresponsessql .= $allresponsessql == '' ? '' : ' UNION ALL '; list($sql, $params) = $question->response->get_bulk_sql($this->survey->id, $rid, $userid); $allresponsesparams = array_merge($allresponsesparams, $params); $allresponsessql .= $sql; } $allresponsessql .= " ORDER BY userid, id"; $allresponses = $DB->get_recordset_sql($allresponsessql, $allresponsesparams); return $allresponses; }
/** * Add choices to question. * * @param \mod_questionnaire\question\base $question * @param stdClass $data */ protected function add_question_choices($question, $data) { foreach ($data as $content) { if (!is_object($content)) { $content = (object) ['content' => $content, 'value' => $content]; } $record = (object) ['question_id' => $question->id, 'content' => $content->content, 'value' => $content->value]; $question->add_choice($record); } }
$questions = $DB->get_records('questionnaire_question', array('survey_id' => $sid, 'deleted' => 'n'), 'id'); $questionnairehasdependencies = questionnaire_has_dependencies($questions); if (questionnaire_has_dependencies($questions)) { questionnaire_check_page_breaks($questionnaire); } $SESSION->questionnaire->required = $qformdata->required; $SESSION->questionnaire->type_id = $qformdata->type_id; // Switch to main screen. $action = 'main'; $reload = true; } } // Log question created event. if (isset($qformdata)) { $context = context_module::instance($questionnaire->cm->id); $questiontype = \mod_questionnaire\question\base::qtypename($qformdata->type_id); $params = array('context' => $context, 'courseid' => $questionnaire->course->id, 'other' => array('questiontype' => $questiontype)); $event = \mod_questionnaire\event\question_created::create($params); $event->trigger(); } $questionsform->set_data($question); } } // Reload the form data if called for... if ($reload) { unset($questionsform); $questionnaire = new questionnaire($questionnaire->id, null, $course, $cm); // Add renderer and page objects to the questionnaire object for display use. $questionnaire->add_renderer($PAGE->get_renderer('mod_questionnaire')); $questionnaire->add_page(new \mod_questionnaire\output\questionspage()); if ($action == 'main') {
/** * Code snippet used to set up the questionform. */ function questionnaire_prep_for_questionform($questionnaire, $qid, $qtype) { $context = context_module::instance($questionnaire->cm->id); if ($qid != 0) { $question = clone $questionnaire->questions[$qid]; $question->qid = $question->id; $question->sid = $questionnaire->survey->id; $question->id = $questionnaire->cm->id; $draftideditor = file_get_submitted_draft_itemid('question'); $content = file_prepare_draft_area($draftideditor, $context->id, 'mod_questionnaire', 'question', $qid, array('subdirs' => true), $question->content); $question->content = array('text' => $content, 'format' => FORMAT_HTML, 'itemid' => $draftideditor); } else { $question = \mod_questionnaire\question\base::question_builder($qtype); $question->sid = $questionnaire->survey->id; $question->id = $questionnaire->cm->id; $question->type_id = $qtype; $question->type = ''; $draftideditor = file_get_submitted_draft_itemid('question'); $content = file_prepare_draft_area($draftideditor, $context->id, 'mod_questionnaire', 'question', null, array('subdirs' => true), ''); $question->content = array('text' => $content, 'format' => FORMAT_HTML, 'itemid' => $draftideditor); } return $question; }
protected function form_precise(\MoodleQuickForm $mform, $helpname = '') { return base::form_precise_hidden($mform); }
protected function form_precise(\MoodleQuickForm $mform, $helptext = '') { return parent::form_precise($mform, 'maxforcedresponses'); }