diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-08-17 10:16:56 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2015-09-23 15:06:28 +0200 |
commit | 6636605ea6d2fb44a8534f570b8555dc4aac3400 (patch) | |
tree | 75691badf0bbd2a77903dde0440dc5864282494e | |
parent | d54d9a573fac498c4aaeea0df832a204cf525b58 (diff) | |
download | nextcloud-server-6636605ea6d2fb44a8534f570b8555dc4aac3400.tar.gz nextcloud-server-6636605ea6d2fb44a8534f570b8555dc4aac3400.zip |
Add option to disable autocomplete in share dialog
-rw-r--r-- | core/ajax/share.php | 10 | ||||
-rw-r--r-- | settings/admin.php | 1 | ||||
-rw-r--r-- | settings/templates/admin.php | 5 |
3 files changed, 16 insertions, 0 deletions
diff --git a/core/ajax/share.php b/core/ajax/share.php index 69b84564ab1..4546217def3 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -379,6 +379,16 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo } } + $sharingAutocompletion = \OC::$server->getConfig() + ->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes'); + + if ($sharingAutocompletion !== 'yes') { + $searchTerm = strtolower($_GET['search']); + $shareWith = array_filter($shareWith, function($user) use ($searchTerm) { + return strtolower($user['label']) === $searchTerm + || strtolower($user['value']['shareWith']) === $searchTerm; + }); + } $sorter = new \OC\Share\SearchResultSorter((string)$_GET['search'], 'label', diff --git a/settings/admin.php b/settings/admin.php index 38683438f3a..c8bf1d32749 100644 --- a/settings/admin.php +++ b/settings/admin.php @@ -122,6 +122,7 @@ $template->assign('allowPublicUpload', $appConfig->getValue('core', 'shareapi_al $template->assign('allowResharing', $appConfig->getValue('core', 'shareapi_allow_resharing', 'yes')); $template->assign('allowPublicMailNotification', $appConfig->getValue('core', 'shareapi_allow_public_notification', 'no')); $template->assign('allowMailNotification', $appConfig->getValue('core', 'shareapi_allow_mail_notification', 'no')); +$template->assign('allowShareDialogUserEnumeration', $appConfig->getValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes')); $template->assign('onlyShareWithGroupMembers', \OC\Share\Share::shareWithGroupMembersOnly()); $databaseOverload = (strpos(\OCP\Config::getSystemValue('dbtype'), 'sqlite') !== false); $template->assign('databaseOverload', $databaseOverload); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 36088d9f8c2..bfb0d5d364d 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -265,6 +265,11 @@ if ($_['cronErrors']) { <br /> <em><?php p($l->t('These groups will still be able to receive shares, but not to initiate them.')); ?></em> </p> + <p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>"> + <input type="checkbox" name="shareapi_allow_share_dialog_user_enumeration" value="1" id="shareapi_allow_share_dialog_user_enumeration" + <?php if ($_['allowShareDialogUserEnumeration'] === 'yes') print_unescaped('checked="checked"'); ?> /> + <label for="shareapi_allow_share_dialog_user_enumeration"><?php p($l->t('Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered.'));?></label><br /> + </p> <?php print_unescaped($_['fileSharingSettings']); ?> </div> |