PluginProbe
User Access Manager / 2.3.4
User Access Manager v2.3.4
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/Controller/Backend/ControllerTabNavigationTrait.php +18 -9 trunk2.3.4 View file →
@@ -3,8 +3,13 @@
3 3 declare(strict_types=1);
4 4
5 5 namespace UserAccessManager\Controller\Backend;
6 6
7 +/**
8 + * Trait ControllerTabNavigationTrait
9 + *
10 + * @package UserAccessManager\Controller
11 + */
7 12 trait ControllerTabNavigationTrait
8 13 {
9 14 abstract public function getRequestUrl(): string;
10 15
@@ -9,9 +14,9 @@
9 14 abstract public function getRequestUrl(): string;
10 15
11 16 abstract public function getRequestParameter(string $name, $default = null): mixed;
12 17
13 - abstract public function getGroupText(string $key, bool $description = false): string;
18 + abstract public function getGroupText(string $key): string;
14 19
15 20 abstract public function getGroupSectionText(string $key): string;
16 21
17 22 abstract public function getTabGroups(): array;
@@ -19,29 +24,33 @@
19 24 public function getCurrentTabGroup(): string
20 25 {
21 26 $groups = $this->getTabGroups();
22 27 $keys = array_keys($groups);
23 - $default = (string) reset($keys);
24 - $group = (string) $this->getRequestParameter('tab_group', $default);
25 28
26 - return isset($groups[$group]) === true ? $group : $default;
29 + return (string) $this->getRequestParameter('tab_group', reset($keys));
27 30 }
28 31
29 32 public function getSections(): array
30 33 {
31 34 $groups = $this->getTabGroups();
35 + $group = $this->getCurrentTabGroup();
32 36
33 - return $groups[$this->getCurrentTabGroup()] ?? [];
37 + return isset($groups[$group]) === true ? $groups[$group] : [];
34 38 }
35 39
36 40 public function getCurrentTabGroupSection(): string
37 41 {
38 42 $groups = $this->getTabGroups();
39 - $sections = (array) ($groups[$this->getCurrentTabGroup()] ?? reset($groups));
40 - $default = (string) reset($sections);
41 - $section = (string) $this->getRequestParameter('tab_group_section', $default);
43 + $group = $this->getCurrentTabGroup();
42 44
43 - return in_array($section, $sections, true) === true ? $section : $default;
45 + if (isset($groups[$group]) === true) {
46 + $default = reset($groups[$group]);
47 + } else {
48 + $firstGroup = reset($groups);
49 + $default = reset($firstGroup);
50 + }
51 +
52 + return (string) $this->getRequestParameter('tab_group_section', $default);
44 53 }
45 54
46 55 public function getTabGroupLink(string $groupKey): string
47 56 {