Fix autocomplete search for users for groups only share policy
This commit is contained in:
parent
f29f1cad1d
commit
b475164e95
1 changed files with 11 additions and 6 deletions
|
@ -89,6 +89,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
break;
|
break;
|
||||||
case 'getShareWith':
|
case 'getShareWith':
|
||||||
if (isset($_GET['search'])) {
|
if (isset($_GET['search'])) {
|
||||||
|
$sharePolicy = OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global');
|
||||||
$shareWith = array();
|
$shareWith = array();
|
||||||
// if (OC_App::isEnabled('contacts')) {
|
// if (OC_App::isEnabled('contacts')) {
|
||||||
// // TODO Add function to contacts to only get the 'fullname' column to improve performance
|
// // TODO Add function to contacts to only get the 'fullname' column to improve performance
|
||||||
|
@ -107,13 +108,22 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
if ($sharePolicy == 'groups_only') {
|
||||||
|
$groups = OC_Group::getUserGroups(OC_User::getUser());
|
||||||
|
} else {
|
||||||
|
$groups = OC_Group::getGroups();
|
||||||
|
}
|
||||||
$count = 0;
|
$count = 0;
|
||||||
$users = array();
|
$users = array();
|
||||||
$limit = 0;
|
$limit = 0;
|
||||||
$offset = 0;
|
$offset = 0;
|
||||||
while ($count < 4 && count($users) == $limit) {
|
while ($count < 4 && count($users) == $limit) {
|
||||||
$limit = 4 - $count;
|
$limit = 4 - $count;
|
||||||
$users = OC_User::getUsers($_GET['search'], $limit, $offset);
|
if ($sharePolicy == 'groups_only') {
|
||||||
|
$users = OC_Group::usersInGroups($groups, $_GET['search'], $limit, $offset);
|
||||||
|
} else {
|
||||||
|
$users = OC_User::getUsers($_GET['search'], $limit, $offset);
|
||||||
|
}
|
||||||
$offset += $limit;
|
$offset += $limit;
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
if ((!isset($_GET['itemShares']) || !is_array($_GET['itemShares'][OCP\Share::SHARE_TYPE_USER]) || !in_array($user, $_GET['itemShares'][OCP\Share::SHARE_TYPE_USER])) && $user != OC_User::getUser()) {
|
if ((!isset($_GET['itemShares']) || !is_array($_GET['itemShares'][OCP\Share::SHARE_TYPE_USER]) || !in_array($user, $_GET['itemShares'][OCP\Share::SHARE_TYPE_USER])) && $user != OC_User::getUser()) {
|
||||||
|
@ -123,11 +133,6 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$count = 0;
|
$count = 0;
|
||||||
if (\OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global') == 'groups_only') {
|
|
||||||
$groups = OC_Group::getUserGroups(OC_User::getUser());
|
|
||||||
} else {
|
|
||||||
$groups = OC_Group::getGroups();
|
|
||||||
}
|
|
||||||
foreach ($groups as $group) {
|
foreach ($groups as $group) {
|
||||||
if ($count < 4) {
|
if ($count < 4) {
|
||||||
if (stripos($group, $_GET['search']) !== false
|
if (stripos($group, $_GET['search']) !== false
|
||||||
|
|
Loading…
Reference in a new issue