/** * 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; }
/** * 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; }