path)) mkdir($this->path); require_once 'common/curl.php'; // Recuperation du nom du fichier if ($filename===null) { $tableau = explode('/', $url); $file = $tableau[sizeof($tableau) - 1]; } else { $file = $filename; } // Suppression du fichier si le temps de cache est depasse if (file_exists($this->path.'/'.$file)){ $dateFile = filemtime($this->path.'/'.$file); $now = mktime(date('G'), date('i'), date('s'), date('m') , date('d'), date('Y')); $maxTime = mktime(date('G',$dateFile)+$this->filetime, date('i',$dateFile), date('s',$dateFile), date('m',$dateFile), date('d',$dateFile), date('Y',$dateFile)); if ($maxTime-$now<0) { unlink($this->path.'/'.$file); } } // Recuperation du fichier sur le serveur if (!file_exists($this->path.'/'.$file)) { // On check si le fichier est present sur l'url Zend_Registry::get('firebug')->info('URL : '.$url); $url_tab = getUrl($url, '', '', '', false); if ($url_tab['code'] == 408 || $url_tab['code'] == 400 || $url_tab['code'] == 404) { // Fichier non disponible Zend_Registry::get('firebug')->info('Fichier non disponible !'); return false; } else { // Ecriture du fichier sur le serveur en local $body = $url_tab['body']; Zend_Registry::get('firebug')->info('Taille fichier '.strlen($body)); if ( strlen($body) ) { $fp = fopen($this->path.'/'.$file, 'w'); fwrite($fp, $body); fclose($fp); Zend_Registry::get('firebug')->info('Ecriture fichier : '.$this->path.'/'.$file); } } } return $file; } public function init() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $c = Zend_Registry::get('config'); $this->path = $c->profil->path->files; require_once 'Scores/WsScores.php'; } /** * Télécharge la consommation client sous forme de fichier csv et affiche le lien */ public function consommationAction() { $this->filetime = 1; $request = $this->getRequest(); $start = $request->getParam('start', false); //On souhaite récupérer l'url du fichier if ($start==1) { $mois = $request->getParam('mois'); $detail = $request->getParam('detail', 0); $idClient = $request->getParam('idClient', 0); $login = $request->getParam('login', ''); $all = $request->getParam('all', 0); $date = substr($mois, 3, 4).substr($mois, 0, 2); $user = new Scores_Utilisateur(); if (empty($login) && (!$user->isAdmin() && !$user->isSuperAdmin()) ) { $login = $user->getLogin(); } $ws = new WsScores(); $reponse = $ws->getLogsClients($date, $detail, $idClient, $login, $all); if (!empty($reponse->result->Url)) { echo $reponse->result->Url; } else { echo 'FALSE'; } } else { $url = $request->getParam('url', ''); $file = $this->getFile($url); // Le fichier existe sur l'extranet if ($file && file_exists($this->path.'/'.$file)) { if (filesize($this->path.'/'.$file) > 0) { echo 'Cliquez-ici pour télécharger'. ' le fichier.'; } else { echo 'Aucune consommmation enregistrée.'; } } } } /** * Télécharge les surveillances sous forme de fichier csv et affiche le lien */ public function surveillanceAction() { $this->filetime = 4; $request = $this->getRequest(); $start = $request->getParam('start', false); if ($start==1) { $source = $request->getParam('source', ''); $user = new Scores_Utilisateur(); $login = $user->getLogin(); $idClient = $user->getIdClient(); $ws = new WsScores(); $reponse = $ws->getListeSurveillancesCsv($source, $login, $idClient); if (!empty($reponse->result->Url)) { echo $reponse->result->Url; exit; } echo 'FALSE'; exit; } else { $url = $request->getParam('url', ''); $file = $this->getFile($url); // Le fichier existe sur l'extranet if ($file && file_exists($this->path.'/'.$file)) { if (filesize($this->path.'/'.$file) > 0) { echo 'Cliquez-ici pour télécharger'. ' le fichier.'; } else { echo 'Aucune surveillance enregistrée.'; } } exit; } } /** * Télécharge le portefeuille sous forme de fichier csv et affiche le lien * Enter description here ... */ public function portefeuilleAction() { $this->filetime = 4; $request = $this->getRequest(); $start = $request->getParam('start', false); if ($start==1) { $user = new Scores_Utilisateur(); $login = $user->getLogin(); $idClient = $user->getIdClient(); $ws = new WsScores(); $reponse = $ws->getPortefeuilleCsv($login, $idClient); if (!empty($reponse->result->Url)) { echo $reponse->result->Url; exit; } echo 'FALSE'; exit; } else { $url = $request->getParam('url', ''); $file = $this->getFile($url); // Le fichier existe sur l'extranet if ($file && file_exists($this->path.'/'.$file)) { if (filesize($this->path.'/'.$file) > 0) { echo 'Cliquez-ici pour télécharger'. ' le fichier.'; } else { echo 'Aucune surveillance enregistrée.'; } } exit; } } /** * Download pdf of bodacc history */ public function histopdfAction() { $request = $this->getRequest(); $q = $request->getParam('q', ''); $host = base64_decode($request->getParam('host', '')); //Authenticate info $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $authinfo = '/login/'.$identity->username.'/hach/'.$identity->password; $url = $host.$authinfo.'/q/'.$q; Zend_Registry::get('firebug')->info($url); $file = $this->getFile($url, uniqid('histo-').'.pdf'); // Le fichier existe sur l'extranet if ($file && file_exists($this->path.'/'.$file)) { if (filesize($this->path.'/'.$file) > 0) { echo 'Cliquez-ici pour télécharger'. ' le fichier.'; } else { echo "Erreur lors du téléchargement du fichier."; } } } /** * Download bilan pdf file */ public function bilanAction() { $this->filetime = 40; $request = $this->getRequest(); $siren = $request->getParam('siren'); $dateCloture = $request->getParam('dateCloture'); $reference = $request->getParam('reference'); //Récupération du l'URL require_once 'Scores/WsScores.php'; $ws = new WsScores(); $url = $ws->getPiecesBilan($siren, 'T', $dateCloture, $reference); //Téléchargement if( $url !== false) { Zend_Registry::get('firebug')->info($url); $file = $this->getFile($url); Zend_Registry::get('firebug')->info('File:'.$this->path.'/'.$file); // Le fichier existe sur l'extranet if ($file && file_exists($this->path.'/'.$file)) { if (filesize($this->path.'/'.$file) > 0) { echo '
Cliquez-ici pour télécharger'. ' le fichier.'; } else { echo "
Erreur lors du téléchargement du fichier."; } } } else { echo "
Erreur."; } } }