diff options
Diffstat (limited to 'core/ajax/share.php')
-rw-r--r-- | core/ajax/share.php | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/core/ajax/share.php b/core/ajax/share.php index c613baa7f5e..905c28a1c29 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -66,8 +66,20 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['item'] break; case 'getShareWith': if (isset($_GET['search'])) { - // TODO Include contacts $shareWith = array(); + if (OC_App::isEnabled('contacts')) { + // TODO Add function to contacts to only get the 'fullname' column to improve performance + $ids = OC_Contacts_Addressbook::activeIds(); + foreach ($ids as $id) { + $vcards = OC_Contacts_VCard::all($id); + foreach ($vcards as $vcard) { + $contact = $vcard['fullname']; + if (stripos($contact, $_GET['search']) !== false && (!isset($_GET['itemShares'][OCP\Share::SHARE_TYPE_CONTACT]) || !in_array($contact, $_GET['itemShares'][OCP\Share::SHARE_TYPE_CONTACT]))) { + $shareWith[] = array('label' => $contact, 'value' => array('shareType' => 5, 'shareWith' => $contact)); + } + } + } + } $count = 0; $users = array(); $limit = 0; |