<?php	
	$adresai = array( "rc_streamer1" => "stream2.rc.lt",
			  "rc_streamer2" => "stream2.rc.lt",
			  "rfm_streamer1" => "stream2.relaxfm.lt",
			  "rfm_streamer2" => "stream2.relaxfm.lt",
			  "zfm_streamer1" => "stream2.zipfm.lt",
			  "zfm_streamer2" => "stream2.zipfm.lt",
			  "rlt_streamer1" => "stream2.rusradio.lt",
			  "rlt_streamer2" => "stream2.rusradio.lt",
			  "rcf_streamer1" => "stream2.rockfm.lt",
			  "rcf_streamer2" => "stream2.rockfm.lt",
			  "rfs_streamer1" => "stream2.radiofiesta.lt",
			  "rfs_streamer2" => "stream2.radiofiesta.lt");

	#$file = fopen("/var/tmp/logas.txt", "w");
	#fwrite($file, "tekstas");
	#fclose($file);

	function streamListeners($streamer, $stream){
		$file1 = "/var/www/stdt/stats1.xml";
		$file2 = "/var/www/stdt/stats2.xml";
	
		if (substr($streamer, 0,7) == "stream1"){
			$file = $file1;
		}
		elseif (substr($streamer, 0,7) == "stream2"){
			$file = $file2;
		}
		else {
			echo "ERROR. Neteisingas streamerio adresas!";
		}

		$txtFile = fopen($file, "r");
		$text = fgets($txtFile);
		fclose($txtFile);
		if (strcmp($text, "NONE") == 0){
			echo "Nepavyksta gauti streamerio duomenų";
			return 10000;
		}		
		else{
			$xml = simplexml_load_file($file);
			if(!$xml){
				echo "ERROR. Nepavyksta nuskaityti status.xml failo";
				return 15000;
			}
			foreach($xml->source as $mountpoint){
				if($mountpoint['mount'] == $stream){
					return intval($mountpoint->listeners);
				}
			}
			return 20000;
		}
	}

	function redirect($streamer1, $streamer2, $request){
		$url1 = "http://".$streamer1.$request;
		$url2 = "http://".$streamer2.$request;
		if(streamListeners($streamer1, $request) > streamListeners($streamer2, $request)){
			header("Location: ".$url2);
			header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
			header("Cache-Control: post-check=0, pre-check=0", false);
			header("Pragma: no-cache");
			exit;
		}
		else{
			header("Location: ".$url1);
			header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
			header("Cache-Control: post-check=0, pre-check=0", false);
			header("Pragma: no-cache");
			exit;
		}
	}

#---------------------------------Pagrindinis kodas----------------------------------------------------------
	
	$request = $_SERVER['REQUEST_URI'];
	if (strpos($request, "?") !== false){
		$request = substr($request, 0, strpos($request, "?"));
	}
	switch($request){
		case "/rc256.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc128.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc128a.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc128b.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc128c.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc128d.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc64a.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/rc.mp3":
			redirect($adresai['rc_streamer1'], $adresai['rc_streamer2'], $request);
		case "/relaxfm256.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm128.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm128a.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm128a.mp3?organizationId=13276532&suiteItemId=13676391":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm128b.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm128c.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm128d.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm64a.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/relaxfm.mp3":
			redirect($adresai['rfm_streamer1'], $adresai['rfm_streamer2'], $request);
		case "/zipfm256.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm128.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm128a.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm128b.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm128c.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm128d.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm64a.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/zipfm.mp3":
			redirect($adresai['zfm_streamer1'], $adresai['zfm_streamer2'], $request);
		case "/rrb256.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/rrb128.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/rrb128a.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/rrb128a.mp3?organizationId=13276532&suiteItemId=13676273":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], "/rrb128a.mp3");
		case "/rrb128b.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/rrb128c.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/rrb128d.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/rrb64a.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/radior.mp3":
			redirect($adresai['rlt_streamer1'], $adresai['rlt_streamer2'], $request);
		case "/crf256.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/crf128.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/crf128a.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/crf128a.mp3?organizationId=13276532&suiteItemId=13673803":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], "/crf128a.mp3");
		case "/crf128b.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/crf128c.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/crf128d.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/crf64a.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/rockfm.mp3":
			redirect($adresai['rcf_streamer1'], $adresai['rcf_streamer2'], $request);
		case "/rfs128.mp3":
			redirect($adresai['rfs_streamer1'], $adresai['rfs_streamer2'], $request);
		case "/fiesta.mp3":
			redirect($adresai['rfs_streamer1'], $adresai['rfs_streamer2'], $request);
		default:
			header("HTTP/1.0 404 Not Found");
	}
?>
