X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Facl_selectors.php;h=668544b0bcf8df71afd51cc7628a466078157e4c;hb=1cd1f7587c8dadc9368e0089613d75988d7e3d53;hp=0a9b2c90aeeb6ab522d8fc5ba6db32b78ca39eb9;hpb=1a5da0ae60b2be930e4cd76b28e34aeb550935f0;p=friendica.git diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 0a9b2c90ae..668544b0bc 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -2,13 +2,14 @@ require_once("include/contact_selectors.php"); require_once("include/features.php"); +require_once("mod/proxy.php"); /** - * + * */ /** - * @package acl_selectors + * @package acl_selectors */ function group_select($selname,$selclass,$preselected = false,$size = 4) { @@ -35,11 +36,12 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) { $selected = " selected=\"selected\" "; else $selected = ''; + $trimmed = mb_substr($rr['name'],0,12); $o .= "\r\n"; } - + } $o .= "\r\n"; @@ -89,13 +91,13 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $networks = array('dfrn','mail','dspr'); else $networks = array('dfrn','face','mail','dspr','stat'); - break; + break; default: break; } } } - + $x = array('options' => $options, 'size' => $size, 'single' => $single, 'mutual' => $mutual, 'exclude' => $exclude, 'networks' => $networks); call_hooks('contact_select_options', $x); @@ -117,15 +119,15 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $str_nets = implode(',',$x['networks']); $sql_extra .= " AND `network` IN ( $str_nets ) "; } - + $tabindex = (x($options, 'tabindex') ? "tabindex=\"" . $options["tabindex"] . "\"" : ""); if($x['single']) $o .= "\r\n"; - $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` + $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != '' $sql_extra ORDER BY `name` ASC ", @@ -150,7 +152,7 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $o .= "\r\n"; } - + } $o .= "\r\n"; @@ -164,6 +166,8 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) { + require_once("include/bbcode.php"); + $a = get_app(); $o = ''; @@ -180,7 +184,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p if($privmail) { $sql_extra .= " AND `network` IN ( 'dfrn', 'dspr' ) "; } - elseif($privatenet) { + elseif($privatenet) { $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) "; } @@ -188,10 +192,10 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p if($privmail) $o .= "\r\n"; - $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` + $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != '' $sql_extra ORDER BY `name` ASC ", @@ -212,11 +216,14 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p else $selected = ''; - $trimmed = mb_substr($rr['name'],0,20); + if($privmail) + $trimmed = GetProfileUsername($rr['url'], $rr['name'], false); + else + $trimmed = mb_substr($rr['name'],0,20); $o .= "\r\n"; } - + } $o .= "\r\n"; @@ -239,7 +246,7 @@ function prune_deadguys($arr) { $r = q("select id from contact where id in ( " . $str . ") and blocked = 0 and pending = 0 and archive = 0 "); if($r) { $ret = array(); - foreach($r as $rr) + foreach($r as $rr) $ret[] = intval($rr['id']); return $ret; } @@ -251,7 +258,7 @@ function get_acl_permissions($user = null) { $allow_cid = $allow_gid = $deny_cid = $deny_gid = false; if(is_array($user)) { - $allow_cid = ((strlen($user['allow_cid'])) + $allow_cid = ((strlen($user['allow_cid'])) ? explode('><', $user['allow_cid']) : array() ); $allow_gid = ((strlen($user['allow_gid'])) ? explode('><', $user['allow_gid']) : array() ); @@ -411,21 +418,21 @@ function acl_lookup(&$a, $out_type = 'json') { } if ($type=='' || $type=='c'){ - $r = q("SELECT COUNT(*) AS c FROM `contact` - WHERE `uid` = %d AND `self` = 0 + $r = q("SELECT COUNT(*) AS c FROM `contact` + WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != '' $sql_extra2" , intval(local_user()) ); $contact_count = (int)$r[0]['c']; - } + } elseif ($type == 'm') { // autocomplete for Private Messages - $r = q("SELECT COUNT(*) AS c FROM `contact` - WHERE `uid` = %d AND `self` = 0 - AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 + $r = q("SELECT COUNT(*) AS c FROM `contact` + WHERE `uid` = %d AND `self` = 0 + AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `network` IN ('%s','%s','%s') $sql_extra2" , intval(local_user()), dbesc(NETWORK_DFRN), @@ -439,8 +446,8 @@ function acl_lookup(&$a, $out_type = 'json') { // autocomplete for Contacts - $r = q("SELECT COUNT(*) AS c FROM `contact` - WHERE `uid` = %d AND `self` = 0 + $r = q("SELECT COUNT(*) AS c FROM `contact` + WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra2" , intval(local_user()) ); @@ -449,22 +456,22 @@ function acl_lookup(&$a, $out_type = 'json') { } else { $contact_count = 0; } - - + + $tot = $group_count+$contact_count; - + $groups = array(); $contacts = array(); - + 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 + FROM `group`,`group_member` + WHERE `group`.`deleted` = 0 AND `group`.`uid` = %d AND `group_member`.`gid`=`group`.`id` $sql_extra GROUP BY `group`.`id` - ORDER BY `group`.`name` + ORDER BY `group`.`name` LIMIT %d,%d", intval(local_user()), intval($start), @@ -472,7 +479,7 @@ function acl_lookup(&$a, $out_type = 'json') { ); foreach($r as $g){ -// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']); +// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']); $groups[] = array( "type" => "g", "photo" => "images/twopeople.png", @@ -484,10 +491,10 @@ function acl_lookup(&$a, $out_type = 'json') { ); } } - + if ($type=='' || $type=='c'){ - - $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, forum FROM `contact` + + $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, forum FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != '' $sql_extra2 ORDER BY `name` ASC ", @@ -495,7 +502,7 @@ function acl_lookup(&$a, $out_type = 'json') { ); } elseif($type == 'm') { - $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` + $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `network` IN ('%s','%s','%s') $sql_extra2 @@ -507,7 +514,7 @@ function acl_lookup(&$a, $out_type = 'json') { ); } elseif($type == 'a') { - $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` + $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra2 ORDER BY `name` ASC ", @@ -527,7 +534,7 @@ function acl_lookup(&$a, $out_type = 'json') { $x['data'] = array(); if(count($r)) { foreach($r as $g) { - $x['photos'][] = $g['micro']; + $x['photos'][] = proxy_url($g['micro']); $x['links'][] = $g['url']; $x['suggestions'][] = $g['name']; $x['data'][] = intval($g['id']); @@ -541,7 +548,7 @@ function acl_lookup(&$a, $out_type = 'json') { foreach($r as $g){ $contacts[] = array( "type" => "c", - "photo" => $g['micro'], + "photo" => proxy_url($g['micro']), "name" => $g['name'], "id" => intval($g['id']), "network" => $g['network'], @@ -549,28 +556,28 @@ function acl_lookup(&$a, $out_type = 'json') { "nick" => ($g['attag']) ? $g['attag'] : $g['nick'], "forum" => $g['forum'] ); - } + } } - + $items = array_merge($groups, $contacts); if ($conv_id) { - /* if $conv_id is set, get unknow contacts in thread */ + /* if $conv_id is set, get unknow contacts in thread */ /* but first get know contacts url to filter them out */ function _contact_link($i){ return dbesc($i['link']); } $known_contacts = array_map(_contact_link, $contacts); $unknow_contacts=array(); - $r = q("select + $r = q("select `author-avatar`,`author-name`,`author-link` from item where parent=%d and ( `author-name` LIKE '%%%s%%' OR `author-link` LIKE '%%%s%%' - ) and + ) and `author-link` NOT IN ('%s') GROUP BY `author-link` ORDER BY `author-name` ASC - ", + ", intval($conv_id), dbesc($search), dbesc($search), @@ -586,7 +593,7 @@ function acl_lookup(&$a, $out_type = 'json') { // /nickname $unknow_contacts[] = array( "type" => "c", - "photo" => $row['author-avatar'], + "photo" => proxy_url($row['author-avatar']), "name" => $row['author-name'], "id" => '', "network" => "unknown", @@ -611,14 +618,14 @@ function acl_lookup(&$a, $out_type = 'json') { ); return $o; } - + $o = array( 'tot' => $tot, 'start' => $start, 'count' => $count, 'items' => $items, ); - + echo json_encode($o); killme();