示例#1
0
 /**
  * Adds additional WHERE statements according to the query settings.
  *
  * @param QuerySettingsInterface $querySettings The TYPO3 CMS specific query settings
  * @param string $tableName The table name to add the additional where clause for
  * @param string $tableAlias The table alias used in the query.
  * @return array
  */
 protected function getAdditionalWhereClause(QuerySettingsInterface $querySettings, $tableName, $tableAlias = null)
 {
     $whereClause = [];
     if ($querySettings->getRespectSysLanguage()) {
         $systemLanguageStatement = $this->getSysLanguageStatement($tableName, $tableAlias, $querySettings);
         if (!empty($systemLanguageStatement)) {
             $whereClause[] = $systemLanguageStatement;
         }
     }
     if ($querySettings->getRespectStoragePage()) {
         $pageIdStatement = $this->getPageIdStatement($tableName, $tableAlias, $querySettings->getStoragePageIds());
         if (!empty($pageIdStatement)) {
             $whereClause[] = $pageIdStatement;
         }
     }
     return $whereClause;
 }
示例#2
0
 /**
  * Adds additional WHERE statements according to the query settings.
  *
  * @param QuerySettingsInterface $querySettings The TYPO3 CMS specific query settings
  * @param string $tableName The table name to add the additional where clause for
  * @param string &$sql
  * @return void
  */
 protected function addAdditionalWhereClause(QuerySettingsInterface $querySettings, $tableName, &$sql)
 {
     if ($querySettings->getRespectSysLanguage()) {
         $this->addSysLanguageStatement($tableName, $sql, $querySettings);
     }
     if ($querySettings->getRespectStoragePage()) {
         $this->addPageIdStatement($tableName, $sql, $querySettings->getStoragePageIds());
     }
 }
 /**
  * Adds additional WHERE statements according to the query settings.
  *
  * @param QuerySettingsInterface $querySettings The TYPO3 CMS specific query settings
  * @param string $tableName The table name to add the additional where clause for
  * @param string $tableAlias The table alias used in the query.
  * @return string
  */
 protected function getAdditionalWhereClause(QuerySettingsInterface $querySettings, $tableName, $tableAlias = null)
 {
     $sysLanguageStatement = '';
     if ($querySettings->getRespectSysLanguage()) {
         $sysLanguageStatement = $this->getSysLanguageStatement($tableName, $tableAlias, $querySettings);
     }
     $pageIdStatement = '';
     if ($querySettings->getRespectStoragePage()) {
         $pageIdStatement = $this->getPageIdStatement($tableName, $tableAlias, $querySettings->getStoragePageIds());
     }
     if ($sysLanguageStatement !== '' && $pageIdStatement !== '') {
         $whereClause = $sysLanguageStatement . ' AND ' . $pageIdStatement;
     } elseif ($sysLanguageStatement !== '') {
         $whereClause = $sysLanguageStatement;
     } else {
         $whereClause = $pageIdStatement;
     }
     return $whereClause;
 }