/** * Render a question (including sub questions, response elements, etc) * * @param ModelQuestionModel question being rendered * @return string */ public function renderQuestion(ModelQuestionModel $question) { $builder = new Tag_Builder(); $questionText = $builder->strong($this->view->h($question->qText)); if (!_blank($question->questionNumber)) { $questionNum = $builder->em("({$this->view->h($question->questionNumber)})"); $questionText = "{$questionNum} {$questionText}"; } $questionText .= $this->referenceString($question); $rendered = $builder->div(array('class' => 'questionText'), $questionText); $rendered .= $builder->span(array('class' => 'response'), $this->renderResponse($question)); return $rendered; }
/** * Outputs a list of elements representing the rules for a prompt * * @param Object prompt whose rules we are generating */ private function rulesElements($prompt) { if (count($prompt['rules']) <= 0) { return; } $rules = ''; foreach ($prompt['rules'] as $rule) { $ruleValue = "{$rule->targetID}:{$rule->type}"; $rules .= $this->view->formHidden("rule", $ruleValue); } $builder = new Tag_Builder(); return $builder->div(array('id' => "rules-{$prompt['promptID']}", 'class' => 'rules', 'style' => 'display: none;'), $rules); }