/** * @param array $config * @return Critere */ public static function create(array $config) { if (!isset($config['key'])) { $config['key'] = $config['id']; } if (!isset($config['valueFrom'])) { $config['valueFrom'] = $config['key']; } $critere = new Critere($config); if (isset($config['readonly'])) { $critere->setReadOnly((bool) $config['value']); } if (isset($config['value'])) { $critere->setValue($config['value']); } if (isset($config['inputFilter'])) { $critere->setInputFilter(self::createFilter($config['inputFilter'])); } if (isset($config['outputFilter'])) { $critere->setOutputFilter(self::createFilter($config['outputFilter'])); } return $critere; }
/** * @param Critere $critere * @return bool */ protected function critereIsActive(Critere $critere) { if ($critere->getOperator() == 'isNull' || $critere->getOperator() == 'isNotNull') { return true; } if (is_null($critere->getValue())) { return false; } return true; }