103 lines
2.9 KiB
PHP
103 lines
2.9 KiB
PHP
<?php
|
|
require_once '../config/prepend.php';
|
|
require_once 'index.fct.php';
|
|
require_once 'fwk.php';
|
|
require_once 'index_auth.php';
|
|
require_once 'user/user.php';
|
|
|
|
if (!hasPerm('portefeuille')){
|
|
echo "Vous n'avez pas les permissions nécessaire !";
|
|
exit;
|
|
}
|
|
|
|
$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']
|
|
)
|
|
);
|
|
|
|
$login = $_SESSION['tabInfo']['login'];
|
|
$idClient = $_SESSION['tabInfo']['idClient'];
|
|
try {
|
|
$res = $client->getPortefeuilleCsv($login, $idClient);
|
|
}
|
|
catch (SoapFault $fault)
|
|
{
|
|
echo "Erreur";
|
|
exit;
|
|
}
|
|
$url = '';
|
|
if (isset($res['result']['Url']) == true) {
|
|
$url = $res['result']['Url'];
|
|
}
|
|
FB::log($url,'URL');
|
|
//On arrete tout, il y a eu un problème
|
|
if (empty($url)){
|
|
echo 'La construction du fichier à échoué !';
|
|
exit;
|
|
}
|
|
|
|
//Récupération du fichier
|
|
require_once 'common/curl.php';
|
|
$path = PATH_SITE.'/cache/portefeuille/';
|
|
|
|
// 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
|
|
} else {
|
|
// Ecriture du fichier sur le serveur en local
|
|
$body = $url_tab['body'];
|
|
$fp = fopen($path.$file, 'w');
|
|
fwrite($fp, $body);
|
|
fclose($fp);
|
|
}
|
|
}
|
|
|
|
// Le fichier existe sur l'extranet
|
|
$content_type = 'application/csv-tab-delimited-table';
|
|
if (file_exists($path.$file)) {
|
|
if (filesize($path.$file) > 0) {
|
|
header('Content-Transfer-Encoding: none');
|
|
header('Content-type: ' . $content_type.'');
|
|
header('Content-Length: ' . filesize($path.$file));
|
|
header('Content-MD5: ' . base64_encode(md5_file($path.$file)));
|
|
header('Content-Disposition: filename="' . basename($path.$file) . '"');
|
|
header('Cache-Control: private, max-age=0, must-revalidate');
|
|
header('Pragma: public');
|
|
ini_set('zlib.output_compression', '0');
|
|
echo file_get_contents($path.$file);
|
|
} else {
|
|
echo 'Fichier vide.';
|
|
}
|
|
}
|
|
|
|
|
|
|