<?php
require_once 'common/curl.php';

isset($_REQUEST['start']) ? $start=$_REQUEST['start'] : $start=0;
isset($_REQUEST['url']) ? $url=$_REQUEST['url'] : $url='';
isset($_REQUEST['source']) && $_REQUEST['source']!='-' ? $source=$_REQUEST['source'] : $source='';
$path = PATH_DATA.'/surveillance/';

//Debug

$return = '';

//Connection au webservice
$client = new SoapClient(null, array(	'trace'			=> 1,
										'soap_version'	=> SOAP_1_1,
										'location'		=> 'http://78.31.45.206/ws2/',
										'uri'			=> 'http://78.31.45.206/',
										'login'			=> $_SESSION['tabInfo']['login'],
										'password'		=> $_SESSION['tabInfo']['password'],
));

//Recuperation de l'url pour le telechargement du fichier
if($start==1){
	$firephp->log($source, 'source');
	try {
		$O = $client->getListeSurveillancesCsv($source, $_SESSION['tabInfo']['login']);
		$surveillances = $O['result'];
		$url = $surveillances['Url'];
		$firephp->log($url, 'URL');
		$return = $url;
	} catch (SoapFault $fault) {
		require_once 'soaperror.php';
		processSoapFault($client,$fault,$_SESSION['tabInfo']);
		exit;
	}
}else{
	$firephp->log($url, 'url');
	//Recuperation du nom du fichier
	$tableau = explode('/',$url);
	$file = $tableau[sizeof($tableau)-1];

	//Suppression du fichier si le temps de cache est depasse
	if( file_exists($path.$file) && filemtime($path.$file) > mktime(date("H")+1, date("i"), date("s"), date("m"), date("d"), date("Y")) )
	{
		unlink($path.$file);
	}

	//Recuperation du fichier sur le serveur
	if ( !file_exists($path.$file))
	{
		$firephp->info('Demarage recuperation du fichier');
		//On check si le fichier est present sur l'url
		(isset($_REQUEST['url']) && url!='')? $url=$_REQUEST['url']: '';
		$page = getUrl($url, '', '', '', false);
		//Fichier non disponible
		if($page['code']==408 || $page['code']==400 || $page['code']==404){
			$return = 'FALSE';
		//Ecriture du fichier sur le serveur en local
		}else{
			if(!file_exists($path)) mkdir($path);
			$body = $page['body'];
			$fp = fopen($path.$file, 'w');
			fwrite($fp, $body);
			fclose($fp);
			$return = 'FALSE';
		}
	}

	//Le fichier existe sur l'extranet, etc....
	if (file_exists($path.$file) && filesize($path.$file)>0)
	{
		$firephp->info('Fichier sur le serveur local');
		$return = '<u><a title="T&eacute;l&eacute;charger le fichier" target="_blank" href="/datafile.php?q='.$file.'&type=surveillance">Cliquez-ici pour t&eacute;l&eacute;charger le fichier.</a></u>';
	}elseif (file_exists($path.$file) && filesize($path.$file)==0){
		$return = 'Aucune surveillance enregistr&eacute;e.';
	}
}
echo $return;