Make sure we do not return people that we already shared with
We should use the provided list of users and groups that we already shared with to filter suggestions.
This commit is contained in:
parent
fb61889490
commit
9c19a5dbcc
|
@ -241,6 +241,14 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
|||
$usergroups = OC_Group::getUserGroups(OC_User::getUser());
|
||||
$groups = array_intersect($groups, $usergroups);
|
||||
}
|
||||
|
||||
$sharedUsers = [];
|
||||
$sharedGroups = [];
|
||||
if (isset($_GET['itemShares'])) {
|
||||
$sharedUsers = isset($_GET['itemShares'][OCP\Share::SHARE_TYPE_USER]) ? $_GET['itemShares'][OCP\Share::SHARE_TYPE_USER] : [];
|
||||
$sharedGroups = isset($_GET['itemShares'][OCP\Share::SHARE_TYPE_GROUP]) ? $_GET['itemShares'][OCP\Share::SHARE_TYPE_GROUP] : [];
|
||||
}
|
||||
|
||||
$count = 0;
|
||||
$users = array();
|
||||
$limit = 0;
|
||||
|
@ -252,8 +260,13 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
|||
} else {
|
||||
$users = OC_User::getDisplayNames((string)$_GET['search'], $limit, $offset);
|
||||
}
|
||||
|
||||
$offset += $limit;
|
||||
foreach ($users as $uid => $displayName) {
|
||||
if (in_array($uid, $sharedUsers)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((!isset($_GET['itemShares'])
|
||||
|| !is_array((string)$_GET['itemShares'][OCP\Share::SHARE_TYPE_USER])
|
||||
|| !in_array($uid, (string)$_GET['itemShares'][OCP\Share::SHARE_TYPE_USER]))
|
||||
|
@ -274,6 +287,10 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
|||
$l = \OC::$server->getL10N('core');
|
||||
|
||||
foreach ($groups as $group) {
|
||||
if (in_array($group, $sharedGroups)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($count < 15) {
|
||||
if (!isset($_GET['itemShares'])
|
||||
|| !isset($_GET['itemShares'][OCP\Share::SHARE_TYPE_GROUP])
|
||||
|
|
Loading…
Reference in New Issue