Пример #1
0
 /**
  * Creates filter query from filter value and settings
  *
  * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier
  * @return Tx_PtExtlist_Domain_QueryObject_Criteria Criteria for current filter value (null, if empty)
  */
 protected function buildFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier)
 {
     $timestampBoundaries = $this->getCalculatedTimestampBoundaries();
     $fieldName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldIdentifier);
     $criteria1 = Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldName, $timestampBoundaries['filterValueFromTimestamp']);
     $criteria2 = Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldName, $timestampBoundaries['filterValueToTimestamp']);
     $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp($criteria1, $criteria2);
     return $criteria;
 }
Пример #2
0
 /**
  * (non-PHPdoc)
  * @see Classes/Domain/Model/Filter/Tx_PtExtlist_Domain_Model_Filter_AbstractFilter::buildFilterCriteria()
  */
 protected function buildFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier)
 {
     $criteria = null;
     if ($this->isActive) {
         $columnName = $fieldIdentifier->getTableFieldCombined();
         $filterValue = intval($this->filterValue);
         $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($columnName, $filterValue);
     }
     return $criteria;
 }
Пример #3
0
 /**
  * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldStart
  * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldEnd
  * @return Tx_PtExtlist_Domain_QueryObject_Criteria
  *
  * TODO: Optimize this for a 1-field query
  */
 protected function buildTimeSpanFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldStart, Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldEnd)
 {
     $fieldStartName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldStart);
     $fieldEndName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldEnd);
     $startValueCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp(Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldStartName, $this->getFilterValueStartInDBFormat()), Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldEndName, $this->getFilterValueStartInDBFormat()));
     $endValueCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp(Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldStartName, $this->getFilterValueEndInDBFormat()), Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldEndName, $this->getFilterValueEndInDBFormat()));
     $betweenValuesCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp(Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldStartName, $this->getFilterValueStartInDBFormat()), Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldEndName, $this->getFilterValueEndInDBFormat()));
     $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::orOp(Tx_PtExtlist_Domain_QueryObject_Criteria::orOp($startValueCriteria, $endValueCriteria), $betweenValuesCriteria);
     return $criteria;
 }
Пример #4
0
 public function testGreaterThanEquals()
 {
     $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals('test', 5);
     $this->assertTrue(is_a($criteria, 'Tx_PtExtlist_Domain_QueryObject_SimpleCriteria'));
 }