@@ -112,19 +112,16 @@ private function alter(&$data, $type): void
112112 public function getConfig (): array
113113 {
114114 $ config = [];
115- if (isset ($ _SERVER ['SOLR_URL ' ])) {
116- $ parts = parse_url ($ _SERVER ['SOLR_URL ' ]);
117- $ name = $ parts ['fragment ' ] ?? 'default ' ;
118- $ config ['search_api.server. ' . $ name ]['backend_config ' ]['connector_config ' ] = [
119- 'scheme ' => $ parts ['scheme ' ] ?? 'http ' ,
120- 'host ' => $ parts ['host ' ] ?? 'localhost ' ,
121- 'port ' => $ parts ['port ' ] ?? 8983 ,
122- 'path ' => $ parts ['path ' ] ?? '/ ' ,
123- 'core ' => $ parts ['user ' ] ?? 'default ' ,
124- ];
115+
116+ // Default to having shield enabled.
117+ if (isset ($ _SERVER ['SHIELD ' ])) {
118+ $ config ['shield.settings ' ]['shield_enable ' ] = (bool ) $ _SERVER ['SHIELD ' ];
125119 }
120+
121+ // Apply configuration based on environment name.
126122 switch ($ this ->getEnvironmentName ()) {
127123 case 'dev ' :
124+ $ config ['shield.settings ' ]['shield_enable ' ] = FALSE ;
128125 $ config ['config_split.config_split.local ' ]['status ' ] = TRUE ;
129126 $ config ['environment_indicator.indicator ' ] = [
130127 'name ' => 'Development ' ,
@@ -159,6 +156,33 @@ public function getConfig(): array
159156 ];
160157 break ;
161158 }
159+
160+ // Configure Shield if enabled.
161+ if ($ config ['shield.settings ' ]['shield_enable ' ]) {
162+ if (isset ($ _SERVER ['SHIELD_USER ' ])) {
163+ $ config ['shield.settings ' ]['credentials ' ]['shield ' ]['user ' ] = $ _SERVER ['SHIELD_USER ' ];
164+ }
165+ if (isset ($ _SERVER ['SHIELD_PASSWORD ' ])) {
166+ $ config ['shield.settings ' ]['credentials ' ]['shield ' ]['pass ' ] = $ _SERVER ['SHIELD_PASSWORD ' ];
167+ }
168+ if (isset ($ _SERVER ['SHIELD_MESSAGE ' ])) {
169+ $ config ['shield.settings ' ]['print ' ] = $ _SERVER ['SHIELD_MESSAGE ' ];
170+ }
171+ }
172+
173+ // Configure Solr.
174+ if (isset ($ _SERVER ['SOLR_URL ' ])) {
175+ $ parts = parse_url ($ _SERVER ['SOLR_URL ' ]);
176+ $ name = $ parts ['fragment ' ] ?? 'default ' ;
177+ $ config ['search_api.server. ' . $ name ]['backend_config ' ]['connector_config ' ] = [
178+ 'scheme ' => $ parts ['scheme ' ] ?? 'http ' ,
179+ 'host ' => $ parts ['host ' ] ?? 'localhost ' ,
180+ 'port ' => $ parts ['port ' ] ?? 8983 ,
181+ 'path ' => $ parts ['path ' ] ?? '/ ' ,
182+ 'core ' => $ parts ['user ' ] ?? 'default ' ,
183+ ];
184+ }
185+
162186 $ this ->alter ($ config , 'config ' );
163187 return $ config ;
164188 }
0 commit comments