aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/lib/Controller/ViewController.php
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>2023-01-18 08:05:04 +0100
committerGitHub <noreply@github.com>2023-01-18 08:05:04 +0100
commit1a0f9b57be37088efb7aaa9961825039a0abd711 (patch)
tree1a8dbc5a9f8bb68760062845eeb2036ebdad9b7a /apps/files/lib/Controller/ViewController.php
parent634f5a17d997f08e49b3d84f4897587a7499135a (diff)
parentb9906fb21e9f1aadf14e473b8c26a2ec7537fa11 (diff)
downloadnextcloud-server-1a0f9b57be37088efb7aaa9961825039a0abd711.tar.gz
nextcloud-server-1a0f9b57be37088efb7aaa9961825039a0abd711.zip
Merge pull request #36002 from nextcloud/feat/files2vue-quota
feat(files): Quota in navigation
Diffstat (limited to 'apps/files/lib/Controller/ViewController.php')
-rw-r--r--apps/files/lib/Controller/ViewController.php24
1 files changed, 11 insertions, 13 deletions
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index 0594b63f56b..b607764e602 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -136,11 +136,11 @@ class ViewController extends Controller {
* @return array
* @throws \OCP\Files\NotFoundException
*/
- protected function getStorageInfo() {
+ protected function getStorageInfo(string $dir = '/') {
\OC_Util::setupFS();
- $dirInfo = \OC\Files\Filesystem::getFileInfo('/', false);
+ $rootInfo = \OC\Files\Filesystem::getFileInfo('/', false);
- return \OC_Helper::getStorageInfo('/', $dirInfo);
+ return \OC_Helper::getStorageInfo($dir, $rootInfo ?: null);
}
/**
@@ -241,18 +241,16 @@ class ViewController extends Controller {
$nav->assign('navigationItems', $navItems);
- $nav->assign('usage', \OC_Helper::humanFileSize($storageInfo['used']));
- if ($storageInfo['quota'] === \OCP\Files\FileInfo::SPACE_UNLIMITED) {
- $totalSpace = $this->l10n->t('Unlimited');
- } else {
- $totalSpace = \OC_Helper::humanFileSize($storageInfo['total']);
- }
- $nav->assign('total_space', $totalSpace);
- $nav->assign('quota', $storageInfo['quota']);
- $nav->assign('usage_relative', $storageInfo['relative']);
-
$contentItems = [];
+ try {
+ // If view is files, we use the directory, otherwise we use the root storage
+ $storageInfo = $this->getStorageInfo(($view === 'files' && $dir) ? $dir : '/');
+ } catch(\Exception $e) {
+ $storageInfo = $this->getStorageInfo();
+ }
+
+ $this->initialState->provideInitialState('storageStats', $storageInfo);
$this->initialState->provideInitialState('navigation', $navItems);
$this->initialState->provideInitialState('config', $this->userConfig->getConfigs());