Merge modification pages greffes

This commit is contained in:
Michael RICOIS 2010-07-08 14:10:54 +00:00
commit d259537bea
13 changed files with 598 additions and 599 deletions

View File

@ -20,18 +20,17 @@ Siren : <?=substr($siren,0,3).' '.
<p><i>Votre commande ne sera pas validé si l'adresse email est vide.</i>
<br/><i>Après validation, patientez pour avoir votre référence de commande.</i></p>
</form>
</div>
<script type="text/javascript">
$('input[name=emailCommande]').focus();
$('form[name=commande]').bind('submit', function(){
$('form[name=commande]').submit(function(){
var email = $('input[name=emailCommande]').val();
if(!checkEmail(email)){
alert("Veuillez saisir une adresse email valide !");
return false;
} else {
$('#dialogcmd').dialog('option','buttons','');
$('#dialogcmd > #output').html('Commande en cours, Veuillez patienter ...');
return true;
}
});
</script>
</div>
</script>

View File

@ -92,7 +92,7 @@ function theme_greffeactes($items, $headers)
case 'C':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=c&'.$params;
$href = './?page=greffes&action=c&'.$params;
$title = 'Commander le document correspondant';
$class = ' class="dialogcmd"';
}
@ -143,7 +143,7 @@ function theme_greffeactes($items, $headers)
case 'fichier':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=fichier&'.$params;
$href = './?page=greffes&q=fichier&'.$params;
$title = 'Télécharger le document correspondant';
$tags = array('<span class="fichier">', '</span>');
}
@ -158,7 +158,7 @@ function theme_greffeactes($items, $headers)
case 'T':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=t&'.$params;
$href = './?page=greffes&q=t&'.$params;
$title = 'Télécharger le document correspondant';
$tags = array('<span class="fichier">', '</span>');
}
@ -174,7 +174,7 @@ function theme_greffeactes($items, $headers)
case 'C':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=c&'.$params;
$href = './?page=greffes&q=c&'.$params;
$title = 'Recevoir le document directement par mail (sous 3/5 jours ouvrés)';
$class = ' class="dialogcmd"';
}
@ -190,7 +190,7 @@ function theme_greffeactes($items, $headers)
case 'courrier':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=courrier&'.$params;
$href = './?page=greffes&q=courrier&'.$params;
$title = 'Recevoir le document directement par mail (sous 15 jours ouvrés)';
$class = ' class="dialogcmd"';
}
@ -257,7 +257,7 @@ function theme_greffebilans($items, $headers)
case 'fichier';
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=fichier&'.$params;
$href = './?page=greffes&q=fichier&'.$params;
$title = 'Télécharger le document correspondant';
$tags = array('<span class="fichier">', '</span>');
}
@ -272,7 +272,7 @@ function theme_greffebilans($items, $headers)
case 'T':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=t&'.$params;
$href = './?page=greffes&q=t&'.$params;
$title = 'Télécharger le document correspondant';
$tags = array('<span class="fichier">', '</span>');
}
@ -288,7 +288,7 @@ function theme_greffebilans($items, $headers)
case 'C':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=c&'.$params;
$href = './?page=greffes&q=c&'.$params;
$title = 'Recevoir le document directement par mail (sous 3/5 jours ouvrés)';
$class = ' class="dialogcmd"';
}
@ -304,7 +304,7 @@ function theme_greffebilans($items, $headers)
case 'courrier':
if(hasPerm('actes', $_SESSION['tabInfo']))
{
$href = './pages/greffes2.php?action=courrier&'.$params;
$href = './?page=greffes&q=courrier&'.$params;
$title = 'Recevoir le document directement par mail (sous 15 jours ouvrés)';
$class = ' class="dialogcmd"';
}

View File

@ -0,0 +1,40 @@
<?php
isset($_REQUEST['q']) ? $q = $_REQUEST['q'] : $q = '';
$params = explode('/', $q);
$login = strtolower($_SESSION['tabInfo']['login']);
$siren = substr($_REQUEST['siret'],0,9);
$cj = $_SESSION['tabInfo']['entrep']['fj'];
$dep = substr(''.$_SESSION['tabInfo']['entrep']['codeCommune'],0,2);
isset($_REQUEST['rs'])? $raisonSociale = $_REQUEST['rs'] : '';
(isset($_REQUEST['vue']) && !empty($_REQUEST['vue'])) ? $vue=$_REQUEST['vue'] : $vue='';
isset($_REQUEST['ref'])? $ref=$_REQUEST['ref'] : $ref = '';
$vecteur = isset($params[0]) ? strtoupper($params[0]) : 'XL' ;
require_once 'default/_includes/mysql.php';
require_once 'common/dates.php';
require_once 'common/curl.php';
require_once 'theme/theme.php';
require_once 'user/user.php';
require_once 'infogreffe/infogreffews.php';
$idCommande = 0;
switch ( $vecteur ) {
case 'FICHIER':
require_once realpath(dirname(__FILE__)).'/infogreffe_fichier.php';
break;
case 'COURRIER':
require_once realpath(dirname(__FILE__)).'/infogreffe_courrier.php';
break;
case 'C':
require_once realpath(dirname(__FILE__)).'/infogreffe_c.php';
break;
case 'T':
require_once realpath(dirname(__FILE__)).'/infogreffe_t.php';
break;
}

View File

@ -0,0 +1,60 @@
<?php
//Génération commande
isset($_REQUEST['info']) ?
$info = unserialize(urldecode($_REQUEST['info'])) :
$info = false;
//Connection à la base de données
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
if (!($con === false))
{
if (mysql_select_db(MYSQL_DB, $con) === false)
echo ('<!--Could not select database: ' . mysql_error() .'-->');
}
$dejaCommande = false;
$noemail = false;
$sameLogin = false;
$idCommande = 0;
//Vérification des commandes
$rep = mysql_select('commandes',
' idCommande, login, emailCommande, dateCommande',
"siren=$siren AND refDocument='$ref'");
//Déja commandé
if (count($rep)!=0)
{
$dejaCommande = true;
if ($rep[0]['login']==$login)
{
$dateCommande = WDate::dateT(
'Y-m-d',
'd/m/Y',
$rep[0]['dateCommande']
);
$idCommande = $rep[0]['idCommande'];
if(empty($rep[0]['emailCommande'])) $noemail = true;
$sameLogin = true;
}
}
if(!$dejaCommande || ($dejaCommande && $noemail) )
{
require_once 'infogreffe/form_commande.php';
}
elseif(!$noemail && $dejaCommande && $sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>
Vous avez déjà commandé ce document sous la référence
G<?=$idCommande?>.
</p>
<?php
}
elseif(!$noemail && $dejaCommande && !$sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>Une commande est déjà en cours, le document sera disponible
sous peu. Merci de revenir sur cette page.</p>
<?php
}

View File

@ -0,0 +1,49 @@
<?php
if(!empty($_REQUEST['email']))
{
$erreur = false;
$fp=fopen(PATH_LOGS.'commande_asso.csv', 'a');
fwrite($fp, date('Y/m/d H:i:s').";$siren;".$_REQUEST['email'].';'.$login.';'.$_SESSION['tabInfo']['email'].';'.$_SESSION['tabInfo']['ip']."\n");
fclose($fp);
$infoAsso = array(
'Siren' => $siren,
'idEntreprise' => $idEntreprise,
'RaisonSociale' => $_SESSION['tabInfo']['entrep']['raisonSociale'],
);
$infoDemande = array(
'Ref' => $_REQUEST['reference'],
'Tel' => $_REQUEST['tel'],
'Email' => $_REQUEST['email'],
);
$firephp->log($infoDemande,'infoDemande');
$firephp->log($infoAsso,'infoAsso');
try {
$O = $client->commandeAsso($siren, $infoAsso, $infoDemande);
$annee = substr($O['results']['dateCommande'],0,4);
$mois = substr($O['results']['dateCommande'],4,2);
$jour = substr($O['results']['dateCommande'],6,2);
$heure = substr($O['results']['dateCommande'],8,2);
$minutes = substr($O['results']['dateCommande'],10,2);
$ref = $O['results']['refCmde'];
if( isset($ref) && !empty($ref) )
{
$message = 'Votre demande à été prise en compte le '.$jour.'/'.$mois.'/'.$annee.' à '.$heure.' h '.$minutes.' sous la référence <b>'.$ref.'</b>.';
}
$firephp->log($O,'O');
} catch (SoapFault $fault) {
require_once 'soaperror.php';
processSoapFault($client,$fault,$_SESSION['tabInfo']);
$erreur = true;
}
if($erreur)
{
$message = 'Une erreur s\'est produite lors du passage de votre commande.';
}
}else{
$message="ERREUR : Veuillez saisir une adresse email valide pour la commande de pièces.";
}

View File

@ -0,0 +1,60 @@
<?php
//Génération commande
isset($_REQUEST['info']) ?
$info = unserialize(urldecode($_REQUEST['info'])) :
$info = false;
//Connection à la base de données
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
if (!($con === false))
{
if (mysql_select_db(MYSQL_DB, $con) === false)
echo ('<!--Could not select database: ' . mysql_error() .'-->');
}
$dejaCommande = false;
$noemail = false;
$sameLogin = false;
$idCommande = 0;
//Vérification des commandes
$rep = mysql_select('commandes',
' idCommande, login, emailCommande, dateCommande',
"siren=$siren AND refDocument='$ref'");
//Déja commandé
if (count($rep)!=0)
{
$dejaCommande = true;
if ($rep[0]['login']==$login)
{
$dateCommande = WDate::dateT(
'Y-m-d',
'd/m/Y',
$rep[0]['dateCommande']
);
$idCommande = $rep[0]['idCommande'];
if(empty($rep[0]['emailCommande'])) $noemail = true;
$sameLogin = true;
}
}
if(!$dejaCommande || ($dejaCommande && $noemail) )
{
require_once 'infogreffe/form_commande.php';
}
elseif(!$noemail && $dejaCommande && $sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>
Vous avez déjà commandé ce document sous la référence
C<?=$idCommande?>.
</p>
<?php
}
elseif(!$noemail && $dejaCommande && !$sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>Une commande est déjà en cours, le document sera disponible
sous peu. Merci de revenir sur cette page.</p>
<?php
}

View File

@ -0,0 +1,21 @@
<?php
$error = '';
switch($vue)
{
case 'actes':
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
$info = unserialize(urldecode($_REQUEST['info']));
$message.= '<br/><a href="./datafile.php?q=acte-'.$siren.'-'.$ref.'.pdf&type=pdf" target="_blank">Ouvrir le fichier '.$info['type_lib'].' </a>';
break;
case 'bilans':
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
$info = unserialize(urldecode($_REQUEST['info']));
if(file_exists(PATH_DATA.'/pdf/bilan-'.$siren.'-'.$ref.'.pdf')){
$suffixe = 'bilan';
}elseif(file_exists(PATH_DATA.'/pdf/acte-'.$siren.'-'.$ref.'.pdf')){
$suffixe = 'acte';
}
$message.= '<br/><a href="./datafile.php?q='.$suffixe.'-'.$siren.'-'.$ref.'.pdf&type=pdf" target="_blank">Ouvrir le bilan millésime '.$info['type'].'</a>';
break;
}
echo $message;

View File

@ -0,0 +1,147 @@
<?php
isset($_REQUEST['idCommande']) ?
$idCommande = $_REQUEST['idCommande']:
$idCommande = 0;
isset($_REQUEST['type']) ?
$type = $_REQUEST['type']:
$type = 'G';
//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'],
));
//Connection à la base de données
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
if (!($con === false))
{
if (mysql_select_db(MYSQL_DB, $con) === false)
echo ('<!--Could not select database: ' . mysql_error() .'-->');
}
if($idCommande != 0)
{
if( !empty($_REQUEST['emailCommande'])
&& preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',
$_REQUEST['emailCommande'])
)
{
$email = $_REQUEST['emailCommande'];
$login = $_SESSION['tabInfo']['login'];
$ip = $_SESSION['tabInfo']['ip'];
$tabCommande = array( 'emailCommande' => $email );
mysql_update('commandes', $tabCommande, "login='$login' AND siren='$siren'");
$message = '<p>Votre commande à été mise à jour.</p>';
}
}
else
{
//Génération commande
isset($_REQUEST['info']) ?
$info = unserialize(urldecode($_REQUEST['info'])) :
$info = false;
$lib = empty($info['decision']) ? '' : $info['decision'];
$email = $_REQUEST['emailCommande'];
if(!empty($email))
{
$login = $_SESSION['tabInfo']['login'];
$ip = $_SESSION['tabInfo']['ip'];
$fp=fopen(PATH_LOGS.'commande_greffe.csv', 'a');
fwrite($fp,
date('Y/m/d H:i:s').
";$siren;".$email.';'.$login.';'.$email.';'.$ip."\n");
fclose($fp);
$tabCommande = array(
'idUser' => $_SESSION['tabInfo']['id'],
'emailCommande' => $email,
'login' => $login,
'siren' => $siren,
'refDocument' => $ref,
'libDocument' => $lib,
'typeCommande' => $type,
'dateCommande' => date('YmdHis')
);
//Enregistrement dans la bdd des informations de la commande
$idCommande = mysql_insert('commandes', $tabCommande);
FB::log($idCommande, 'idCommande');
if(INFOGREFFE_DEBUG) $idCommande = $idCommande.'_TEST';
if($type=='G')
{
//Commande
switch($vue)
{
case 'actes':
$reponse = getGreffeActes(
$siren,
'C',
$ref,
$idCommande);
break;
case 'bilans':
$reponse = getGreffeBilans(
$siren,
'C',
$ref,
$idCommande);
break;
case 'statuts':
$reponse = getGreffeStatut(
$siren,
'C',
$ref,
$idCommande);
break;
}
}
if( isset($reponse) && !empty($reponse['error']) &&
$reponse['error']['errNum']!=17 ){
if(in_array($erreurStop, $reponse['error']))
{
$message = $reponse['error']['errNum'].' - '.
$reponse['error']['errMsg'];
}else{
$message = 'Une erreur s\'est produite'.
' lors du passage de votre commande.';
}
if(!INFOGREFFE_DEBUG)
$client->setLog('greffe_'.$vue, $siren, 0,
'Erreur '.$reponse['error']['errNum']);
} else {
//Mise à jour de la commande dans la bdd
mysql_update('commandes', array('statutCommande'=>0),
'idCommande = '.$idCommande);
$message =
'Votre commande a été enregistré le '.
date('d').'/'.date('m').'/'.date('Y').
' à '.date('G').' h '.date('i').
' sous la référence '.$type.$idCommande;
//Envoi mail de commande courrier
if($type=='C'){
sendCmdMail(
'[COMMANDE PIECES] - '.'COMMANDE DE '.strtoupper($vue),
'COMMANDE DE '.strtoupper($vue).
' en courrier manuel <br/>'.EOL.
'Ref Scores et Décision : '.$ref.EOL.
'pour login '.$_SESSION['tabInfo']['login'].EOL
);
}
if(!INFOGREFFE_DEBUG)
$client->setLog('greffe_'.$vue, $siren, 0, $ref);
}
}else{
$message =
'Votre commande n\'a pas été prise en compte.'.
'Vous n\'avez pas saisie d\'adresse email';
}
}

View File

@ -0,0 +1,106 @@
<?php
$firephp->info('DL fichier');
//Enregistrement dans la bdd des informations concernant l'acte
$error = '';
switch($vue)
{
case 'actes':
$info = unserialize(urldecode($_REQUEST['info']));
//Pour les actes multiples
//Vérifier que le fichier n'est pas déjà présent en local
$option = explode('-',$ref);
$num_actes = explode('|',$option[7]);
if(is_array($num_actes) && count($num_actes)>1){
$date = substr($info['date_acte'],6,4).
substr($info['date_acte'],3,2).
substr($info['date_acte'],0,2);
$option_reel = $info['type'].'-'.$date.'-'.
$option[2].'-'.$option[3].'-'.
$option[4].'-'.$option[5].'-'.
$option[6].'-'.$info['num_acte'];
$file = 'acte-'.$siren.'-'.$option_reel.'.pdf';
if( file_exists(PATH_DATA.'/pdf/'.$file) ){
if(!INFOGREFFE_DEBUG) {
$client->setLog('greffe_'.$vue, $siren, 0, $option_reel);
}
$message.= '<br/><a href="./datafile.php?q='.
$file.'&type=pdf" target="_blank">'.
'Ouvrir le fichier '.$info['type_lib'].
' </a>';
echo $message;
exit;
}
}
//Process normal
$reponse = getGreffeActes($siren, $vecteur, $ref);
if(empty($reponse['error'])){
$items = $reponse['result']['actes'];
}else{
$error = $reponse['error']['errNum'].' - '.
$reponse['error']['errMsg'];
}
if($error=='')
{
$firephp->log($items, 'items');
foreach($items as $item)
{
$firephp->log($info, 'info');
if($item['num_acte']==$info['num_acte'])
{
$firephp->info('ACTE DL');
$firephp->log($item, 'item');
if($item['url_acces']!==false)
{
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $option_reel);
$message.= '<br/><a href="./datafile.php?q='.$item['url_acces'].'&type=pdf" target="_blank">Ouvrir le fichier '.$item['type_acte_libelle'].' </a>';
}
else
{
$message.= '<br/>Impossible de télécharger le fichier '.$item['type_acte_libelle'].' auprès de notre partenaire.';
}
}
}
echo $message;
}
else
{
echo '<br/>Erreur : '.$error;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$reponse['error']['errNum']);
}
break;
case 'bilans':
$reponse = getGreffeBilans($siren, $vecteur, $ref);
if(empty($reponse['error'])) $items = $reponse['result']['bilan'];
else $error = $reponse['error']['errNum'].' - '.$reponse['error']['errMsg'];
if($error=='')
{
$firephp->log($items, 'items');
$info = unserialize(urldecode($_REQUEST['info']));
foreach($items as $item)
{
$firephp->log($info, 'info');
$firephp->info('ACTE DL');
$firephp->log($item, 'item');
if($item['url_acces']!==false)
{
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
$message.= '<br/><a href="./datafile.php?q='.$item['url_acces'].'&type=pdf" target="_blank">Ouvrir le bilan millésime '.$item['millesime'].'</a>';
}
else
{
$message.= '<br/>Impossible de télécharger le fichier auprès de notre partenaire.';
}
}
echo $message;
}
else
{
echo '<br/>Erreur : '.$error;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$reponse['error']['errNum']);
}
break;
}

View File

@ -340,6 +340,11 @@ switch ($page)
require_once realpath(dirname(__FILE__)).'/pages/fichier.php';
break;
case 'greffes':
//Gestion des requetes en Ajax
if ( isset($_REQUEST['q']) ){
require_once '../includes/infogreffe/index.php';
exit;
}
$title = titreAvecSiren('Pi&egrave;ces Officielles');
$page2 = 'greffes2.php';
require_once realpath(dirname(__FILE__)).'/pages/main.php';

View File

@ -1,8 +1,8 @@
$(document).ready(function()
{$('.dialogcmd').live('click',function(){var title=$(this).attr('title');var href=$(this).attr('href');var dialogOpts={bgiframe:true,title:title,width:550,height:300,modal:true,open:function(event,ui){$(this).html('Chargement...');$(this).load(href);},buttons:{Valider:function(){$('form[name=commande]').submit();},Annuler:function(){$(this).dialog('close');}},close:function(){$('#dialogcmd').remove();}};$('<div id="dialogcmd"></div>').dialog(dialogOpts);return false;});$('span.fichier > a').live('click',function(e){e.preventDefault();var objet=$(this).parent('span');objet.html('<br/>Chargement du fichier...');var url=$(this).attr('href');$.post(url+'&ajax=true',function(data,textStatus)
{$('.dialogcmd').live('click',function(){var title=$(this).attr('title');var href=$(this).attr('href');var dialogOpts={bgiframe:true,title:title,width:550,height:300,modal:true,open:function(event,ui){$(this).html('Chargement...');$(this).load(href);},buttons:{Valider:function(){$('form[name=commande]').submit();$('#dialogcmd').dialog('option','buttons','');$('#dialogcmd > #output').html('Commande en cours, Veuillez patienter ...');},Annuler:function(){$(this).dialog('close');}},close:function(){$('#dialogcmd').remove();}};$('<div id="dialogcmd"></div>').dialog(dialogOpts);return false;});$('span.fichier > a').live('click',function(e){e.preventDefault();var objet=$(this).parent('span');objet.html('<br/>Chargement du fichier...');var url=$(this).attr('href');$.post(url,function(data,textStatus)
{if(data==''||data=='FALSE'||textStatus=='timeout')
{data='<br/>Le chargement du fichier a échoué';}
objet.replaceWith(data);});});$('a.multiactes').live('click',function(e){e.preventDefault();var url=$(this).attr('href');var objet=$(this).parent('td');objet.html('Commande en cours...');$.post(url+'&ajax=true',function(data,textStatus)
objet.replaceWith(data);});});$('a.multiactes').live('click',function(e){e.preventDefault();var url=$(this).attr('href');var objet=$(this).parent('td');objet.html('Commande en cours...');$.post(url,function(data,textStatus)
{if(data==''||data=='FALSE'||textStatus=='timeout')
{data='Erreur lors de la requete.';}
objet.html(data);});});});

View File

@ -14,7 +14,11 @@ $(document).ready(function()
$(this).load(href);
},
buttons: {
Valider: function() { $('form[name=commande]').submit(); },
Valider: function() {
$('form[name=commande]').submit();
$('#dialogcmd').dialog('option','buttons','');
$('#dialogcmd > #output').html('Commande en cours, Veuillez patienter ...');
},
Annuler: function() { $(this).dialog('close'); }
},
close: function() { $('#dialogcmd').remove(); }
@ -28,7 +32,7 @@ $(document).ready(function()
var objet = $(this).parent('span');
objet.html('<br/>Chargement du fichier...');
var url = $(this).attr('href');
$.post( url+'&ajax=true', function (data, textStatus)
$.post( url, function (data, textStatus)
{
if( data=='' || data=='FALSE' || textStatus=='timeout' )
{
@ -44,7 +48,7 @@ $(document).ready(function()
var url = $(this).attr('href');
var objet = $(this).parent('td');
objet.html('Commande en cours...');
$.post( url+'&ajax=true', function (data, textStatus)
$.post( url, function (data, textStatus)
{
if( data=='' || data=='FALSE' || textStatus=='timeout' )
{

View File

@ -1,577 +1,90 @@
<?php
require_once 'default/_includes/mysql.php';
require_once 'common/dates.php';
require_once 'common/curl.php';
require_once 'theme/theme.php';
require_once 'user/user.php';
require_once 'infogreffe/infogreffews.php';
require_once 'default/_includes/mysql.php';
require_once 'common/dates.php';
require_once 'common/curl.php';
require_once 'theme/theme.php';
require_once 'user/user.php';
require_once 'infogreffe/infogreffews.php';
//Login de l'utilisateur
$login = strtolower($_SESSION['tabInfo']['login']);
//Siren
$siren = substr($_REQUEST['siret'],0,9);
$cj = $_SESSION['tabInfo']['entrep']['fj'];
$dep = substr(''.$_SESSION['tabInfo']['entrep']['codeCommune'],0,2);
//TODO : Raison sociale depuis l'url (cas des associations ?)
isset($_REQUEST['rs'])? $raisonSociale = $_REQUEST['rs'] : '';
(isset($_REQUEST['vue']) && !empty($_REQUEST['vue'])) ? $vue=$_REQUEST['vue'] : $vue='';
isset($_REQUEST['action'])? $vecteur=strtoupper($_REQUEST['action']) : $vecteur='XL';
isset($_REQUEST['ref'])? $ref=$_REQUEST['ref'] : $ref = '';
isset($_REQUEST['ajax'])? $ajax=true : $ajax=false;
//Login de l'utilisateur
$login = strtolower($_SESSION['tabInfo']['login']);
//Siren
$siren = substr($_REQUEST['siret'],0,9);
$cj = $_SESSION['tabInfo']['entrep']['fj'];
$dep = substr(''.$_SESSION['tabInfo']['entrep']['codeCommune'],0,2);
//TODO : Raison sociale depuis l'url (cas des associations ?)
isset($_REQUEST['rs'])? $raisonSociale = $_REQUEST['rs'] : '';
(isset($_REQUEST['vue']) && !empty($_REQUEST['vue'])) ? $vue=$_REQUEST['vue'] : $vue='';
isset($_REQUEST['action'])? $vecteur=strtoupper($_REQUEST['action']) : $vecteur='XL';
isset($_REQUEST['ref'])? $ref=$_REQUEST['ref'] : $ref = '';
$idCommande = 0;
$idCommande = 0;
//Spécificité associations
$association_cj = array(
'9150', // Association syndicale libre
'9220', // Association déclarée
'9221', // Association déclarée "entreprises d'insertion par l'économique"
'9222', // Association intermédiaire
'9223', // Groupement d'employeurs
'9230', // Association déclarée reconnue d'utilité publique
'9240', // Congrégation
'9260', // Association de droit local
'9300', // Fondation
);
//Spécificité associations
$association_cj = array(
'9150', // Association syndicale libre
'9220', // Association déclarée
'9221', // Association déclarée "entreprises d'insertion par l'économique"
'9222', // Association intermédiaire
'9223', // Groupement d'employeurs
'9230', // Association déclarée reconnue d'utilité publique
'9240', // Congrégation
'9260', // Association de droit local
'9300', // Fondation
);
//Erreur bloquante infogreffe
$erreurStop = array(6, 14, 25, 45, 999);
//Erreur bloquante infogreffe
$erreurStop = array(6, 14, 25, 45, 999);
//Gestion du mode commande téléchargement
if($vecteur==strtoupper('fichier'))
{
//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'],
));
if( $vecteur == 'SAUVCMD' )
{
FB::info('sauvcmd');
require_once 'infogreffe/infogreffe_sauvcmd.php';
}
elseif( $vecteur == 'COMMANDE' )
{
FB::info('commande');
require_once 'infogreffe/infogreffe_commande.php';
}
$error = '';
switch($vue)
{
case 'actes':
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
$info = unserialize(urldecode($_REQUEST['info']));
$message.= '<br/><a href="./datafile.php?q=acte-'.$siren.'-'.$ref.'.pdf&type=pdf" target="_blank">Ouvrir le fichier '.$info['type_lib'].' </a>';
break;
case 'bilans':
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
$info = unserialize(urldecode($_REQUEST['info']));
if(file_exists(PATH_DATA.'/pdf/bilan-'.$siren.'-'.$ref.'.pdf')){
$suffixe = 'bilan';
}elseif(file_exists(PATH_DATA.'/pdf/acte-'.$siren.'-'.$ref.'.pdf')){
$suffixe = 'acte';
}
$message.= '<br/><a href="./datafile.php?q='.$suffixe.'-'.$siren.'-'.$ref.'.pdf&type=pdf" target="_blank">Ouvrir le bilan millésime '.$info['type'].'</a>';
break;
}
echo $message;
}
elseif($vecteur=='T')
{
//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'],
));
//Raison sociale depuis la session
$raisonSociale = etabSession($siren, $idEntreprise);
$firephp->info('DL fichier');
//Enregistrement dans la bdd des informations concernant l'acte
$error = '';
switch($vue)
{
case 'actes':
$info = unserialize(urldecode($_REQUEST['info']));
//Pour les actes multiples
//Vérifier que le fichier n'est pas déjà présent en local
$option = explode('-',$ref);
$num_actes = explode('|',$option[7]);
if(is_array($num_actes) && count($num_actes)>1){
$date = substr($info['date_acte'],6,4).
substr($info['date_acte'],3,2).
substr($info['date_acte'],0,2);
$option_reel = $info['type'].'-'.$date.'-'.
$option[2].'-'.$option[3].'-'.
$option[4].'-'.$option[5].'-'.
$option[6].'-'.$info['num_acte'];
$file = 'acte-'.$siren.'-'.$option_reel.'.pdf';
$vecteur = 'XL';
if( file_exists(PATH_DATA.'/pdf/'.$file) ){
if(!INFOGREFFE_DEBUG) {
$client->setLog('greffe_'.$vue, $siren, 0, $option_reel);
}
$message.= '<br/><a href="./datafile.php?q='.
$file.'&type=pdf" target="_blank">'.
'Ouvrir le fichier '.$info['type_lib'].
' </a>';
echo $message;
exit;
}
}
//Process normal
//Actes, bilans hors cas association
if( !in_array($cj, $association_cj) ){
switch ( $vue ){
case 'actes':
$titreh2 = htmlspecialchars('Actes & Statuts');
if(!in_array($cj, $association_cj))
{
$table_header = array('Date', 'Type', 'Décisions');
$reponse = getGreffeActes($siren, $vecteur, $ref);
if(empty($reponse['error'])){
$items = $reponse['result']['actes'];
}else{
$error = $reponse['error']['errNum'].' - '.
$reponse['error']['errMsg'];
}
if($error=='')
{
$firephp->log($items, 'items');
foreach($items as $item)
{
$firephp->log($info, 'info');
if($item['num_acte']==$info['num_acte'])
{
$firephp->info('ACTE DL');
$firephp->log($item, 'item');
if($item['url_acces']!==false)
{
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $option_reel);
$message.= '<br/><a href="./datafile.php?q='.$item['url_acces'].'&type=pdf" target="_blank">Ouvrir le fichier '.$item['type_acte_libelle'].' </a>';
}
else
{
$message.= '<br/>Impossible de télécharger le fichier '.$item['type_acte_libelle'].' auprès de notre partenaire.';
}
}
}
echo $message;
}
else
{
echo '<br/>Erreur : '.$error;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$reponse['error']['errNum']);
}
break;
case 'bilans':
if(!empty($reponse['error'])) $error = $reponse['error'];
$table_content = theme_greffeactes($reponse['result'], $table_header);
//Enregistrement des logs auprès du webservice
}
break;
case 'bilans':
$titreh2 = htmlspecialchars('Compte Annuels');
$table_header = array('Date de clôture', 'Type', 'Décisions');
if(!in_array($cj, $association_cj))
{
$reponse = getGreffeBilans($siren, $vecteur, $ref);
if(empty($reponse['error'])) $items = $reponse['result']['bilan'];
else $error = $reponse['error']['errNum'].' - '.$reponse['error']['errMsg'];
if($error=='')
{
$firephp->log($items, 'items');
$info = unserialize(urldecode($_REQUEST['info']));
foreach($items as $item)
{
$firephp->log($info, 'info');
$firephp->info('ACTE DL');
$firephp->log($item, 'item');
if($item['url_acces']!==false)
{
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
$message.= '<br/><a href="./datafile.php?q='.$item['url_acces'].'&type=pdf" target="_blank">Ouvrir le bilan millésime '.$item['millesime'].'</a>';
}
else
{
$message.= '<br/>Impossible de télécharger le fichier auprès de notre partenaire.';
}
}
echo $message;
}
else
{
echo '<br/>Erreur : '.$error;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$reponse['error']['errNum']);
}
break;
}
}
elseif($vecteur=='C')
{
//Génération commande
isset($_REQUEST['info']) ?
$info = unserialize(urldecode($_REQUEST['info'])) :
$info = false;
//Connection à la base de données
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
if (!($con === false))
{
if (mysql_select_db(MYSQL_DB, $con) === false)
echo ('<!--Could not select database: ' . mysql_error() .'-->');
}
$dejaCommande = false;
$noemail = false;
$sameLogin = false;
$idCommande = 0;
//Vérification des commandes
$rep = mysql_select('commandes',
' idCommande, login, emailCommande, dateCommande',
"siren=$siren AND refDocument='$ref'");
//Déja commandé
if (count($rep)!=0)
{
$dejaCommande = true;
if ($rep[0]['login']==$login)
{
$dateCommande = WDate::dateT(
'Y-m-d',
'd/m/Y',
$rep[0]['dateCommande']
);
$idCommande = $rep[0]['idCommande'];
if(empty($rep[0]['emailCommande'])) $noemail = true;
$sameLogin = true;
if(!empty($reponse['error'])) $error = $reponse['error'];
$table_content = theme_greffebilans($reponse['result'], $table_header);
//Enregistrement des logs auprès du webservice
}
}
if(!$dejaCommande || ($dejaCommande && $noemail) )
{
require_once 'infogreffe/form_commande.php';
}
elseif(!$noemail && $dejaCommande && $sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>
Vous avez déjà commandé ce document sous la référence
G<?=$idCommande?>.
</p>
<?php
}
elseif(!$noemail && $dejaCommande && !$sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>Une commande est déjà en cours, le document sera disponible
sous peu. Merci de revenir sur cette page.</p>
<?php
}
$ajax = true;
}
elseif($vecteur==strtoupper('courrier'))
{
//Génération commande
isset($_REQUEST['info']) ?
$info = unserialize(urldecode($_REQUEST['info'])) :
$info = false;
//Connection à la base de données
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
if (!($con === false))
{
if (mysql_select_db(MYSQL_DB, $con) === false)
echo ('<!--Could not select database: ' . mysql_error() .'-->');
}
$dejaCommande = false;
$noemail = false;
$sameLogin = false;
$idCommande = 0;
//Vérification des commandes
$rep = mysql_select('commandes',
' idCommande, login, emailCommande, dateCommande',
"siren=$siren AND refDocument='$ref'");
//Déja commandé
if (count($rep)!=0)
{
$dejaCommande = true;
if ($rep[0]['login']==$login)
{
$dateCommande = WDate::dateT(
'Y-m-d',
'd/m/Y',
$rep[0]['dateCommande']
);
$idCommande = $rep[0]['idCommande'];
if(empty($rep[0]['emailCommande'])) $noemail = true;
$sameLogin = true;
}
}
if(!$dejaCommande || ($dejaCommande && $noemail) )
{
require_once 'infogreffe/form_commande.php';
}
elseif(!$noemail && $dejaCommande && $sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>
Vous avez déjà commandé ce document sous la référence
C<?=$idCommande?>.
</p>
<?php
}
elseif(!$noemail && $dejaCommande && !$sameLogin)
{
?>
<h2>Document déjà commandé</h2>
<p>Une commande est déjà en cours, le document sera disponible
sous peu. Merci de revenir sur cette page.</p>
<?php
}
$ajax = true;
}
elseif($vecteur==strtoupper('sauvcmd'))
{
FB::info('sauvcmd');
isset($_REQUEST['idCommande']) ?
$idCommande = $_REQUEST['idCommande']:
$idCommande = 0;
isset($_REQUEST['type']) ?
$type = $_REQUEST['type']:
$type = 'G';
//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'],
));
//Connection à la base de données
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
if (!($con === false))
{
if (mysql_select_db(MYSQL_DB, $con) === false)
echo ('<!--Could not select database: ' . mysql_error() .'-->');
}
if($idCommande != 0)
{
if( !empty($_REQUEST['emailCommande'])
&& preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',
$_REQUEST['emailCommande'])
)
{
$email = $_REQUEST['emailCommande'];
$login = $_SESSION['tabInfo']['login'];
$ip = $_SESSION['tabInfo']['ip'];
$tabCommande = array( 'emailCommande' => $email );
mysql_update('commandes', $tabCommande, "login='$login' AND siren='$siren'");
$message = '<p>Votre commande à été mise à jour.</p>';
}
}
else
{
//Génération commande
isset($_REQUEST['info']) ?
$info = unserialize(urldecode($_REQUEST['info'])) :
$info = false;
$lib = empty($info['decision']) ? '' : $info['decision'];
$email = $_REQUEST['emailCommande'];
if(!empty($email))
{
$login = $_SESSION['tabInfo']['login'];
$ip = $_SESSION['tabInfo']['ip'];
$fp=fopen(PATH_LOGS.'commande_greffe.csv', 'a');
fwrite($fp,
date('Y/m/d H:i:s').
";$siren;".$email.';'.$login.';'.$email.';'.$ip."\n");
fclose($fp);
$tabCommande = array(
'idUser' => $_SESSION['tabInfo']['id'],
'emailCommande' => $email,
'login' => $login,
'siren' => $siren,
'refDocument' => $ref,
'libDocument' => $lib,
'typeCommande' => $type,
'dateCommande' => date('YmdHis')
);
//Enregistrement dans la bdd des informations de la commande
$idCommande = mysql_insert('commandes', $tabCommande);
FB::log($idCommande, 'idCommande');
if(INFOGREFFE_DEBUG) $idCommande = $idCommande.'_TEST';
if($type=='G')
{
//Commande
switch($vue)
{
case 'actes':
$reponse = getGreffeActes(
$siren,
'C',
$ref,
$idCommande);
break;
case 'bilans':
$reponse = getGreffeBilans(
$siren,
'C',
$ref,
$idCommande);
break;
case 'statuts':
$reponse = getGreffeStatut(
$siren,
'C',
$ref,
$idCommande);
break;
}
}
if( isset($reponse) && !empty($reponse['error']) &&
$reponse['error']['errNum']!=17 ){
if(in_array($erreurStop, $reponse['error']))
{
$message = $reponse['error']['errNum'].' - '.
$reponse['error']['errMsg'];
}else{
$message = 'Une erreur s\'est produite'.
' lors du passage de votre commande.';
}
if(!INFOGREFFE_DEBUG)
$client->setLog('greffe_'.$vue, $siren, 0,
'Erreur '.$reponse['error']['errNum']);
} else {
//Mise à jour de la commande dans la bdd
mysql_update('commandes', array('statutCommande'=>0),
'idCommande = '.$idCommande);
$message =
'Votre commande a été enregistré le '.
date('d').'/'.date('m').'/'.date('Y').
' à '.date('G').' h '.date('i').
' sous la référence '.$type.$idCommande;
//Envoi mail de commande courrier
if($type=='C'){
sendCmdMail(
'[COMMANDE PIECES] - '.'COMMANDE DE '.strtoupper($vue),
'COMMANDE DE '.strtoupper($vue).
' en courrier manuel <br/>'.EOL.
'Ref Scores et Décision : '.$ref.EOL.
'pour login '.$_SESSION['tabInfo']['login'].EOL
);
}
if(!INFOGREFFE_DEBUG)
$client->setLog('greffe_'.$vue, $siren, 0, $ref);
}
}else{
$message =
'Votre commande n\'a pas été prise en compte.'.
'Vous n\'avez pas saisie d\'adresse email';
}
}
}
elseif($vecteur==strtoupper('commande'))
{
//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'],
));
if(!empty($_REQUEST['email']))
{
$erreur = false;
$fp=fopen(PATH_LOGS.'commande_asso.csv', 'a');
fwrite($fp, date('Y/m/d H:i:s').";$siren;".$_REQUEST['email'].';'.$login.';'.$_SESSION['tabInfo']['email'].';'.$_SESSION['tabInfo']['ip']."\n");
fclose($fp);
$infoAsso = array(
'Siren' => $siren,
'idEntreprise' => $idEntreprise,
'RaisonSociale' => $_SESSION['tabInfo']['entrep']['raisonSociale'],
);
$infoDemande = array(
'Ref' => $_REQUEST['reference'],
'Tel' => $_REQUEST['tel'],
'Email' => $_REQUEST['email'],
);
$firephp->log($infoDemande,'infoDemande');
$firephp->log($infoAsso,'infoAsso');
try {
$O = $client->commandeAsso($siren, $infoAsso, $infoDemande);
$annee = substr($O['results']['dateCommande'],0,4);
$mois = substr($O['results']['dateCommande'],4,2);
$jour = substr($O['results']['dateCommande'],6,2);
$heure = substr($O['results']['dateCommande'],8,2);
$minutes = substr($O['results']['dateCommande'],10,2);
$ref = $O['results']['refCmde'];
if( isset($ref) && !empty($ref) )
{
$message = 'Votre demande à été prise en compte le '.$jour.'/'.$mois.'/'.$annee.' à '.$heure.' h '.$minutes.' sous la référence <b>'.$ref.'</b>.';
}
$firephp->log($O,'O');
} catch (SoapFault $fault) {
require_once 'soaperror.php';
processSoapFault($client,$fault,$_SESSION['tabInfo']);
$erreur = true;
}
if($erreur)
{
$message = 'Une erreur s\'est produite lors du passage de votre commande.';
}
}else{
$message="ERREUR : Veuillez saisir une adresse email valide pour la commande de pièces.";
}
}
//Arrêt du script pour les méthodes en ajax
if($ajax==true) exit;
//Raison sociale depuis la session
$raisonSociale = etabSession($siren, $idEntreprise);
$vecteur = 'XL';
//Actes, bilans hors cas association
if( !in_array($cj, $association_cj) )
{
switch($vue)
{
case 'actes':
$titreh2 = htmlspecialchars('Actes & Statuts');
if(!in_array($cj, $association_cj))
{
$table_header = array('Date', 'Type', 'Décisions');
$reponse = getGreffeActes($siren, $vecteur, $ref);
if(!empty($reponse['error'])) $error = $reponse['error'];
$table_content = theme_greffeactes($reponse['result'], $table_header);
//Enregistrement des logs auprès du webservice
}
break;
case 'bilans':
$titreh2 = htmlspecialchars('Compte Annuels');
$table_header = array('Date de clôture', 'Type', 'Décisions');
if(!in_array($cj, $association_cj))
{
$reponse = getGreffeBilans($siren, $vecteur, $ref);
if(!empty($reponse['error'])) $error = $reponse['error'];
$table_content = theme_greffebilans($reponse['result'], $table_header);
//Enregistrement des logs auprès du webservice
}
break;
default:
//Mode non supporté
$message = 'Paramètres incorrectes!';
break;
}
}else{
$titreh2 = htmlspecialchars('Actes & Statuts');
break;
default:
//Mode non supporté
$message = 'Paramètres incorrectes!';
break;
}
} else {
$titreh2 = htmlspecialchars('Actes & Statuts');
}
?>
<div id="center">
@ -619,8 +132,7 @@ if ( in_array($cj, $association_cj) )
<td width="550" colspan="2" class="StyleInfoData">Il n'est pas possible de visualiser les statuts des associations en ligne.</td>
</tr>
<?php
if ($action!='commande' && preg_match('/ACTES/i', $_SESSION['tabInfo']['droits']))
{
if ( $action!='commande' && hasPerm('actes') ){
?>
<tr>
<td width="30">&nbsp;</td>
@ -657,7 +169,7 @@ if ( in_array($cj, $association_cj) )
</td>
</tr>
<?
}elseif (!preg_match('/ACTES/i', $_SESSION['tabInfo']['droits'])){
} elseif ( !hasPerm('actes') ){
?>
<tr>
<td width="30">&nbsp;</td>
@ -668,22 +180,18 @@ if ( in_array($cj, $association_cj) )
?>
</table>
<?php
}else{
if(isset($error))
{
?>
<div class="blockh2">
<?=$error['errNum']?> - <?=$error['errMsg']?>
</div>
<?php
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$error['errNum']);
}
else
{
echo theme_table($table_content, array('class'=>'greffe'));
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
} // Test error
} else {
if ( isset($error) ){
?>
<div class="blockh2">
<?=$error['errNum']?> - <?=$error['errMsg']?>
</div>
<?php
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$error['errNum']);
} else {
echo theme_table($table_content, array('class'=>'greffe'));
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siren, 0, $ref);
} // Test error
} //
?>
<p class="confidentiel blockh2">