extranet/www/pages/inpi.php
Michael RICOIS 8847079109 Modification liens
Intégration include_path (prepend.php)
2009-02-20 13:04:46 +00:00

464 lines
18 KiB
PHP

<?php
$tabErreurInpi=array(
0=>"Aucune erreur",
10=>"Erreur de protocole avec système distant",
11=>"Système distant inaccessible",
101=>"Type de requête invalide",
102=>"Code d'erreur appelant invalide",
103=>"Identification non reconnue",
107=>"Date invalide",
108=>"Heure invalide",
110=>"Code produit inconnu",
115=>"Numéro de champ invalide",
116=>"Longueur de champ invalide",
121=>"Code de protocole invalide",
122=>"Code base de données invalide",
900=>"Erreur applicative",
990100=>"+ de 50 entreprises trouvées",
990101=>"Recherche complexe",
990102=>"Critères saisis insuffisants",
990103=>"Requête trop imprécise",
990104=>"Dénomination non significative",
990105=>"Critère commune non générall",
990106=>"Critère voie trop général",
990107=>"Commune obligatoire avec rue",
990108=>"Commune non identifiée",
990109=>"Entreprise non identifiée",
990110=>"Erreur système",
990111=>"Devise incorrecte",
990112=>"Autre erreur",
990113=>"Donnée incorrecte",
990114=>"Valeur incohérente",
990115=>"Surveillance impossible",
990116=>"Entreprise non surveillée",
990117=>"Entreprise déjà surveillée",
990118=>"Produit indisponible",
990119=>"Erreur base de données",
990120=>"Erreur facturation",
);
include_once(FWK_PATH.'/common/curl.php');
if (!$_SESSION['connected'])
echo ('Vous devez être connecté afin de pouvoir utiliser cette fonctionnalité');
else { // On est bien connecté
define('RNCS_WS_URL', 'http://www.services.ort.fr/ProtocoleRNCS/access');
define('RNCS_WS_USER', '167260');
define('RNCS_WS_PASS', '100356');
$cmdPages=$cmdNom='';
if (isset($_REQUEST['pages'])) $cmdPages=$_REQUEST['pages'];
if (isset($_REQUEST['nom'])) $cmdNom=$_REQUEST['nom'];
if (isset($_REQUEST['vue'])) $vue=$_REQUEST['vue'];
if ($vue=='bilans') $presta='12004';
else $presta='12003';
if ($cmdNom && $cmdPages) $type='QDOC';
else $type='QVIT';
$prod=array('Type'=>$type,
'Presta'=>$presta,
'Num'=>'2',//2,
'Ver'=>'2',//2,
'Siren'=>$siren,
'CmdNom'=>$cmdNom,
'CmdPages'=>$cmdPages,
'CmdBilan'=>'',
);
$ref='';
$req='<?xml version="1.0" ?>'. "\n".
'<ort:message xmlns:ort="http://www.ort.fr/NEWPORT/V2">'. "\n".
' <ort:_1 type="110">'. "\n".
' <ort:_7 type="010">NPORT</ort:_7>'. "\n".
' <ort:_8 type="010">2</ort:_8>'. "\n". // Version du protocole
' <ort:_9 type="010">1</ort:_9>'. "\n". // Version du dictionnaire
' <ort:_10 type="010">1</ort:_10>'. "\n". // Code protocole/version application
' <ort:_11 type="010">PROTORNCS</ort:_11>'. "\n".
' <ort:_12 type="010">'.$prod['Type'].'</ort:_12>'. "\n". // Prestation souhaitée QVIT / QDOC
' <ort:_13 type="010">0</ort:_13>'. "\n". // Code retour/erreur
' <ort:_14 type="010">'.RNCS_WS_USER.RNCS_WS_PASS.'</ort:_14>'."\n". // User Password concaténés
' <ort:_15 type="010">'.$ref.'</ort:_15>'. "\n". // Réf.
' <ort:_16 type="010">'.date('Ymd').'</ort:_16>'. "\n". // Date SSAAMMJJ
' <ort:_17 type="010">'.date('His').'</ort:_17>'. "\n". // Heure HHMMSS
' <ort:_19 type="010">ORT</ort:_19>'. "\n".
' </ort:_1>'. "\n".
' <ort:_2 type="110">'. "\n".
' <ort:_1 type="110">'. "\n".
' <ort:_26 type="010"></ort:_26>'. "\n". // Type de produit (vide pour QVIT)
' <ort:_27 type="010">'.$prod['Num'].'</ort:_27>'. "\n". // Numéro de produit souhaité 1 2
' <ort:_28 type="010">'.$prod['Ver'].'</ort:_28>'. "\n". // Version du produit 3 2
' <ort:_31 type="010"></ort:_31>'. "\n". // Code prestation (vide pour QVIT)
' </ort:_1>'. "\n";
if ($prod['CmdNom'] && $prod['CmdPages']) {
$req.='
<ort:_2 type="110">
<ort:_100 type="111">
<ort:_101 type="110">
<ort:_120000031 type="010">'.$prod['Presta'].'</ort:_120000031>
<ort:_100700010 type="010">FTP</ort:_100700010>
<ort:_100701000 type="010">NTIF</ort:_100701000>
<ort:_120000015 type="010" />
</ort:_101>
</ort:_100>
<ort:_200 type="111">
<ort:_210 type="110">
<ort:_130000001 type="010">'.$prod['Siren'].'</ort:_130000001>
<ort:_103000402 type="010">'.$prod['CmdNom'].'</ort:_103000402>
<ort:_103000403 type="010">'.$prod['CmdPages'].'</ort:_103000403>
<ort:_190000025 type="010">'.$prod['CmdBilan'].'</ort:_190000025>
</ort:_210>
</ort:_200>
</ort:_2>'; //
} else {
$req.=' <ort:_2 type="110">
<ort:_130000001 type="010">'.$prod['Siren'].'</ort:_130000001>
<ort:_120000031 type="010">'.$prod['Presta'].'</ort:_120000031>
</ort:_2>';// 12003 Actes et statuts 12004 Bilans
}
$req.=' </ort:_2>
</ort:message>';
//echo $req.'<hr/>';
$postData=array(''=>$req);
$cookie=$referer='';
if ( (!$cmdNom && !$cmdPages) ||
($cmdNom && $cmdPages && !file_exists(realpath(dirname(__FILE__) . '/../pdf/rncs-$siren-$cmdNom-$cmdPages.pdf')))
) {
$page=getUrl(RNCS_WS_URL, $cookie, $postData, $referer, false, 'www.services.ort.fr');
//print_r($page);
$body=$page['body'];
} else {
$body='';
}
/**
** ERREUR PROTOCOL
**/
preg_match('/<ort:_13 type="020">(.*)<\/ort:_13>/Uis',$body, $matches);
if ($matches[1]*1<>0) {
$errNumInpi=$matches[1];
$errMsgInpi=$tabErreurInpi[$errNumInpi];
echo "<!-- ERREUR INPI 13 n°$errNumInpi = $errMsgInpi !!! -->\n";
}
/**
** ERREUR APPLICATIVES NUMERIQUES
**/
preg_match('/<ort:_96 type="020">(.*)<\/ort:_96>/Uis',$body, $matches);
if ($matches[1]*1<>0) {
$errNumInpi=$matches[1];
$errMsgInpi=$tabErreurInpi[$errNumInpi];
echo "<!-- ERREUR INPI 96 n°$errNumInpi = $errMsgInpi !!! -->\n";
}
/**
** ERREUR APPLICATIVES TEXTE
**/
preg_match('/<ort:_97 type="010">(.*)<\/ort:_97>/Uis',$body, $matches);
if ($matches[1]*1<>0) {
$errMsgInpi=$matches[1];
echo "<!-- ERREUR INPI 97 : $errMsgInpi !!! -->\n";
}
/*
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2"class="StyleInfoData"><font color="Red"><b><? if ($errNum<>17) { echo "Erreur N&deg;$errNum - "; }?><?=$tabErrInfoGref[$errNum]?><!--<?=$errMsg?>--></b></font></td>
</tr>
*/
$client2 = 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']));
if ($vue=='bilans')
$pregmatch=preg_match_all('/<ort\:_201 type="110">(?:.*)<ort\:_103000040 type="010">(.*)<\/ort:_103000040>(?:.*)<ort\:_103000452 type="010">(.*)<\/ort:_103000452>(?:.*)<ort\:_103000402 type="010">(.*)<\/ort:_103000402>(?:.*)<ort\:_103000403 type="010">(.*)<\/ort:_103000403>(?:.*)<ort\:_103000404 type="010">(.*)<\/ort:_103000404>(?:.*)<\/ort:_201>/Uis',$body, $matches);
else
$pregmatch=preg_match_all('/<ort\:_201 type="110">(?:.*)<ort\:_103000452 type="010">(.*)<\/ort:_103000452>(?:.*)<ort\:_103000402 type="010">(.*)<\/ort:_103000402>(?:.*)<ort\:_103000403 type="010">(.*)<\/ort:_103000403>(?:.*)<ort\:_103000404 type="010">(.*)<\/ort:_103000404>(?:.*)<\/ort:_201>/Uis',$body, $matches);
$O2 = $client2->setLog('inpi_'.$vue, $siret, 0, trim($cmdNom.' '.$cmdPages));
/*
<ort:_2 type="110">
<ort:_200 type="111">
<ort:_201 type="110">
<ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2004</ort:_103000452>
<ort:_103000402 type="010">40530295104121BL6852</ort:_103000402>
<ort:_103000403 type="010">2</ort:_103000403>
<ort:_103000404 type="010">bilan (actif + passif + compte de résultat)</ort:_103000404>
</ort:_201>
<ort:_201 type="110">
<ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2004</ort:_103000452>
<ort:_103000402 type="010">40530295104121GS6852</ort:_103000402>
<ort:_103000403 type="010">2</ort:_103000403>
<ort:_103000404 type="010">rapport de gestion</ort:_103000404>
</ort:_201>
<ort:_201 type="110">
<ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2004</ort:_103000452>
<ort:_103000402 type="010">40530295104121??6852</ort:_103000402>
<ort:_103000403 type="010">22</ort:_103000403>
<ort:_103000404 type="010">Comptes annuels complets</ort:_103000404>
</ort:_201>
<ort:_201 type="110">
<ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2003</ort:_103000452>
<ort:_103000402 type="010">40530295103121BL6852</ort:_103000402>
<ort:_103000403 type="010">2</ort:_103000403>
<ort:_103000404 type="010">bilan (actif + passif + compte de résultat)</ort:_103000404>
</ort:_201>
<ort:_201 type="110">
<ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2003</ort:_103000452>
<ort:_103000402 type="010">40530295103121GS6852</ort:_103000402>
<ort:_103000403 type="010">2</ort:_103000403>
<ort:_103000404 type="010">rapport de gestion</ort:_103000404>
</ort:_201>
<ort:_201 type="110">
<ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2003</ort:_103000452>
<ort:_103000402 type="010">40530295103121??6852</ort:_103000402>
<ort:_103000403 type="010">23</ort:_103000403>
<ort:_103000404 type="010">Comptes annuels complets</ort:_103000404>
</ort:_201>
</ort:_200>
*/
if ($origine=='G' && count($matches[0])==0)
$vecteurTinit=true;
else {
?>
<script language="javascript">
function ajax()
{
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function() { alert_ajax(xhr); };
////on affiche le message d'acceuil
//document.getElementById("message").className="tumevois";
//on appelle le fichier reponse.txt
xhr.open("GET", "/?page=attente&siret=<?=$siret?>&ref=rncs-<?=$cmdNom?>-<?=$cmdPages?>", true);
xhr.send(null);
}
function alert_ajax(xhr)
{
if (xhr.readyState==4)
{
document.getElementById("attente").className="attenteCachee";
document.getElementById("lien").className="attenteVisible";
if (xhr.responseText*1<0) alert('Erreur n°'+xhr.responseText+' lors du téléchargement du document.\nMerci de réessayer plus tard !');
/*
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("level")
//on fait juste une boucle sur chaque element "donnee" trouvé
for (i=0;i<items.length;i++)
{
alert (items.item(i).firstChild.data);
}
*/
}
}
</script>
<? if ($errNum==0) { ?>
<table width="580" border="0" align="left" bgcolor="#FFFFFF">
<tr>
<td colspan="3" align="center"><img src="./img/rub_pieces.png" width="577" height="36" /></td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Num&eacute;ro identifiant Siren</td>
<td width="350" class="StyleInfoData"><?=substr($siren,0,3).' '.substr($siren,3,3).' '.substr($siren,6,3)?></td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Raison Sociale</td>
<td width="350" class="StyleInfoData"><?=$raisonSociale?></td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<? }
if ($vue=='bilans') { // Début BILANS
if ($errNum==0) {
?>
<tr>
<td colspan="3"><img src="./img/srub_comptes_ann.png" width="576" height="27" /></td>
</tr>
<? }
if (!$cmdNom && $pregmatch) {
?>
<tr>
<td width="580" colspan="3">
<table style="width:530px;margin-top:5px;margin-bottom:5px;margin-left:10px;margin-right:10px" class="table-classic"><tr class="titre"><td class="titre" style="width:70px">Date</td><td align="center" class="titre" style="width:260px">Type</td><td align="center" class="titre" style="width:200px">D&eacute;cisions</td></tr>
<?php
foreach ($matches[0] as $k=>$acte) {
/* <ort:_103000040 type="010">SS</ort:_103000040>
<ort:_103000452 type="010">31/12/2003</ort:_103000452>
<ort:_103000402 type="010">40530295103121??6852</ort:_103000402>
<ort:_103000403 type="010">23</ort:_103000403>
<ort:_103000404 type="010">Comptes annuels complets</ort:_103000404>
*/
$dateAff=$matches[2][$k];
$acte=array();
$acte['type']=$matches[5][$k].' ('.$matches[1][$k].')';
$acte['decisions']=$matches[4][$k].' page';
if ($matches[4][$k]>1) $acte['decisions'].='s';
$acte['depot_num']=$matches[3][$k];
$cmdNom=$matches[3][$k];
$cmdPages=$matches[4][$k];
if (file_exists(realpath(dirname(__FILE__) . '/../pdf/rncs-$siren-$cmdNom-$cmdPages.pdf'))) {
$alt="Cliquez ici pour télécharger instantanément le document correspondant";
$pdf='<img src="/img/icone_pdf.gif" />';
} else {
$alt="Téléchargement long (entre 1 et 15 minutes) !";
$pdf='<img src="/img/icone_pdf_wait2.png" />';
}
?>
<tr class="ligne"><td style="width:13%" class="titre"><?=$dateAff?></td><td style="width:48%;text-align:center" class="std"><a title="<?=$alt?>" href="/?page=greffes&siret=<?=$siret?>&nom=<?=$cmdNom?>&pages=<?=$cmdPages;
/* if ($errNum<>0)*/ echo '&vue=rcs'; ?>"><u><?=$acte['type']?></u>&nbsp;<?=$pdf?></a></td><td style="width:39%" class="last"><?=$acte['decisions']; if (trim($acte['decisions'])<>'') echo '<br/>';?>Dépôt numéro
<?=$acte['depot_num']?></td></tr><?
}
echo '</table>';
} elseif ($cmdNom && $cmdPages) {
if (!file_exists(realpath(dirname(__FILE__) . '/../pdf/rncs-$siren-$cmdNom-$cmdPages.pdf'))) {
?>
<script language="javascript">ajax();</script>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData"><div class="attenteVisible" id="attente">Votre commande est prise en compte. Veuillez Patienter... <img src="/img/ajax/1-1.gif"/></div><br/><div class="attenteCachee" id="lien"><u><a title="Cliquez ici pour visualiser le document" target="_blank" href="/?page=actes&siret=<?=$siret?>&ref=rncs-<?=$cmdNom?>-<?=$cmdPages?>">Visualiser le document <img src="/img/icone_pdf.gif" /></a></u></div></td>
</tr>
<? } else { ?>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData"><u><a title="Cliquez ici pour visualiser le document" target="_blank" href="/?page=actes&siret=<?=$siret?>&ref=rncs-<?=$cmdNom?>-<?=$cmdPages?>">Visualiser le document <img src="/img/icone_pdf.gif" /></a></u></td>
</tr>
<?
$message='Commande RNCS';
mail( 'ylenaour@scores-decisions.com',"Commande de bilans RNCS pour $siren",
'REQUEST='.EOL.print_r($_REQUEST,true).'EOL'.
'SERVER='.EOL.print_r($_SERVER,true).'EOL'.
'SESSION='.EOL.print_r($_SESSION,true).'EOL'.
'ENV='.EOL.print_r($_ENV,true).'EOL'.
'tabInfo='.print_r($tabInfo,true));
}
} else {
?>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData">Aucun bilan n'a &eacute;t&eacute; d&eacute;p&ocirc;s&eacute; pour cette entreprise.</td>
</tr>
<?
}
} // Fin BILANS
else { // Début ACTES
if ($errNum==0) {
?>
<tr>
<td colspan="3"><img src="./img/srub_actes.png" width="576" height="27" /></td>
</tr>
<?
}
if (!$cmdNom && $pregmatch) {
?>
<tr>
<td width="580" colspan="3">
<table style="width:530px;margin-top:5px;margin-bottom:5px;margin-left:10px;margin-right:10px" class="table-classic"><tr class="titre"><td class="titre" style="width:70px">Date</td><td align="center" class="titre" style="width:260px">Type</td><td align="center" class="titre" style="width:200px">D&eacute;cisions</td></tr>
<?php
foreach ($matches[0] as $k=>$acte) {
$dateAff=$matches[1][$k];
$acte=array();
$acte['type']= strtr($matches[4][$k], array(' - '=>'<br/>'));
$acte['decisions']=$matches[3][$k].' page';
if ($matches[3][$k]>1) $acte['decisions'].='s';
$acte['depot_num']=$matches[2][$k];
$cmdNom=$matches[2][$k];
$cmdPages=$matches[3][$k];
if (file_exists(realpath(dirname(__FILE__) . '/../pdf/rncs-$siren-$cmdNom-$cmdPages.pdf'))) {
$alt="Cliquez ici pour télécharger instantanément le document correspondant";
$pdf='<img src="/img/icone_pdf.gif" />';
} else {
$alt="Téléchargement long (entre 1 et 15 minutes) !";
$pdf='<img src="/img/icone_pdf_wait2.png" />';
}
?>
<tr class="ligne"><td style="width:13%" class="titre"><?=$dateAff?></td><td style="width:48%;text-align:center" class="std"><a title="<?=$alt?>" href="/?page=greffes&siret=<?=$siret?>&nom=<?=$matches[2][$k]?>&pages=<?=$matches[3][$k];
/* if ($errNum<>0)*/ echo '&vue=rcs'; ?>"><u><?=$acte['type']?></u>&nbsp;<?=$pdf?></a></td><td style="width:39%" class="last"><?=$acte['decisions']; if (trim($acte['decisions'])<>'') echo '<br/>';?>Dépôt numéro
<?=$acte['depot_num']?><!-- du <?=WDate::dateT('Y-m-d','d/m/Y', $acte['depot_date'])?>--></td></tr><?
}
echo '</table>';
} elseif ($cmdNom && $cmdPages) {
if (!file_exists(realpath(dirname(__FILE__) . '/../pdf/rncs-$siren-$cmdNom-$cmdPages.pdf'))) {
?>
<script language="javascript">ajax();</script>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData"><div class="attenteVisible" id="attente">Votre commande est prise en compte. Veuillez Patienter... <img src="/img/ajax/1-1.gif"/></div><br/><div class="attenteCachee" id="lien"><u><a title="Cliquez ici pour visualiser le document" target="_blank" href="/?page=actes&siret=<?=$siret?>&ref=rncs-<?=$cmdNom?>-<?=$cmdPages?>">Visualiser le document <img src="/img/icone_pdf.gif" /></a></u></div></td>
</tr>
<? } else { ?>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData"><u><a title="Cliquez ici pour visualiser le document" target="_blank" href="/?page=actes&siret=<?=$siret?>&ref=rncs-<?=$cmdNom?>-<?=$cmdPages?>">Visualiser le document <img src="/img/icone_pdf.gif" /></a></u></td>
</tr>
<?
$message='Commande RNCS';
mail( 'ylenaour@scores-decisions.com',"Commande de pièces RNCS pour $siren",
'REQUEST='.EOL.print_r($_REQUEST,true).'EOL'.
'SERVER='.EOL.print_r($_SERVER,true).'EOL'.
'SESSION='.EOL.print_r($_SESSION,true).'EOL'.
'ENV='.EOL.print_r($_ENV,true).'EOL'.
'tabInfo='.print_r($tabInfo,true));
}
} else {
?>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData">Aucun acte n'a &eacute;t&eacute; d&eacute;p&ocirc;s&eacute; pour cette entreprise.</td>
</tr>
<?
}
} // Fin ACTES
echo '</table>';
?>
<!--
<?
print_r($page);
?>-->
<?}
}?>