improved drupal detection process, including support for localhost. courtesy WvR
This commit is contained in:
		
							
								
								
									
										37
									
								
								run.d/drupal
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								run.d/drupal
									
									
									
									
									
								
							| @@ -2,9 +2,9 @@ | ||||
| <? | ||||
| // Fetch the host list to check | ||||
| // | ||||
| if( getenv('CHK_HOSTS') == null ) { | ||||
| if(getenv('CHK_HOSTS') == null) { | ||||
|   $hosts = null; | ||||
| }else { | ||||
| } else { | ||||
|   $hosts = explode(' ', getenv('CHK_HOSTS')); | ||||
|   if (implode($hosts)=='') die("No hosts to check.\n"); | ||||
| } | ||||
| @@ -30,9 +30,24 @@ if($feed && $feed instanceof SimpleXMLElement) { | ||||
|   } | ||||
| } | ||||
|  | ||||
| // For Drupal 4.x - 6.x | ||||
| foreach($hosts as $host) { | ||||
|   $cmd = "ssh $host \"locate modules/system/system.module | xargs grep -H 'VERSION'\""; | ||||
| // Start checking hosts | ||||
| // | ||||
| if( $hosts == null ) { | ||||
|   checkHost(null, $dr_current); | ||||
| } else { | ||||
|   foreach($hosts as $host) { | ||||
|     checkHost($host, $dr_current); | ||||
|   } | ||||
| } | ||||
|  | ||||
| function checkHost($host, $dr_current) { | ||||
|   // For Drupal 4.x - 6.x | ||||
|   $cmd = "locate modules/system/system.module | xargs grep -H 'VERSION'"; | ||||
|   $hostidentifier = ""; | ||||
|   if( $host != null ) { | ||||
|  	$cmd = "ssh $host \"" . $cmd . "\""; | ||||
| 	$hostidentifier = $host . ":"; | ||||
|   } | ||||
|   exec($cmd, $results); | ||||
|  | ||||
|   foreach($results as $instance) { | ||||
| @@ -40,16 +55,16 @@ foreach($hosts as $host) { | ||||
|     $location = substr($parts[0], 0, strlen($parts[0])-28); | ||||
|     if(substr($parts[1], 0, 16) == "define('VERSION'") { | ||||
|       $version = substr($parts[1], 19, strpos($parts[1], "'", 19)-19); | ||||
|       if($version < $dr_current) echo "WARNING: Outdated Drupal $version at $host:$location\n"; | ||||
|       if($version < $dr_current) echo "WARNING: Outdated Drupal $version at $hostidentifier$location\n"; | ||||
|     } | ||||
|   } | ||||
|   unset($results); | ||||
|  | ||||
| } | ||||
|  | ||||
| // For Drupal 7.x  | ||||
| foreach($hosts as $host) { | ||||
|   $cmd = "ssh $host \"locate includes/bootstrap.inc | xargs grep -H 'VERSION'\""; | ||||
|   // For Drupal 7.x | ||||
|   $cmd = "locate includes/bootstrap.inc | xargs grep -H 'VERSION'"; | ||||
|   if( $host != null ) { | ||||
| 	$cmd = "ssh $host \"" . $cmd . "\""; | ||||
|   } | ||||
|   exec($cmd, $results); | ||||
|  | ||||
|   foreach($results as $instance) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user