Пример #1
0
 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'));
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 /**
  * 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);
         }
     }
 }