From bfacdd3a8d8789feee4056522e7249d77082642d Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 22 Mar 2023 13:54:27 +0100 Subject: [PATCH] fix undefined method getExtStorageHome() - adds a type check - defines missing method in OfflineUser Signed-off-by: Arthur Schiwon --- apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php | 2 +- apps/user_ldap/lib/User/OfflineUser.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php b/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php index 0d3c5b8f3f3df..6f2a1007c1639 100644 --- a/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php +++ b/apps/user_ldap/lib/Handler/ExtStorageConfigHandler.php @@ -62,7 +62,7 @@ public function handle($optionValue) { } $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 4adf5302bfef8..6801a21a1d27d 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 @@ public function getDetectedOn() { 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 @@ protected function fetchDetails() { 'uid' => 'user_ldap', 'homePath' => 'user_ldap', 'foundDeleted' => 'user_ldap', + 'extStorageHome' => 'user_ldap', 'email' => 'settings', 'lastLogin' => 'login', ];