diff options
author | Craig Morrissey <craig@owncloud.com> | 2014-11-24 16:13:42 -0500 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-05-15 18:03:18 +0200 |
commit | ca341a8d59caa62a72762166378aadb32d60236c (patch) | |
tree | aaa4ebdcb4311c215b5baf83eca89aebb44c262c /core | |
parent | 8e61ad08726659179ff6a208b26772bba41cbe25 (diff) | |
download | nextcloud-server-ca341a8d59caa62a72762166378aadb32d60236c.tar.gz nextcloud-server-ca341a8d59caa62a72762166378aadb32d60236c.zip |
add support for limit request parameter to getShareWith
Diffstat (limited to 'core')
-rw-r--r-- | core/ajax/share.php | 8 | ||||
-rw-r--r-- | core/js/share.js | 2 |
2 files changed, 6 insertions, 4 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]) diff --git a/core/js/share.js b/core/js/share.js index 6723b829ca5..d1ddd2c7c22 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -491,7 +491,7 @@ OC.Share={ $('#shareWith').autocomplete({minLength: 2, delay: 750, source: function(search, response) { var $loading = $('#dropdown .shareWithLoading'); $loading.removeClass('hidden'); - $.get(OC.filePath('core', 'ajax', 'share.php'), { fetch: 'getShareWith', search: search.term.trim(), itemShares: OC.Share.itemShares, itemType: itemType }, function(result) { + $.get(OC.filePath('core', 'ajax', 'share.php'), { fetch: 'getShareWith', search: search.term.trim(), limit: 200, itemShares: OC.Share.itemShares, itemType: itemType }, function(result) { $loading.addClass('hidden'); if (result.status == 'success' && result.data.length > 0) { $( "#shareWith" ).autocomplete( "option", "autoFocus", true ); |