$question->type_id = $qtype;
     $question->type = '';
     $questions_form = new questionnaire_edit_question_form('questions.php');
     $questions_form->set_data($question);
 }
 if ($questions_form->is_cancelled()) {
     /// Switch to main screen
     $action = 'main';
     $reload = true;
 } else {
     if ($qformdata = $questions_form->get_data()) {
         /// Saving question data
         if (isset($qformdata->makecopy)) {
             $qformdata->qid = 0;
         }
         $has_choices = $questionnaire->type_has_choices();
         /// *** THIS SECTION NEEDS TO BE MOVED OUT OF HERE - SHOULD CREATE QUESTION-SPECIFIC UPDATE FUNCTIONS.
         if ($has_choices[$qformdata->type_id]) {
             // eliminate trailing blank lines
             $qformdata->allchoices = preg_replace("/(^[\r\n]*|[\r\n]+)[\\s\t]*[\r\n]+/", "\n", $qformdata->allchoices);
             // trim to eliminate potential trailing carriage return
             $qformdata->allchoices = trim($qformdata->allchoices);
             if (empty($qformdata->allchoices)) {
                 if ($qformdata->type_id != 8) {
                     error(get_string('enterpossibleanswers', 'questionnaire'));
                 } else {
                     // add dummy blank space character for empty value
                     $qformdata->allchoices = " ";
                 }
             } elseif ($qformdata->type_id == 8) {
                 //rate