require_once("include/contact_selectors.php");
require_once("include/contact_widgets.php");
-require_once("include/dir_fns.php");
+require_once("include/DirSearch.php");
require_once("include/features.php");
require_once("mod/proxy.php");
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100);
$search = (x($_REQUEST,'search') ? $_REQUEST['search'] : "");
$type = (x($_REQUEST,'type') ? $_REQUEST['type'] : "");
- $mode = (x($_REQUEST,'mode') ? $_REQUEST['mode'] : "");
+ $mode = (x($_REQUEST,'smode') ? $_REQUEST['smode'] : "");
$conv_id = (x($_REQUEST,'conversation') ? $_REQUEST['conversation'] : null);
// For use with jquery.textcomplete for private mail completion
if ($type=='' || $type=='g'){
$r = q("SELECT `group`.`id`, `group`.`name`, GROUP_CONCAT(DISTINCT `group_member`.`contact-id` SEPARATOR ',') AS uids
- FROM `group`,`group_member`
- WHERE `group`.`deleted` = 0 AND `group`.`uid` = %d
- AND `group_member`.`gid`=`group`.`id`
+ FROM `group`
+ INNER JOIN `group_member` ON `group_member`.`gid`=`group`.`id` AND `group_member`.`uid` = `group`.`uid`
+ WHERE NOT `group`.`deleted` AND `group`.`uid` = %d
$sql_extra
- GROUP BY `group`.`id`
+ GROUP BY `group`.`name`
ORDER BY `group`.`name`
LIMIT %d,%d",
intval(local_user()),
if($r) {
foreach($r as $g) {
$contacts[] = array(
- "photo" => $g['photo'],
+ "photo" => proxy_url($g['photo'], false, PROXY_SIZE_MICRO),
"name" => $g['name'],
"nick" => (x($g['addr']) ? $g['addr'] : $g['url']),
"network" => $g['network'],
$tot += count($unknow_contacts);
}
+ $results = array(
+ "tot" => $tot,
+ "start" => $start,
+ "count" => $count,
+ "groups" => $groups,
+ "contacts" => $contacts,
+ "items" => $items,
+ "type" => $type,
+ "search" => $search,
+ );
+
+ call_hooks('acl_lookup_end', $results);
+
if($out_type === 'html') {
$o = array(
- 'tot' => $tot,
- 'start' => $start,
- 'count' => $count,
- 'groups' => $groups,
- 'contacts' => $contacts,
+ 'tot' => $results["tot"],
+ 'start' => $results["start"],
+ 'count' => $results["count"],
+ 'groups' => $results["groups"],
+ 'contacts' => $results["contacts"],
);
return $o;
}
$o = array(
- 'tot' => $tot,
- 'start' => $start,
- 'count' => $count,
- 'items' => $items,
+ 'tot' => $results["tot"],
+ 'start' => $results["start"],
+ 'count' => $results["count"],
+ 'items' => $results["items"],
);
echo json_encode($o);
* @brief Searching for global contacts for autocompletion
*
* @param App $a
- * @return array
+ * @return array with the search results
*/
function navbar_complete(&$a) {
$localsearch = get_config('system','poco_local_search');
$search = $prefix.notags(trim($_REQUEST['search']));
- $mode = $_REQUEST['mode'];
+ $mode = $_REQUEST['smode'];
// don't search if search term has less than 2 characters
if(! $search || mb_strlen($search) < 2)
$search = substr($search,1);
if($localsearch) {
- $x = dir::global_search_by_name($search, $mode);
+ $x = DirSearch::global_search_by_name($search, $mode);
return $x;
}
}
}
return;
-}
\ No newline at end of file
+}