diff options
Diffstat (limited to 'mod/viewconnections.php')
-rw-r--r-- | mod/viewconnections.php | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/mod/viewconnections.php b/mod/viewconnections.php index e6c739562..b6a6b483c 100644 --- a/mod/viewconnections.php +++ b/mod/viewconnections.php @@ -11,17 +11,6 @@ function viewconnections_init(&$a) { profile_load($a,argv(1)); } - -function viewconnections_aside(&$a) { - - if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { - return; - } - - profile_create_sidebar($a); -} - - function viewconnections_content(&$a) { if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { @@ -39,16 +28,28 @@ function viewconnections_content(&$a) { return; } + $is_owner = ((local_user() && local_user() == $a->profile['uid']) ? true : false); + $abook_flags = ABOOK_FLAG_PENDING|ABOOK_FLAG_SELF; + $xchan_flags = XCHAN_FLAGS_ORPHAN|XCHAN_FLAGS_DELETED; + if(! $is_owner) { + $abook_flags = $abook_flags | ABOOK_FLAGS_HIDDEN; + $xchan_flags = $xchan_flags | XCHAN_FLAGS_HIDDEN; + } - $r = q("SELECT COUNT(abook_id) as total FROM abook WHERE abook_channel = %d AND abook_flags = 0 ", - intval($a->profile['uid']) + $r = q("SELECT count(*) as total FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d ) and not ( xchan_flags & %d ) ", + intval($a->profile['uid']), + intval($abook_flags), + intval($xchan_flags) ); - if($r) + if($r) { $a->set_pager_total($r[0]['total']); + } - $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and abook_flags = 0 order by xchan_name LIMIT %d , %d ", + $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not ( abook_flags & %d ) and not ( xchan_flags & %d ) order by xchan_name LIMIT %d , %d ", intval($a->profile['uid']), + intval($abook_flags), + intval($xchan_flags), intval($a->pager['start']), intval($a->pager['itemspage']) ); @@ -62,19 +63,20 @@ function viewconnections_content(&$a) { foreach($r as $rr) { - $url = zid($rr['xchan_url']); - - $contacts[] = array( - 'id' => $rr['abook_id'], - 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['xchan_name'], $rr['xchan_url']), - 'thumb' => $rr['xchan_photo_m'], - 'name' => substr($rr['xchan_name'],0,20), - 'username' => $rr['xchan_addr'], - 'url' => $url, - 'sparkle' => '', - 'itemurl' => $rr['url'], - 'network' => '', - ); + $url = chanlink_url($rr['xchan_url']); + if($url) { + $contacts[] = array( + 'id' => $rr['abook_id'], + 'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['xchan_name'], $rr['xchan_url']), + 'thumb' => $rr['xchan_photo_m'], + 'name' => substr($rr['xchan_name'],0,20), + 'username' => $rr['xchan_addr'], + 'link' => $url, + 'sparkle' => '', + 'itemurl' => $rr['url'], + 'network' => '', + ); + } } |