first commit

This commit is contained in:
Sven Wappler
2021-04-24 04:44:44 +02:00
parent cadcc8edb4
commit 2c9e27b3b7
55 changed files with 333 additions and 3877 deletions

View File

@@ -25,7 +25,7 @@ namespace WapplerSystems\Meilisearch\IndexQueue;
***************************************************************/
use WapplerSystems\Meilisearch\ConnectionManager;
use WapplerSystems\Meilisearch\Domain\Search\ApacheMeilisearchDocument\Builder;
use WapplerSystems\Meilisearch\Domain\Search\MeilisearchDocument\Builder;
use WapplerSystems\Meilisearch\FieldProcessor\Service;
use WapplerSystems\Meilisearch\FrontendEnvironment;
use WapplerSystems\Meilisearch\NoMeilisearchConnectionFoundException;
@@ -37,7 +37,6 @@ use WapplerSystems\Meilisearch\System\Meilisearch\ResponseAdapter;
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection;
use Exception;
use RuntimeException;
use Solarium\Exception\HttpException;
use TYPO3\CMS\Core\Context\LanguageAspectFactory;
use TYPO3\CMS\Core\Error\Http\ServiceUnavailableException;
use TYPO3\CMS\Core\Exception\SiteNotFoundException;
@@ -146,7 +145,7 @@ class Indexer extends AbstractIndexer
$this->type = $item->getType();
$this->setLogging($item);
$meilisearchConnections = $this->getMeilisearchConnectionsByItem($item);
$meilisearchConnections = $this->getMeilisearchConnectionByItem($item);
foreach ($meilisearchConnections as $systemLanguageUid => $meilisearchConnection) {
$this->meilisearch = $meilisearchConnection;
@@ -504,7 +503,6 @@ class Indexer extends AbstractIndexer
return $documents;
}
// Initialization
/**
* Gets the Meilisearch connections applicable for an item.
@@ -515,9 +513,8 @@ class Indexer extends AbstractIndexer
* @param Item $item An index queue item
* @return array An array of WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection connections, the array's keys are the sys_language_uid of the language of the connection
*/
protected function getMeilisearchConnectionsByItem(Item $item)
protected function getMeilisearchConnectionByItem(Item $item)
{
$meilisearchConnections = [];
$rootPageId = $item->getRootPageUid();
if ($item->getType() === 'pages') {
@@ -528,11 +525,8 @@ class Indexer extends AbstractIndexer
// Meilisearch configurations possible for this item
$site = $item->getSite();
$meilisearchConfigurationsBySite = $site->getAllMeilisearchConnectionConfigurations();
$siteLanguages = [];
foreach ($meilisearchConfigurationsBySite as $meilisearchConfiguration) {
$siteLanguages[] = $meilisearchConfiguration['language'];
}
return $site->getMeilisearchConnectionConfiguration();
$defaultLanguageUid = $this->getDefaultLanguageUid($item, $site->getRootPage(), $siteLanguages);
$translationOverlays = $this->getTranslationOverlaysWithConfiguredSite((int)$pageId, $site, (array)$siteLanguages);

View File

@@ -24,6 +24,7 @@ namespace WapplerSystems\Meilisearch\IndexQueue;
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
use TYPO3\CMS\Core\Utility\DebugUtility;
use WapplerSystems\Meilisearch\Access\Rootline;
use WapplerSystems\Meilisearch\Access\RootlineElement;
use WapplerSystems\Meilisearch\Domain\Index\PageIndexer\Helper\UriBuilder\AbstractUriStrategy;
@@ -57,8 +58,12 @@ class PageIndexer extends Indexer
return false;
}
$meilisearchConnections = $this->getMeilisearchConnectionsByItem($item);
foreach ($meilisearchConnections as $systemLanguageUid => $meilisearchConnection) {
//$meilisearchConnection = $this->getMeilisearchConnectionByItem($item);
$site = $item->getSite();
$languageUids = $site->getAvailableLanguageIds();
foreach ($languageUids as $systemLanguageUid) {
$contentAccessGroups = $this->getAccessGroupsFromContent($item, $systemLanguageUid);
if (empty($contentAccessGroups)) {
@@ -108,9 +113,9 @@ class PageIndexer extends Indexer
* @param Item $item An index queue item
* @return array An array of WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection connections, the array's keys are the sys_language_uid of the language of the connection
*/
protected function getMeilisearchConnectionsByItem(Item $item)
protected function getMeilisearchConnectionByItem(Item $item)
{
$meilisearchConnections = parent::getMeilisearchConnectionsByItem($item);
$meilisearchConnections = parent::getMeilisearchConnectionByItem($item);
$page = $item->getRecord();
// may use \TYPO3\CMS\Core\Utility\GeneralUtility::hideIfDefaultLanguage($page['l18n_cfg']) with TYPO3 4.6
@@ -289,6 +294,7 @@ class PageIndexer extends Indexer
*/
protected function indexPage(Item $item, $language = 0, $userGroup = 0)
{
DebugUtility::debug('dededede');
$accessRootline = $this->getAccessRootline($item, $language, $userGroup);
$request = $this->buildBasePageIndexerRequest();
$request->setIndexQueueItem($item);