diff options
author | friendica <info@friendica.com> | 2012-06-05 20:33:11 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-06-05 20:33:11 -0700 |
commit | 49732114d71a5bdb57c19f2f938284fb6ac2edf9 (patch) | |
tree | 8a005dfc977e150730116ddac69090677c3ce7a7 | |
parent | 5389efffa9c8d2da40bf6ea448562ae67538e0d4 (diff) | |
download | volse-hubzilla-49732114d71a5bdb57c19f2f938284fb6ac2edf9.tar.gz volse-hubzilla-49732114d71a5bdb57c19f2f938284fb6ac2edf9.tar.bz2 volse-hubzilla-49732114d71a5bdb57c19f2f938284fb6ac2edf9.zip |
contacts search autocomplete
-rw-r--r-- | mod/acl.php | 26 | ||||
-rw-r--r-- | mod/contacts.php | 19 |
2 files changed, 43 insertions, 2 deletions
diff --git a/mod/acl.php b/mod/acl.php index 1e8898ab6..f3e46efa5 100644 --- a/mod/acl.php +++ b/mod/acl.php @@ -1,5 +1,6 @@ <?php /* ACL selector json backend */ + require_once("include/acl_selectors.php"); function acl_init(&$a){ @@ -16,7 +17,8 @@ function acl_init(&$a){ // For use with jquery.autocomplete for private mail completion if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) { - $type = 'm'; + if(! $type) + $type = 'm'; $search = $_REQUEST['query']; } @@ -62,6 +64,18 @@ function acl_init(&$a){ ); $contact_count = (int)$r[0]['c']; + } + elseif ($type == 'a') { + + // autocomplete for Contacts + + $r = q("SELECT COUNT(`id`) AS c FROM `contact` + WHERE `uid` = %d AND `self` = 0 + AND `pending` = 0 $sql_extra2" , + intval(local_user()) + ); + $contact_count = (int)$r[0]['c']; + } else { $contact_count = 0; } @@ -120,11 +134,19 @@ function acl_init(&$a){ dbesc(NETWORK_DIASPORA) ); } + elseif($type == 'a') { + $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` + WHERE `uid` = %d AND `pending` = 0 + $sql_extra2 + ORDER BY `name` ASC ", + intval(local_user()) + ); + } else $r = array(); - if($type == 'm') { + if($type == 'm' || $type == 'a') { $x = array(); $x['query'] = $search; $x['photos'] = array(); diff --git a/mod/contacts.php b/mod/contacts.php index 769239fe0..f5125a7fe 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -43,6 +43,25 @@ function contacts_init(&$a) { $a->page['aside'] .= findpeople_widget(); $a->page['aside'] .= networks_widget('contacts',$_GET['nets']); + $base = $a->get_baseurl(); + + $a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>'; + $a->page['htmlhead'] .= <<< EOT + +<script>$(document).ready(function() { + var a; + a = $("#contacts-search").autocomplete({ + serviceUrl: '$base/acl', + width: 350, + }); + a.setOptions({ params: { type: 'a' }}); + +}); + +</script> +EOT; + + } function contacts_post(&$a) { |