public function getSettings()
{
if (null === self::$settingsCache) {
$allTypoScript = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
$settingsExist = isset($allTypoScript['plugin.']['tx_vhs.']['settings.']);
if (true === $settingsExist) {
self::$settingsCache = GeneralUtility::removeDotsFromTS($allTypoScript['plugin.']['tx_vhs.']['settings.']);
}
}
$settings = (array) self::$settingsCache;
$properties = get_class_vars(get_class($this));
foreach (array_keys($properties) as $propertyName) {
$properties[$propertyName] = $this->{$propertyName};
}
if (true === method_exists('TYPO3\\CMS\\Core\\Utility\\ArrayUtility', 'mergeRecursiveWithOverrule')) {
ArrayUtility::mergeRecursiveWithOverrule($settings, $this->settings);
ArrayUtility::mergeRecursiveWithOverrule($settings, $properties);
} else {
$settings = GeneralUtility::array_merge_recursive_overrule($settings, $this->settings);
$settings = GeneralUtility::array_merge_recursive_overrule($settings, $properties);
}
return $settings;
}