Ejemplo n.º 1
0
 private function pdfQuestion(Mypdf $fpdf, $id_question, $count, $answered = false)
 {
     $question = new Question();
     $question_controller = new QuestionController($question);
     $decode = $question_controller->getCode($id_question);
     $type = $decode['type'];
     switch ($type) {
         case 'Выбор одного из списка':
             $one_choice = new OneChoice($id_question);
             $one_choice->pdf($fpdf, $count, $answered);
             break;
         case 'Выбор нескольких из списка':
             $multi_choice = new MultiChoice($id_question);
             $multi_choice->pdf($fpdf, $count, $answered);
             break;
         case 'Текстовый вопрос':
             $fill_gaps = new FillGaps($id_question);
             $fill_gaps->pdf($fpdf, $count, $answered);
             break;
         case 'Таблица соответствий':
             $accordance_table = new AccordanceTable($id_question);
             $accordance_table->pdf($fpdf, $count, $answered);
             break;
     }
 }
Ejemplo n.º 2
0
 /** Обработка формы добавления вопроса */
 public function add(Request $request)
 {
     $code = $this->setCode($request);
     $type = $request->input('type');
     $query = Question::max('id_question');
     //пример использования агрегатных функций!!!
     $id = $query + 1;
     switch ($type) {
         case 'Выбор одного из списка':
             $one_choice = new OneChoice($id);
             $one_choice->add($request, $code);
             break;
         case 'Выбор нескольких из списка':
             $multi_choice = new MultiChoice($id);
             $multi_choice->add($request, $code);
             break;
         case 'Текстовый вопрос':
             $fill_gaps = new FillGaps($id);
             $fill_gaps->add($request, $code);
             break;
         case 'Таблица соответствий':
             $fill_gaps = new AccordanceTable($id);
             $fill_gaps->add($request, $code);
             break;
         case 'Да/Нет':
             $fill_gaps = new YesNo($id);
             $fill_gaps->add($request, $code);
             break;
         case 'Определение':
             $definition = new Definition($id);
             $definition->add($request, $code);
             break;
         case 'Просто ответ':
             $just = new JustAnswer($id);
             $just->add($request, $code);
             break;
         case 'Теорема':
             $theorem = new Theorem($id);
             $theorem->add($request, $code);
             break;
     }
     return redirect()->route('question_create');
 }