1
0
Эх сурвалжийг харах

fix undefined method getExtStorageHome()

- adds a type check
- defines missing method in OfflineUser

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Arthur Schiwon 1 жил өмнө
parent
commit
fdf40fb3c1

+ 1 - 1
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);
 	}

+ 9 - 0
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',
 		];