60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?
 | 
						|
$mailaddr = "openrocket-bugs@lists.sourceforge.net";
 | 
						|
//$mailaddr = "sampo.niskanen@gmail.com";
 | 
						|
 | 
						|
$version = $_POST["version"];
 | 
						|
$content = $_POST["content"];
 | 
						|
 | 
						|
 | 
						|
// Parse headers
 | 
						|
if (!function_exists('getallheaders')) {
 | 
						|
    function getallheaders() {
 | 
						|
       foreach ($_SERVER as $name => $value) {
 | 
						|
           if (substr($name, 0, 5) == 'HTTP_') {
 | 
						|
               $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
 | 
						|
           }
 | 
						|
       }
 | 
						|
       return $headers;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
$headers = "\n\n\n";
 | 
						|
foreach (getallheaders() as $header => $value) {
 | 
						|
	$headers = $headers . "$header: $value\n";
 | 
						|
}
 | 
						|
 | 
						|
// Set HTTP content-type header
 | 
						|
header("Content-type: text/plain; charset=utf-8");
 | 
						|
 | 
						|
 | 
						|
// Check for valid submission
 | 
						|
if (preg_match("/^[a-zA-Z0-9. -]{1,30}$/", $version) &&
 | 
						|
    strlen($content) > 0) {
 | 
						|
 | 
						|
  $subject = date("Y-m-d H:i:s") . " Automatic bug report for OpenRocket " . $version;
 | 
						|
  if (mail($mailaddr, $subject, $content . $headers, 
 | 
						|
    	"From: Automatic Bug Reports <".$mailaddr.">\r\n".
 | 
						|
    	"Content-Type: text/plain; charset=utf-8")) {
 | 
						|
    	
 | 
						|
    	// Success - OpenRocket recognizes status code 202
 | 
						|
    	header("HTTP/1.0 202 Accepted");
 | 
						|
    	echo "202 Accepted:  Bug report successfully sent.";
 | 
						|
//    	echo "\nContent:\n$content";
 | 
						|
    	
 | 
						|
    } else {
 | 
						|
    	
 | 
						|
    	// Sending mail failed
 | 
						|
    	header("HTTP/1.0 503 Service Unavailable");
 | 
						|
    	echo "503 Service Unavailable:  Unable to send bug report.";
 | 
						|
    	
 | 
						|
    }
 | 
						|
 | 
						|
} else {
 | 
						|
	
 | 
						|
	// Bad request
 | 
						|
	header("HTTP/1.0 400 Bad Request");
 | 
						|
	echo "400 Bad Request:  Illegal request.\n";
 | 
						|
	
 | 
						|
}
 | 
						|
 | 
						|
?>
 |