extranet/www/pages/telechargement.php

160 lines
5.9 KiB
PHP

<?php
// --------------------------------------------------------------------------- //
// telechargement.php
// --------------------------------------------------------------------------- //
$type = $_POST['type' ];
if ($type == 'moncompte' ||
$type == 'administration') {
$type = 'consommation';
}
$start = $_POST['start'];
$return = '';
// --------------------------------------------------------------------------- //
// Parametres supplementaires
// --------------------------------------------------------------------------- //
if (isset($_POST['argv']) == true) {
$firephp->log("argv='$_POST[argv]'");
}
$idClient = 0;
if (empty($_POST['argv']) == false) {
$argv = explode(',', $_POST['argv']);
for ($i = 0; $i < count($argv); $i += 2) {
if (empty($argv[$i]) == false) {
$$argv[$i] = $argv[$i + 1];
}
}
}
if ($start == 1) {
// --------------------------------------------------------------------------- //
// Recuperation de l'url du fichier
// --------------------------------------------------------------------------- //
$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']));
try {
switch ($type) {
// ------------------------------------------------------------------- //
// Surveillance
// ------------------------------------------------------------------- //
case 'surveillance':
$res = $client->
getListeSurveillancesCsv($_POST['menuD'],
$_SESSION['tabInfo']['login']);
break;
// ------------------------------------------------------------------- //
// Consommation
// ------------------------------------------------------------------- //
case 'consommation':
$date = substr($_POST['menuD'], 3, 4).
substr($_POST['menuD'], 0, 2);
$detail = ($_POST['caseC'] == 'true') ? true : false;
if (isset($_POST['caseC2']) == true) {
$tous = ($_POST['caseC2'] == 'true') ? true : false;
} else {
$tous = false;
}
if (!isset($_POST['argv'])) {
$login = '';
}
$firephp->log("date='$date'");
$firephp->log("detail='$detail'");
$firephp->log("idClient='$idClient'");
$firephp->log("login='$login'");
$firephp->log("tous='$tous'");
$res = $client->
getLogsClients($date, $detail, $idClient, $login, $tous);
break;
// ------------------------------------------------------------------- //
// Portefeuille
// ------------------------------------------------------------------- //
case 'portefeuille':
$login = $_SESSION['tabInfo']['login'];
$idClient = $_SESSION['tabInfo']['idClient'];
$res = $client->getPortefeuilleCsv($login, $idClient);
break;
}
if (isset($res['result']['Url']) == true) {
$return = $res['result']['Url'];
} else {
$return = 'FALSE';
}
} catch (SoapFault $e) {
require_once 'soaperror.php';
processSoapFault($client, $e, $_SESSION['tabInfo']);
exit;
}
} else {
// --------------------------------------------------------------------------- //
// Recuperation du fichier
// --------------------------------------------------------------------------- //
require_once 'common/curl.php';
$url = (isset($_POST['url']) == true) ? $_POST['url'] : '';
$path = PATH_SITE.'/cache/'.$type.'/';
// 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)){
$dateFile = filemtime($path.$file);
$now = mktime(date('G'), date('i'), date('s'),
date('m') , date('d'), date('Y'));
$maxTime = mktime(date('G',$dateFile)+1, date('i',$dateFile),
date('s',$dateFile), date('m',$dateFile),
date('d',$dateFile), date('Y',$dateFile));
if (in_array(ENVIRONNEMENT, array('REC','DEV')) || $maxTime-$now<0) {
unlink($path.$file);
}
}
// Recuperation du fichier sur le serveur
if (!file_exists($path.$file)) {
// On check si le fichier est present sur l'url
$url_tab = getUrl($url, '', '', '', false);
if ($url_tab['code'] == 408 ||
$url_tab['code'] == 400 ||
$url_tab['code'] == 404) {
// Fichier non disponible
$return = 'FALSE';
} else {
// Ecriture du fichier sur le serveur en local
$body = $url_tab['body'];
$fp = fopen($path.$file, 'w');
fwrite($fp, $body);
fclose($fp);
$return = 'FALSE';
}
}
// Le fichier existe sur l'extranet
if (file_exists($path.$file)) {
if (filesize($path.$file) > 0) {
$return = '<u><a title="T&eacute;l&eacute;charger le fichier"'.
' target="_blank" href="/fichier/'.$type.'/'.$file.
'">Cliquez-ici pour t&eacute;l&eacute;charger'.
' le fichier.</a></u>';
} else {
switch($type){
case 'surveillance':
$return = 'Aucune surveillance enregistr&eacute;e.';
break;
case 'consommation':
$return = 'Aucune consommmation enregistr&eacute;e.';
break;
case 'portefeuille':
$return = 'Fichier vide.';
break;
}
}
}
}
echo $return;