/** * Build the filterCriteria for filter * * @return Tx_PtExtlist_Domain_QueryObject_Criteria */ protected function buildFilterCriteriaForAllFields() { $uidField = $this->fieldIdentifierCollection->getFieldConfigByIdentifier('uid'); $fieldName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($uidField); $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in($fieldName, $this->getRandomUIDs()); return $criteria; }
/** * Build the criteria for a single field * * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier * @return Tx_PtExtlist_Domain_QueryObject_SimpleCriteria */ protected function buildFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier) { $fieldName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldIdentifier); $singleCriteria = NULL; $singleCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in($fieldName, $this->getFilterNodeUIds()); return $singleCriteria; }
/** * 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; }
public function testIn() { $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in('test', 'test,test1,test2'); $this->assertTrue(is_a($criteria, 'Tx_PtExtlist_Domain_QueryObject_SimpleCriteria')); }
/** * Build the criteria for a single field * * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier * @return Tx_PtExtlist_Domain_QueryObject_SimpleCriteria */ protected function buildFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier) { $fieldName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldIdentifier); $singleCriteria = null; if ($fieldIdentifier->getIsRelation()) { $singleCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::relation($fieldName, current($this->filterValues)); } elseif (is_array($this->filterValues) && count($this->filterValues) == 1) { $singleCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::equals($fieldName, current($this->filterValues)); } elseif (is_array($this->filterValues) && count($this->filterValues) > 1) { $singleCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in($fieldName, $this->filterValues); } return $singleCriteria; }
/** * @param $fieldName * @return Tx_PtExtlist_Domain_QueryObject_SimpleCriteria */ protected function buildFilterCriteriaForAlbumField($fieldName) { $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in($fieldName, $this->getAlbumUidsOfGallery()); return $criteria; }