diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2023-11-28 09:07:03 +0000 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-11-28 23:09:38 +0100 |
| commit | 9091d0ad9edc2be78c36713ca1091646b149d4d9 (patch) | |
| tree | ffa851ffecf24d1379eb73e1aa71217fbbaf9f17 /lib/classes/ActionMenu.php | |
| parent | a1e25a04d3246fc48769a8a70f20a8749bd30219 (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.php | 7 |
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; |
