aboutsummaryrefslogtreecommitdiffstats
path: root/include/contact_widgets.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/contact_widgets.php')
-rw-r--r--include/contact_widgets.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index 96b02f293..42d3afdee 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -133,3 +133,59 @@ 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,
+ '$more' => t('show more'),
+ '$items' => $r
+ ));
+
+}; \ No newline at end of file