extranet/www/pages/avis.php

196 lines
7.2 KiB
PHP
Raw Normal View History

<?php
if (!$_SESSION['connected'])
echo ('Vous devez <20>tre connect<63> afin de pouvoir utiliser cette fonctionnalit<69>');
else
{
$eol="\n";
2009-07-21 07:17:54 +00:00
require_once 'common/curl.php';
$siret=$_REQUEST['siret'];
/*
$con = mysql_pconnect('localhost', 'root', 'catsysyo92');
if (!($con === false)) {
if (mysql_select_db('jo', $con) === false)
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n<>'. mysql_errno() .') : '. mysql_error() . $eol;
}
2009-07-21 07:17:54 +00:00
else
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n<>'. mysql_errno() .') : '. mysql_error(). $eol;
*/
/**
* Enter description here...
*
* @param integer $siret Siren ou Siret de l'<EFBFBD>tablissment
* @param string $format Format 'pdf' ou 'array'
* @param boolean $force True aller obligatoirement le chercher <EFBFBD> l'insee
* @return string Le PDF demand<EFBFBD>
*/
function getAvisSituation($siret, $format='pdf', $force=0) {
$force=$force*1;
$date=date('Ymd');
$siren=trim(substr($siret,0,9));
$nic=trim(substr($siret,9,5));
2009-03-02 11:27:23 +00:00
$fichier = PATH_DATA.'/pdf/avis-'.$siren.'-'.$nic.'-'.$date.'.pdf';
if ($format<>'pdf') return 'Format pdf uniquement';
if ($force==0 && file_exists($fichier)) {
// On d<>livre l'avis en base
$body=file_get_contents($fichier);
} else {
2009-07-21 07:17:54 +00:00
/** Initialisation de la session sur le site de l'Insee
**/
$url='http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp';
//http://avis-situation-sirene.insee.fr/avisituV2/jsp/avis.jsp';
$referer=$cookie='';
$page=getUrl($url, $cookie, '', $referer, false, 'avis-situation-sirene.insee.fr', '', 7);
$referer=$url;
$body=$page['body'];
$fp=@fopen($fichier, "a");
@fwrite($fp, $body);
@fclose($fp);
2009-07-21 07:17:54 +00:00
$cookie=$page['header']['Set-Cookie'];
usleep(round(rand(500000,2000000)));
2009-07-21 07:17:54 +00:00
$dep=$depActif='';
if ($nic=='') $crit='S'; // l'<27>tablissement si<73>ge
2009-07-21 07:17:54 +00:00
else $crit=''; // <20>tablissement particulier, saisissez le NIC
/* $crit='T'; // tous les <20>tablissements de l'entreprise
$crit='T'; // tous les <20>tablissements de l'entreprise du d<>partement $dep
$crit='A'; // tous les <20>tablissements actifs de l'entreprise
$crit='A'; // tous les <20>tablissements actifs de l'entreprise du d<>partement $depActif
*/
$url='http://avis-situation-sirene.insee.fr/avisitu/IdentificationListeSiret.do';
//$url='http://avis-situation-sirene.insee.fr/avisituV2/IdentificationDetailEtab.do';
$post=array('siren'=>$siren,
'critere'=>$crit, // S pour le si<73>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);
2009-07-21 07:17:54 +00:00
if (preg_match("/<h3>Fiche <20>tablissement<\/h3>/Uis", $body, $matches))//<li class="ongletActif">&eacute;tablissement</li>
$tabInfos['fiche']='etab';
if (preg_match('/<div class="TitreGauche">(.*)<br\/>/Uis', $body, $matches)) {
$tabInfos['raiSoc']=trim($matches[1]);
}
2009-07-21 07:17:54 +00:00
if (preg_match("/Derni&egrave;re mise &agrave; 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('/<div class="TitreDroite">(?:.*)('.$s1.'(?:.*)'.$s2.'(?:.*)'.$s3.')(?:.*)('.$nic.')(?:.*)<\/div>/Uis', $body, $matches)) {
$tabInfos['siren'] = trim($matches[1]);
$tabInfos['nic'] = trim($matches[2]);
2009-07-21 07:17:54 +00:00
}
if (preg_match('/<label id="labelFiche">Etat : <\/label>(.*)depuis le(.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['etat'] = trim($matches[1]);
$tabInfos['dateEtat']= trim($matches[2]);
}
if (preg_match('/<label id="labelFiche">Cat&eacute;gorie d\'&eacute;tablissement : <\/label>(.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['typeEtab']= trim($matches[1]);
}
$tabAdresse=array();
if (preg_match('/<label id="labelFiche">Adresse d\'implantation : <\/label>(?:.*)<ul id="adresse">(.*)<\/ul>/Uis', $body, $matches)) {
$strTmp=trim($matches[1]);
$tabTmp=explode('</li>', $strTmp);
foreach ($tabTmp as $i=>$strTmp)
$tabAdresse[$i]=trim(str_replace('<li>','',$strTmp));
}
if (preg_match('/<label id="labelFiche">(?:.*)Cat<61>gorie juridique :(?:.*)<\/label>(.*) - (.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['fjCod']= trim($matches[1]);
$tabInfos['fjLib']= trim($matches[2]);
}
if (preg_match('/<label id="labelFiche">Activit<69> principale exerc<72>e :(?:.*)<\/label>(.*) - (.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['nafCod']=trim($matches[1]);
$tabInfos['nafLib']=trim($matches[2]);
}
if (preg_match('/<label id="labelFiche">(?:.*)Tranche d&#39;effectif(.*)<\/label>(.*)<\/p>/Uis', $body, $matches)) {
$tabInfos['effPeriode']=trim($matches[1]);
$tabInfos['effTranche']=trim($matches[2]);
}
2009-07-21 07:17:54 +00:00
$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);
/*
<div class="contenu" id="etab1">
<fieldset id="fieldsetCacheFonce">
2009-07-21 07:17:54 +00:00
*/
// $body contient l'avis de situation au format html
2009-07-21 07:17:54 +00:00
$tabErreurs=array();
2009-07-21 07:17:54 +00:00
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('<font color="red">ERREUR '.implode(' ', $tabErreurs).'</font>'); // G<>rer le retour d'une erreur
}
usleep(round(rand(500000,1000000)));
2009-07-21 07:17:54 +00:00
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");
}
}
2009-07-21 07:17:54 +00:00
return $body;
}
$body=getAvisSituation($siret, 'pdf', 1);
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
2009-07-21 07:17:54 +00:00
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);
}
?>