2016-12-09 13:19:35 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
call_user_func(
|
|
|
|
function ($extensionKey) {
|
|
|
|
// TODO: Add hook for Extbase -> to handle records modified through
|
|
|
|
// Frontend and backend modules not using datahandler
|
|
|
|
|
|
|
|
$GLOBALS['TYPO3_CONF_VARS'] = TYPO3\CMS\Extbase\Utility\ArrayUtility::arrayMergeRecursiveOverrule(
|
|
|
|
$GLOBALS['TYPO3_CONF_VARS'],
|
|
|
|
[
|
|
|
|
'SC_OPTIONS' => [
|
|
|
|
'extbase' => [
|
|
|
|
'commandControllers' => [
|
2017-07-06 23:48:47 +02:00
|
|
|
Codappix\SearchCore\Command\IndexCommandController::class,
|
2016-12-09 13:19:35 +01:00
|
|
|
],
|
|
|
|
],
|
2016-12-13 16:43:51 +01:00
|
|
|
't3lib/class.t3lib_tcemain.php' => [
|
|
|
|
'processCmdmapClass' => [
|
2017-07-07 16:14:41 +02:00
|
|
|
$extensionKey => \Codappix\SearchCore\Hook\DataHandler::class,
|
2016-12-13 16:43:51 +01:00
|
|
|
],
|
|
|
|
'processDatamapClass' => [
|
2017-07-07 16:14:41 +02:00
|
|
|
$extensionKey => \Codappix\SearchCore\Hook\DataHandler::class,
|
2016-12-13 16:43:51 +01:00
|
|
|
],
|
|
|
|
],
|
2016-12-09 13:19:35 +01:00
|
|
|
],
|
|
|
|
]
|
|
|
|
);
|
|
|
|
|
|
|
|
TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
|
2017-07-06 23:48:47 +02:00
|
|
|
'Codappix.' . $extensionKey,
|
2016-12-09 13:19:35 +01:00
|
|
|
'search',
|
2017-10-29 11:32:21 +01:00
|
|
|
[
|
|
|
|
'Search' => 'search'
|
|
|
|
],
|
2016-12-09 13:19:35 +01:00
|
|
|
[
|
|
|
|
'Search' => 'search'
|
|
|
|
]
|
|
|
|
);
|
|
|
|
|
2018-03-13 11:28:40 +01:00
|
|
|
// Register different concrete implementations, depending on current TYPO3 version.
|
|
|
|
// This way we can provide working implementations for multiple TYPO3 versions.
|
|
|
|
$container = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class);
|
|
|
|
if (\TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version) >= 8000000) {
|
|
|
|
$container->registerImplementation(
|
|
|
|
\Codappix\SearchCore\Compatibility\TypoScriptServiceInterface::class,
|
2018-03-13 12:18:00 +01:00
|
|
|
\Codappix\SearchCore\Compatibility\TypoScriptService::class
|
2018-03-13 11:28:40 +01:00
|
|
|
);
|
|
|
|
} else {
|
|
|
|
$container->registerImplementation(
|
|
|
|
\Codappix\SearchCore\Compatibility\TypoScriptServiceInterface::class,
|
2018-03-13 12:18:00 +01:00
|
|
|
\Codappix\SearchCore\Compatibility\TypoScriptService76::class
|
2018-03-13 11:28:40 +01:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2018-02-22 20:49:25 +01:00
|
|
|
// API does make use of object manager, therefore use GLOBALS
|
|
|
|
$extensionConfiguration = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$extensionKey]);
|
|
|
|
if ($extensionConfiguration === false
|
|
|
|
|| !isset($extensionConfiguration['disable.']['elasticsearch'])
|
|
|
|
|| $extensionConfiguration['disable.']['elasticsearch'] !== '1'
|
|
|
|
) {
|
2018-03-13 11:28:40 +01:00
|
|
|
$container->registerImplementation(
|
|
|
|
\Codappix\SearchCore\Connection\ConnectionInterface::class,
|
|
|
|
\Codappix\SearchCore\Connection\Elasticsearch::class
|
|
|
|
);
|
2018-02-22 20:49:25 +01:00
|
|
|
}
|
2016-12-09 13:19:35 +01:00
|
|
|
},
|
|
|
|
$_EXTKEY
|
|
|
|
);
|