From 0d61a85bc68549b64d558d45eb76d45e71b4eacd Mon Sep 17 00:00:00 2001 From: dogukanoksuz Date: Wed, 17 Apr 2024 06:49:49 +0000 Subject: [PATCH] hotfix: Regular users extension menu not showing up --- app/Http/Controllers/API/MenuController.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/API/MenuController.php b/app/Http/Controllers/API/MenuController.php index ceab2446..df46ba96 100644 --- a/app/Http/Controllers/API/MenuController.php +++ b/app/Http/Controllers/API/MenuController.php @@ -60,9 +60,8 @@ public function serverDetails(Server $server) $server->is_online = $server->isOnline(); $server->extensions = $server->extensions()->map(function ($extension) use ($server) { $db = getExtensionJson($extension->name); - $db['name'] = strtolower($extension->name); if (isset($db['menus']) && $db['menus']) { - $extension->menus = $this->checkMenu($db['menus'], $db['name']); + $extension->menus = $this->checkMenu($db['menus'], $extension->name); } else { $extension->menus = []; } @@ -89,6 +88,8 @@ private function checkMenu($menus, $extension_name) return $menus; } + $extension_name = strtolower($extension_name); + foreach ($menus as $key => &$menu) { if (isset($menu['permission'])) { if (!Permission::can(auth('api')->user()->id, 'function', 'name', $extension_name, $menu['permission'])) { @@ -98,12 +99,12 @@ private function checkMenu($menus, $extension_name) } if (isset($menu['children'])) { - $menu['children'] = collect($menu['children'])->filter(function ($child) use ($extension_name) { + $menu['children'] = array_values(collect($menu['children'])->filter(function ($child) use ($extension_name) { return $this->checkMenu($child, $extension_name); - })->toArray(); + })->toArray()); } } - return $menus; + return array_values($menus); } }