first cut friend suggestions

This commit is contained in:
Friendika 2011-11-01 20:29:55 -07:00
parent 3d9a9614e2
commit 158028a0ac
2 changed files with 57 additions and 1 deletions

View File

@ -159,4 +159,22 @@ function common_friends($uid,$cid) {
return $r; return $r;
} }
function suggestion_query($uid, $start = 0, $limit = 40) {
$r = q("SELECT count(glink.gcid) as `total`, gcontact.* from gcontact
left join glink on glink.gcid = gcontact.id
where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d)
group by glink.gcid order by total desc limit %d, %d ",
intval($uid),
intval($uid),
intval($start),
intval($limit)
);
return $r;
}

38
mod/suggest.php Normal file
View File

@ -0,0 +1,38 @@
<?php
require_once('include/socgraph.php');
function suggest_content(&$a) {
$o = '';
if(! local_user()) {
notice( t('Permission denied.') . EOL);
return;
}
$o .= '<h2>' . t('Friend Suggestions') . '</h2>';
$r = suggestion_query(local_user());
if(! count($r)) {
$o .= t('No suggestions. This works best when you have more than one contact/friend.');
return $o;
}
$tpl = get_markup_template('common_friends.tpl');
foreach($r as $rr) {
$o .= replace_macros($tpl,array(
'$url' => $rr['url'],
'$name' => $rr['name'],
'$photo' => $rr['photo'],
'$tags' => ''
));
}
$o .= cleardiv();
// $o .= paginate($a);
return $o;
}