/** * render a question group or an answer group. * @param type $questionnaire or answer * @param type $question_group * @param type $lang * @param type $isAnswered * @return string */ public function renderQuestionGroupHTML($questionnaire, $group, $lang, $isAnswered) { $result = ""; //en par defaut $title = $group->title; if ($lang == "fr") { if (!empty($group->title_fr)) { $title = $group->title_fr; } } if ($lang == "both") { $title = "<i>" . $group->title . "</i> / " . $group->title_fr; } $result .= "<div class=\"question_group\">" . $title . "</div>"; if ($isAnswered) { $quests = $group->answers; } else { $quests = $group->questions; } if (isset($quests)) { foreach ($quests as $question) { $result .= QuestionnaireHTMLRenderer::renderQuestionHTML($group->id, $question, $lang, $isAnswered); } } //add question groups that have parents for this group if ($isAnswered) { $groups = $questionnaire->answers_group; } else { $groups = $questionnaire->questions_group; } foreach ($groups as $qg) { if ($qg->parent_group == $group->id) { $result .= QuestionnaireHTMLRenderer::renderQuestionGroupHTML($questionnaire, $qg, $lang, $isAnswered); } } $result .= "<div class=\"end-question-group\"></div>"; return $result; }
/** * render in html the questionnaire */ public function renderHTML($lang) { $result = ""; foreach ($this->questions_group as $question_group) { if ($question_group->parent_group == "") { $result .= QuestionnaireHTMLRenderer::renderQuestionGroupHTML($this, $question_group, $lang, false); $result .= "<br><div style=\\”clear:both;\"></div>"; } } $result .= $this->renderContributors(); return $result; }