55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php /** @file */
 | 
						|
 | 
						|
namespace Zotlabs\Daemon;
 | 
						|
 | 
						|
require_once('include/zot.php');
 | 
						|
 | 
						|
 | 
						|
class Checksites {
 | 
						|
 | 
						|
	static public function run($argc,$argv) {
 | 
						|
 | 
						|
		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;
 | 
						|
	}
 | 
						|
}
 |