summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/Activity
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2017-01-27 12:52:17 +0100
committerRobin Appelman <robin@icewind.nl>2017-02-08 15:17:02 +0100
commitfa49c4a13b6c5455b13ad44cfc158b271aa9b616 (patch)
tree1014b6de1bd3761e2e26467c78c6f5fd4697ea56 /apps/files_sharing/lib/Activity
parent1a591cea97313b8500154d6c2c9ce3aaf2f38a88 (diff)
downloadnextcloud-server-fa49c4a13b6c5455b13ad44cfc158b271aa9b616.tar.gz
nextcloud-server-fa49c4a13b6c5455b13ad44cfc158b271aa9b616.zip
Add a single public api for resolving a cloud id to a user and remote and back
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps/files_sharing/lib/Activity')
-rw-r--r--apps/files_sharing/lib/Activity/Providers/RemoteShares.php27
1 files changed, 24 insertions, 3 deletions
diff --git a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php
index 425defe57e4..4e7d8ef3e27 100644
--- a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php
+++ b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php
@@ -24,18 +24,39 @@ namespace OCA\Files_Sharing\Activity\Providers;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
use OCP\Activity\IProvider;
+use OCP\Federation\ICloudIdManager;
use OCP\IL10N;
use OCP\IURLGenerator;
+use OCP\IUserManager;
use OCP\L10N\IFactory;
class RemoteShares extends Base {
+ protected $cloudIdManager;
+
const SUBJECT_REMOTE_SHARE_ACCEPTED = 'remote_share_accepted';
const SUBJECT_REMOTE_SHARE_DECLINED = 'remote_share_declined';
const SUBJECT_REMOTE_SHARE_RECEIVED = 'remote_share_received';
const SUBJECT_REMOTE_SHARE_UNSHARED = 'remote_share_unshared';
/**
+ * @param IFactory $languageFactory
+ * @param IURLGenerator $url
+ * @param IManager $activityManager
+ * @param IUserManager $userManager
+ * @param ICloudIdManager $cloudIdManager
+ */
+ public function __construct(IFactory $languageFactory,
+ IURLGenerator $url,
+ IManager $activityManager,
+ IUserManager $userManager,
+ ICloudIdManager $cloudIdManager
+ ) {
+ parent::__construct($languageFactory, $url, $activityManager, $userManager);
+ $this->cloudIdManager = $cloudIdManager;
+ }
+
+ /**
* @param IEvent $event
* @return IEvent
* @throws \InvalidArgumentException
@@ -115,12 +136,12 @@ class RemoteShares extends Base {
* @return array
*/
protected function getFederatedUser($cloudId) {
- $remoteUser = explode('@', $cloudId, 2);
+ $remoteUser = $this->cloudIdManager->resolveCloudId($cloudId);
return [
'type' => 'user',
- 'id' => $remoteUser[0],
+ 'id' => $remoteUser->getUser(),
'name' => $cloudId,// Todo display name from contacts
- 'server' => $remoteUser[1],
+ 'server' => $remoteUser->getRemote(),
];
}
}