<? if (!$_SESSION['connected']) echo ('Vous devez être connecté afin de pouvoir utiliser cette fonctionnalité'); elseif ( !preg_match('/\bKBIS\b/i', $_SESSION['tabInfo']['droits'])) echo ('Vous n\'avez pas les droits nécessaires pour utiliser cette fonctionnalité'); else { $login=strtolower($_SESSION['tabInfo']['login']); $siret=$_REQUEST['siret']; $siren=substr($siret,0,9); $id=$_REQUEST['id']; $vue=$_REQUEST['vue']*1; $tabInfo = $_SESSION['tabInfo']; $raisonSociale=$tabInfo['entrep']['raisonSociale']; $cj=$tabInfo['entrep']['fj']; $dep=substr(''.$tabInfo['entrep']['codeCommune'],0,2); $errCJ = $errDep = $errNum = false; if ( ($cj>=91 && $cj<=93) || ($cj>=9110 && $cj<=9300) ) $errCJ=true; elseif ( $dep=='00' || $dep=='57' || $dep=='67' || $dep=='68' || $dep=='97' || $dep=='98') $errDep=true; else { $client2 = new SoapClient(null, array( 'location' => INFOGREFFE_WS_URL, 'uri' => INFOGREFFE_WS_URI, 'soap_version' => SOAP_1_1, 'trace' => 1, 'style' => SOAP_RPC, 'use' => SOAP_ENCODED, )); $type = 'AC'; $req = '<demande>'. '<emetteur>'. '<code_abonne>'.INFOGREFFE_WS_USER.'</code_abonne>'.//85009006 '<mot_passe>'.INFOGREFFE_WS_PASS.'</mot_passe>'.// '<reference_client>'.INFOGREFFE_WS_REF.'</reference_client>'. '<code_requete>'. '<type_profil>A</type_profil>'. '<origine_emetteur>IC</origine_emetteur>'. '<nature_requete>C</nature_requete>'. '<type_document>'.$type.'</type_document>'.// KB=Kbis, HQ=Histo, ST=Statut, AC=Acte, LE=Liste étab '<type_requete>S</type_requete>'. '<media>WS</media>'. '<mode_diffusion>'. '<mode type="T"/>'. '</mode_diffusion>'. '</code_requete>'. '</emetteur>'. '<commande>'. '<num_siren>'.$siren.'</num_siren>'. '</commande></demande>'; $fichier="$type-$siren.xml"; $perisable=true; if (// Le fichier n'existe pas en cache !file_exists(PATH_DATA.'/infogreffe/xml/'.$fichier) || // Le fichier existe en cache mais est périsable (liste) ( file_exists(PATH_DATA.'/infogreffe/xml/'.$fichier) && $perisable && date('Ymd', filemtime(PATH_DATA.'/infogreffe/xml/'.$fichier))<>date('Ymd') ) || // Le fichier existe en cache, n'est pas périsable (acte) mais contient un message d'erreur ( file_exists(PATH_DATA.'/infogreffe/xml/'.$fichier) && !$perisable && date('Ymd', filemtime(PATH_DATA.'/infogreffe/xml/'.$fichier))<>date('Ymd') && filesize(PATH_DATA.'/infogreffe/xml/'.$fichier)<=200) ){ try { $O=$client2->getProduitsWebServicesXML(utf8_encode($req)); $xml=implode('', (array)$O); }catch (SoapFault $soapFault) {// echo "ERROR :\n", var_dump($soapFault), "\n"; echo "Request :\n", $client->__getLastRequest(), "\n"; //require_once 'soaperror.php'; //processSoapFault($client2,$fault,$tabInfo); $success=false; $response=$client2->__getLastResponse(); $response=str_replace("<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><SOAP-ENV:Body><ns0:getProduitsWebServicesXMLResponse xmlns:ns0='urn:local' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><return xsi:type='xsd:string'>",'', $response); $xml=str_replace('</return></ns0:getProduitsWebServicesXMLResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>','', $response); } /** Enregistrement du fichier XML en provenance des greffes **/ if (strlen($xml)<>0) { $fp=@fopen(PATH_DATA.'/infogreffe/xml/'.$fichier, 'w'); @fwrite($fp, $xml); @fclose($fp); } } else { /** Lecture du fichier XML en provenance des greffes **/ $xml = file_get_contents(PATH_DATA.'/infogreffe/xml/'.$fichier); } /** Affichage des erreurs Infogreffe **/ if (strlen($xml)<200) { $tmp=explode('-', $xml); $errNum=$tmp[0]*1; $errMsg=$xml; if ($errNum==0) $errNum=-1; elseif ($errNum==45 || $errNum==14 ) $errNum=false; } } if ($errCJ || $errDep || $errNum) { ?> <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"> </td> <td width="200" class="StyleInfoLib">Numé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"> </td> <td width="200" class="StyleInfoLib">Raison Sociale</td> <td width="350" class="StyleInfoData"><?=$raisonSociale?></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><img src="./img/srub_actes.png" width="576" height="27" /></td> </tr> <tr> <td width="30"> </td> <td width="550" colspan="2" class="StyleInfoData"> <h3> <? if ($errCJ) echo 'K-Bis inexistant pour cette forme juridique.'; elseif ($errDep) echo 'K-Bis inexistant dans ce département.'; else echo 'Retour Greffe : '.$errMsg.'<!--'.$req.'-->'; ?> </h3> </td> </tr> <? } else { if ($action=='commande') { if (preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',$_REQUEST['email'])) { $message='Commande de K-Bis prise en compte'; mail( 'contact@scores-decisions.com',"Commande de KBIS pour $siren à ".$_REQUEST['email'], '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)); $fp=fopen(PATH_LOGS.'commande_kbis.csv', 'a'); fwrite($fp, date('Y/m/d H:i:s').";$siren;".$_REQUEST['email'].';'.$tabInfo['login'].';'.$tabInfo['email'].';'.$tabInfo['ip']."\n"); fclose($fp); } else { $message="ERREUR : Veuillez saisir une adresse email valide pour la commande de K-Bis"; } } if ( file_exists(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf') && date('Ymd', filemtime(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf'))==date('Ymd') && filesize(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf')>500 ) $vue=2; if ($vue==0) { ?> <iframe src="/?page=kbis&vue=1&siret=<?=$siren?>" width=0 height=0 marginheight="0" marginwidth="0" scrolling="No" frameborder=0></iframe> <?php } require_once 'common/dates.php'; require_once 'common/curl.php'; if ($vue==1) { set_time_limit(410); ini_set('default_socket_timeout', 160); try { $O = $client->getKbis($siren, 1,0); $kbis=$O['result']; sleep(5); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); //echo '<pre>'.$client->__getLastResponse().'</pre>'; //echo 'ERREUR SOAP :'.EOL; //print_r($fault); //die(); } $page=getUrl($kbis['Url'], '', '', '', false); $body=$page['body']; $fp=@fopen(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf', 'w'); @fwrite($fp, $body); @fclose($fp); $message='Commande de K-Bis en cours'; mail( 'ylenaour@scores-decisions.com',"KBIS en cours pour $login ($siren, vue=$vue)", '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).EOL. 'O='.print_r($O,true).EOL); } $raisonSociale=$tabInfo['entrep']['raisonSociale']; ?> <table width="580" border="0" align="left" bgcolor="#FFFFFF"> <?php if ($message<>'') { ?> <tr> <td width="30"> </td> <td width="550" colspan="2" class="StyleInfoData"><h3><?=$message;?></h3></td> </tr> <?php } ?> <tr> <td colspan="3" align="center"><img src="./img/rub_pieces.png" width="577" height="36" /></td> </tr> <tr> <td width="30"> </td> <td width="200" class="StyleInfoLib">Numé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"> </td> <td width="200" class="StyleInfoLib">Raison Sociale</td> <td width="350" class="StyleInfoData"><?=$raisonSociale?></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><img src="./img/srub_actes.png" width="576" height="27" /></td> </tr> <tr> <td colspan="3" align="center"> <? if ($vue==0) { ?> <script src="./js/jqueryprogressbar.js" type="text/javascript"></script> <script type="text/javascript"> $("#progressbar").reportprogress(0); var pct=0; var handle=0; function update(){ $("#progressbar").reportprogress(++pct); if(pct==100){ clearInterval(handle); $("#run").val("start"); pct=0; window.location.href = "/?page=kbis&vue=2&siret=<?=$siren?>"; } } handle=setInterval("update()",700); </script> <div id="progressbar"></div> <? $message='Commande de K-Bis en cours'; mail( 'ylenaour@scores-decisions.com',"KBIS en cours pour $login ($siren, vue=$vue)", '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).EOL. 'O='.print_r($O,true).EOL); } elseif (!( file_exists(PATH_DATA.'/../pdf/kbis-'.$siren.'.pdf') && date('Ymd', filemtime(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf'))==date('Ymd') && filesize(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf')>500 )){ try { $O = $client->getKbis($siren, 1,0); $kbis=$O['result']; sleep(5); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); //echo '<pre>'.$client->__getLastResponse().'</pre>'; //echo 'ERREUR SOAP :'.EOL; //print_r($fault); //die(); } $page=getUrl($kbis['Url'], '', '', '', false); $body=$page['body']; $fp=@fopen(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf', 'w'); @fwrite($fp, $body); @fclose($fp); if ( file_exists(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf') && date('Ymd', filemtime(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf'))==date('Ymd') && filesize(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf')>500 ) { echo '<u><a title="Cliquez ici pour visualiser le kbis" target="_blank" href="/?page=actes&siret='.$siret.'&ref=kbis">Visualiser le Kbis <img src="/img/icone_pdf.gif"></a></u>'; $message='Commande de K-Bis prise en compte'; mail( 'ylenaour@scores-decisions.com',"Commande de KBIS pour $login ($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).EOL. 'O='.print_r($O,true).EOL); } else { ?> <script src="./js/jqueryprogressbar.js" type="text/javascript"></script> <script type="text/javascript"> $("#progressbar").reportprogress(0); var pct=0; var handle=0; function update(){ $("#progressbar").reportprogress(++pct); if(pct==100){ clearInterval(handle); $("#run").val("start"); pct=0; window.location.href = "/?page=kbis&vue=2&siret=<?=$siren?>"; } } handle=setInterval("update()",700); </script><div id="progressbar"></div> <? $message='Commande de K-Bis en cours'; mail( 'ylenaour@scores-decisions.com',"KBIS en cours pour $login ($siren, vue=$vue)", '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).EOL. 'O='.print_r($O,true).EOL); } } else { echo '<u><a title="Cliquez ici pour visualiser le kbis" target="_blank" href="/?page=actes&siret='.$siret.'&ref=kbis">Visualiser le Kbis <img src="/img/icone_pdf.gif"></a></u>'; $message='Commande de K-Bis prise en compte'; mail( 'ylenaour@scores-decisions.com',"Commande de KBIS pour $login ($siren, vue=$vue)", '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).EOL. 'O='.print_r($O,true).EOL); } ?> </td> </tr> <? } ?> </table> <? } ?>