]> git.mxchange.org Git - friendica.git/commitdiff
shuffle results of remote_common_friends widget
authorfriendica <info@friendica.com>
Wed, 2 May 2012 07:44:37 +0000 (00:44 -0700)
committerfriendica <info@friendica.com>
Wed, 2 May 2012 07:44:37 +0000 (00:44 -0700)
include/contact_widgets.php
include/socgraph.php

index cfe27c5c9ba36997b4bb52e1583decd39360910b..e0fe4271a40a7df2354decb8ff70183a558a3b1e 100644 (file)
@@ -146,11 +146,18 @@ function common_friends_visitor_widget($profile_uid) {
                $cid = local_user();
        else {
                if(get_my_url()) {
-                       $r = q("select id from gcontact where nurl = '%s' limit 1",
+                       $r = q("select id from contact where nurl = '%s' and uid = %d limit 1",
                                dbesc(normalise_link(get_my_url()))
                        );
                        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'];
+                       }
                }
        }
 
@@ -167,9 +174,9 @@ function common_friends_visitor_widget($profile_uid) {
                return;
 
        if($cid)
-               $r = common_friends($profile_uid,$cid,5);
+               $r = common_friends($profile_uid,$cid,5,true);
        else
-               $r = common_friends_zcid($profile_uid,$zcid);
+               $r = common_friends_zcid($profile_uid,$zcid,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),
index a08d58074187eead84b196a7263671c302a169ab..35d754cadcc38635b246725adcaaa48a0f8207bc 100644 (file)
@@ -182,13 +182,18 @@ function count_common_friends($uid,$cid) {
 }
 
 
-function common_friends($uid,$cid,$limit=9999) {
+function common_friends($uid,$cid,$limit=9999,$shuffle = false) {
+
+       if($shuffle)
+               $sql_extra = " order by rand() ";
+       else
+               $sql_extra = " order by `gcontact`.`name` asc "; 
 
        $r = q("SELECT `gcontact`.* 
                FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
                where `glink`.`cid` = %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",
+               sql_extra limit 0, %d",
                intval($cid),
                intval($uid),
                intval($uid),
@@ -217,13 +222,18 @@ function count_common_friends_zcid($uid,$zcid) {
 
 }
 
-function common_friends_zcid($uid,$zcid,$limit = 6) {
+function common_friends_zcid($uid,$zcid,$limit = 9999,$shuffle) {
+
+       if($shuffle)
+               $sql_extra = " order by rand() ";
+       else
+               $sql_extra = " order by `gcontact`.`name` asc "; 
 
        $r = q("SELECT `gcontact`.* 
                FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
                where `glink`.`zcid` = %d
                and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 ) 
-               order by `gcontact`.`name` asc limit 0, %d",
+               $sql_extra limit 0, %d",
                intval($zcid),
                intval($uid),
                intval($limit)