示例#1
0
 /**
  * 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;
 }