aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/ActionMenu.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-11-28 09:07:03 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-11-28 23:09:38 +0100
commit9091d0ad9edc2be78c36713ca1091646b149d4d9 (patch)
treeffa851ffecf24d1379eb73e1aa71217fbbaf9f17 /lib/classes/ActionMenu.php
parenta1e25a04d3246fc48769a8a70f20a8749bd30219 (diff)
prevent tabbing to disabled action menu links and in institute basic data, fixes #3010, fixes #3007
Closes #3010 and #3007 Merge request studip/studip!2039
Diffstat (limited to 'lib/classes/ActionMenu.php')
-rw-r--r--lib/classes/ActionMenu.php7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/classes/ActionMenu.php b/lib/classes/ActionMenu.php
index c72b757..935cc2a 100644
--- a/lib/classes/ActionMenu.php
+++ b/lib/classes/ActionMenu.php
@@ -129,6 +129,7 @@ class ActionMenu
'attributes' => $attributes,
];
}
+
$index = $index ?: md5($action['link'] . json_encode($action['attributes']));
$action['index'] = $index;
//now insert it possibly at the desired position:
@@ -258,10 +259,10 @@ class ActionMenu
: self::TEMPLATE_FILE_MULTIPLE;
;
$template = $GLOBALS['template_factory']->open($template_file);
- $template->actions = array_map(function ($action) {
- $disabled = isset($action['attributes']['disabled'])
+ $template->actions = array_map(function ($action): array {
+ $action['disabled'] = isset($action['attributes']['disabled'])
&& $action['attributes']['disabled'] !== false;
- if ($disabled && $action['icon']) {
+ if ($action['disabled'] && $action['icon']) {
$action['icon'] = $action['icon']->copyWithRole(Icon::ROLE_INACTIVE);
}
return $action;