diff options
author | Joas Schilling <coding@schilljs.com> | 2024-07-11 13:24:10 +0200 |
---|---|---|
committer | nextcloud-command <nextcloud-command@users.noreply.github.com> | 2024-07-11 13:14:03 +0000 |
commit | 37d331233c2edd80bb4621942f94259ee82ad768 (patch) | |
tree | 5760ab7974dbc166c2ad04bee5c8eed30d30fab7 /lib/private/Dashboard | |
parent | 5368b935393c1bd7e192c35498eda9d76ad99ee8 (diff) | |
download | nextcloud-server-37d331233c2edd80bb4621942f94259ee82ad768.tar.gz nextcloud-server-37d331233c2edd80bb4621942f94259ee82ad768.zip |
fix(dashboard): Document expected icon behaviour
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Diffstat (limited to 'lib/private/Dashboard')
-rw-r--r-- | lib/private/Dashboard/Manager.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/private/Dashboard/Manager.php b/lib/private/Dashboard/Manager.php index 45038b87f90..d4a9eb189ff 100644 --- a/lib/private/Dashboard/Manager.php +++ b/lib/private/Dashboard/Manager.php @@ -25,11 +25,12 @@ class Manager implements IManager { /** @var array<string, IWidget> */ private array $widgets = []; - private ContainerInterface $serverContainer; private ?IAppManager $appManager = null; - public function __construct(ContainerInterface $serverContainer) { - $this->serverContainer = $serverContainer; + public function __construct( + private ContainerInterface $serverContainer, + private LoggerInterface $logger, + ) { } private function registerWidget(IWidget $widget): void { @@ -37,6 +38,10 @@ class Manager implements IManager { throw new InvalidArgumentException('Dashboard widget with this id has already been registered'); } + if (!preg_match('/^[a-z][a-z0-9\-_]*$/', $widget->getId())) { + $this->logger->debug('Deprecated dashboard widget ID provided: "' . $widget->getId() . '" [ ' . get_class($widget) . ' ]. Please use a-z, 0-9, - and _ only, starting with a-z'); + } + $this->widgets[$widget->getId()] = $widget; } |