first commit
This commit is contained in:
@@ -4,7 +4,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <solr-support@dkd.de>
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <meilisearch-support@dkd.de>
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
@@ -27,7 +27,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\SiteRepository;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\Site;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrConnection as SolrCoreConnection;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection as MeilisearchCoreConnection;
|
||||
use WapplerSystems\Meilisearch\System\Mvc\Backend\Component\Exception\InvalidViewObjectNameException;
|
||||
use WapplerSystems\Meilisearch\System\Mvc\Backend\Service\ModuleDataStorageService;
|
||||
use TYPO3\CMS\Backend\Template\Components\Menu\Menu;
|
||||
@@ -81,9 +81,9 @@ abstract class AbstractModuleController extends ActionController
|
||||
protected $siteRepository;
|
||||
|
||||
/**
|
||||
* @var SolrCoreConnection
|
||||
* @var MeilisearchCoreConnection
|
||||
*/
|
||||
protected $selectedSolrCoreConnection;
|
||||
protected $selectedMeilisearchCoreConnection;
|
||||
|
||||
/**
|
||||
* @var Menu
|
||||
@@ -93,7 +93,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
/**
|
||||
* @var ConnectionManager
|
||||
*/
|
||||
protected $solrConnectionManager = null;
|
||||
protected $meilisearchConnectionManager = null;
|
||||
|
||||
/**
|
||||
* @var ModuleDataStorageService
|
||||
@@ -122,7 +122,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
protected function initializeAction()
|
||||
{
|
||||
parent::initializeAction();
|
||||
$this->solrConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$this->meilisearchConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$this->moduleDataStorageService = GeneralUtility::makeInstance(ModuleDataStorageService::class);
|
||||
|
||||
$this->selectedPageUID = (int)GeneralUtility::_GP('id');
|
||||
@@ -213,7 +213,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
}
|
||||
|
||||
if ($this->view instanceof NotFoundView) {
|
||||
$this->initializeSelectedSolrCoreConnection();
|
||||
$this->initializeSelectedMeilisearchCoreConnection();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -244,8 +244,8 @@ abstract class AbstractModuleController extends ActionController
|
||||
$uriToRedirectTo = $this->uriBuilder->reset()->uriFor();
|
||||
}
|
||||
|
||||
$this->initializeSelectedSolrCoreConnection();
|
||||
$cores = $this->solrConnectionManager->getConnectionsBySite($site);
|
||||
$this->initializeSelectedMeilisearchCoreConnection();
|
||||
$cores = $this->meilisearchConnectionManager->getConnectionsBySite($site);
|
||||
foreach ($cores as $core) {
|
||||
$coreAdmin = $core->getAdminService();
|
||||
$menuItem = $this->coreSelectorMenu->makeMenuItem();
|
||||
@@ -258,7 +258,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
);
|
||||
$menuItem->setHref($uri);
|
||||
|
||||
if ($coreAdmin->getCorePath() == $this->selectedSolrCoreConnection->getAdminService()->getCorePath()) {
|
||||
if ($coreAdmin->getCorePath() == $this->selectedMeilisearchCoreConnection->getAdminService()->getCorePath()) {
|
||||
$menuItem->setActive(true);
|
||||
}
|
||||
$this->coreSelectorMenu->addMenuItem($menuItem);
|
||||
@@ -281,48 +281,48 @@ abstract class AbstractModuleController extends ActionController
|
||||
$moduleData->setCore($corePath);
|
||||
|
||||
$this->moduleDataStorageService->persistModuleData($moduleData);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_successfully', 'solr', [$corePath]);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_successfully', 'meilisearch', [$corePath]);
|
||||
$this->addFlashMessage($message);
|
||||
$this->redirectToUri($uriToRedirectTo);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the solr core connection considerately to the components state.
|
||||
* Initializes the meilisearch core connection considerately to the components state.
|
||||
* Uses and persists default core connection if persisted core in Site does not exist.
|
||||
*
|
||||
*/
|
||||
private function initializeSelectedSolrCoreConnection()
|
||||
private function initializeSelectedMeilisearchCoreConnection()
|
||||
{
|
||||
$moduleData = $this->moduleDataStorageService->loadModuleData();
|
||||
|
||||
$solrCoreConnections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$currentSolrCorePath = $moduleData->getCore();
|
||||
if (empty($currentSolrCorePath)) {
|
||||
$this->initializeFirstAvailableSolrCoreConnection($solrCoreConnections, $moduleData);
|
||||
$meilisearchCoreConnections = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$currentMeilisearchCorePath = $moduleData->getCore();
|
||||
if (empty($currentMeilisearchCorePath)) {
|
||||
$this->initializeFirstAvailableMeilisearchCoreConnection($meilisearchCoreConnections, $moduleData);
|
||||
return;
|
||||
}
|
||||
foreach ($solrCoreConnections as $solrCoreConnection) {
|
||||
if ($solrCoreConnection->getAdminService()->getCorePath() == $currentSolrCorePath) {
|
||||
$this->selectedSolrCoreConnection = $solrCoreConnection;
|
||||
foreach ($meilisearchCoreConnections as $meilisearchCoreConnection) {
|
||||
if ($meilisearchCoreConnection->getAdminService()->getCorePath() == $currentMeilisearchCorePath) {
|
||||
$this->selectedMeilisearchCoreConnection = $meilisearchCoreConnection;
|
||||
}
|
||||
}
|
||||
if (!$this->selectedSolrCoreConnection instanceof SolrCoreConnection && count($solrCoreConnections) > 0) {
|
||||
$this->initializeFirstAvailableSolrCoreConnection($solrCoreConnections, $moduleData);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_to_default_core', 'solr', [$currentSolrCorePath, $this->selectedSite->getLabel(), $this->selectedSolrCoreConnection->getAdminService()->getCorePath()]);
|
||||
if (!$this->selectedMeilisearchCoreConnection instanceof MeilisearchCoreConnection && count($meilisearchCoreConnections) > 0) {
|
||||
$this->initializeFirstAvailableMeilisearchCoreConnection($meilisearchCoreConnections, $moduleData);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_to_default_core', 'meilisearch', [$currentMeilisearchCorePath, $this->selectedSite->getLabel(), $this->selectedMeilisearchCoreConnection->getAdminService()->getCorePath()]);
|
||||
$this->addFlashMessage($message, '', AbstractMessage::NOTICE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SolrCoreConnection[] $solrCoreConnections
|
||||
* @param MeilisearchCoreConnection[] $meilisearchCoreConnections
|
||||
*/
|
||||
private function initializeFirstAvailableSolrCoreConnection(array $solrCoreConnections, $moduleData)
|
||||
private function initializeFirstAvailableMeilisearchCoreConnection(array $meilisearchCoreConnections, $moduleData)
|
||||
{
|
||||
if (empty($solrCoreConnections)) {
|
||||
if (empty($meilisearchCoreConnections)) {
|
||||
return;
|
||||
}
|
||||
$this->selectedSolrCoreConnection = $solrCoreConnections[0];
|
||||
$moduleData->setCore($this->selectedSolrCoreConnection->getAdminService()->getCorePath());
|
||||
$this->selectedMeilisearchCoreConnection = $meilisearchCoreConnections[0];
|
||||
$moduleData->setCore($this->selectedMeilisearchCoreConnection->getAdminService()->getCorePath());
|
||||
$this->moduleDataStorageService->persistModuleData($moduleData);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user