extranet/www/pages/ajax/surveillance.php

79 lines
2.5 KiB
PHP

<?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;