aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/acl.php26
-rw-r--r--mod/contacts.php19
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) {