diff options
-rw-r--r-- | include/hubloc.php | 32 | ||||
-rw-r--r-- | include/poller.php | 17 | ||||
-rw-r--r-- | version.inc | 2 |
3 files changed, 50 insertions, 1 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"); diff --git a/version.inc b/version.inc index c901375c2..6d26777da 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2014-03-18.620 +2014-03-19.621 |