Skip to content

Commit 7ea8893

Browse files
committed
ignore disabled area bricks in autoload watcher pass
1 parent 6064f3f commit 7ea8893

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

UPGRADE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Upgrade Notes
22

3+
## 5.2.2
4+
- [ENHANCEMENT] Ignore disabled area bricks in autoload watcher pass
5+
36
## 5.2.1
47
- [BUGFIX] Fix column hash selector
58

src/DependencyInjection/Compiler/AreaBrickAutoloadWatcherPass.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ final class AreaBrickAutoloadWatcherPass implements CompilerPassInterface
1212
{
1313
public function process(ContainerBuilder $container): void
1414
{
15+
$disabledAreaBricks = $container->getParameter('toolbox.area_brick.disabled_bricks');
1516
$config = $container->getParameter('pimcore.config');
1617

1718
if (!$config['documents']['areas']['autoload']) {
@@ -21,6 +22,11 @@ public function process(ContainerBuilder $container): void
2122
$possibleNoPimcoreAwareBricks = [];
2223

2324
foreach ($container->getDefinitions() as $definitionId => $definition) {
25+
26+
if (in_array($definitionId, $disabledAreaBricks, true)) {
27+
continue;
28+
}
29+
2430
if (!str_contains((string) $definitionId, '.area.brick.')) {
2531
continue;
2632
}

src/DependencyInjection/ToolboxExtension.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@ public function load(array $configs, ContainerBuilder $container): void
8080
$configManagerDefinition = $container->getDefinition(ConfigManager::class);
8181
$configManagerDefinition->addMethodCall('setConfig', [$config]);
8282

83+
$disabledAreaBricks = array_filter($config['areas'], static function(array $area) {
84+
return $area['enabled'] === false;
85+
});
86+
87+
$container->setParameter('toolbox.area_brick.disabled_bricks', array_keys($disabledAreaBricks));
8388
$container->setParameter('toolbox.area_brick.dialog_aware_bricks', $this->determinateConfigDialogAwareBricks($config));
8489

8590
//context resolver

src/Manager/ConfigManager.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,11 @@ public function areaIsEnabled(string $areaName): bool
7474
{
7575
$this->ensureCoreConfig();
7676

77-
if (array_key_exists($areaName, $this->config['areas'])) {
78-
return $this->config['areas'][$areaName]['enabled'] === true;
77+
// keys cannot have dashes in symfony configuration, so replace if given
78+
$saveKeyName = str_replace('-', '_', $areaName);
79+
80+
if (array_key_exists($saveKeyName, $this->config['areas'])) {
81+
return $this->config['areas'][$saveKeyName]['enabled'] === true;
7982
}
8083

8184
return true;

0 commit comments

Comments
 (0)