diff options
Diffstat (limited to 'mod/randprof.php')
-rw-r--r-- | mod/randprof.php | 17 |
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()); } |