diff --git a/library/WsScore/Pieces/v0.1/Pieces.php b/library/WsScore/Pieces/v0.1/Pieces.php index 96fb40e1..338e5701 100644 --- a/library/WsScore/Pieces/v0.1/Pieces.php +++ b/library/WsScore/Pieces/v0.1/Pieces.php @@ -10,7 +10,7 @@ class Pieces extends WsScore * @param string $options * @return string */ - public function getKbis($siren, $options = '') + public function getKbis($siren, $options = '') { $this->authenticate(); @@ -30,52 +30,61 @@ class Pieces extends WsScore //Le fichier existe avec une date de validité inférieure à 1 jour $filepdf = DOC_WEB_LOCAL.'kbis/'.$siren.'.pdf'; - if ( file_exists($filepdf) && date('Ymd', filemtime($filepdf))==date('Ymd') ) { + if ( file_exists($filepdf) && date('Ymd', filemtime($filepdf))==date('Ymd') ) { $this->wsLog('kbis', $siren, basename($filepdf)); return $hostname.'/data/kbis/'.basename($filepdf); - } else { + } else { $file = null; //On vérifie quand même si il n'existe pas une commande en html $dir = DOC_WEB_LOCAL.'kbis/'.date('Ymd'); if (file_exists($dir)) { - foreach ( glob($dir.'/'.$siren.'-*.html') as $file ) { + foreach ( glob($dir.'/'.$siren.'-*.html') as $file ) { break; } } if (empty($file)) { - //Téléchargement du KBIS - $result = exec('php '.APPLICATION_PATH.'/../batch/getKbis.php --siren '.$siren); - if ( $result=='ERREUR' ) { + //Téléchargement du KBIS + $result = exec('php '.APPLICATION_PATH.'/../batch/getKbis.php --siren '.$siren); + //@todo : si $result est une chaine qui se termine par ".html" + if (substr($result,-5)=='.html') + { + $file = DOC_WEB_LOCAL.'kbis/'.date('Ymd').'/'.$result; + $this->wsLog('kbis', $siren, $result); + } + elseif ( $result!='ERREUR') + { + throw new SoapFault('MSG',$result); + } + else + { $text = 'La récupération du KBIS a échoué sur le siren : '.$siren; sendMail( - 'production@scores-decisions.com', - 'supportdev@scores-decisions.com', - '[ERREUR KBIS]', - $text); + 'production@scores-decisions.com', + 'supportdev@scores-decisions.com', + '[ERREUR KBIS]', + $text); throw new SoapFault('0000',"Erreur récupération du kbis"); - } - $file = DOC_WEB_LOCAL.'kbis/'.date('Ymd').'/'.$result; - $this->wsLog('kbis', $siren, $result); + } } else { $this->wsLog('kbis', $siren, basename($file)); - } + } //Génération du PDF require_once 'wkhtmltopdf/wkhtmltopdf.php'; $pdf = new wkhtmltopdf(); - $fileOut = $pdf->exec($file, $filepdf); + $fileOut = $pdf->exec($file, $filepdf); if ( !file_exists($filepdf) ) { - throw new SoapFault('0000',"Fichier PDF introuvable"); + throw new SoapFault('0000',"Fichier PDF introuvable"); } return $hostname.'/data/kbis/'.basename($filepdf); - } + } } } \ No newline at end of file