Skip to content
Snippets Groups Projects

Feature multilang

Merged Torsten Oppermann requested to merge feature_multilang into master
3 files
+ 147
241
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -26,10 +26,8 @@ namespace SGalinski\SgJobs\Domain\Repository;
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction;
use TYPO3\CMS\Core\Database\Query\Restriction\FrontendRestrictionContainer;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use SGalinski\SgJobs\Domain\Model\Company;
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
use TYPO3\CMS\Extbase\Persistence\Repository;
/**
@@ -58,27 +56,27 @@ class CompanyRepository extends Repository {
* @throws \InvalidArgumentException
*/
public function getAllCountries($pageUid) {
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'tx_sgjobs_domain_model_job'
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
]
);
$queryBuilder
->getRestrictions()
->removeAll()
->add(GeneralUtility::makeInstance(DeletedRestriction::class))
->add(GeneralUtility::makeInstance(FrontendRestrictionContainer::class));
$statement = $queryBuilder->select('country')->from('tx_sgjobs_domain_model_company');
$statement->where(
$queryBuilder->expr()->eq(
'pid', $queryBuilder->createNamedParameter($pageUid)
)
);
$result = $query->execute()->toArray();
$result = $statement->execute()->fetchAll();
$countryArray = [''];
foreach ($result as $country) {
$countryArray[$country['country']] = $country['country'];
/** @var Company $company */
foreach ($result as $company) {
$countryName = $company->getCountry();
$countryArray[$countryName] = $countryName;
}
return $countryArray;
@@ -92,27 +90,27 @@ class CompanyRepository extends Repository {
* @throws \InvalidArgumentException
*/
public function getAllCities($pageUid) {
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
self::TABLENAME
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
]
);
$queryBuilder
->getRestrictions()
->removeAll()
->add(GeneralUtility::makeInstance(DeletedRestriction::class))
->add(GeneralUtility::makeInstance(FrontendRestrictionContainer::class));
$statement = $queryBuilder->select('city')->from('tx_sgjobs_domain_model_company');
$statement->where(
$queryBuilder->expr()->eq(
'pid', $queryBuilder->createNamedParameter($pageUid)
)
);
$result = $query->execute()->toArray();
$result = $statement->execute()->fetchAll();
$cityArray = [''];
foreach ($result as $city) {
$cityArray[$city['city']] = $city['city'];
/** @var Company $company */
foreach ($result as $company) {
$cityName = $company->getCity();
$cityArray[$cityName] = $cityName;
}
return $cityArray;
@@ -126,35 +124,32 @@ class CompanyRepository extends Repository {
* @throws \InvalidArgumentException
*/
public function getAllCompanyNames($pageUid) {
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
self::TABLENAME
);
$queryBuilder
->getRestrictions()
->removeAll()
->add(GeneralUtility::makeInstance(DeletedRestriction::class))
->add(GeneralUtility::makeInstance(FrontendRestrictionContainer::class));
$statement = $queryBuilder->select('name')->from('tx_sgjobs_domain_model_company');
$statement->where(
$queryBuilder->expr()->eq(
'pid', $queryBuilder->createNamedParameter($pageUid)
)
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
]
);
$result = $statement->execute()->fetchAll();
$result = $query->execute()->toArray();
$namesArray = [''];
foreach ($result as $name) {
$namesArray[$name['name']] = $name['name'];
$companyArray = [''];
/** @var Company $company */
foreach ($result as $company) {
$companyName = $company->getName();
$companyArray[$companyName] = $companyName;
}
return $namesArray;
return $companyArray;
}
/**
* Returns all companies filtered by page id
*
@@ -163,23 +158,23 @@ class CompanyRepository extends Repository {
* @throws \InvalidArgumentException
*/
public function getAllCompanies($pageUid) {
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
self::TABLENAME
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
]
);
$queryBuilder
->getRestrictions()
->removeAll()
->add(GeneralUtility::makeInstance(DeletedRestriction::class))
->add(GeneralUtility::makeInstance(FrontendRestrictionContainer::class));
$statement = $queryBuilder->select('*')->from('tx_sgjobs_domain_model_company');
$statement->where(
$queryBuilder->expr()->eq(
'pid', $queryBuilder->createNamedParameter($pageUid)
)
);
$companyConstraints[] = $query->equals('pid', $pageUid);
$query->matching($query->logicalAnd($companyConstraints));
return $statement->execute();
return $query->execute();
}
}
Loading