/*------------------------------------------------------------------------------------
  Server push PHP3 script
  -------------------------------
  A very short routine to perform simple server push animation, 
  with browser detection snippset. Server push work's only with 
  Netscape 4.0 or higher.
  Author: Fabian Dennler, fab@harlequin.ch
  Date:   01.05.2000
  
  Insert the server push script like an image in your html file.
  i.e. 
------------------------------------------------------------------------------------*/
 // filelocation of the webcam image
 $filename= "man1.jpg";
 // how many time between push	
 // for unbuffered output set to 1.
 $pause = "6"; 
 // how many time to pass to passthru function , don't set this to high for server usage
 $PASSES = 20; 
 
/*------------------------------------------------------------------------------------
for ($j=0;$j<=$PASSES;$j++) {
	$img[count($img)] = $filename;
} 
/*------------------------------------------------------------------------------------
/*------------------------------------------------------------------------------------*/
 	/* Plot the Currrent Data Block of the image */
/*------------------------------------------------------------------------------------*/
function plot_cam() {
		global $filename,$img,$pause;
		$k = 0;
		Header("Content-type: multipart/x-mixed-replace;boundary=ThisRandomString");
		while ($img[$k]==$filename) {
			print("\n--ThisRandomString\n\n");
			Header("Content-type: text/plain");
			$cam = fopen($filename,"r"); 
			fpassthru($cam);
	 		fclose($cam);
			if ($pause) { sleep($pause);} // time between reload, usefull for server usage
			$k++;
			if ($k==count($img)) {
				echo("\n--ThisRandomString--\n");					
			}
	 	}	
}
/**************************************************************************************/
 	Broser Detection is provided by Leon Atkinson 
/*------------------------------------------------------------------------------------*/
 	/* Get the name the browser calls itself and what version */
	$Browser_Name = strtok($HTTP_USER_AGENT, "/");
	$Browser_Version = strtok(" ");
	/* MSIE lies about its name */
	if(ereg("MSIE", $HTTP_USER_AGENT))	{
		$Browser_Name = "MSIE";
		$Browser_Version = strtok("MSIE");
		$Browser_Version = strtok(" ");
		$Browser_Version = strtok(";");
	}
	/* Opera isn't completely honest, either ... */
	/* Modificaton by Chris Mospaw  */
	if(ereg("Opera", $HTTP_USER_AGENT))	{
		$Browser_Name = "Opera";
		$Browser_Version = strtok("Opera");
		$Browser_Version = strtok("/");
		$Browser_Version = strtok(";");
	}
	/* try to figure out what platform, windows or mac */
	$Browser_Platform = "unknown";
	if(ereg("Windows",$HTTP_USER_AGENT) 
		|| ereg("WinNT",$HTTP_USER_AGENT) 
		|| ereg("Win95",$HTTP_USER_AGENT)) {
			$Browser_Platform = "Windows";
	}
	if(ereg("Mac", $HTTP_USER_AGENT)) {
		$Browser_Platform = "Macintosh";
	}
	if(ereg("X11", $HTTP_USER_AGENT)) { 
		$Browser_Platform =  "Unix"; 
	} 
	if(($Browser_Platform == "Windows")){
		if($Browser_Name == "Mozilla")	{
			if($Browser_Version >= 3.0)	{
			}		
			// SERVER PUSH WORK'S ONLY HERE :)
			if($Browser_Version >= 4.0)	{ plot_cam(); }
		}
	}
	elseif($Browser_Platform == "Macintosh") {
		if($Browser_Name == "Mozilla") {
			if($Browser_Version >= 3.0)	{
			}		
			// SERVER PUSH WORK'S ONLY HERE :)
			if($Browser_Version >= 4.0)	{plot_cam();}
		}
	}
	elseif($Browser_Platform ==  "Unix") { 
		if($Browser_Name ==  "Mozilla") { 
			if($Browser_Version >= 3.0) { 
			}         
			// SERVER PUSH WORK'S ONLY HERE :)
			if($Browser_Version >= 4.0) { plot_cam();} 
		} 
	}
exit;	
?>