55 public function initializePresets(array
$postValues) {
57 $featurePostValues = array();
58 if (!empty($postValues[$this->name])) {
61 $this->postValues = $featurePostValues;
63 $isNonCustomPresetActive = FALSE;
64 $customPresetFound = FALSE;
65 foreach ($this->presetRegistry as $presetClass) {
67 $presetInstance = $this->objectManager->get($presetClass);
70 'Preset ' . $presetClass .
' does not implement PresetInterface',
75 $presetInstance->setPostValues($featurePostValues);
78 if ($presetInstance->isActive()) {
79 $isNonCustomPresetActive = TRUE;
82 && !$isNonCustomPresetActive
85 if ($customPresetFound === TRUE) {
87 'Preset ' . $presetClass .
' implements CustomPresetInterface, but another' 88 .
' custom preset is already registered',
94 $presetInstance->setActive();
95 $customPresetFound = TRUE;
98 $this->presetInstances[] = $presetInstance;
108 public function getPresetsOrderedByPriority() {
109 if (empty($this->presetInstances)) {
111 'Presets not initialized',
115 $orderedPresets = array();
116 foreach ($this->presetInstances as $presetInstance) {
118 $orderedPresets[$presetInstance->getPriority()] = $presetInstance;
120 krsort($orderedPresets, SORT_NUMERIC);
121 return $orderedPresets;