Fix configurator email not being sent due to missing config

This commit is contained in:
Björn Fromme
2018-09-20 15:33:28 +02:00
parent 237f0cea92
commit b329ded8a9
6 changed files with 104 additions and 57 deletions
@@ -0,0 +1,60 @@
<?php
namespace EP\EpEvents\Service;
use TYPO3\CMS\Extensionmanager\Utility\ConfigurationUtility;
class ConfigurationService
{
/**
* @var ConfigurationUtility
*/
protected $configurationUtility;
/**
* @param ConfigurationUtility $configurationUtility
*/
public function __construct(ConfigurationUtility $configurationUtility)
{
$this->configurationUtility = $configurationUtility;
}
/**
* @return array
*/
public function getConfiguratorConfig()
{
$extensionConfig = $this->configurationUtility->getCurrentConfiguration('ep_events');
return [
'budgetOptions' => $this->parseConfigItem($extensionConfig, 'configuratorBudgetOptions'),
'paxOptions' => $this->parseConfigItem($extensionConfig, 'configuratorPaxOptions'),
'periodOptions' => $this->parseConfigItem($extensionConfig, 'configuratorPeriodOptions'),
'travelTypeOptions' => $this->parseConfigItem($extensionConfig, 'configuratorTravelTypeOptions'),
'locationTypeOptions' => $this->parseConfigItem($extensionConfig, 'configuratorLocationTypeOptions'),
'accommodationTypeOptions' => $this->parseConfigItem($extensionConfig, 'configuratorAccommodationTypeOptions'),
'programmeTypeOptions' => $this->parseConfigItem($extensionConfig, 'configuratorProgrammeTypeOptions'),
'distanceOptions' => $this->parseConfigItem($extensionConfig, 'configuratorDistanceOptions'),
];
}
/**
* @param array $configArray
* @param string $itemName
* @return array
*/
protected function parseConfigItem($configArray, $itemName)
{
$config = [];
foreach (explode(';', $configArray[$itemName]['value']) as $item)
{
list ($value, $label) = explode(':', $item);
$config[$value] = $label;
}
return $config;
}
}
@@ -48,11 +48,11 @@ class EmailService implements SingletonInterface
protected $settings;
/**
* @param ConfigurationManagerInterface $manager
* @param ConfigurationManagerInterface $configurationManager
*/
public function injectConfigurationManager(ConfigurationManagerInterface $manager)
public function __construct(ConfigurationManagerInterface $configurationManager)
{
$this->configurationManager = $manager;
$this->configurationManager = $configurationManager;
$settings = GeneralUtility::removeDotsFromTS(
$this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT)
);