type === 'PAGEBREAK') { if (strlen($content) > 0) { $context = array('page_number'=>$pageCount,'questions'=>$content); $formText = $formText . parseTemplate($pageTemplate, $context); $pageCount++; $content = ""; } continue; } $questionTemplate = loadQuestionTemplate($question->type); $required = ""; if (property_exists($question,'required')) { $required = "required"; } $context = array('id'=>$question->number,'text'=>$question->text, 'required'=>$required); if (in_array($question->type, array('S','M'))) { $context['choices'] = generateChoices($question); } $content = $content . parseTemplate($questionTemplate, $context); } if (strlen($content) > 0) { $context = array('page_number'=>$pageCount,'questions'=>$content); $formText = $formText . parseTemplate($pageTemplate, $context); } $formTemplate = getTemplate('form.html'); $context = ['title'=>$form['title'], 'description'=>$form['description'], 'pages'=>$formText, 'form_id'=>$form['id']]; return parseTemplate($formTemplate, $context); } function generateChoices ($question) { $choices = $question->choices; $content = ""; $template = loadChoicesTemplate($question->type); for ($i = 0; $i < count($choices); $i++) { $choice = $choices[$i]; $context = ['id' => $question->number, 'count' => $i, 'value'=>$choice->value, 'text'=>$choice->text]; $content = $content . parseTemplate($template, $context); } return $content; }