diff options
author | Morris Jobke <hey@morrisjobke.de> | 2020-07-09 10:52:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-09 10:52:19 +0200 |
commit | 8f4d5334f4c392a5571c8f96292ae80fa9bbc177 (patch) | |
tree | ea062f9963442f63886fc294fb6800f6b1a9b15d | |
parent | b2c6e219a2cfd8cb666b89bcbdc59490ff8fa598 (diff) | |
parent | 1cf3280c8e7efb4d9072ce4b57e99581cdeec744 (diff) | |
download | nextcloud-server-8f4d5334f4c392a5571c8f96292ae80fa9bbc177.tar.gz nextcloud-server-8f4d5334f4c392a5571c8f96292ae80fa9bbc177.zip |
Merge pull request #21767 from nextcloud/enh/lazy_register_navigation
Lazy register the navigation
-rw-r--r-- | apps/files/lib/AppInfo/Application.php | 50 | ||||
-rw-r--r-- | apps/files_sharing/lib/AppInfo/Application.php | 109 |
2 files changed, 84 insertions, 75 deletions
diff --git a/apps/files/lib/AppInfo/Application.php b/apps/files/lib/AppInfo/Application.php index 5e473c411ee..9500f91fdf9 100644 --- a/apps/files/lib/AppInfo/Application.php +++ b/apps/files/lib/AppInfo/Application.php @@ -153,28 +153,34 @@ class Application extends App implements IBootstrap { private function registerNavigation(IBootContext $context): void { /** @var IL10N $l10n */ $l10n = $context->getAppContainer()->query(IL10N::class); - \OCA\Files\App::getNavigationManager()->add([ - 'id' => 'files', - 'appname' => 'files', - 'script' => 'list.php', - 'order' => 0, - 'name' => $l10n->t('All files') - ]); - \OCA\Files\App::getNavigationManager()->add([ - 'id' => 'recent', - 'appname' => 'files', - 'script' => 'recentlist.php', - 'order' => 2, - 'name' => $l10n->t('Recent') - ]); - \OCA\Files\App::getNavigationManager()->add([ - 'id' => 'favorites', - 'appname' => 'files', - 'script' => 'simplelist.php', - 'order' => 5, - 'name' => $l10n->t('Favorites'), - 'expandedState' => 'show_Quick_Access' - ]); + \OCA\Files\App::getNavigationManager()->add(function () use ($l10n) { + return [ + 'id' => 'files', + 'appname' => 'files', + 'script' => 'list.php', + 'order' => 0, + 'name' => $l10n->t('All files') + ]; + }); + \OCA\Files\App::getNavigationManager()->add(function () use ($l10n) { + return [ + 'id' => 'recent', + 'appname' => 'files', + 'script' => 'recentlist.php', + 'order' => 2, + 'name' => $l10n->t('Recent') + ]; + }); + \OCA\Files\App::getNavigationManager()->add(function () use ($l10n) { + return [ + 'id' => 'favorites', + 'appname' => 'files', + 'script' => 'simplelist.php', + 'order' => 5, + 'name' => $l10n->t('Favorites'), + 'expandedState' => 'show_Quick_Access' + ]; + }); } private function registerHooks(): void { diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php index 98515409186..34cde50c438 100644 --- a/apps/files_sharing/lib/AppInfo/Application.php +++ b/apps/files_sharing/lib/AppInfo/Application.php @@ -161,72 +161,75 @@ class Application extends App { protected function setupSharingMenus() { $config = \OC::$server->getConfig(); - $l = \OC::$server->getL10N('files_sharing'); if ($config->getAppValue('core', 'shareapi_enabled', 'yes') !== 'yes') { return; } - $sharingSublistArray = []; + // show_Quick_Access stored as string + \OCA\Files\App::getNavigationManager()->add(function () { + $config = \OC::$server->getConfig(); + $l = \OC::$server->getL10N('files_sharing'); - if (\OCP\Util::isSharingDisabledForUser() === false) { - array_push($sharingSublistArray, [ - 'id' => 'sharingout', - 'appname' => 'files_sharing', - 'script' => 'list.php', - 'order' => 16, - 'name' => $l->t('Shared with others'), - ]); - } + $sharingSublistArray = []; - array_push($sharingSublistArray, [ - 'id' => 'sharingin', - 'appname' => 'files_sharing', - 'script' => 'list.php', - 'order' => 15, - 'name' => $l->t('Shared with you'), - ]); - - if (\OCP\Util::isSharingDisabledForUser() === false) { - // Check if sharing by link is enabled - if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') { - array_push($sharingSublistArray, [ - 'id' => 'sharinglinks', + if (\OCP\Util::isSharingDisabledForUser() === false) { + $sharingSublistArray[] = [ + 'id' => 'sharingout', 'appname' => 'files_sharing', 'script' => 'list.php', - 'order' => 17, - 'name' => $l->t('Shared by link'), - ]); + 'order' => 16, + 'name' => $l->t('Shared with others'), + ]; } - } - array_push($sharingSublistArray, [ - 'id' => 'deletedshares', - 'appname' => 'files_sharing', - 'script' => 'list.php', - 'order' => 19, - 'name' => $l->t('Deleted shares'), - ]); + $sharingSublistArray[] = [ + 'id' => 'sharingin', + 'appname' => 'files_sharing', + 'script' => 'list.php', + 'order' => 15, + 'name' => $l->t('Shared with you'), + ]; + + if (\OCP\Util::isSharingDisabledForUser() === false) { + // Check if sharing by link is enabled + if ($config->getAppValue('core', 'shareapi_allow_links', 'yes') === 'yes') { + $sharingSublistArray[] = [ + 'id' => 'sharinglinks', + 'appname' => 'files_sharing', + 'script' => 'list.php', + 'order' => 17, + 'name' => $l->t('Shared by link'), + ]; + } + } - array_push($sharingSublistArray, [ - 'id' => 'pendingshares', - 'appname' => 'files_sharing', - 'script' => 'list.php', - 'order' => 19, - 'name' => $l->t('Pending shares'), - ]); + $sharingSublistArray[] = [ + 'id' => 'deletedshares', + 'appname' => 'files_sharing', + 'script' => 'list.php', + 'order' => 19, + 'name' => $l->t('Deleted shares'), + ]; + $sharingSublistArray[] = [ + 'id' => 'pendingshares', + 'appname' => 'files_sharing', + 'script' => 'list.php', + 'order' => 19, + 'name' => $l->t('Pending shares'), + ]; - // show_Quick_Access stored as string - \OCA\Files\App::getNavigationManager()->add([ - 'id' => 'shareoverview', - 'appname' => 'files_sharing', - 'script' => 'list.php', - 'order' => 18, - 'name' => $l->t('Shares'), - 'classes' => 'collapsible', - 'sublist' => $sharingSublistArray, - 'expandedState' => 'show_sharing_menu' - ]); + return [ + 'id' => 'shareoverview', + 'appname' => 'files_sharing', + 'script' => 'list.php', + 'order' => 18, + 'name' => $l->t('Shares'), + 'classes' => 'collapsible', + 'sublist' => $sharingSublistArray, + 'expandedState' => 'show_sharing_menu' + ]; + }); } } |