From 6d537f8834b34f312a8d7868438464193e0fb551 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 7 May 2021 15:57:59 +0200 Subject: [minilinux] Fix: List of used menus was incomplete --- modules-available/minilinux/inc/minilinux.inc.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/modules-available/minilinux/inc/minilinux.inc.php b/modules-available/minilinux/inc/minilinux.inc.php index fc59d4cf..d64ef080 100644 --- a/modules-available/minilinux/inc/minilinux.inc.php +++ b/modules-available/minilinux/inc/minilinux.inc.php @@ -472,6 +472,7 @@ class MiniLinux WHERE module = 'minilinux' GROUP BY be.data"); $return = []; + $usedMenuIds = []; while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $data = json_decode($row['data'], true); if (!isset($data['id'])) @@ -484,20 +485,16 @@ class MiniLinux 'menus' => explode(',', $row['menus']), 'locations' => explode(',', $row['locations']), ]; + $usedMenuIds = array_merge($usedMenuIds, $new['menus']); if (isset($return[$id])) { $return[$id] = array_merge_recursive($return[$id], $new); } else { $return[$id] = $new; } } - // Flatten and arrayfy the list of menu ids - $ids = ArrayUtil::flattenByKey($return, 'menus'); - $ids = array_reduce($ids, function ($carry, $item) { - return $carry + $item; - }, []); // Build id => title map for menus $res = Database::simpleQuery("SELECT menuid, title FROM serversetup_menu m - WHERE menuid IN (:menuid)", ['menuid' => $ids]); + WHERE menuid IN (:menuid)", ['menuid' => array_unique($usedMenuIds)]); $menus = []; while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $menus[$row['menuid']] = $row['title']; -- cgit v1.2.3-55-g7522