public function testNot() { $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::lessThan('test', 10); $notCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::notOp($criteria); $this->assertTrue(is_a($notCriteria, 'Tx_PtExtlist_Domain_QueryObject_NotCriteria')); }
/** * Build the filterCriteria for filter * * @return Tx_PtExtlist_Domain_QueryObject_Criteria */ protected function buildFilterCriteriaForAllFields() { $onlyInUidSettings = $this->filterConfig->getSettings('onlyInUids'); if (!is_array($onlyInUidSettings)) { // getSettings gives us array() if there are no settings with this key $onlyInUids = GeneralUtility::trimExplode(',', $onlyInUidSettings, true); if (is_array($onlyInUids) && count($onlyInUids)) { $filterCriteriaFromSettings = Tx_PtExtlist_Domain_QueryObject_Criteria::in('uid', $onlyInUids); return $filterCriteriaFromSettings; } } $notInUidSettings = $this->filterConfig->getSettings('notInUids'); if (!is_array($notInUidSettings)) { // getSettings gives us array() if there are no settings with this key $notInUids = GeneralUtility::trimExplode(',', $this->filterConfig->getSettings('notInUids'), true); if (is_array($notInUids) && count($notInUids) > 0) { $filterCriteriaFromSettings = Tx_PtExtlist_Domain_QueryObject_Criteria::notOp(Tx_PtExtlist_Domain_QueryObject_Criteria::in('uid', $notInUids)); return $filterCriteriaFromSettings; } } return null; }
/** * Build filter query for current filter state * */ protected function buildFilterQuery() { if ($this->filterConfig->getDisableFilterQuery()) { return; } $criteria = null; if ($this->isActive) { $criteria = $this->buildFilterCriteriaForAllFields(); } if ($criteria) { $this->filterQuery->unsetCriterias(); if ($this->invert) { $this->filterQuery->addCriteria(Tx_PtExtlist_Domain_QueryObject_Criteria::notOp($criteria)); } else { $this->filterQuery->addCriteria($criteria); } } }