aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2023-03-22 13:54:27 +0100
committerArthur Schiwon <blizzz@arthur-schiwon.de>2023-03-22 13:54:27 +0100
commit17afaa488faadac42ac85d71444140b2e14337cb (patch)
tree2ca0dcba6725fd68671ab39ac27fece34a91e9fc /apps
parent014a6346359b89f15ca163149a29388b81cc8298 (diff)
downloadnextcloud-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.php2
-rw-r--r--apps/user_ldap/lib/User/OfflineUser.php9
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',
];