Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3ea2730 authored by Akhil's avatar Akhil 🙂
Browse files

fix: don't use DI for userManager in mail plugin patch

parent 2d5f7879
Loading
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -34,14 +34,14 @@ diff --git lib/private/Collaboration/Collaborators/MailPlugin.php lib/private/Co
 
 class MailPlugin implements ISearchPlugin {
 	protected bool $shareWithGroupOnly;
@@ -41,6 +42,7 @@
 		private KnownUserService $knownUserService,
 		private IUserSession $userSession,
 		private IMailer $mailer,
+		private IUserManager $userManager,
 		private mixed $shareWithGroupOnlyExcludeGroupsList,
 		private int $shareType,
 	) {
@@ -60,6 +61,7 @@
 	 * {@inheritdoc}
 	 */
 	public function search($search, $limit, $offset, ISearchResult $searchResult): bool {
+		$userManager = \OC::$server->get(IUserManager::class);
 		if ($this->shareeEnumerationFullMatch && !$this->shareeEnumerationFullMatchEmail) {
 			return false;
 		}
@@ -211,27 +213,63 @@
 						if ($exactEmailMatch) {
 							$searchResult->markExactIdMatch($emailType);
@@ -56,7 +56,7 @@ diff --git lib/private/Collaboration/Collaborators/MailPlugin.php lib/private/Co
-								'shareWith' => $emailAddress,
-							],
-						];
+						$isUserinInstance = $this->userManager->get($emailAddress);
+						$isUserinInstance = $userManager->get($emailAddress);
+						if ($isUserinInstance === null) {
+							// /e/ user is not in ecloud
+							$result['exact'][] = [
@@ -95,7 +95,7 @@ diff --git lib/private/Collaboration/Collaborators/MailPlugin.php lib/private/Co
-								'shareWith' => $emailAddress,
-							],
-						];
+						$isUserinInstance = $this->userManager->get($emailAddress);
+						$isUserinInstance = $userManager->get($emailAddress);
+						if ($isUserinInstance === null) {
+							// /e/ user is not in ecloud
+							$result['wide'][] = [