function areConditionsTrue($conditions) { $curCheck = true; $prevCond = 'AND'; foreach ($conditions as $condition) { if (is_string($condition)) { $prevCond = $condition; } else { $condition = cloneob($condition); $fieldName = $condition->getFieldName(); $val = trim($condition->_value2); if ($val[0] == '\'') { $val = substr($val, 1, strlen($val) - 2); } else { $val = $this->_values[$val]; } $condition->_value2 = $val; //TODO: fix hack $this->_values[$fieldName]; if ($prevCond == 'AND') { if ($condition->isTrue($this->_values[$fieldName])) { // no change } else { $curCheck = false; } } else { if ($condition->isTrue($this->_values[$fieldName])) { $curCheck = true; } else { // no change } } } } return $curCheck; }
function testOptionsForTranslatedPage() { $translator = new dbField('translator', 'int(11)'); $translator2 = cloneob($translator); $translator2->canBeNull = true; $r = $this->pageManager->addOptionToTranslatedPage($translator); $this->assertFalse(isError($r), 'Unexpected error'); $this->assertEquals(array('translator' => $translator2), $this->pageManager->getAllOptionsForTranslatedPage(), 'Wrong options 1'); $r = $this->pageManager->addOptionToTranslatedPage($translator); $this->assertEquals(new Error('PAGEMANAGER_OPTION_FORTRANSLATEDPAGE_EXISTS', 'translator'), $r, 'Wrong error'); $this->assertEquals(array('translator' => $translator2), $this->pageManager->getAllOptionsForTranslatedPage(), 'Wrong options 2'); $r = $this->pageManager->removeOptionForTranslatedPage('translator'); $this->assertFalse(isError($r), 'Unexpected error 2'); $this->assertEquals(array(), $this->pageManager->getAllOptionsForTranslatedPage(), 'Wrong options 3'); $r = $this->pageManager->removeOptionForTranslatedPage('translator'); $this->assertEquals(new Error('PAGEMANAGER_OPTION_FORTRANSLATEDPAGE_DOESNT_EXISTS', 'translator'), $r, 'Wrong error 2'); }