aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorThomas Willingham <founder@kakste.com>2013-03-20 23:35:21 +0000
committerThomas Willingham <founder@kakste.com>2013-03-20 23:35:21 +0000
commit28975931b5a3a16554b391e3b08885ba118b3748 (patch)
treea4824b6bc64ba0646efaa715b6e5690e16e2a3f1 /mod
parentf49dcc0a0c6694e46dc445c81d69f0a069ac2c09 (diff)
downloadvolse-hubzilla-28975931b5a3a16554b391e3b08885ba118b3748.tar.gz
volse-hubzilla-28975931b5a3a16554b391e3b08885ba118b3748.tar.bz2
volse-hubzilla-28975931b5a3a16554b391e3b08885ba118b3748.zip
Add a fallback or two to randprof.
Diffstat (limited to 'mod')
-rw-r--r--mod/randprof.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/mod/randprof.php b/mod/randprof.php
index bddb3251a..7678c15b9 100644
--- a/mod/randprof.php
+++ b/mod/randprof.php
@@ -1,11 +1,24 @@
<?php
+function randprof_fallback() {
+ $r = q("select channel_address from channel where channel_r_stream = 1 order by rand() limit 1");
+if($r)
+ return $r[0]['channel_address'];
+return '';
+}
function randprof_init(&$a) {
require_once('include/Contact.php');
$x = random_profile();
if($x)
goaway(chanlink_url($x));
- // FIXME this doesn't work at the moment as a fallback
- goaway($a->get_baseurl() . '/profile');
+ // Nothing there, so try a local, public channel instead
+ else $x = randprof_fallback();
+ if($x) {
+ $goaway = (z_root() . '/channel/' . $x);
+ goaway(chanlink_url($goaway));}
+
+ // If we STILL haven't got anything, send them to their own profile, or the front page
+
+ goaway($a->get_baseurl());
}