diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2023-03-22 13:54:27 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2023-03-22 13:54:27 +0100 |
commit | 17afaa488faadac42ac85d71444140b2e14337cb (patch) | |
tree | 2ca0dcba6725fd68671ab39ac27fece34a91e9fc /apps | |
parent | 014a6346359b89f15ca163149a29388b81cc8298 (diff) | |
download | nextcloud-server-17afaa488faadac42ac85d71444140b2e14337cb.tar.gz nextcloud-server-17afaa488faadac42ac85d71444140b2e14337cb.zip |
fix undefined method getExtStorageHome()
- adds a type check
- defines missing method in OfflineUser
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php | 2 | ||||
-rw-r--r-- | apps/user_ldap/lib/User/OfflineUser.php | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php b/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php index 0d3c5b8f3f3..6f2a1007c16 100644 --- a/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php +++ b/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php @@ -62,7 +62,7 @@ class ExtStorageConfigHandler extends UserContext implements IConfigHandler { } $ldapUser = $access->userManager->get($user->getUID()); - $extHome = $ldapUser->getExtStorageHome(); + $extHome = $ldapUser !== null ? $ldapUser->getExtStorageHome() : ''; return $this->processInput($optionValue, $extHome); } diff --git a/apps/user_ldap/lib/User/OfflineUser.php b/apps/user_ldap/lib/User/OfflineUser.php index 4adf5302bfe..6801a21a1d2 100644 --- a/apps/user_ldap/lib/User/OfflineUser.php +++ b/apps/user_ldap/lib/User/OfflineUser.php @@ -60,6 +60,7 @@ class OfflineUser { * @var string $foundDeleted the timestamp when the user was detected as unavailable */ protected $foundDeleted; + protected ?string $extStorageHome = null; /** * @var string $email */ @@ -207,6 +208,13 @@ class OfflineUser { return (int)$this->foundDeleted; } + public function getExtStorageHome(): string { + if ($this->extStorageHome === null) { + $this->fetchDetails(); + } + return (string)$this->extStorageHome; + } + /** * getter for having active shares * @return bool @@ -227,6 +235,7 @@ class OfflineUser { 'uid' => 'user_ldap', 'homePath' => 'user_ldap', 'foundDeleted' => 'user_ldap', + 'extStorageHome' => 'user_ldap', 'email' => 'settings', 'lastLogin' => 'login', ]; |