81 lines
2.2 KiB
PHP
81 lines
2.2 KiB
PHP
<?php
|
|
require_once 'WsScore/WsScore.php';
|
|
require_once realpath(dirname(__FILE__)).'/Types.php';
|
|
|
|
class Pieces extends WsScore
|
|
{
|
|
/**
|
|
* Récupération d'un kbis
|
|
* @param string $siren
|
|
* @param string $options
|
|
* @return string
|
|
*/
|
|
public function getKbis($siren, $options = '')
|
|
{
|
|
$this->authenticate();
|
|
|
|
$this->permission('KBIS');
|
|
|
|
//Vérification du siren
|
|
if (intval($siren)==0) {
|
|
$this->sendError('1010');
|
|
} elseif (strlen($siren)!=9) {
|
|
$this->sendError('1020');
|
|
}
|
|
|
|
$hostname = 'http://'.$_SERVER['SERVER_NAME'];
|
|
if ($_SERVER['SERVER_PORT']!='80'){
|
|
$hostname.= ':'.$_SERVER['SERVER_PORT'];
|
|
}
|
|
|
|
//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') ) {
|
|
|
|
$this->wsLog('kbis', $siren, basename($filepdf));
|
|
|
|
return $hostname.'/data/kbis/'.basename($filepdf);
|
|
|
|
} 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 ) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (empty($file)) {
|
|
//Téléchargement du KBIS
|
|
$result = exec('php '.APPLICATION_PATH.'/../batch/getKbis.php --siren '.$siren);
|
|
if ( $result=='ERREUR' ) {
|
|
$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);
|
|
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);
|
|
|
|
if ( !file_exists($filepdf) ) {
|
|
throw new SoapFault('0000',"Fichier PDF introuvable");
|
|
}
|
|
return $hostname.'/data/kbis/'.basename($filepdf);
|
|
}
|
|
}
|
|
|
|
} |