extranet/www/pages/kbis2.php
2009-07-09 06:48:47 +00:00

255 lines
8.3 KiB
PHP

<?
isset($_REQUEST['ajax'])? $ajax=TRUE : $ajax=FALSE;
if($ajax===TRUE){
session_start();
require_once realpath(dirname(__FILE__).'/../../config/prepend.php');
require_once 'common/dates.php';
require_once 'common/curl.php';
require_once 'infogreffe/kbis.php';
//Connection au webservice
$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'],
));
isset($_REQUEST['siret'])? $siret=$_REQUEST['siret'] : $siret='';
(isset($_REQUEST['start']) && $_REQUEST['start']=='true') ? $start=TRUE : $start=FALSE;
$siren = substr($siret,0,9);
//getKbis pour la premiere requete
if($start===TRUE){
/*mail( 'ylenaour@scores-decisions.com',"KBIS en cours 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
);*/
$url = getKbis($siren);
$firephp->info('getKbis');
$firephp->log($url, 'url');
if($url===FALSE){
print 'Une erreur est survenue. Merci de réssayez en cliquant <a href="/?page=kbis2&siret='.$siren.'">ici</a>';
}else{
print $url;
}
}
//Le fichier existe sur l'extranet, etc....
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
){
/*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
);*/
$firephp->info('Check du fichier sur le serveur local');
print '<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>';
//Le fichier n'existe pas sur l'extranet, etc...
}else{
$firephp->info('Démarage recupération du fichier');
//On check si le fichier est présent sur l'url
$url = $_REQUEST['url'];
$page = getUrl($url, '', '', '', false);
//Fichier non disponible
if($page['code']==408 || $page['code']==400){
return 'FALSE';
//Ecriture du fichier sur le serveur en local
}else{
$body = $page['body'];
$fp = fopen(PATH_DATA.'/pdf/kbis-'.$siren.'.pdf', 'w');
fwrite($fp, $body);
fclose($fp);
return 'FALSE';
}
}
exit;
}
if (!$_SESSION['connected'])
echo ('Vous devez être connecté afin de pouvoir utiliser cette fonctionnalité');
elseif ( !preg_match('/KBIS/i', $_SESSION['tabInfo']['droits']))
echo ('Vous n\'avez pas les droits nécessaires pour utiliser cette fonctionnalité');
else {
require_once(FWK_PATH.'/common/dates.php');
require_once(FWK_PATH.'/common/curl.php');
isset($_REQUEST['siret'])? $siret=$_REQUEST['siret'] : $siret='';
$siren = substr($siret,0,9);
$login = strtolower($_SESSION['tabInfo']['login']);
$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
{
$type = 'AC';
$fichier = $type.'-'.$siren.'.xml';
$perisable = true;
if (!file_exists(PATH_DATA.'/infogreffe/xml/'.$fichier) // Le fichier n'existe pas en cache
|| ( file_exists(PATH_DATA.'/infogreffe/xml/'.$fichier) && $perisable && date('Ymd', filemtime(PATH_DATA.'/infogreffe/xml/'.$fichier))<>date('Ymd') ) // 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') && filesize(PATH_DATA.'/infogreffe/xml/'.$fichier)<=200) // Le fichier existe en cache, n'est pas périsable (acte) mais contient un message d'erreur
){
require_once 'infogreffe/kbis.php';
$xml = infogreffeProduits($siren, $type);
/** 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">&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>
<tr>
<td colspan="3"><img src="./img/srub_actes.png" width="576" height="27" /></td>
</tr>
<tr>
<td width="30">&nbsp;</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 {
?>
<script src="./js/jqueryprogressbar.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
function checkKbis(start)
{
if(start==true){
$.post( 'pages/kbis2.php', { ajax: 'true', start: 'true', siret: '<?=$siren?>' },
function (data, textStatus) { url = data; }
);
}else{
$.post( 'pages/kbis2.php', { ajax: 'true', url: url, siret: '<?=$siren?>' },
function (data, textStatus) { if( data!='' && data!='FALSE' ){ updateInfo(data); } }
);
}
}
function update()
{
$("#progressbar").reportprogress(++pct);
if(pct==100){
updateInfo('Le temps maximum d\'attente a été atteint. Merci de réssayez en cliquant <a href="/?page=kbis2&siret=<?=$siren?>">ici</a>');
pct=0;
}
if(Math.floor(pct/checkInterval)!=prec){
prec = Math.floor(pct/checkInterval);
checkKbis(false);
}
}
function updateInfo(html){
$("#result").html(html);
clearInterval(holdTheInterval);
}
var pct=0;
var prec=0;
var checkInterval = 5;
var url = '';
checkKbis(true);
var holdTheInterval = setInterval(update, 600);
$("#progressbar").reportprogress(0);
});
</script>
<table width="580" border="0" align="left" bgcolor="#FFFFFF">
<?php
if ($message<>'') {
?>
<tr>
<td width="30">&nbsp;</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">&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>
<tr>
<td colspan="3"><img src="./img/srub_actes.png" width="576" height="27" /></td>
</tr>
<tr>
<td colspan="3" align="center">
<div id="result">
<div id="progressbar"></div>
</div>
</td>
</tr>
<?
}
?>
</table>
<?
}
?>