aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-11-01 20:29:55 -0700
committerFriendika <info@friendika.com>2011-11-01 20:29:55 -0700
commit158028a0ac00e388347ac366c88ad07c0fe4bfb9 (patch)
treed82a293c4419f0415c5318d528c348473e1eda44
parent3d9a9614e232a3ff207803be1092b1d42bcadde6 (diff)
downloadvolse-hubzilla-158028a0ac00e388347ac366c88ad07c0fe4bfb9.tar.gz
volse-hubzilla-158028a0ac00e388347ac366c88ad07c0fe4bfb9.tar.bz2
volse-hubzilla-158028a0ac00e388347ac366c88ad07c0fe4bfb9.zip
first cut friend suggestions
-rw-r--r--include/socgraph.php20
-rw-r--r--mod/suggest.php38
2 files changed, 57 insertions, 1 deletions
diff --git a/include/socgraph.php b/include/socgraph.php
index c81c7b695..04e9a9a64 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -159,4 +159,22 @@ function common_friends($uid,$cid) {
return $r;
-} \ No newline at end of file
+}
+
+
+
+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;
+
+}
diff --git a/mod/suggest.php b/mod/suggest.php
new file mode 100644
index 000000000..f8b898126
--- /dev/null
+++ b/mod/suggest.php
@@ -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;
+}