]> git.mxchange.org Git - friendica.git/commitdiff
first try common friends for visitors
authorfriendica <info@friendica.com>
Wed, 2 May 2012 02:16:18 +0000 (19:16 -0700)
committerfriendica <info@friendica.com>
Wed, 2 May 2012 02:16:18 +0000 (19:16 -0700)
include/contact_widgets.php
include/socgraph.php
mod/profile.php
view/match.tpl

index 96b02f29391c816926739db27dc07fb86d552bc1..1aaef115c91d672bb2b226f77fd104055848434a 100644 (file)
@@ -133,3 +133,42 @@ 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 = local_user();
+       else {
+               if(get_my_url()) {
+                       $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');
+
+
+       $t = count_common_friends_remote($profile_uid,$cid,$zcid);
+       if(! $t)
+               return;
+
+       $r = common_friends_remote($profile_uid,$cid,$zcid);
+
+       return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
+               '$desc' =>  sprintf( tt("%d friend in common", "%d friends in common", $t), $t),
+               '$items = $r
+       )); 
+
+};
\ No newline at end of file
index 4a1c8a1cad26fc052a92c43777bcb27546971157..bd1fbded5cecbb7620e76ef7526d89ec412c5ae8 100644 (file)
@@ -199,6 +199,48 @@ function common_friends($uid,$cid) {
 
 }
 
+
+function count_common_friends_remote($uid,$cid,$zid) {
+
+       $r = q("SELECT count(*) as `total` 
+               FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
+               where ((`glink`.cid != 0 and `glink`.`cid` = %d) or ( `glink`.`zcid` != 0 and `glink`.`zcid` = %d ))
+               and `glink`.`uid` = %d
+               and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and id != %d ) ",
+               intval($cid),
+               intval($zid),
+               intval($uid),
+               intval($uid),
+               intval($cid)
+       );
+
+       if(count($r))
+               return $r[0]['total'];
+       return 0;
+
+}
+
+function common_friends_remote($uid,$cid,$zid,$limit = 6) {
+
+       $r = q("SELECT `gcontact`.* 
+               FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
+               where ((`glink`.cid != 0 and `glink`.`cid` = %d) or ( `glink`.`zcid` != 0 and `glink`.`zcid` = %d ))
+               and `glink`.`uid` = %d
+               and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and id != %d ) 
+               order by `gcontact`.`name` asc limit 0, %d",
+               intval($cid),
+               intval($zid),
+               intval($uid),
+               intval($uid),
+               intval($cid),
+               intval($limit)
+       );
+
+       return $r;
+
+}
+
+
 function count_all_friends($uid,$cid) {
 
        $r = q("SELECT count(*) as `total`
index e9d4ca344e978899b1787f9d3850148f20f5279f..41c5eed4bdbecb789df70b017e2e7f2e0f4c795f 100644 (file)
@@ -143,6 +143,10 @@ function profile_content(&$a, $update = 0) {
                        return $o;
                }
 
+
+               $o .= common_friends_vistor_widget($a->profile['profile_uid']);
+
+
                if(x($_SESSION,'new_member') && $_SESSION['new_member'] && $is_owner)
                        $o .= '<a href="newmember" id="newmember-tips" style="font-size: 1.2em;"><b>' . t('Tips for New Members') . '</b></a>' . EOL;
 
index 5f2fc7a302f1b4b0d109edff5660fa07e03981a2..b052845ae744d23afb35276708d5b333d02dcc55 100644 (file)
@@ -13,4 +13,4 @@
        <div class="profile-match-connect"><a href="$connlnk" title="$conntxt">$conntxt</a></div>
        {{ endif }}
 
-</div>
\ No newline at end of file
+</div>