public function getSettings()
{
if (null === self::$settingsCache) {
$allTypoScript = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
$settingsExist = isset($allTypoScript['plugin.']['tx_vhs.']['settings.']);
if (!$settingsExist) {
// no settings exist, but don't allow a NULL value. This prevents cache clobbering.
self::$settingsCache = [];
} else {
self::$settingsCache = GeneralUtility::removeDotsFromTS($allTypoScript['plugin.']['tx_vhs.']['settings.']);
}
}
$settings = self::$settingsCache;
if (is_array($this->localSettings)) {
if (true === method_exists('TYPO3\\CMS\\Core\\Utility\\ArrayUtility', 'mergeRecursiveWithOverrule')) {
ArrayUtility::mergeRecursiveWithOverrule($settings, $this->localSettings);
} else {
$settings = GeneralUtility::array_merge_recursive_overrule($settings, $this->localSettings);
}
}
return $settings;
}