コード例 #1
0
 protected function form_length(\MoodleQuickForm $mform, $helptext = '')
 {
     return parent::form_length($mform, 'numberscaleitems');
 }
コード例 #2
0
 /**
  * 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;
 }
コード例 #3
0
 /**
  * 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);
     }
 }
コード例 #4
0
                $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') {
コード例 #5
0
/**
 * 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;
}
コード例 #6
0
 protected function form_precise(\MoodleQuickForm $mform, $helpname = '')
 {
     return base::form_precise_hidden($mform);
 }
コード例 #7
0
 protected function form_precise(\MoodleQuickForm $mform, $helptext = '')
 {
     return parent::form_precise($mform, 'maxforcedresponses');
 }