aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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',
];