]> git.mxchange.org Git - friendica.git/blobdiff - include/acl_selectors.php
used more App::get_baseurl() instead of get_app()->get_baseurl().
[friendica.git] / include / acl_selectors.php
index 65f125b852e69a4668e124225ecc103c4f63d4c7..dc86ba03455f31f61190235c136bfb5ca1650194 100644 (file)
@@ -33,8 +33,8 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
 
        call_hooks($a->module . '_pre_' . $selname, $arr);
 
-       if(count($r)) {
-               foreach($r as $rr) {
+       if (dbm::is_result($r)) {
+               foreach ($r as $rr) {
                        if((is_array($preselected)) && in_array($rr['id'], $preselected))
                                $selected = " selected=\"selected\" ";
                        else
@@ -144,8 +144,8 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
 
        call_hooks($a->module . '_pre_' . $selname, $arr);
 
-       if(count($r)) {
-               foreach($r as $rr) {
+       if (dbm::is_result($r)) {
+               foreach ($r as $rr) {
                        if((is_array($preselected)) && in_array($rr['id'], $preselected))
                                $selected = " selected=\"selected\" ";
                        else
@@ -220,17 +220,21 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
 
        $receiverlist = array();
 
-       if(count($r)) {
-               foreach($r as $rr) {
-                       if((is_array($preselected)) && in_array($rr['id'], $preselected))
+       if (dbm::is_result($r)) {
+               foreach ($r as $rr) {
+                       if ((is_array($preselected)) && in_array($rr['id'], $preselected)) {
                                $selected = " selected=\"selected\" ";
-                       else
+                       }
+                       else {
                                $selected = '';
+                       }
 
-                       if($privmail)
+                       if ($privmail) {
                                $trimmed = GetProfileUsername($rr['url'], $rr['name'], false);
-                       else
+                       }
+                       else {
                                $trimmed = mb_substr($rr['name'],0,20);
+                       }
 
                        $receiverlist[] = $trimmed;
 
@@ -260,7 +264,7 @@ function prune_deadguys($arr) {
                return $arr;
        $str = dbesc(implode(',',$arr));
        $r = q("SELECT `id` FROM `contact` WHERE `id` IN ( " . $str . ") AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 ");
-       if($r) {
+       if ($r) {
                $ret = array();
                foreach($r as $rr)
                        $ret[] = intval($rr['id']);
@@ -314,7 +318,7 @@ function populate_acl($user = null, $show_jotnets = false) {
                        $r = q("SELECT `pubmail` FROM `mailacct` WHERE `uid` = %d AND `server` != '' LIMIT 1",
                                intval(local_user())
                        );
-                       if(count($r)) {
+                       if (dbm::is_result($r)) {
                                $mail_enabled = true;
                                if(intval($r[0]['pubmail']))
                                        $pubmail_enabled = true;
@@ -392,14 +396,15 @@ function construct_acl_data(&$a, $user) {
 
 function acl_lookup(&$a, $out_type = 'json') {
 
-       if(!local_user())
-               return "";
+       if (!local_user()) {
+               return '';
+       }
 
        $start  =       (x($_REQUEST,'start')           ? $_REQUEST['start']            : 0);
        $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
@@ -481,11 +486,11 @@ function acl_lookup(&$a, $out_type = 'json') {
        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()),
@@ -553,7 +558,7 @@ function acl_lookup(&$a, $out_type = 'json') {
                // autocomplete for global contact search (e.g. navbar search)
                $r = navbar_complete($a);
                $contacts = array();
-               if($r) {
+               if ($r) {
                        foreach($r as $g) {
                                $contacts[] = array(
                                        "photo"    => proxy_url($g['photo'], false, PROXY_SIZE_MICRO),
@@ -577,7 +582,7 @@ function acl_lookup(&$a, $out_type = 'json') {
                $r = array();
 
 
-       if(count($r)) {
+       if (dbm::is_result($r)) {
                foreach($r as $g){
                        $contacts[] = array(
                                "type"  => "c",
@@ -612,7 +617,7 @@ function acl_lookup(&$a, $out_type = 'json') {
                                dbesc($search),
                                implode("','", $known_contacts)
                );
-               if (is_array($r) && count($r)){
+               if (dbm::is_result($r)){
                        foreach($r as $row) {
                                // nickname..
                                $up = parse_url($row['author-link']);
@@ -637,22 +642,35 @@ function acl_lookup(&$a, $out_type = 'json') {
                $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);
@@ -677,7 +695,7 @@ 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)