]> git.mxchange.org Git - friendica.git/blobdiff - include/contact_widgets.php
Merge pull request #456 from pixelroot/master
[friendica.git] / include / contact_widgets.php
index fedb946112e8a8b3588365bb7ea321b1dd204f92..ea71b3b707b35b5a2fe3c3d5c976eb6be15ace63 100644 (file)
@@ -142,15 +142,30 @@ function common_friends_visitor_widget($profile_uid) {
 
        $cid = $zcid = 0;
 
-       if(can_write_wall($a,$profile_uid))
-               $cid = local_user();
-       else {
+       if(is_array($_SESSION['remote'])) {
+               foreach($_SESSION['remote'] as $visitor) {
+                       if($visitor['uid'] == $profile_uid) {
+                               $cid = $visitor['cid'];
+                               break;
+                       }
+               }
+       }
+
+       if(! $cid) {
                if(get_my_url()) {
-                       $r = q("select id from gcontact where nurl = '%s' limit 1",
-                               dbesc(normalise_link(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))
-                               $zcid = $r[0]['id'];
+                               $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'];
+                       }
                }
        }
 
@@ -159,16 +174,26 @@ function common_friends_visitor_widget($profile_uid) {
 
        require_once('include/socgraph.php');
 
-
-       $t = count_common_friends_remote($profile_uid,$cid,$zcid);
+       if($cid)
+               $t = count_common_friends($profile_uid,$cid);
+       else
+               $t = count_common_friends_zcid($profile_uid,$zcid);
        if(! $t)
                return;
 
-       $r = common_friends_remote($profile_uid,$cid,$zcid);
+       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 friend in common", "%d friends in common", $t), $t),
-               '$items' = $r
+               '$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