$qid = key($qformdata->requiredbutton); if ($questionnaire->questions[$qid]->required == 'y') { $questionnaire->questions[$qid]->set_required(false); } else { $questionnaire->questions[$qid]->set_required(true); } $reload = true; } else { if (isset($qformdata->addqbutton)) { if ($qformdata->type_id == QUESPAGEBREAK) { // Adding section break is handled right away.... $questionrec = new stdClass(); $questionrec->survey_id = $qformdata->sid; $questionrec->type_id = QUESPAGEBREAK; $questionrec->content = 'break'; $question = \mod_questionnaire\question\base::question_builder(QUESPAGEBREAK); $question->add($questionrec); $reload = true; } else { // Switch to edit question screen. $action = 'question'; $qtype = $qformdata->type_id; $qid = 0; $reload = true; } } else { if (isset($qformdata->movebutton)) { // Nothing I do will seem to reload the form with new data, except for moving away from the page, so... redirect($CFG->wwwroot . '/mod/questionnaire/questions.php?id=' . $questionnaire->cm->id . '&moveq=' . key($qformdata->movebutton)); $reload = true; } else {
/** * 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; }