'Jeopardy' ); public function __construct($row) { $this->question = $row; $this->fieldFactory = new DbFieldFactory(); $this->setFields(); } public function getHtml() { return theme('chgk_db_question', $this); } public function getField($name) { return $this->fields[$name]; } public function getNumber() { return $this->question->Number; } protected function setFields() { $this->setQuestionField(); $fields = array('Answer', 'PassCriteria', 'Comments', 'Sources', 'Authors'); foreach ($fields as $field) { $this->setField($field); } } private function setQuestionField() { $this->fields['Question'] = $this->fieldFactory->getField( 'Question', $this->question->Question, $this->question->Number); } private function setField($field) { $f = $this->fieldFactory->getField( $field, $this->question->{$field} ); if ($f->isEmpty()) { return; } $this->fields[$field] = $f; } }