‪TYPO3CMS  ‪main
WidgetGroupInitializationService.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
18 namespace ‪TYPO3\CMS\Dashboard;
19 
21 
26 {
27  public function ‪__construct(
28  private readonly ‪WidgetGroupRegistry $widgetGroupRegistry,
29  private readonly ‪WidgetRegistry $widgetRegistry
30  ) {}
31 
35  public function ‪buildWidgetGroupsConfiguration(): array
36  {
37  $groupConfigurations = [];
38  foreach ($this->widgetGroupRegistry->getWidgetGroups() as $widgetGroup) {
39  $widgets = [];
40  $widgetGroupIdentifier = $widgetGroup->getIdentifier();
41 
42  $widgetsForGroup = $this->widgetRegistry->getAvailableWidgetsForWidgetGroup($widgetGroupIdentifier);
43  foreach ($widgetsForGroup as $widgetConfiguration) {
44  $widgets[$widgetConfiguration->getIdentifier()] = [
45  'iconIdentifier' => $widgetConfiguration->getIconIdentifier(),
46  'title' => $this->‪getLanguageService()->sL($widgetConfiguration->getTitle()),
47  'description' => $this->‪getLanguageService()->sL($widgetConfiguration->getDescription()),
48  ];
49  }
50 
51  $groupConfigurations[$widgetGroupIdentifier] = [
52  'identifier' => $widgetGroupIdentifier,
53  'title' => $widgetGroup->getTitle(),
54  'widgets' => $widgets,
55  ];
56  }
57 
58  return $groupConfigurations;
59  }
60 
62  {
63  return ‪$GLOBALS['LANG'];
64  }
65 }
‪TYPO3\CMS\Dashboard\WidgetGroupRegistry
Definition: WidgetGroupRegistry.php:26
‪TYPO3\CMS\Dashboard\WidgetRegistry
Definition: WidgetRegistry.php:33
‪TYPO3\CMS\Dashboard\WidgetGroupInitializationService\buildWidgetGroupsConfiguration
‪buildWidgetGroupsConfiguration()
Definition: WidgetGroupInitializationService.php:35
‪TYPO3\CMS\Dashboard\WidgetGroupInitializationService\__construct
‪__construct(private readonly WidgetGroupRegistry $widgetGroupRegistry, private readonly WidgetRegistry $widgetRegistry)
Definition: WidgetGroupInitializationService.php:27
‪TYPO3\CMS\Dashboard\WidgetGroupInitializationService
Definition: WidgetGroupInitializationService.php:26
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Localization\LanguageService
Definition: LanguageService.php:46
‪TYPO3\CMS\Dashboard\WidgetGroupInitializationService\getLanguageService
‪getLanguageService()
Definition: WidgetGroupInitializationService.php:61
‪TYPO3\CMS\Dashboard