/** * Checks visibility condition * * @param RM_Anketa_Result_Object obResult * @return bool */ public function check(RM_Anketa_Result_Object $obResult) { if (!isNull($this->_related_question)) { foreach ($obResult->getResultAnswers($this->_related_question) as $obResultAnswer) { $selected_numbers[] = $obResultAnswer->answer_number; if (!is_null($obResultAnswer->subanswer_number)) { $selected_subnumbers[] = $obResultAnswer->subanswer_number; } } if (!array_intersect($this->_answer_numbers, (array) @$selected_numbers)) { return FALSE; } } return TRUE; }
/** * Checks visibility condition * * @param RM_Anketa_Result_Object obResult * @return bool */ public function check(RM_Anketa_Result_Object $obResult) { if (!isNull($this->_related_answer)) { if (is_null($this->_subanswer_numbers)) { return $obResult->isAnswerSelected($this->_related_answer); } else { $selected_subnumbers = array(); foreach ($obResult->getResultAnswers()->filter('answer_id = ?', $this->_related_answer->id()) as $obResultAnswer) { if (!is_null($obResultAnswer->subanswer_number)) { $selected_subnumbers[] = $obResultAnswer->subanswer_number; } } if (!array_intersect($this->_subanswer_numbers, $selected_numbers)) { return FALSE; } } } return TRUE; }