diff options
Diffstat (limited to 'core/ajax/share.php')
-rw-r--r-- | core/ajax/share.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/ajax/share.php b/core/ajax/share.php index a0db77fd1f9..e78d274815d 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -281,8 +281,10 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $users = array(); $limit = 0; $offset = 0; - while ($count < 15 && count($users) == $limit) { - $limit = 15 - $count; + // limit defaults to 15 if not specified via request parameter and can be no larger than 500 + $request_limit = min((int)$_GET['limit'] ?: 15, 500); + while ($count < $request_limit && count($users) == $limit) { + $limit = $request_limit - $count; if ($shareWithinGroupOnly) { $users = OC_Group::displayNamesInGroups($usergroups, (string)$_GET['search'], $limit, $offset); } else { @@ -319,7 +321,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo continue; } - if ($count < 15) { + if ($count < $request_limit) { if (!isset($_GET['itemShares']) || !isset($_GET['itemShares'][OCP\Share::SHARE_TYPE_GROUP]) || !is_array((string)$_GET['itemShares'][OCP\Share::SHARE_TYPE_GROUP]) |