extranet/www/pages/greffes2.php

629 lines
19 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
{
2010-01-22 08:58:39 +00:00
require_once 'default/_includes/mysql.php';
require_once 'common/dates.php';
require_once 'common/curl.php';
2010-01-22 08:58:39 +00:00
require_once 'theme/theme.php';
require_once 'user/user.php';
require_once 'infogreffe/infogreffews.php';
2010-01-22 08:58:39 +00:00
//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);
//Raison sociale depuis la session
$raisonSociale = $_SESSION['tabInfo']['entrep']['raisonSociale'];
//TODO : Raison sociale depuis l'url (cas des associations ?)
isset($_REQUEST['rs'])? $raisonSociale = $_REQUEST['rs'] : '';
2010-01-22 08:58:39 +00:00
(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;
$idCommande = 0;
//Debug
$firephp->log($siren, 'siren');
$firephp->log($vecteur, 'vecteur');
$firephp->log($vue, 'vue');
$firephp->log($ajax, 'ajax');
//Sp<53>cificit<69> associations
$association_cj = array(
'9150', // Association syndicale libre
'9220', // Association d<>clar<61>e
'9221', // Association d<>clar<61>e "entreprises d'insertion par l'<27>conomique"
'9222', // Association interm<72>diaire
'9223', // Groupement d'employeurs
'9230', // Association d<>clar<61>e reconnue d'utilit<69> publique
'9240', // Congr<67>gation
'9260', // Association de droit local
'9300', // Fondation
);
//Erreur bloquante infogreffe
$erreurStop = array(6, 14, 25, 45, 999);
//Gestion du mode commande t<>l<EFBFBD>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'],
));
2010-01-22 08:58:39 +00:00
$error = '';
switch($vue)
{
case 'actes':
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, $ref);
$info = unserialize(urldecode($_REQUEST['info']));
$firephp->log($info,'info');
$message.= '<br/><a href="./datafile.php?q=acte-'.$siren.'-'.$ref.'.pdf&type=pdf" target="_blank">Ouvrir le fichier '.$info['type'].' </a>';
break;
case 'bilans':
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, $ref);
$info = unserialize(urldecode($_REQUEST['info']));
$firephp->log($info,'info');
if(file_exist('bilan-'.$siren.'-'.$ref.'.pdf')){
$suffixe = 'bilan';
}elseif(file_exist('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<6C>sime '.$info['type'].'</a>';
2010-01-22 08:58:39 +00:00
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'],
));
2010-01-22 08:58:39 +00:00
$firephp->info('DL fichier');
//Enregistrement dans la bdd des informations concernant l'acte
$error = '';
switch($vue)
{
case 'actes':
$reponse = getGreffeActes($siren, $vecteur, $ref);
$firephp->log($reponse, 'getGreffeActes');
if(empty($reponse['error'])) $items = $reponse['result']['actes'];
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');
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, $siret, 0, $ref);
$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<EFBFBD>charger le fichier '.$item['type_acte_libelle'].' aupr<70>s de notre partenaire.';
}
}
}
echo $message;
}
else
{
echo '<br/>Erreur : '.$error;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, 'Erreur '.$reponse['error']['errNum']);
}
break;
case 'bilans':
$reponse = getGreffeBilans($siren, $vecteur, $ref);
$firephp->log($reponse, 'reponse');
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, $siret, 0, $ref);
$message.= '<br/><a href="./datafile.php?q='.$item['url_acces'].'&type=pdf" target="_blank">Ouvrir le bilan mill<6C>sime '.$item['millesime'].'</a>';
}
else
{
$message.= '<br/>Impossible de t<>l<EFBFBD>charger le fichier aupr<70>s de notre partenaire.';
}
}
echo $message;
}
else
{
echo '<br/>Erreur : '.$error;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, 'Erreur '.$reponse['error']['errNum']);
}
break;
}
}
elseif($vecteur=='C')
{
//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'],
));
2010-01-22 08:58:39 +00:00
//Connection <20> la base de donn<6E>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;
//G<>n<EFBFBD>ration de l'idCommande
$rep = mysql_select('commandes', ' idCommande, login, emailCommande, dateCommande', "siren=$siren AND refDocument='$ref'");
if (count($rep)==0)
{
isset($_REQUEST['info'])? $info = unserialize(urldecode($_REQUEST['info'])) : $info = false;
$lib = empty($info['decision'])? '' : $info['decision'];
$dejaCommande = false;
$tabCommande = array(
'idUser' => $_SESSION['tabInfo']['id'],
// emailCommande
'login' => $login,
'siren' => $siren,
'refDocument' => $ref,
'libDocument' => $lib,
'dateCommande' => date('YmdHis')
);
}
else
{
$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;
}
}
$firephp->log($dejaCommande,'dejaCommande');
$firephp->log($tabCommande,'tabCommande');
//Commande non enregistr<74> dans la base
if(!$dejaCommande)
{
//Enregistrement dans la bdd des informations de la commande
$idCommande = mysql_insert('commandes', $tabCommande);
if(INFOGREFFE_DEBUG) $idCommande = $idCommande.'_TEST';
//Commande
switch($vue)
{
case 'actes':
$reponse = getGreffeActes($siren, $vecteur, $ref, $idCommande);
break;
case 'bilans':
$reponse = getGreffeBilans($siren, $vecteur, $ref, $idCommande);
break;
case 'statuts':
$reponse = getGreffeStatut($siren, $vecteur, $ref, $idCommande);
break;
}
if(in_array($erreurStop, $reponse['error']))
{
$error = $reponse['error']['errNum'].' - '.$reponse['error']['errMsg'];
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, $ref);
}else{
$noemail = true;
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, 'Erreur '.$reponse['error']['errNum']); //erreur
}
}
if($error!='')
{
?>
<h2>Erreur</h2>
<p><?=$error?></p>
<?php
}
elseif($noemail)
{
//Demande de l'adresse mail
?>
<h2>Saisir une adresse email</h2>
<p>Votre commande a <EFBFBD>t<EFBFBD> enregistr<EFBFBD>. Merci de pr<EFBFBD>ciser votre adresse email pour recevoir le document ou revenez plus tard pour le t<EFBFBD>l<EFBFBD>charger</p>
Siren : <?=substr($siren,0,3).' '.substr($siren,3,3).' '.substr($siren,6,3)?><br/>
R<EFBFBD>ference commande : G<?=$idCommande?><br/>
<br/>
2010-01-29 17:34:24 +00:00
<script type="text/javascript">
$(document).ready(function(){
$('form[name=commande]').submit(function(){
var eMail = $('input[name=emailCommande]').val();
var isMail = eMail.length;
var verif = /^[a-zA-Z0-9\._-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
2010-01-29 17:34:24 +00:00
if(!isMail || verif.exec(eMail)==null){
alert('Veuillez saisir une adresse email.');
return false;
}
else { return true; }
});
});
</script>
<form name="commande" action="./?page=greffes&vue=<?=$vue?>&siret=<?=$siren?>" method="post">
2010-01-22 08:58:39 +00:00
<input type="hidden" name="action" value="sauvemail"/>
<label>Adresse email du destinataire</label>
2010-01-29 17:34:24 +00:00
<input name="emailCommande" type="text" value="<?php if ($_SESSION['tabInfo']['login']<>'testreunica' && $_SESSION['tabInfo']['login']<>'reunicacsf') echo $_SESSION['tabInfo']['email']?>" size="40"/><br/>
2010-01-22 08:58:39 +00:00
<br/>
2010-01-29 17:34:24 +00:00
<input type="submit" name="submit" value="Valider"/>
2010-01-22 08:58:39 +00:00
</form>
<?php
}elseif(!$noemail && $dejaCommande && $sameLogin)
{
?>
<h2>Document d<EFBFBD>j<EFBFBD> command<EFBFBD></h2>
<p>Vous avez d<EFBFBD>j<EFBFBD> command<EFBFBD> ce document.</p>
<?php
}elseif(!$noemail && $dejaCommande && !$sameLogin)
{
?>
<h2>Document d<EFBFBD>j<EFBFBD> command<EFBFBD></h2>
<p>Une commande est d<EFBFBD>j<EFBFBD> en cours, le document sera disponible sous peu.</p>
<?php
}
$ajax = true;
}
elseif($vecteur==strtoupper('sauvemail'))
{
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'];
$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);
//Connection <20> la base de donn<6E>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() .'-->');
}
$tabCommande = array( 'emailCommande' => $email );
mysql_update('commandes', $tabCommande, "login='$login' AND siren='$siren'");
$message = '<p>Votre commande <20> <20>t<EFBFBD> mise <20> jour.</p>';
}
}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'],
));
2010-01-22 08:58:39 +00:00
if(!empty($_REQUEST['email']) /*&& mailCommande($_REQUEST['email'], $siren, 'asso')*/)
{
$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' => $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 <20> <20>t<EFBFBD> prise en compte le '.$jour.'/'.$mois.'/'.$annee.' <20> '.$heure.' h '.$minutes.' sous la r<>f<EFBFBD>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<70>ces.";
}
}
//Arr<72>t du script pour les m<>thodes en ajax
if($ajax==true) exit;
//Raison sociale inexacte
if ($siren != $tabInfo['entrep']['siren'])
{
require_once 'scoresws/scoresws.php';
$etab = scoresws_identitelight($siret, $siren, $idEntreprise);
if(!empty($etab))
{
$tabEntrep = array();
$tabEntrep['raisonSociale'] = $etab['Nom'];
$tabEntrep['siren'] = $etab['Siren'];
$tabEntrep['siret'] = $etab['Siret'];
$tabEntrep['tva'] = $etab['TvaNumero'];
$tabEntrep['isin'] = $etab['Isin'];
$tabEntrep['AutreId'] = $etab['AutreId'];
$tabEntrep['active'] = $etab['Statut'];
$tabEntrep['Source'] = $etab['Source'];
$tabEntrep['SourceId'] = $etab['SourceId'];
$tabEntrep['codeCommune'] = $etab['Dept'].$etab['codeCommune'];
$tabEntrep['nafEn'] = $etab['NafEnt'];
$tabEntrep['nafEt'] = $etab['NafEtab'];
$tabEntrep['fj'] = $etab['FJ'];
$_SESSION['tabInfo']['entrep'] = $tabEntrep;
$raisonSociale = $etab['Nom'];
}
}
$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<70>s du webservice
}
break;
case 'bilans':
$titreh2 = htmlspecialchars('Compte Annuels');
$table_header = array('Date de cl<63>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<70>s du webservice
}
break;
default:
//Mode non support<72>
$message = 'Param<61>tres incorrectes!';
break;
}
}else{
$titreh2 = htmlspecialchars('Actes & Statuts');
}
?>
<link rel="stylesheet" href="./css/thickbox.css" type="text/css" media="screen" />
<div id="center">
<h1>PI&Egrave;CES OFFICIELLES</h1>
<table>
<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>
2010-01-22 08:58:39 +00:00
<tr>
<td width="30">&nbsp;</td>
<td colspan="2" width="550" class="StyleInfoData">
<?php
require_once 'surveillance/surveillance.php';
echo getSurveillance('actes', $siret);
?>
</td>
</tr>
</table>
<?php
2010-01-22 08:58:39 +00:00
if(isset($message)&& !empty($message))
{
?>
2010-01-22 08:58:39 +00:00
<div><?=$message?></div>
<?php
}
?>
<h2><?=$titreh2?></h2>
2010-01-22 08:58:39 +00:00
<?php
//Sp<53>cificit<69>s des associations
if ( in_array($cj, $association_cj) )
{
?>
<table>
<tr>
<td width="30">&nbsp;</td>
<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']))
{
?>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData"><br/><br/>
2010-01-29 17:34:24 +00:00
<script type="text/javascript">
$(document).ready(function(){
$('form[name=commandeAsso]').submit(function(){
var eMail = $('input[name=email]').val();
var isMail = eMail.length;
var verif = /^[a-zA-Z0-9\._-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/
2010-01-29 17:34:24 +00:00
if(!isMail || verif.exec(eMail)==null){
alert('Veuillez saisir une adresse email.');
return false;
}
else { return true; }
});
});
</script>
<form name="commandeAsso" action="./?page=greffes&action=commande&siret=<?=$siret?>&idEntreprise=<?=$idEntreprise?>" method="post">
2010-01-22 08:58:39 +00:00
<p>Commander les statuts de l'association (d&eacute;lai approximatif de 15 jours)</p><br/>
<br/>Votre r<EFBFBD>f<EFBFBD>rence <input type="text" name="reference" value="" /><br/>
<br/>Votre t<EFBFBD>l<EFBFBD>phone <input type="text" name="tel" value="" maxlength="14" />
2010-01-29 17:34:24 +00:00
<br/>Adresse email du destinataire
<input name="email" type="text" value="
<?php
if ($_SESSION['tabInfo']['login']<>'testreunica' && $_SESSION['tabInfo']['login']<>'reunicacsf')
echo $_SESSION['tabInfo']['email']
?>"" size="20"/>
2010-01-22 08:58:39 +00:00
&nbsp;&nbsp;&nbsp;
<input
class="imgButton"
type="image"
src="./img/boutton_valider_off.gif"
name="submit" onmouseover="this.src='./img/boutton_valider_on.gif'"
onmouseout="this.src='./img/boutton_valider_off.gif'"
title="Commander les statuts de l'association...">
</form>
</td>
</tr>
<?
}elseif (!preg_match('/ACTES/i', $_SESSION['tabInfo']['droits'])){
?>
<tr>
<td width="30">&nbsp;</td>
<td width="550" colspan="2" class="StyleInfoData">Vous n'avez pas les droits n<EFBFBD>cessaires pour commander des status.</td>
</tr>
<?php
}
?>
</table>
<?php
}else{
?>
<script type="text/javascript">
$(document).ready(function()
{
2010-01-22 08:58:39 +00:00
$('span.fichier > a').each(function(){
$(this).click(function(event){
var objet = $(this).parent('span');
objet.html('<br/>Chargement du fichier...');
var url = $(this).attr('href');
$.post( url+'&ajax=true', function (data, textStatus)
{
if( data=='' || data=='FALSE' || textStatus=='timeout' )
{
data = '<br/>Le chargement du fichier a <20>chou<6F>';
}
objet.html(data);
});
event.preventDefault();
return false;
});
});
2010-01-22 08:58:39 +00:00
$('a.multiactes').each(function(){
$(this).click(function(event){
var url = $(this).attr('href');
var objet = $(this).parent('td');
objet.html('Commande en cours...');
$.post( url+'&ajax=true', function (data, textStatus)
{
if( data=='' || data=='FALSE' || textStatus=='timeout' )
{
data = 'Erreur lors de la requete.';
}
objet.html(data);
});
event.preventDefault();
return false;
});
});
2010-01-22 08:58:39 +00:00
});
</script>
<?php
if(isset($error))
{
?>
<?=$error['errNum']?> - <?=$error['errMsg']?>
<?php
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, 'Erreur '.$error['errNum']);
}
2010-01-22 08:58:39 +00:00
else
{
echo theme_table($table_content, array('class'=>'greffe'));
if(!INFOGREFFE_DEBUG) $client->setLog('greffe_'.$vue, $siret, 0, $ref);
} // Test error
} //
} // Fin test connect<63>
?>
</div>