32 'TYPO3\\CMS\\Install\\Configuration\\Charset\\CharsetFeature',
33 'TYPO3\\CMS\\Install\\Configuration\\Context\\ContextFeature',
34 'TYPO3\\CMS\\Install\\Configuration\\Image\\ImageFeature',
35 'TYPO3\\CMS\\Install\\Configuration\\ExtbaseObjectCache\\ExtbaseObjectCacheFeature',
45 public function getInitializedFeatures(array $postValues) {
47 foreach ($this->featureRegistry as $featureClass) {
49 $featureInstance = $this->objectManager->get($featureClass);
52 'Feature ' . $featureClass .
' doen not implement FeatureInterface',
56 $featureInstance->initializePresets($postValues);
57 $features[] = $featureInstance;
69 public function getConfigurationForSelectedFeaturePresets(array $postValues) {
70 $localConfigurationValuesToSet = array();
71 $features = $this->getInitializedFeatures($postValues);
72 foreach ($features as $feature) {
74 $featureName = $feature->getName();
75 $presets = $feature->getPresetsOrderedByPriority();
76 foreach ($presets as $preset) {
78 $presetName = $preset->getName();
79 if (!empty($postValues[$featureName][
'enable'])
80 && $postValues[$featureName][
'enable'] === $presetName
83 $localConfigurationValuesToSet = array_merge(
84 $localConfigurationValuesToSet,
85 $preset->getConfigurationValues()
90 return $localConfigurationValuesToSet;
99 public function getBestMatchingConfigurationForAllFeatures() {
100 $localConfigurationValuesToSet = array();
101 $features = $this->getInitializedFeatures(array());
102 foreach ($features as $feature) {
104 $featureName = $feature->getName();
105 $presets = $feature->getPresetsOrderedByPriority();
106 foreach ($presets as $preset) {
113 if ($preset->isAvailable()) {
114 $localConfigurationValuesToSet = array_merge(
115 $localConfigurationValuesToSet,
116 $preset->getConfigurationValues()
123 return $localConfigurationValuesToSet;