diff options
author | friendica <info@friendica.com> | 2014-03-19 19:53:14 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-03-19 19:53:14 -0700 |
commit | 68fc2a220e81589d86af0233b533b6b713545a24 (patch) | |
tree | 301d274de08e9b8be78edd70589e72527c11dd02 /include | |
parent | afca10a0710511bb24ab4b382ef55233538e6589 (diff) | |
download | volse-hubzilla-68fc2a220e81589d86af0233b533b6b713545a24.tar.gz volse-hubzilla-68fc2a220e81589d86af0233b533b6b713545a24.tar.bz2 volse-hubzilla-68fc2a220e81589d86af0233b533b6b713545a24.zip |
prune_hub_reinstalls() and add cron weekly as a side effect
Diffstat (limited to 'include')
-rw-r--r-- | include/hubloc.php | 32 | ||||
-rw-r--r-- | include/poller.php | 17 |
2 files changed, 49 insertions, 0 deletions
diff --git a/include/hubloc.php b/include/hubloc.php new file mode 100644 index 000000000..b6f0c8c57 --- /dev/null +++ b/include/hubloc.php @@ -0,0 +1,32 @@ +<?php /** @file */ + + + +function prune_hub_reinstalls() { + + $r = q("select site_url from site where true"); + if($r) { + foreach($r as $rr) { + $x = q("select count(*) as t, hubloc_sitekey, max(hubloc_connected) as c from hubloc where hubloc_url = '%s' group by hubloc_sitekey order by c", + dbesc($rr['site_url']) + ); + + // see if this url has more than one sitekey, indicating it has been re-installed. + + if(count($x) > 1) { + + $d1 = datetime_convert('UTC','UTC',$x[0]['c']); + $d2 = datetime_convert('UTC','UTC','now - 3 days'); + + // allow some slop period, say 3 days - just in case this is a glitch or transient occurrence + + if($d1 < $d2) { + logger('prune_hub_reinstalls: removing dead hublocs at ' . $rr['site_url']); + $y = q("delete from hubloc where hubloc_sitekey = '%s'", + dbesc($x[0]['hubloc_sitekey']) + ); + } + } + } + } +}
\ No newline at end of file diff --git a/include/poller.php b/include/poller.php index 423ee46c1..bae39dd2e 100644 --- a/include/poller.php +++ b/include/poller.php @@ -105,6 +105,23 @@ function poller_run($argv, $argc){ if($d2 != intval($d1)) { + $d3 = intval(datetime_convert('UTC','UTC','now','N')); + if($d3 == 7) { + + /** + * Cron Weekly + * + * Actions in the following block are executed once per day only on Sunday (once per week). + * + */ + + require_once('include/hubloc.php'); + prune_hub_reinstalls(); + + + } + + // expire any read notifications over a month old q("delete from notify where seen = 1 and date < UTC_TIMESTAMP() - INTERVAL 30 DAY"); |