directory: don't try and sync a directory update that points to a hubloc we already know is dead and buried.
This commit is contained in:
		| @@ -41,7 +41,7 @@ function onedirsync_run($argv, $argc){ | ||||
| 		intval(UPDATE_FLAGS_UPDATED) | ||||
| 	); | ||||
| 	if($x) { | ||||
| 		$y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not ( ud_flags & %d )>0 and ud_date < '%s' ", | ||||
| 		$y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date < '%s' ", | ||||
| 			intval(UPDATE_FLAGS_UPDATED), | ||||
| 			dbesc($r[0]['ud_addr']), | ||||
| 			intval(UPDATE_FLAGS_UPDATED), | ||||
| @@ -50,6 +50,23 @@ function onedirsync_run($argv, $argc){ | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	// ignore doing an update if this ud_addr refers to a known dead hubloc | ||||
|  | ||||
| 	$h = q("select * from hubloc where hubloc_addr = '%s' limit 1", | ||||
| 		dbesc($r[0]['ud_addr']) | ||||
| 	); | ||||
| 	if($h && $h[0]['hubloc_status'] & HUBLOC_OFFLINE) { | ||||
| 		$y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date < '%s' ", | ||||
| 			intval(UPDATE_FLAGS_UPDATED), | ||||
| 			dbesc($r[0]['ud_addr']), | ||||
| 			intval(UPDATE_FLAGS_UPDATED), | ||||
| 			dbesc($x[0]['ud_date']) | ||||
| 		); | ||||
|  | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	update_directory_entry($r[0]);		 | ||||
|  | ||||
| 	return; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user