[CONFIG] Fix error on missing or empty local configuration
This commit is contained in:
parent
dd40255c4a
commit
c4c693b283
@ -104,13 +104,19 @@ class Kernel extends BaseKernel
|
|||||||
$loader->load($confDir . '/{services}_' . $this->environment . self::CONFIG_EXTS, 'glob');
|
$loader->load($confDir . '/{services}_' . $this->environment . self::CONFIG_EXTS, 'glob');
|
||||||
|
|
||||||
// Overriding doesn't work as we want, overrides the top-most key, do it manually
|
// Overriding doesn't work as we want, overrides the top-most key, do it manually
|
||||||
$loader->load(INSTALLDIR . '/social.local' . self::CONFIG_EXTS, 'glob');
|
$local_file = INSTALLDIR . '/social.local.yaml';
|
||||||
|
if (!file_exists($local_file)) {
|
||||||
|
file_put_contents($local_file, "parameters:\n gnusocial:\n");
|
||||||
|
}
|
||||||
|
$loader->load($local_file);
|
||||||
$locals = $container->getParameter('gnusocial');
|
$locals = $container->getParameter('gnusocial');
|
||||||
$loader->load(INSTALLDIR . '/social' . self::CONFIG_EXTS, 'glob');
|
$loader->load(INSTALLDIR . '/social' . self::CONFIG_EXTS, 'glob');
|
||||||
$defaults = $container->getParameter('gnusocial');
|
$container->setParameter('gnusocial_defaults', $defaults = $container->getParameter('gnusocial'));
|
||||||
|
if (is_array($locals)) {
|
||||||
$configs = array_replace_recursive($defaults, $locals);
|
$configs = array_replace_recursive($defaults, $locals);
|
||||||
$container->setParameter('gnusocial', $configs);
|
$container->setParameter('gnusocial', $configs);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected function configureRoutes(RoutingConfigurator $routes): void
|
protected function configureRoutes(RoutingConfigurator $routes): void
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user