Skip to content

Commit

Permalink
fix: add event listener to add admin related configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
lukmzig committed Apr 24, 2023
1 parent 773a353 commit 04af963
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
6 changes: 6 additions & 0 deletions config/event_listeners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ services:
autowire: true
autoconfigure: true

#
# System Settings
#

Pimcore\Bundle\AdminBundle\EventListener\AdminConfigListener: ~

#
# SECURITY
#
Expand Down
53 changes: 53 additions & 0 deletions src/EventListener/AdminConfigListener.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?php
declare(strict_types=1);

/**
* Pimcore
*
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
* @license http://www.pimcore.org/license GPLv3 and PCL
*/

namespace Pimcore\Bundle\AdminBundle\EventListener;

use Pimcore;
use Pimcore\Event\SystemEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\EventDispatcher\GenericEvent;

/**
* @internal
*/
class AdminConfigListener implements EventSubscriberInterface
{
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents(): array
{
return [
SystemEvents::GET_SYSTEM_CONFIGURATION => 'updateSystemConfiguration'
];
}

public function updateSystemConfiguration(GenericEvent $event): void
{
$arguments = $event->getArguments();
$config = $arguments['settings'];

if (!$config || !$container = Pimcore::getContainer()) {
return;
}

$adminConfig = $container->getParameter('pimcore_admin.config');
$configuration = array_merge_recursive($config, $adminConfig);

$event->setArgument('settings', $configuration);
}
}

0 comments on commit 04af963

Please sign in to comment.