Skip to content

Commit

Permalink
Add support for Admin-only metadata configset
Browse files Browse the repository at this point in the history
Added:
- Extension on container entry "metadata/config" to merge any "admin.config.metadata"

Changed:
- Fallback container entry "metadata/config" to merge any "config.metadata"

Related: 989aa11aaa36ce4bac90a41e9edb88f370c4687f
  • Loading branch information
mcaskill committed Jun 6, 2019
1 parent 7e6497d commit bc34c41
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion src/Charcoal/Admin/ServiceProvider/AdminServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,29 @@ protected function registerMetadataExtensions(Container $container)
* @return MetadataConfig
*/
$container['metadata/config'] = function () {
return new MetadataConfig();
$settings = $container['admin/config']['metadata'];
$metaConfig = new MetadataConfig($settings);

return $metaConfig;
};
} else {
/**
* Alters the application's metadata configset.
*
* This extension will merge any Admin-only metadata settings.
*
* @param MetadataConfig $metaConfig The metadata configset.
* @param Container $container The Pimple DI container.
* @return MetadataConfig
*/
$container->extend('metadata/config', function (MetadataConfig $metaConfig, Container $container) {
$settings = $container['admin/config']['metadata'];
if (is_array($settings) && !empty($settings)) {
$metaConfig->merge($settings);
}

return $metaConfig;
});
}

/**
Expand Down

0 comments on commit bc34c41

Please sign in to comment.