All pastes #408335 Raw Edit

Miscellany

public text v1 · immutable
#408335 ·published 2007-03-24 19:23 UTC
rendered paste body
<?php
/*
 * Created on 23.03.2007
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
 $page=$_GET['page'];
 include 'meldung.php';
 include 'hetzner.php';
 #header
 
 print <<<EOD
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
	<title>Status</title>
	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
	<meta http-equiv="content-language" content="de">
	<meta name="author" content="Lukas Gerhold">
	<meta name='description' content="Externe Status-Site">
	<meta name='keywords' content='Lusoft.org, Status'>

	<META NAME="Robots" CONTENT=" INDEX,FOLLOW ">
	<META NAME="Revisit" CONTENT=" 2 ">
	<link rel="stylesheet" type="text/css" href="style.css">
  </head>
  <body>
  <h1>Server Status-Seite</h1>
EOD;
 #Navi
 print '<blockquote><h4>Server ausw&auml;hlen:</h4>';
 if($page=='main'||$page=='')print '<span style="color:#600">&Uuml;bersicht</span><br>';else print '<a href="?page=main">&Uuml;bersicht</a><br>';
 if($page=='srv1')print '<span style="color:#600">srv1</span><br>';else print '<a href="?page=srv1">srv1</a><br>';
 if($page=='srv2')print '<span style="color:#600">srv2</span><br>';else print '<a href="?page=srv2">srv2</a><br>';
 if($page=='srv3')print '<span style="color:#600">srv3</span><br>';else print '<a href="?page=srv3">srv3</a><br>';
 if($page=='dns')print '<span style="color:#600">DNS</span><br>';else print '<a href="?page=dns">DNS</a><br>';
 if($page=='gw')print '<span style="color:#600">GW</span><br>';else print '<a href="?page=gw">GW</a><br>';
 print '</blockquote>';
 
 #__main
 if($page=='main'||$page==''){
 	print '<h2>Aufgaben der Server</h2>';
 	print '<table>';
 	print '<tr><td><b>Server</b></td><td><b>Aufgabe</b></td><td><b>Standort</b></td></tr>';
	print '<tr><td>srv1</td><td>Hosting</td><td>Hetzner- N&uuml;rnberg</td></tr>';
	print '<tr><td>srv2</td><td>Hosting</td><td>Hetzner- N&uuml;rnberg</td></tr>';
	print '<tr><td>srv3</td><td>Mail</td><td>Hosteurope- K&ouml;ln</td></tr>';
	print '<tr><td>dns</td><td>Domain</td><td>Hosteurope- K&ouml;ln</td></tr>';	
	print '<tr><td>gw</td><td>Gateway</td><td>Dieburg</td></tr>';
 	print '</table>';
 	print '<h2>Aktuelle Meldungen</h2>';
 	print meldung('main');
 	print '<h2>Hetzner-RZ Status</h2>';
 	print hetzner_status('ERROR');
	print hetzner_status('NOTICE');
 }
 
 #__srv1
 if($page=='srv1'){
 	$ip='88.198.198.166';
 	print info($ip,'N&uuml;rnberg','Webserver');
  	print status($ip,array('ssh','http','https'));
 	print meldung('srv1'); 	
 }
 
 #__srv2
 if($page=='srv2'){
 	$ip='88.198.198.165';
 	print info($ip,'N&uuml;rnberg','Webserver');
  	print status($ip,array('ssh','http'));
 	print meldung('srv2'); 	
 }
 
 #__srv3
 if($page=='srv3'){
 	$ip='80.237.132.81';
 	print info($ip,'K&ouml;ln','Mailserver');
  	print status($ip,array('imap','pop3','smtp'));
 	print meldung('srv3'); 	
 }
 
 #__dns
 if($page=='dns'){
 	print '<h2>1.DNS</h2>';
 	$ip='217.115.143.194';
 	print info($ip,'K&ouml;ln','1.DNS-Server');
  	print status($ip,array('dns'));
  	print '<h2>2.DNS</h2>';
  	$ip='80.237.128.66';
  	print info($ip,'K&ouml;ln','2.DNS-Server');
  	print status($ip,array('dns'));
 	print meldung('dns'); 	
 }
 
 #__gw
  if($page=='gw'){
 	$ip='lusoft.dyndns.info';
 	print info($ip,'Dieburg','Gateway');
  	print status($ip,array('http','remote'));
 	print meldung('gw'); 	
 }
 
 #Funktionen 	

 
 function meldung($data){
 	
  	global $str;
  	$meldung='<h3>Meldungen</h3>';
  	$meldung.='<table><tr><td><b>Server</b></td><td><b>Tag</b></td><td><b>Meldung</td></tr>';
    if($data=='main'){
   		$result = array_reverse($str);
   		for($count = 0; $count < 3; $count++){
   			
   			$this_server=array($result[$count][0],$result[$count][1],$result[$count][2],$result[$count][3]);
   			$meldung.="<tr><td>$this_server[0]</td>";
			$meldung.="<td>$this_server[1]</td>";
			if($this_server[3]=='str'){
				$meldung.="<td>St&ouml;rung: $this_server[2]</td></tr>";
			}
			if($this_server[3]=='mes'){
				$meldung.="<td>Meldung: $this_server[2]</td></tr>";
			}
			

    	}
    }
    if($data!='main'){
    	$result =$str;
    	foreach($result as $this_server){
    		if($this_server[0]==$data){
    			$meldung.="<tr><td>$this_server[0]</td>";
				$meldung.="<td>$this_server[1]</td>";
				if($this_server[3]=='str'){
					$meldung.="<td>St&ouml;rung: $this_server[2]</td></tr>";
				}
				if($this_server[3]=='mes'){
					$meldung.="<td>Meldung: $this_server[2]</td></tr>";
				}
    		}
    	}
    }   
    $meldung.='</table>'; 
 	return $meldung;
 }
 
 function status($ip,$port){
 	$status="<h3>Status</h3>\n<table>";
 	foreach($port as $this_prot){
 		if($this_prot=='ssh'){
 			$this_name='SSH';
 			$this_port='22';
 		}
 		if($this_prot=='http'){
  			$this_name='HTTP';
 			$this_port='80';			
 		}
 		if($this_prot=='https'){
  			$this_name='HTTPS';
 			$this_port='443';			
 		}
 		if($this_prot=='imap'){
  			$this_name='IMAP';
 			$this_port='143';			
 		} 
 		if($this_prot=='pop3'){
  			$this_name='POP3';
 			$this_port='110';			
 		}  	
 		if($this_prot=='dns'){
  			$this_name='DNS';
 			$this_port='53';			
 		} 		
  		if($this_prot=='smtp'){
  			$this_name='SMTP';
 			$this_port='25';			
 		} 	  	
 		if($this_prot=='remote'){
  			$this_name='Gateway';
 			$this_port='8080';			
 		} 	
 					
 		$status.="<tr><td>$this_name</td><td>";
 		$socket=@fsockopen($ip,$this_port, $errno, $errstr,1);
  		if ($socket == false){
  			$status.= ' <span class="red">&nbsp;&nbsp;offline&nbsp;&nbsp;</span>';
  		} 
  		if ($socket != false){
  			$status.= ' <span class="green">&nbsp;&nbsp;online&nbsp;&nbsp;</span>';
  		} 
  		$tatus.='</td></tr>'."\n";
 	}
 	$status.='</table>';
 	return $status;
 }
 
 function info($ip,$location,$func){
 	return "<h3>Infos</h3>\n<table><tr><td>IP</td><td>$ip</td></tr>\n<tr><td>Standort</td><td>$location</td></tr>\n<tr><td>Funktion</td><td>$func</td></tr></table>";
 }


# Footer
print <<<EOD
</body>
</html>
EOD;
 ?>