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
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-11-28 09:07:03 +0000
commita6f88903ee3d2b0e86a6aeecd2274587d2f264b9 (patch)
tree6f5809a2340382384a4a6526ae8d6ca5f2c8fd9e /lib/classes/ActionMenu.php
parent2e9b92b710ea046c3930c4d7980cbdd96db42bb7 (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 613bea5..0822f72 100644
--- a/lib/classes/ActionMenu.php
+++ b/lib/classes/ActionMenu.php
@@ -143,6 +143,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:
@@ -326,10 +327,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;