Option to check that a random profile works before returning it
This commit is contained in:
parent
c819c276f0
commit
83eb7a10e2
@ -106,24 +106,29 @@ This document assumes you're an administrator.
|
|||||||
list of names (no spaces)
|
list of names (no spaces)
|
||||||
[b]system > auto_follow[/b]
|
[b]system > auto_follow[/b]
|
||||||
Make the first channel of an account auto-follow channels listed here - comma separated list of webbies (member@hub addresses).
|
Make the first channel of an account auto-follow channels listed here - comma separated list of webbies (member@hub addresses).
|
||||||
[b]system > admin_email[/b]
|
[b]system > admin_email[/b]
|
||||||
Specifies the administrators email for this site. This is initially set during install.
|
Specifies the administrators email for this site. This is initially set during install.
|
||||||
[b]system > cron_hour[/b]
|
[b]system > cron_hour[/b]
|
||||||
Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
|
Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
|
||||||
[b]system > minimum_feedcheck_minutes[/b]
|
[b]system > minimum_feedcheck_minutes[/b]
|
||||||
The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob
|
The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob
|
||||||
[b]system > blacklisted_sites[/b]
|
[b]system > blacklisted_sites[/b]
|
||||||
An array of specific hubs to block from this hub completely.
|
An array of specific hubs to block from this hub completely.
|
||||||
[b]system > ignore_imagick[/b]
|
[b]system > ignore_imagick[/b]
|
||||||
Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
|
Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
|
||||||
[b]system > no_age_restriction[/b]
|
[b]system > no_age_restriction[/b]
|
||||||
Do not restric registration to people over the age of 13
|
Do not restric registration to people over the age of 13
|
||||||
[b]system > override_poll_lockfile[/b]
|
[b]system > override_poll_lockfile[/b]
|
||||||
Ignore the lock file in the poller process to allow more than one process to run at a time.
|
Ignore the lock file in the poller process to allow more than one process to run at a time.
|
||||||
[b]system > projecthome[/b]
|
[b]system > projecthome[/b]
|
||||||
Display the project page on your home page for logged out viewers.
|
Display the project page on your home page for logged out viewers.
|
||||||
[b]system > sellpage[/b]
|
[b]system > sellpage[/b]
|
||||||
A URL shown in the public sites list to sell your hub - display service classes, etc.
|
A URL shown in the public sites list to sell your hub - display service classes, etc.
|
||||||
|
[b]randprofile > check[/b]
|
||||||
|
When requesting a random profile, check that it actually exists first
|
||||||
|
[b]randprofile > retry[/b]
|
||||||
|
Number of times to retry getting a random profile
|
||||||
|
|
||||||
|
|
||||||
#include doc/macros/main_footer.bb;
|
#include doc/macros/main_footer.bb;
|
||||||
|
|
||||||
|
@ -581,12 +581,29 @@ function contact_remove($channel_id, $abook_id) {
|
|||||||
|
|
||||||
function random_profile() {
|
function random_profile() {
|
||||||
$randfunc = db_getfunc('rand');
|
$randfunc = db_getfunc('rand');
|
||||||
$r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
|
|
||||||
db_utcnow(), db_quoteinterval('30 day')
|
$checkrandom = get_config('randprofile','check'); // False by default
|
||||||
);
|
$retryrandom = intval(get_config('randprofile','retry'));
|
||||||
if($r)
|
if($retryrandom === false) $retryrandom = 5;
|
||||||
return $r[0]['xchan_url'];
|
|
||||||
|
for($i = 0; $i < $retryrandom; $i++) {
|
||||||
|
$r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
|
||||||
|
db_utcnow(), db_quoteinterval('30 day')
|
||||||
|
);
|
||||||
|
|
||||||
|
if(!$r) return ''; // Couldn't get a random channel
|
||||||
|
|
||||||
|
if($checkrandom) {
|
||||||
|
if(z_fetch_url($r[0]['xchan_url'])['success'])
|
||||||
|
return $r[0]['xchan_url'];
|
||||||
|
else
|
||||||
|
logger('Random channel turned out to be bad.');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return $r[0]['xchan_url'];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user