diff options
Diffstat (limited to 'include/contact_widgets.php')
-rw-r--r-- | include/contact_widgets.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/include/contact_widgets.php b/include/contact_widgets.php index 96b02f293..ce1cdbad5 100644 --- a/include/contact_widgets.php +++ b/include/contact_widgets.php @@ -133,3 +133,60 @@ function categories_widget($baseurl,$selected = '') { )); } +function common_friends_visitor_widget($profile_uid) { + + $a = get_app(); + + if(local_user() == $profile_uid) + return; + + $cid = $zcid = 0; + + if(can_write_wall($a,$profile_uid)) + $cid = remote_user(); + else { + if(get_my_url()) { + $r = q("select id from contact where nurl = '%s' and uid = %d limit 1", + dbesc(normalise_link(get_my_url())), + intval($profile_uid) + ); + if(count($r)) + $cid = $r[0]['id']; + else { + $r = q("select id from gcontact where nurl = '%s' limit 1", + dbesc(normalise_link(get_my_url())) + ); + if(count($r)) + $zcid = $r[0]['id']; + } + } + } + + if($cid == 0 && $zcid == 0) + return; + + require_once('include/socgraph.php'); + + if($cid) + $t = count_common_friends($profile_uid,$cid); + else + $t = count_common_friends_zcid($profile_uid,$zcid); + if(! $t) + return; + + if($cid) + $r = common_friends($profile_uid,$cid,0,5,true); + else + $r = common_friends_zcid($profile_uid,$zcid,0,5,true); + + return replace_macros(get_markup_template('remote_friends_common.tpl'), array( + '$desc' => sprintf( tt("%d contact in common", "%d contacts in common", $t), $t), + '$base' => $a->get_baseurl(), + '$uid' => $profile_uid, + '$cid' => (($cid) ? $cid : '0'), + '$linkmore' => (($t > 5) ? 'true' : ''), + '$more' => t('show more'), + '$items' => $r + )); + +};
\ No newline at end of file |