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;
 | |
| 	}
 | |
| }
 |