$siren,
'critere' => $crit, // S pour le siège ou vide avec un NIC !!!
'nic' => $nic,
'departement' => $dep,
'departement_actif' => $depActif,
'bSubmit' => 'Valider');
$page = getUrl($url, $cookie, $post, $referer, false, 'avis-situation-sirene.insee.fr', '', 7);
$body = $page['body'];
$fp=@fopen($fichier, "a");
@fwrite($fp, $body);
@fclose($fp);
if (preg_match("/
Fiche établissement<\/h3>/Uis", $body, $matches))// établissement
$tabInfos['fiche']='etab';
if (preg_match('/(.*)
/Uis', $body, $matches)) {
$tabInfos['raiSoc']=trim($matches[1]);
}
if (preg_match("/Dernière mise à jour : (.*)<\/div>/Uis", $body, $matches))
$tabInfos['dateMaj']=trim($matches[1]);
$s1=substr($siren,0,3);
$s2=substr($siren,3,3);
$s3=substr($siren,6,3);
if (preg_match('/
(?:.*)('.$s1.'(?:.*)'.$s2.'(?:.*)'.$s3.')(?:.*)('.$nic.')(?:.*)<\/div>/Uis', $body, $matches)) {
$tabInfos['siren'] = trim($matches[1]);
$tabInfos['nic'] = trim($matches[2]);
}
if (preg_match('/
Etat : <\/label>(.*)depuis le(.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['etat'] = trim($matches[1]);
$tabInfos['dateEtat']= trim($matches[2]);
}
if (preg_match('/Catégorie d\'établissement : <\/label>(.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['typeEtab']= trim($matches[1]);
}
$tabAdresse=array();
if (preg_match('/Adresse d\'implantation : <\/label>(?:.*)(.*)<\/ul>/Uis', $body, $matches)) {
$strTmp=trim($matches[1]);
$tabTmp=explode('', $strTmp);
foreach ($tabTmp as $i=>$strTmp)
$tabAdresse[$i]=trim(str_replace('','',$strTmp));
}
if (preg_match('/(?:.*)Catégorie juridique :(?:.*)<\/label>(.*) - (.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['fjCod']= trim($matches[1]);
$tabInfos['fjLib']= trim($matches[2]);
}
if (preg_match('/Activité principale exercée :(?:.*)<\/label>(.*) - (.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['nafCod']=trim($matches[1]);
$tabInfos['nafLib']=trim($matches[2]);
}
if (preg_match('/(?:.*)Tranche d'effectif(.*)<\/label>(.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['effPeriode']=trim($matches[1]);
$tabInfos['effTranche']=trim($matches[2]);
}
$strCsv=$siren.';'.$nic.';'.$tabInfos['fiche'].';'.$tabInfos['dateMaj'].';'.
$tabInfos['siren'].';'.$tabInfos['nic'].';'.$tabInfos['raiSoc'].';'.
$tabInfos['etat'].';'.$tabInfos['dateEtat'].';'.$tabInfos['fjCod'].';'.$tabInfos['fjLib'].';'.
$tabInfos['nafCod'].';'.$tabInfos['nafLib'].';'.$tabInfos['effPeriode'].';'.
$tabInfos['effTranche'].';'.
$tabInfos['typeEtab'].';'.@implode(';',@$tabAdresse).
";\n";
$fp=@fopen(PATH_LOGS."avis.csv", "a");
@fwrite($fp, $strCsv);
@fclose($fp);
// $body contient l'avis de situation au format html
$tabErreurs=array();
if (preg_match('/name="erreurs" value="(.*)" class="erreurText" readonly/Ui', $body, $matches1) ||
preg_match('/name="erreurs_bis" value="(.*)" class="erreurTextBis" readonly/Ui', $body, $matches2)) {
$tabErreurs[]=@$matches1[1];
$tabErreurs[]=@$matches2[1];
die('ERREUR '.implode(' ', $tabErreurs).' '); // Gérer le retour d'une erreur
}
usleep(round(rand(500000,1000000)));
if ($format=='pdf')
{
$referer = $url;
$url = 'http://avis-situation-sirene.insee.fr/avisitu/AvisPdf.do';
//$url='http://avis-situation-sirene.insee.fr/avisituV2/AvisPdf.do';
$post = array(
'siren'=>$siren,
'nic'=>$nic,
'bSubmit'=>'Avis+de+Situation'
);
$page = getUrl($url, $cookie, $post, $referer, false, 'avis-situation-sirene.insee.fr', '', 7);
$body = $page['body'];
$fp = @fopen($fichier, "w");
@fwrite($fp, $body);
@fclose($fp);
//@exec("/var/www/site_extranet/www/pdf/pdftohtml -xml $fichier");
} // Fin format PDF
}
else
{
$body = false;
}
return $body;
} // Fin erreur initialisation
} // Fin fichier disponible
}
$body = getAvisSituation($siret, 'pdf', 1);
if($body !== false)
{
header("Pragma: public");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate");
header("Content-type: application/pdf");
header("Content-Length: ".strlen($body));
header('Content-disposition: inline; filename="avis-'.$siret.'.pdf"');// attachement or inline
header("Accept-Ranges: ".strlen($body));
echo $body;
$client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1,
'location' => WEBSERVICE_URL,
'uri' => WEBSERVICE_URI,
'login' => $_SESSION['tabInfo']['login'],
'password' => $_SESSION['tabInfo']['password']));
$O = $client->setLog('avis_situation'.$vue, $siret, 0, $option);
}
else
{
//Envoi mail erreur
mail( 'support@scores-decisions.com',"Avis Situation INSEE",
'Accès impossible au site de situation INSEE : '.$_REQUEST['siren'].EOL.
'http://avis-situation-sirene.insee.fr'.EOL.
'pour login '.$_SESSION['tabInfo']['login'].EOL
);
//Affichage message d'erreur
echo 'Le site partenaire n\'a pas répondu correctement ou est indisponible. Merci d\'essayer à nouveau ultérieurement. ';
}
}
?>