aboutsummaryrefslogtreecommitdiffstats
path: root/mod/viewconnections.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/viewconnections.php')
-rw-r--r--mod/viewconnections.php58
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' => '',
+ );
+ }
}