コード例 #1
0
ファイル: FillGaps.php プロジェクト: mrudanov/uirSV
 public function pdf(Mypdf $fpdf, $count, $answered = false)
 {
     $text_parts = explode("<>", $this->text);
     //части текста между селектами
     $parse = explode("%", $this->variants);
     $variants = explode("<>", $parse[0]);
     $num_slot = count($variants);
     $text = '';
     $fpdf->SetFont('TimesNewRomanPSMT', 'U', 12);
     $fpdf->Cell(20, 10, iconv('utf-8', 'windows-1251', 'Вопрос ' . $count . '.'), 0, 0);
     $fpdf->Cell(7, 10, iconv('utf-8', 'windows-1251', 'Заполните пропуски в тексте'), 0, 1);
     $fpdf->SetFont('TimesNewRomanPSMT', '', 12);
     if ($answered) {
         // пдф с ответами
         $answers = explode(";", $this->answer);
         for ($i = 1; $i <= $num_slot; $i++) {
             $text .= $text_parts[$i - 1] . '(' . $i . ' ' . $answers[$i - 1] . ') ';
             //формируем текст вопроса без пропущенных слов
         }
         $fpdf->Write(5, iconv('utf-8', 'windows-1251', $text));
         // вывод текста
         $fpdf->Ln(5);
         for ($i = 1; $i <= $num_slot; $i++) {
             // вывод верных ответов
             $fpdf->Write(5, iconv('utf-8', 'windows-1251', $i . ': ' . $answers[$i - 1]));
             $fpdf->Ln(5);
         }
     } else {
         // без ответов
         for ($i = 1; $i <= $num_slot; $i++) {
             $text .= $text_parts[$i - 1] . $i . '_______________';
             //формируем текст вопроса
         }
         $parse_group_variants = [];
         $group_variants = [];
         $num_var = [];
         for ($i = 0; $i < count($variants); $i++) {
             $parse_group_variants[$i] = explode(";", $variants[$i]);
             //варинаты каждого селекта
             $group_variants[$i] = QuestionController::mixVariants($parse_group_variants[$i]);
             //перемешиваем варианты
             $num_var[$i] = count($group_variants[$i]);
         }
         $fpdf->Write(5, iconv('utf-8', 'windows-1251', $text));
         // вывод текста
         $fpdf->Ln(5);
         for ($i = 1; $i <= $num_slot; $i++) {
             // вывод вариантов
             $fpdf->Write(5, iconv('utf-8', 'windows-1251', $i . ': '));
             for ($j = 0; $j < $num_var[$i - 1] - 1; $j++) {
                 $fpdf->Write(5, iconv('utf-8', 'windows-1251', $group_variants[$i - 1][$j] . ', '));
             }
             $fpdf->Write(5, iconv('utf-8', 'windows-1251', $group_variants[$i - 1][$j] . '.'));
             // вывод последнего варианта
             $fpdf->Ln(5);
         }
     }
 }