From e3e4cb3e67fb4d1399b4a9cf229633144008fdcf Mon Sep 17 00:00:00 2001 From: Julius Haertl Date: Wed, 11 Jan 2017 12:34:49 +0100 Subject: Move active app to the first slot Signed-off-by: Julius Haertl --- lib/private/legacy/app.php | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'lib/private/legacy/app.php') diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index f89f32f069a..264e8f5fc60 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -529,15 +529,7 @@ class OC_App { // This is private as well. It simply works, so don't ask for more details private static function proceedNavigation($list) { - $activeApp = OC::$server->getNavigationManager()->getActiveEntry(); - foreach ($list as &$navEntry) { - if ($navEntry['id'] == $activeApp) { - $navEntry['active'] = true; - } else { - $navEntry['active'] = false; - } - } - unset($navEntry); + usort($list, function($a, $b) { if (isset($a['order']) && isset($b['order'])) { @@ -549,6 +541,24 @@ class OC_App { } }); + $activeApp = OC::$server->getNavigationManager()->getActiveEntry(); + foreach ($list as $index => &$navEntry) { + if ($navEntry['id'] == $activeApp) { + $navEntry['active'] = true; + $activeAppIndex = $index; + } else { + $navEntry['active'] = false; + } + } + unset($navEntry); + + // Move active app to the first position + if($activeAppIndex > 2) { + $active = $list[$activeAppIndex]; + unset($list[$activeAppIndex]); + array_unshift($list, $active); + } + return $list; } -- cgit v1.2.3