aboutsummaryrefslogtreecommitdiffstats
path: root/include/checksites.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/checksites.php')
-rw-r--r--include/checksites.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/include/checksites.php b/include/checksites.php
new file mode 100644
index 000000000..e9c08c202
--- /dev/null
+++ b/include/checksites.php
@@ -0,0 +1,62 @@
+<?php /** @file */
+
+require_once('boot.php');
+require_once('include/cli_startup.php');
+require_once('include/zot.php');
+require_once('include/hubloc.php');
+
+
+
+function checksites_run($argv, $argc){
+
+
+ cli_startup();
+ $a = get_app();
+
+ logger('checksites: start');
+
+ if(($argc > 1) && ($argv[1]))
+ $site_id = $argv[1];
+
+ if($site_id)
+ $sql_options = " and site_url = '" . dbesc($argv[1]) . "' ";
+
+ $days = intval(get_config('system','sitecheckdays'));
+ if($days < 1)
+ $days = 30;
+
+ $r = q("select * from site where site_dead = 0 and site_update < %s - INTERVAL %s and site_type = %d $sql_options ",
+ db_utcnow(), db_quoteinterval($days . ' DAY'),
+ intval(SITE_TYPE_ZOT)
+ );
+
+ if(! $r)
+ return;
+
+ foreach($r as $rr) {
+ if(! strcasecmp($rr['site_url'],z_root()))
+ continue;
+
+ $x = ping_site($rr['site_url']);
+ if($x['success']) {
+ logger('checksites: ' . $rr['site_url']);
+ q("update site set site_update = '%s' where site_url = '%s' ",
+ dbesc(datetime_convert()),
+ dbesc($rr['site_url'])
+ );
+ }
+ else {
+ logger('marking dead site: ' . $x['message']);
+ q("update site set site_dead = 1 where site_url = '%s' ",
+ dbesc($rr['site_url'])
+ );
+ }
+ }
+
+ return;
+}
+
+if (array_search(__file__,get_included_files())===0){
+ checksites_run($argv,$argc);
+ killme();
+}