/** * Initializes the search component. * * */ public function initializeSearchComponent() { $allowedSites = Util::resolveSiteHashAllowedSites($GLOBALS['TSFE']->id, $this->searchConfiguration['query.']['allowedSites']); $this->query->setSiteHashFilter($allowedSites); $this->query->setUserAccessGroups(explode(',', $GLOBALS['TSFE']->gr_list)); }
EidUtility::initTCA(); $GLOBALS['TSFE']->sys_page = GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository'); $GLOBALS['TSFE']->rootLine = $GLOBALS['TSFE']->sys_page->getRootLine($pageId, ''); $GLOBALS['TSFE']->initTemplate(); $GLOBALS['TSFE']->getConfigArray(); $GLOBALS['TSFE']->sys_language_uid = $languageId; $solrConfiguration = Util::getSolrConfiguration(); #--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # Building Suggest Query $q = trim(GeneralUtility::_GP('termLowercase')); $isOpenSearchRequest = false; if ('OpenSearch' == GeneralUtility::_GET('format')) { $isOpenSearchRequest = true; $q = GeneralUtility::_GET('q'); } $allowedSites = Util::resolveSiteHashAllowedSites($pageId, $solrConfiguration['search.']['query.']['allowedSites']); $suggestQuery = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\SuggestQuery', $q); $suggestQuery->setUserAccessGroups(explode(',', $GLOBALS['TSFE']->gr_list)); $suggestQuery->setSiteHashFilter($allowedSites); $suggestQuery->setOmitHeader(); $additionalFilters = GeneralUtility::_GET('filters'); if (!empty($additionalFilters)) { $additionalFilters = json_decode($additionalFilters); foreach ($additionalFilters as $additionalFilter) { $suggestQuery->addFilter($additionalFilter); } } #--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- // Search $solr = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\ConnectionManager')->getConnectionByPageId($pageId, $languageId); $search = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Search', $solr);
$GLOBALS['TSFE']->sys_page = GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository'); $GLOBALS['TSFE']->rootLine = $GLOBALS['TSFE']->sys_page->getRootLine($pageId, ''); $GLOBALS['TSFE']->initTemplate(); $GLOBALS['TSFE']->getConfigArray(); $GLOBALS['TSFE']->sys_language_uid = $languageId; $solrConfiguration = Util::getSolrConfiguration(); #--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # Building Suggest Query $q = trim(GeneralUtility::_GP('termLowercase')); $isOpenSearchRequest = false; if ('OpenSearch' == GeneralUtility::_GET('format')) { $isOpenSearchRequest = true; $q = GeneralUtility::_GET('q'); } $allowedSitesConfig = $solrConfiguration->getObjectByPathOrDefault('plugin.tx_solr.search.query.', []); $allowedSites = Util::resolveSiteHashAllowedSites($pageId, $allowedSitesConfig['allowedSites']); $suggestQuery = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\SuggestQuery', $q); $suggestQuery->setUserAccessGroups(explode(',', $GLOBALS['TSFE']->gr_list)); $suggestQuery->setSiteHashFilter($allowedSites); $suggestQuery->setOmitHeader(); $additionalFilters = GeneralUtility::_GET('filters'); if (!empty($additionalFilters)) { $additionalFilters = json_decode($additionalFilters); foreach ($additionalFilters as $additionalFilter) { $suggestQuery->addFilter($additionalFilter); } } #--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- // Search $solr = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\ConnectionManager')->getConnectionByPageId($pageId, $languageId); $search = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Search', $solr);