aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2014-03-19 19:53:14 -0700
committerfriendica <info@friendica.com>2014-03-19 19:53:14 -0700
commit68fc2a220e81589d86af0233b533b6b713545a24 (patch)
tree301d274de08e9b8be78edd70589e72527c11dd02 /include
parentafca10a0710511bb24ab4b382ef55233538e6589 (diff)
downloadvolse-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.php32
-rw-r--r--include/poller.php17
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");