diff options
author | Carl Schwan <carl@carlschwan.eu> | 2021-10-15 20:59:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-15 20:59:08 +0200 |
commit | ff67ada049fdb26f881450f7899f8eccfcd33310 (patch) | |
tree | 07e5e872aada6741a7f97c1abca4325318e01ea2 /lib | |
parent | 0c3d3de6eb525d3b9d2cca326520713f0c64b60e (diff) | |
parent | 134167ef3f84e6a2b9906065304f48c04d070392 (diff) | |
download | nextcloud-server-ff67ada049fdb26f881450f7899f8eccfcd33310.tar.gz nextcloud-server-ff67ada049fdb26f881450f7899f8eccfcd33310.zip |
Merge pull request #29210 from nextcloud/work/status-navbar-vue
Add current status in navbar
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/TemplateLayout.php | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php index 16d4423838b..a620b9fdac3 100644 --- a/lib/private/TemplateLayout.php +++ b/lib/private/TemplateLayout.php @@ -47,6 +47,7 @@ use OC\Search\SearchQuery; use OC\Template\JSCombiner; use OC\Template\JSConfigHelper; use OC\Template\SCSSCacher; +use OCP\App\IAppManager; use OCP\AppFramework\Http\TemplateResponse; use OCP\Defaults; use OCP\IConfig; @@ -54,6 +55,7 @@ use OCP\IInitialStateService; use OCP\INavigationManager; use OCP\IUserSession; use OCP\Support\Subscription\IRegistry; +use OCP\UserStatus\IManager as IUserStatusManager; use OCP\Util; class TemplateLayout extends \OC_Template { @@ -131,11 +133,23 @@ class TemplateLayout extends \OC_Template { $this->assign('user_displayname', $userDisplayName); $this->assign('user_uid', \OC_User::getUser()); - if (\OC_User::getUser() === false) { + if ($user === null) { $this->assign('userAvatarSet', false); + $this->assign('userStatus', false); } else { $this->assign('userAvatarSet', true); $this->assign('userAvatarVersion', $this->config->getUserValue(\OC_User::getUser(), 'avatar', 'version', 0)); + if (\OC::$server->get(IAppManager::class)->isEnabledForUser('user_status')) { + $userStatusManager = \OC::$server->get(IUserStatusManager::class); + $userStatuses = $userStatusManager->getUserStatuses([$user->getUID()]); + if (array_key_exists($user->getUID(), $userStatuses)) { + $this->assign('userStatus', $userStatuses[$user->getUID()]); + } else { + $this->assign('userStatus', false); + } + } else { + $this->assign('userStatus', false); + } } // check if app menu icons should be inverted |