Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
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;
 }
Пример #4
0
 public function testIn()
 {
     $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in('test', 'test,test1,test2');
     $this->assertTrue(is_a($criteria, 'Tx_PtExtlist_Domain_QueryObject_SimpleCriteria'));
 }
Пример #5
0
 /**
  * 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;
 }
Пример #6
0
 /**
  * @param $fieldName
  * @return Tx_PtExtlist_Domain_QueryObject_SimpleCriteria
  */
 protected function buildFilterCriteriaForAlbumField($fieldName)
 {
     $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::in($fieldName, $this->getAlbumUidsOfGallery());
     return $criteria;
 }