/** * Find category by import source and import id * * @param string $importSource import source * @param integer $importId import id * @return Tx_Extbase_Persistence_QueryInterface */ public function findOneByImportSourceAndImportId($importSource, $importId) { $query = $this->createQuery(); $query->getQuerySettings()->setRespectStoragePage(FALSE); if (Tx_News_Utility_Compatibility::isEqualOrHigherSixZero()) { $query->getQuerySettings()->setIgnoreEnableFields(TRUE); } else { $query->getQuerySettings()->setRespectEnableFields(FALSE); } return $query->matching($query->logicalAnd($query->equals('importSource', $importSource), $query->equals('importId', $importId)))->execute()->getFirst(); }
protected function generateQuery(Tx_News_Domain_Model_DemandInterface $demand, $respectEnableFields = TRUE) { $query = $this->createQuery(); $query->getQuerySettings()->setRespectStoragePage(FALSE); $constraints = $this->createConstraintsFromDemand($query, $demand); // Call hook functions for additional constraints if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Domain/Repository/AbstractDemandedRepository.php']['findDemanded'])) { $params = array('demand' => $demand, 'respectEnableFields' => &$respectEnableFields, 'query' => $query, 'constraints' => &$constraints); foreach ($GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Domain/Repository/AbstractDemandedRepository.php']['findDemanded'] as $reference) { t3lib_div::callUserFunction($reference, $params, $this); } } if ($respectEnableFields === FALSE) { if (Tx_News_Utility_Compatibility::isEqualOrHigherSixZero()) { $query->getQuerySettings()->setIgnoreEnableFields(TRUE); } else { $query->getQuerySettings()->setRespectEnableFields(FALSE); } $constraints[] = $query->equals('deleted', 0); } if (!empty($constraints)) { $query->matching($query->logicalAnd($constraints)); } if ($orderings = $this->createOrderingsFromDemand($demand)) { $query->setOrderings($orderings); } // @todo consider moving this to a separate function as well if ($demand->getLimit() != NULL) { $query->setLimit((int) $demand->getLimit()); } // @todo consider moving this to a separate function as well if ($demand->getOffset() != NULL) { $query->setOffset((int) $demand->getOffset()); } return $query; }
/** * Override default findByUid function to enable also the option to turn of * the enableField setting * * @param integer $uid id of record * @param boolean $respectEnableFields if set to false, hidden records are shown * @return Tx_News_Domain_Model_News */ public function findByUid($uid, $respectEnableFields = TRUE) { $query = $this->createQuery(); $query->getQuerySettings()->setRespectStoragePage(FALSE); $query->getQuerySettings()->setRespectSysLanguage(FALSE); if (Tx_News_Utility_Compatibility::isEqualOrHigherSixZero()) { $query->getQuerySettings()->setIgnoreEnableFields(!$respectEnableFields); } else { $query->getQuerySettings()->setRespectEnableFields(FALSE); } return $query->matching($query->logicalAnd($query->equals('uid', $uid), $query->equals('deleted', 0)))->execute()->getFirst(); }