Merge pull request #5857 from owncloud/type-ahead-share-by-mail-master
introduce auto completion on share email - integrated with the contactsm...
This commit is contained in:
commit
dcca5f7bdd
2 changed files with 48 additions and 0 deletions
|
@ -205,6 +205,34 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
|||
OC_JSON::success(array('data' => array('reshare' => $reshare, 'shares' => $shares)));
|
||||
}
|
||||
break;
|
||||
case 'getShareWithEmail':
|
||||
$result = array();
|
||||
if (isset($_GET['search'])) {
|
||||
$cm = OC::$server->getContactsManager();
|
||||
if (!is_null($cm) && $cm->isEnabled()) {
|
||||
$contacts = $cm->search($_GET['search'], array('FN', 'EMAIL'));
|
||||
foreach ($contacts as $contact) {
|
||||
if (!isset($contact['EMAIL'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$emails = $contact['EMAIL'];
|
||||
if (!is_array($emails)) {
|
||||
$emails = array($emails);
|
||||
}
|
||||
|
||||
foreach($emails as $email) {
|
||||
$result[] = array(
|
||||
'id' => $contact['id'],
|
||||
'email' => $email,
|
||||
'displayname' => $contact['FN'],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
OC_JSON::success(array('data' => $result));
|
||||
break;
|
||||
case 'getShareWith':
|
||||
if (isset($_GET['search'])) {
|
||||
$sharePolicy = OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global');
|
||||
|
|
|
@ -331,6 +331,26 @@ OC.Share={
|
|||
.append( insert )
|
||||
.appendTo( ul );
|
||||
};
|
||||
$('#email').autocomplete({
|
||||
minLength: 1,
|
||||
source: function (search, response) {
|
||||
$.get(OC.filePath('core', 'ajax', 'share.php'), { fetch: 'getShareWithEmail', search: search.term }, function(result) {
|
||||
if (result.status == 'success' && result.data.length > 0) {
|
||||
response(result.data);
|
||||
}
|
||||
});
|
||||
},
|
||||
select: function( event, item ) {
|
||||
$('#email').val(item.item.email);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.data("ui-autocomplete")._renderItem = function( ul, item ) {
|
||||
return $( "<li>" )
|
||||
.append( "<a>" + item.displayname + "<br>" + item.email + "</a>" )
|
||||
.appendTo( ul );
|
||||
};
|
||||
|
||||
} else {
|
||||
html += '<input id="shareWith" type="text" placeholder="'+t('core', 'Resharing is not allowed')+'" style="width:90%;" disabled="disabled"/>';
|
||||
html += '</div>';
|
||||
|
|
Loading…
Reference in a new issue