From bb4c2da4043780b982273ebbeb983deae2845774 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Tue, 28 Jul 2015 18:52:12 +1000 Subject: [PATCH] Revert change from #1315, fixes original issue, write tests --- modules/backend/classes/NavigationManager.php | 8 ++- modules/backend/layouts/_sidenav.htm | 4 +- .../plugins/october/tester/Plugin.php | 28 ++++++++ .../backend/classes/NavigationManagerTest.php | 65 +++++++++++++++++++ 4 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 tests/unit/backend/classes/NavigationManagerTest.php diff --git a/modules/backend/classes/NavigationManager.php b/modules/backend/classes/NavigationManager.php index 23b55dae3..3ff7ee8ec 100644 --- a/modules/backend/classes/NavigationManager.php +++ b/modules/backend/classes/NavigationManager.php @@ -100,7 +100,7 @@ class NavigationManager /* * Sort menu items */ - usort($this->items, function ($a, $b) { + uasort($this->items, function ($a, $b) { return $a->order - $b->order; }); @@ -127,7 +127,7 @@ class NavigationManager /* * Sort side menu items */ - usort($item->sideMenu, function ($a, $b) { + uasort($item->sideMenu, function ($a, $b) { return $a->order - $b->order; }); @@ -461,6 +461,10 @@ class NavigationManager */ protected function filterItemPermissions($user, array $items) { + if (!$user) { + return $items; + } + $items = array_filter($items, function ($item) use ($user) { if (!$item->permissions || !count($item->permissions)) { return true; diff --git a/modules/backend/layouts/_sidenav.htm b/modules/backend/layouts/_sidenav.htm index 5bf90b9a8..fa7c7ceb3 100644 --- a/modules/backend/layouts/_sidenav.htm +++ b/modules/backend/layouts/_sidenav.htm @@ -11,7 +11,7 @@