Skip to content
Snippets Groups Projects
Unverified Commit 8c8a019b authored by Bjoern Schiessle's avatar Bjoern Schiessle
Browse files

show correct display name if we have the user in one of our address books

parent 60a3893c
No related branches found
No related tags found
No related merge requests found
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
*/ */
namespace OCA\Files_Sharing\Controller; namespace OCA\Files_Sharing\Controller;
use OC\Share20\Exception\ProviderException;
use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCS\OCSBadRequestException; use OCP\AppFramework\OCS\OCSBadRequestException;
use OCP\AppFramework\OCS\OCSException; use OCP\AppFramework\OCS\OCSException;
...@@ -37,7 +36,6 @@ use OCP\IL10N; ...@@ -37,7 +36,6 @@ use OCP\IL10N;
use OCP\IUserManager; use OCP\IUserManager;
use OCP\IRequest; use OCP\IRequest;
use OCP\IURLGenerator; use OCP\IURLGenerator;
use OCP\IUser;
use OCP\Files\IRootFolder; use OCP\Files\IRootFolder;
use OCP\Lock\LockedException; use OCP\Lock\LockedException;
use OCP\Share\IManager; use OCP\Share\IManager;
...@@ -187,11 +185,11 @@ class ShareAPIController extends OCSController { ...@@ -187,11 +185,11 @@ class ShareAPIController extends OCSController {
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_REMOTE) { } else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_REMOTE) {
$result['share_with'] = $share->getSharedWith(); $result['share_with'] = $share->getSharedWith();
$result['share_with_displayname'] = $share->getSharedWith(); $result['share_with_displayname'] = $this->getDisplayNameFromAddressBook($share->getSharedWith(), 'CLOUD');
$result['token'] = $share->getToken(); $result['token'] = $share->getToken();
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_EMAIL) { } else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_EMAIL) {
$result['share_with'] = $share->getSharedWith(); $result['share_with'] = $share->getSharedWith();
$result['share_with_displayname'] = $share->getSharedWith(); $result['share_with_displayname'] = $this->getDisplayNameFromAddressBook($share->getSharedWith(), 'EMAIL');
$result['token'] = $share->getToken(); $result['token'] = $share->getToken();
} }
...@@ -200,6 +198,28 @@ class ShareAPIController extends OCSController { ...@@ -200,6 +198,28 @@ class ShareAPIController extends OCSController {
return $result; return $result;
} }
/**
* Check if one of the users address books knows the exact property, if
* yes we return the full name.
*
* @param string $query
* @param string $property
* @return string
*/
private function getDisplayNameFromAddressBook($query, $property) {
// FIXME: If we inject the contacts manager it gets initialized bofore any address books are registered
$result = \OC::$server->getContactsManager()->search($query, [$property]);
foreach ($result as $r) {
foreach($r[$property] as $value) {
if ($value === $query) {
return $r['FN'];
}
}
}
return $query;
}
/** /**
* Get a specific share by id * Get a specific share by id
* *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment