diff --git a/main/survey/ch_yesno.php b/main/survey/ch_yesno.php index 88a5d19259..b3cfabc9fe 100644 --- a/main/survey/ch_yesno.php +++ b/main/survey/ch_yesno.php @@ -62,7 +62,7 @@ class ch_yesno extends survey_question $name = 'question'.$questionData['question_id']; $radioAttributes = ['radio-class' => $class, 'label-class' => $class]; - if ($questionData['is_required']) { + if (!empty($questionData['is_required'])) { $radioAttributes['required'] = 'required'; } @@ -74,7 +74,7 @@ class ch_yesno extends survey_question ); if (!empty($answers)) { - $form->setDefaults([$name => $answers]); + $form->setDefaults([$name => is_array($answers) ? current($answers) : $answers]); } } } diff --git a/main/survey/fillsurvey.php b/main/survey/fillsurvey.php index 82f6577a4c..f4e09b74f8 100755 --- a/main/survey/fillsurvey.php +++ b/main/survey/fillsurvey.php @@ -1219,7 +1219,34 @@ if (isset($questions) && is_array($questions)) { //$form->addHtml('
'); $form->addHtml('
'.$question['sort'].'. '.strip_tags($question['survey_question']).'
'); //$form->addHtml($question['survey_question']); - $display->render($form, $question); + + $userAnswerData = SurveyUtil::get_answers_of_question_by_user($question['survey_id'], $question['question_id']); + $finalAnswer = null; + + if (!empty($userAnswerData[$user_id])) { + $userAnswer = $userAnswerData[$user_id]; + switch ($question['type']) { + case 'score': + $finalAnswer = array(); + + foreach ($userAnswer as $userChoice) { + list($choiceId, $choiceValue) = explode('*', $userChoice); + + $finalAnswer[$choiceId] = $choiceValue; + } + break; + case 'percentage': + list($choiceId, $choiceValue) = explode('*', current($userAnswer)); + + $finalAnswer = $choiceId; + break; + default: + $finalAnswer = $userAnswer; + break; + } + } + + $display->render($form, $question, $finalAnswer); $form->addHtml('
'); } }