2009-12-04 17:17:09 +00:00
< ? php
2010-01-22 08:58:39 +00:00
require_once realpath ( dirname ( __FILE__ )) . '/functions.php' ;
2009-12-04 17:17:09 +00:00
/** INFOGREFFE **/
2010-02-10 17:27:03 +00:00
define ( 'INFOGREFFE_FILETIME' , 8 );
2010-02-16 08:58:45 +00:00
define ( 'INFOGREFFE_DEBUG' , true );
2010-01-22 08:58:39 +00:00
define ( 'INFOGREFFE_PATH' , PATH_DATA . '/infogreffe/xml/' );
2010-02-10 17:27:03 +00:00
if ( INFOGREFFE_DEBUG )
{
define ( 'INFOGREFFE_WS_URL' , 'https://wsrcte.extelia.fr/WSContextInfogreffe/INFOGREFFE' );
define ( 'INFOGREFFE_WS_URI' , 'https://wsrcte.extelia.fr/' );
define ( 'INFOGREFFE_WS_USER' , '85000109' );
define ( 'INFOGREFFE_WS_PASS' , '160409' );
}
2009-12-04 17:17:09 +00:00
/**
2010-02-10 17:27:03 +00:00
* Génére une chaîne xml pour la requête soap défini suivant les paramètres d ' infogreffe
2010-01-22 08:58:39 +00:00
* @ param string $siren
* @ param int $idCommande
* @ param string $type
* @ param string $vecteur
* @ param string or array $option
* @ return string
2009-12-04 17:17:09 +00:00
*/
function infogreffe_requetexml ( $siren , $idCommande , $type , $vecteur , $option )
{
2010-01-22 08:58:39 +00:00
global $client , $firephp ;
2009-12-04 17:17:09 +00:00
$xmlStr = '' ;
$xml = new SimpleXMLElement ( '<demande></demande>' );
$emetteur = $xml -> addChild ( 'emetteur' );
$emetteur -> addChild ( 'code_abonne' , INFOGREFFE_WS_USER );
$emetteur -> addChild ( 'mot_passe' , INFOGREFFE_WS_PASS );
2010-02-10 17:27:03 +00:00
$emetteur -> addChild ( 'reference_client' , 'G' . $idCommande ); //Générer l'identifiant de commande
2009-12-04 17:17:09 +00:00
$code_requete = $emetteur -> addChild ( 'code_requete' );
$code_requete -> addChild ( 'type_profil' , 'A' );
$code_requete -> addChild ( 'origine_emetteur' , 'IC' );
$code_requete -> addChild ( 'nature_requete' , 'C' ); // C = Commande de documents
2010-02-10 17:27:03 +00:00
$code_requete -> addChild ( 'type_document' , $type ); // KB = Kbis, PN = privilèges et nantissements, BI = Bilan complet, BS = bilan saisi, ST = Dernier Statut à jour, AC = Acte, SD = Surveillance Demande et Accusé, SR = Surveillance Révélation, SP = Surveillance Portefeuille, FA = Recherche PCL, FI = Inventaire, FJ = Jugement, FO = Ordonnance, FD = Dépôt divers, LE = Liste Etablissements
2009-12-04 17:17:09 +00:00
$code_requete -> addChild ( 'type_requete' , 'S' ); // S = Simple
$mode_diffusion = $code_requete -> addChild ( 'mode_diffusion' );
2010-02-10 17:27:03 +00:00
// Mode de diffusion : C = Courrier, T = Téléchargement, M = Mail, XL = XML
2009-12-04 17:17:09 +00:00
if ( $vecteur == 'XL' && $option == '' )
{
//On ajoute tout les types de diffusions pour $vecteur = XL
$mode_diffusion -> addChild ( 'mode' ) -> addAttribute ( 'type' , 'C' );
$mode_diffusion -> addChild ( 'mode' ) -> addAttribute ( 'type' , 'T' );
}
$mode_diffusion -> addChild ( 'mode' ) -> addAttribute ( 'type' , $vecteur );
$code_requete -> addChild ( 'media' , 'WS' );
$commande = $xml -> addChild ( 'commande' );
$commande -> addChild ( 'num_siren' , $siren );
// Commande de documents : bilan saisie ou bilan complet
if ( ( $type == 'BS' || $type == 'BI' ) && $option != '' )
{
//Format de la variable option pour la commande de type BI ou BS
/*
2010-01-22 08:58:39 +00:00
0 => millesime
1 => date_cloture
2 => greffe
3 => dossier_millesime
4 => dossier_statut
5 => dossier_chrono
6 => num_depot
2009-12-04 17:17:09 +00:00
*/
$ref = explode ( '-' , $option );
$commande -> addChild ( 'greffe' , $ref [ 2 ]);
$commande -> addChild ( 'dossier_millesime' , $ref [ 3 ]);
$commande -> addChild ( 'dossier_statut' , $ref [ 4 ]);
$commande -> addChild ( 'dossier_chrono' , $ref [ 5 ]);
$commande -> addChild ( 'num_depot' , $ref [ 6 ]);
2010-01-22 08:58:39 +00:00
$commande -> addChild ( 'date_cloture' , WDate :: dateT ( 'Ymd' , 'd/m/Y' , $ref [ 1 ]));
$fichierOption = $option ;
2009-12-04 17:17:09 +00:00
}
// Commande de documents : actes
elseif ( $type == 'AC' && ! empty ( $option ) )
{
//Format de la variable option pour commande type AC
2010-01-22 08:58:39 +00:00
2009-12-04 17:17:09 +00:00
/*
2010-01-22 08:58:39 +00:00
0 => type_acte
2010-02-10 17:27:03 +00:00
1 => date de référence
2010-01-22 08:58:39 +00:00
2 => greffe
3 => dossier_millesime
4 => dossier_statut
5 => dossier_chrono
6 => num_depot
7 => num_acte
2009-12-04 17:17:09 +00:00
*/
$ref = explode ( '-' , $option );
2010-01-22 08:58:39 +00:00
$num_actes = explode ( '|' , $ref [ 7 ]);
$firephp -> log ( $ref , 'ref' );
$firephp -> log ( $num_actes , 'ref' );
$commande -> addChild ( 'greffe' , $ref [ 2 ]);
$commande -> addChild ( 'dossier_millesime' , $ref [ 3 ]);
$commande -> addChild ( 'dossier_statut' , $ref [ 4 ]);
$commande -> addChild ( 'dossier_chrono' , $ref [ 5 ]);
$commande -> addChild ( 'num_depot' , $ref [ 6 ]);
2009-12-04 17:17:09 +00:00
$liste_actes = $commande -> addChild ( 'liste_actes' );
2010-01-22 08:58:39 +00:00
if ( is_array ( $num_actes ) && count ( $num_actes ) > 1 )
{
foreach ( $num_actes as $num_acte )
{
$liste_actes -> addChild ( 'acte' ) -> addAttribute ( 'num' , $num_acte );
}
$fichierOption = $ref [ 0 ] . '-' . $ref [ 1 ] . '-' . $ref [ 2 ] . '-' . $ref [ 3 ] . '-' . $ref [ 4 ] . '-' . $ref [ 5 ] . '-' . $ref [ 6 ];
}
else
{
$liste_actes -> addChild ( 'acte' ) -> addAttribute ( 'num' , $ref [ 7 ]);
$fichierOption = $option ;
}
2009-12-04 17:17:09 +00:00
}
$xmlStr = str_replace ( '<?xml version="1.0"?>' , '' , $xml -> asXML ());
2010-01-22 08:58:39 +00:00
empty ( $option ) ? $fichier = $type . '-' . $siren . '.xml' : $fichier = $type . '-' . $siren . '-' . $fichierOption . '.xml' ;
file_put_contents ( INFOGREFFE_PATH . $fichier . '.query' , $xmlStr );
2010-02-10 17:27:03 +00:00
//Retourne le xml sous forme de chaîne de caractères
2009-12-04 17:17:09 +00:00
return $xmlStr ;
}
/**
2010-02-10 17:27:03 +00:00
* Requête le webservice infogreffe
2009-12-04 17:17:09 +00:00
* @ param unknown_type $xml
* @ return unknown_type
*/
function infogreffe_getproduitsxml ( $xml )
{
$req = utf8_encode ( $xml );
$post = '<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://webservices.infogreffe.fr/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getProduitsWebServicesXML><param0 xsi:type="xsd:string">' . $req . '</param0></ns1:getProduitsWebServicesXML></SOAP-ENV:Body></SOAP-ENV:Envelope>' ;
$ch = curl_init ();
2010-01-22 08:58:39 +00:00
curl_setopt ( $ch , CURLOPT_URL , INFOGREFFE_WS_URL );
2009-12-04 17:17:09 +00:00
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER , FALSE );
curl_setopt ( $ch , CURLOPT_COOKIEFILE , TRUE );
curl_setopt ( $ch , CURLOPT_POST , TRUE );
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , TRUE );
curl_setopt ( $ch , CURLOPT_POSTFIELDS , $post );
$reponseXML = curl_exec ( $ch );
$reponseXML = str_replace ( " <?xml version='1.0' encoding='UTF-8'?><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'> " , '' , $reponseXML );
$reponseXML = str_replace ( '</return></ns0:getProduitsWebServicesXMLResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>' , '' , $reponseXML );
return $reponseXML ;
}
/**
* Format la chaine xml de liste des actes
* @ param unknown_type $xml
* @ return unknown_type
*/
function infogreffe_parsexml_actes ( $xml )
{
2010-01-22 08:58:39 +00:00
global $firephp ;
2009-12-04 17:17:09 +00:00
$doc = new DOMDocument ();
$doc -> loadXML ( $xml );
$liste_depot_acte = $doc -> getElementsByTagName ( 'liste_depot_acte' ) -> item ( 0 );
$depot_actes = $liste_depot_acte -> getElementsByTagName ( 'depot_acte' );
$actes = array ();
foreach ( $depot_actes as $depot_acte )
{
$acte = array ();
$acte [ 'num_gest' ] = array ();
$num_gest = $depot_acte -> getElementsByTagName ( 'num_gest' ) -> item ( 0 );
$acte [ 'num_gest' ][ 'greffe' ] = $num_gest -> getElementsByTagName ( 'greffe' ) -> item ( 0 ) -> nodeValue ;
$acte [ 'num_gest' ][ 'dossier_millesime' ] = $num_gest -> getElementsByTagName ( 'dossier_millesime' ) -> item ( 0 ) -> nodeValue ;
$acte [ 'num_gest' ][ 'dossier_statut' ] = $num_gest -> getElementsByTagName ( 'dossier_statut' ) -> item ( 0 ) -> nodeValue ;
2010-01-22 08:58:39 +00:00
$acte [ 'num_gest' ][ 'dossier_chrono' ] = $num_gest -> getElementsByTagName ( 'dossier_chrono' ) -> item ( 0 ) -> nodeValue ;
2009-12-04 17:17:09 +00:00
$acte [ 'num_siren' ] = $depot_acte -> getElementsByTagName ( 'num_siren' ) -> item ( 0 ) -> nodeValue ;
$acte [ 'num_depot' ] = $depot_acte -> getElementsByTagName ( 'num_depot' ) -> item ( 0 ) -> nodeValue ;
$acte [ 'date_depot' ] = $depot_acte -> getElementsByTagName ( 'date_depot' ) -> item ( 0 ) -> nodeValue ;
$infoActes = $depot_acte -> getElementsByTagName ( 'acte' );
2010-01-22 08:58:39 +00:00
$acte [ 'depot' ] = array ();
2009-12-04 17:17:09 +00:00
foreach ( $infoActes as $infoActe )
{
2010-01-22 08:58:39 +00:00
$actenum = array ();
$actenum [ 'date_acte' ] = $infoActe -> getElementsByTagName ( 'date_acte' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'num_acte' ] = $infoActe -> getElementsByTagName ( 'num_acte' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'type_acte' ] = $infoActe -> getElementsByTagName ( 'type_acte' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'type_acte_libelle' ] = $infoActe -> getElementsByTagName ( 'type_acte_libelle' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'nbpages_acte' ] = $infoActe -> getElementsByTagName ( 'nbpages_acte' ) -> item ( 0 ) -> nodeValue ;
2009-12-04 17:17:09 +00:00
$decision = $infoActe -> getElementsByTagName ( 'decision' ) -> item ( 0 );
if ( $decision )
{
2010-01-22 08:58:39 +00:00
$actenum [ 'decision' ] = array ();
$actenum [ 'decision' ][ 'nature' ] = $decision -> getElementsByTagName ( 'nature' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'decision' ][ 'libelle' ] = $decision -> getElementsByTagName ( 'libelle' ) -> item ( 0 ) -> nodeValue ;
2009-12-04 17:17:09 +00:00
}
2010-01-22 08:58:39 +00:00
$actenum [ 'mode_diffusion' ] = array ();
2009-12-04 17:17:09 +00:00
$mode_diffusion = $infoActe -> getElementsByTagName ( 'mode_diffusion' ) -> item ( 0 ) -> getElementsByTagName ( 'mode' );
foreach ( $mode_diffusion as $mode )
{
2010-01-22 08:58:39 +00:00
$actenum [ 'mode_diffusion' ][] = $mode -> getAttribute ( 'type' );
2009-12-04 17:17:09 +00:00
}
2010-01-22 08:58:39 +00:00
$acte [ 'depot' ][] = $actenum ;
2009-12-04 17:17:09 +00:00
} //Fin listes des infos acte
2010-01-22 08:58:39 +00:00
2010-02-10 17:27:03 +00:00
//Génération de l'index pour le tri
2010-01-22 08:58:39 +00:00
if ( ! empty ( $acte [ 'date_depot' ])){ $date = $acte [ 'date_depot' ]; }
else { $date = '' ; }
if ( ! empty ( $date ))
{
$datef = substr ( $date , 0 , 4 ) . substr ( $date , 5 , 2 ) . substr ( $date , 8 , 2 );
2010-02-02 08:00:26 +00:00
$key = $datef . '-' . $acte [ 'num_depot' ];
2010-02-10 17:27:03 +00:00
//Affectation liste générale avec un index permettant le tri
2010-01-26 10:55:46 +00:00
$actes [ $key ] = $acte ;
2010-01-22 08:58:39 +00:00
}
//Prise en compte de l'acte -1
if ( $acte [ 'num_depot' ] ==- 1 )
{
2010-01-28 16:45:29 +00:00
$actes [ 0 ] = $acte ;
2010-01-22 08:58:39 +00:00
}
2009-12-04 17:17:09 +00:00
}
//Tri suivant la date d'acte ou de depot
krsort ( $actes );
2010-01-22 08:58:39 +00:00
$firephp -> log ( $actes , 'actes' );
2009-12-04 17:17:09 +00:00
return $actes ;
}
/**
2010-02-10 17:27:03 +00:00
* Formate la chaine xml de commande d ' un acte en mode téléchargement
2010-01-22 08:58:39 +00:00
* @ param string $xml
* @ return array
2009-12-04 17:17:09 +00:00
*/
function infogreffe_parsexml_actes_t ( $xml )
{
$doc = new DOMDocument ();
$doc -> loadXML ( $xml );
$depot_acte = $doc -> getElementsByTagName ( 'depot_acte' ) -> item ( 0 );
$info = array ();
$info [ 'num_gest' ] = array ();
$num_gest = $depot_acte -> getElementsByTagName ( 'num_gest' ) -> item ( 0 );
$info [ 'num_gest' ][ 'greffe' ] = $num_gest -> getElementsByTagName ( 'greffe' ) -> item ( 0 ) -> nodeValue ;
$info [ 'num_gest' ][ 'dossier_millesime' ] = $num_gest -> getElementsByTagName ( 'dossier_millesime' ) -> item ( 0 ) -> nodeValue ;
$info [ 'num_gest' ][ 'dossier_statut' ] = $num_gest -> getElementsByTagName ( 'dossier_statut' ) -> item ( 0 ) -> nodeValue ;
2010-01-22 08:58:39 +00:00
$info [ 'num_gest' ][ 'dossier_chrono' ] = $num_gest -> getElementsByTagName ( 'dossier_chrono' ) -> item ( 0 ) -> nodeValue ;
2009-12-04 17:17:09 +00:00
$info [ 'num_siren' ] = $depot_acte -> getElementsByTagName ( 'num_siren' ) -> item ( 0 ) -> nodeValue ;
$info [ 'num_depot' ] = $depot_acte -> getElementsByTagName ( 'num_depot' ) -> item ( 0 ) -> nodeValue ;
$info [ 'date_depot' ] = $depot_acte -> getElementsByTagName ( 'date_depot' ) -> item ( 0 ) -> nodeValue ;
2010-01-22 08:58:39 +00:00
$infoActes = $depot_acte -> getElementsByTagName ( 'acte' );
$info [ 'actes' ] = array ();
foreach ( $infoActes as $infoActe )
2009-12-04 17:17:09 +00:00
{
2010-01-22 08:58:39 +00:00
$actenum = array ();
$actenum [ 'date_acte' ] = $infoActe -> getElementsByTagName ( 'date_acte' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'num_acte' ] = $infoActe -> getElementsByTagName ( 'num_acte' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'type_acte' ] = $infoActe -> getElementsByTagName ( 'type_acte' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'type_acte_libelle' ] = $infoActe -> getElementsByTagName ( 'type_acte_libelle' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'nbpages_acte' ] = $infoActe -> getElementsByTagName ( 'nbpages_acte' ) -> item ( 0 ) -> nodeValue ;
$decision = $infoActe -> getElementsByTagName ( 'decision' ) -> item ( 0 );
if ( $decision )
{
$actenum [ 'decision' ] = array ();
$actenum [ 'decision' ][ 'nature' ] = $decision -> getElementsByTagName ( 'nature' ) -> item ( 0 ) -> nodeValue ;
$actenum [ 'decision' ][ 'libelle' ] = $decision -> getElementsByTagName ( 'libelle' ) -> item ( 0 ) -> nodeValue ;
}
$actenum [ 'url_acces' ] = htmlspecialchars_decode ( $infoActe -> getElementsByTagName ( 'url_acces' ) -> item ( 0 ) -> nodeValue );
$info [ 'actes' ][] = $actenum ;
2009-12-04 17:17:09 +00:00
}
return $info ;
}
/**
* Formatte la chaine xml de liste des bilans
* @ param unknown_type $xml
* @ return unknown_type
*/
function infogreffe_parsexml_bilans ( $xml )
{
$doc = new DOMDocument ();
$doc -> loadXML ( $xml );
$liste_bilan_complet = $doc -> getElementsByTagName ( 'liste_bilan_complet' ) -> item ( 0 );
$bilan_complet = $liste_bilan_complet -> getElementsByTagName ( 'bilan_complet' );
$bilans = array ();
foreach ( $bilan_complet as $element )
{
$bilan = array ();
$bilan [ 'num_gest' ] = array ();
$num_gest = $element -> getElementsByTagName ( 'num_gest' ) -> item ( 0 );
$bilan [ 'num_gest' ][ 'greffe' ] = $num_gest -> getElementsByTagName ( 'greffe' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_gest' ][ 'dossier_millesime' ] = $num_gest -> getElementsByTagName ( 'dossier_millesime' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_gest' ][ 'dossier_statut' ] = $num_gest -> getElementsByTagName ( 'dossier_statut' ) -> item ( 0 ) -> nodeValue ;
2010-01-22 08:58:39 +00:00
$bilan [ 'num_gest' ][ 'dossier_chrono' ] = $num_gest -> getElementsByTagName ( 'dossier_chrono' ) -> item ( 0 ) -> nodeValue ;
2009-12-04 17:17:09 +00:00
$bilan [ 'num_siren' ] = $element -> getElementsByTagName ( 'num_siren' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'date_cloture' ] = $element -> getElementsByTagName ( 'date_cloture' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'date_cloture_iso' ] = $element -> getElementsByTagName ( 'date_cloture_iso' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'millesime' ] = $element -> getElementsByTagName ( 'millesime' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_depot' ] = $element -> getElementsByTagName ( 'num_depot' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'type_comptes' ] = $element -> getElementsByTagName ( 'type_comptes' ) -> item ( 0 ) -> nodeValue ;
$mode_diffusion = $element -> getElementsByTagName ( 'mode_diffusion' ) -> item ( 0 ) -> getElementsByTagName ( 'mode' );
foreach ( $mode_diffusion as $mode )
{
$bilan [ 'mode_diffusion' ][] = $mode -> getAttribute ( 'type' );
}
2010-02-10 17:27:03 +00:00
//Génération de l'index pour le tri
2009-12-04 17:17:09 +00:00
$date = $bilan [ 'date_cloture_iso' ];
if ( ! empty ( $date ))
{
$datef = substr ( $date , 0 , 4 ) . substr ( $date , 5 , 2 ) . substr ( $date , 8 , 2 );
2010-02-10 17:27:03 +00:00
//Affectation liste générale avec un index permettant le tri
2009-12-04 17:17:09 +00:00
$bilans [ $datef ] = $bilan ;
}
}
krsort ( $bilans );
return $bilans ;
}
2010-01-22 08:58:39 +00:00
function infogreffe_parsexml_bilans_t ( $xml )
{
global $firephp ;
$doc = new DOMDocument ();
$doc -> loadXML ( $xml );
$bilan_complet = $doc -> getElementsByTagName ( 'bilan_complet' ) -> item ( 0 );
$bilan = array ();
$bilan [ 'num_gest' ] = array ();
$num_gest = $bilan_complet -> getElementsByTagName ( 'num_gest' ) -> item ( 0 );
$bilan [ 'num_gest' ][ 'greffe' ] = $num_gest -> getElementsByTagName ( 'greffe' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_gest' ][ 'dossier_millesime' ] = $num_gest -> getElementsByTagName ( 'dossier_millesime' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_gest' ][ 'dossier_statut' ] = $num_gest -> getElementsByTagName ( 'dossier_statut' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_gest' ][ 'dossier_chrono' ] = $num_gest -> getElementsByTagName ( 'dossier_chrono' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_siren' ] = $bilan_complet -> getElementsByTagName ( 'num_siren' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'date_cloture' ] = $bilan_complet -> getElementsByTagName ( 'date_cloture' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'date_cloture_iso' ] = $bilan_complet -> getElementsByTagName ( 'date_cloture_iso' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'millesime' ] = $bilan_complet -> getElementsByTagName ( 'millesime' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'num_depot' ] = $bilan_complet -> getElementsByTagName ( 'num_depot' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'type_comptes' ] = $bilan_complet -> getElementsByTagName ( 'type_comptes' ) -> item ( 0 ) -> nodeValue ;
$bilan [ 'url_acces' ] = $bilan_complet -> getElementsByTagName ( 'url_acces' ) -> item ( 0 ) -> nodeValue ;
return array ( 'bilan' => $bilan );
}
2009-12-04 17:17:09 +00:00
function infogreffe_parsexml_bilans_c (){}
/**
2010-02-10 17:27:03 +00:00
* Formatte le tableau complet des actes pour envoyer seulement les informations nécessaires
2009-12-04 17:17:09 +00:00
* @ param $actes
* @ return unknown_type
*/
2010-01-22 08:58:39 +00:00
function infogreffe_format_actes ( $actes )
2009-12-04 17:17:09 +00:00
{
2010-01-22 08:58:39 +00:00
global $firephp ;
2009-12-04 17:17:09 +00:00
$tabActes = array ();
2010-01-22 08:58:39 +00:00
//Pour chaque depot
foreach ( $actes as $key => $depot )
{
//Pour chaque acte dans le depot
foreach ( $depot [ 'depot' ] as $acte )
{
//Recherche du fichier suivant le siren, le type de document et la reference
$file_exist = false ;
$ref = infogreffe_acte_ref ( $acte , $depot );
$fichier = PATH_DATA . '/pdf/' . infogreffe_acte_filename ( $depot [ 'num_siren' ], $ref );
if ( file_exists ( $fichier ) && filesize ( $fichier ) > 0 )
{
$mode = 'fichier' ;
$file_exist = true ;
}
2009-12-04 17:17:09 +00:00
2010-02-10 17:27:03 +00:00
//Génération date (date_acte peut être vide)
if ( ! empty ( $acte [ 'date_acte' ])){ $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $acte [ 'date_acte' ]); }
else { $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $depot [ 'date_depot' ]); }
2010-02-16 08:58:45 +00:00
$firephp -> log ( $ref , 'ref' );
2010-01-22 08:58:39 +00:00
//Suppression du mode courrier si le mode telechargement existe
$modes = $acte [ 'mode_diffusion' ];
if ( is_array ( $modes ) && ! $file_exist )
{
//Pas de modes
$nomode = true ;
if ( in_array ( 'T' , $modes ))
{
$mode = 'T' ;
//Reference multiacte
2010-02-16 08:58:45 +00:00
$ref_multi = infogreffe_acte_ref ( $acte , $depot , true );
$tabActe [ 'ref_multi' ] = $ref_multi ;
2010-01-22 08:58:39 +00:00
$nomode = false ;
}
elseif ( in_array ( 'C' , $modes ))
{
$mode = 'C' ;
//Reference identique
$nomode = false ;
}
2010-02-11 16:01:21 +00:00
if ( $nomode && ( substr ( $date , 0 , 4 ) > date ( 'Y' ) - 5 || hasModeEdition () ) )
2010-01-22 08:58:39 +00:00
{
$mode = 'courrier' ;
}
}
2009-12-04 17:17:09 +00:00
2010-01-22 08:58:39 +00:00
//Assignation
$tabActe [ 'num_acte' ] = $acte [ 'num_acte' ];
2010-02-18 17:27:48 +00:00
$tabActe [ 'nbpages_acte' ] = $acte [ 'nbpages_acte' ];
2010-01-22 08:58:39 +00:00
$tabActe [ 'type' ] = $acte [ 'type_acte_libelle' ];
$tabActe [ 'decision' ] = $acte [ 'decision' ][ 'libelle' ];
$tabActe [ 'date_acte' ] = ( $date != '' ) ? WDate :: dateT ( 'Ymd' , 'd/m/Y' , $date ) : '' ;
$tabActe [ 'mode' ] = $mode ;
$tabActe [ 'ref' ] = $ref ;
$tabActes [ $key ][ 'actes' ][] = $tabActe ;
}
$tabActes [ $key ][ 'num_depot' ] = $depot [ 'num_depot' ];
$tabActes [ $key ][ 'date_depot' ] = WDate :: dateT ( 'Y-m-d' , 'd/m/Y' , $depot [ 'date_depot' ]);
}
return $tabActes ;
}
function infogreffe_format_actes_t ( $actes )
{
$tabActes = array ();
$tabActe = array ();
foreach ( $actes [ 'actes' ] as $acte )
{
2010-02-10 17:27:03 +00:00
//Génération date (date_acte peut être vide)
2010-01-22 08:58:39 +00:00
if ( ! empty ( $acte [ 'date_acte' ])){ $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $acte [ 'date_acte' ]); }
else { $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $actes [ 'date_depot' ]); }
$tabActe = '' ;
$tabActe [ 'type_acte' ] = $acte [ 'type_acte' ];
$tabActe [ 'type_acte_libelle' ] = $acte [ 'type_acte_libelle' ];
$tabActe [ 'decision' ] = $acte [ 'decision' ];
$tabActe [ 'date_acte' ] = $date ;
$tabActe [ 'num_acte' ] = $acte [ 'num_acte' ];
$tabActe [ 'url_acces' ] = $acte [ 'url_acces' ];
$tabActes [ 'actes' ][] = $tabActe ;
}
$tabActes [ 'num_gest' ] = $actes [ 'num_gest' ];
$tabActes [ 'num_siren' ] = $actes [ 'num_siren' ];
$tabActes [ 'num_depot' ] = $actes [ 'num_depot' ];
$tabActes [ 'date_depot' ] = $actes [ 'date_depot' ];
return $tabActes ;
}
/**
*
* @ param unknown_type $bilans
* @ return unknown_type
*/
function infogreffe_format_bilans ( $bilans )
{
global $firephp ;
//Organisation du tableau des bilans
$tabBilans = array ();
foreach ( $bilans as $key => $bilan )
{
$mode = '' ;
2010-02-12 08:56:54 +00:00
$nomode = true ;
2010-01-22 08:58:39 +00:00
//Recherche du fichier suivant le siren, le type de document et la reference
$file_exist = false ;
$ref = infogreffe_bilan_ref ( $bilan );
$fichier = PATH_DATA . '/pdf/' . infogreffe_bilan_filename ( $bilan [ 'num_siren' ], $ref );
if ( file_exists ( $fichier ) && filesize ( $fichier ) > 0 )
{
$mode = 'fichier' ;
$file_exist = true ;
2010-02-12 08:56:54 +00:00
$nomode = false ;
2010-01-22 08:58:39 +00:00
}
2010-02-01 14:30:15 +00:00
//2eme cas de fichier en acte (a faire disparaitre)
2010-02-01 14:43:01 +00:00
$fichier = PATH_DATA . '/pdf/acte-' . $bilan [ 'num_siren' ] . '-' . $ref . '.pdf' ;
2010-02-01 14:30:15 +00:00
if ( file_exists ( $fichier ) && filesize ( $fichier ) > 0 )
{
$mode = 'fichier' ;
$file_exist = true ;
2010-02-12 08:56:54 +00:00
$nomode = false ;
2010-02-01 14:30:15 +00:00
}
2009-12-04 17:17:09 +00:00
//Suppression du mode courrier si le mode telechargement existe
2010-01-22 08:58:39 +00:00
$modes = $bilan [ 'mode_diffusion' ];
2010-02-12 08:56:54 +00:00
2010-01-22 08:58:39 +00:00
if ( is_array ( $modes ) && ! empty ( $modes ) && ! $file_exist )
{
if ( in_array ( 'T' , $modes )) { $mode = 'T' ; $nomode = false ;}
elseif ( in_array ( 'C' , $modes )){ $mode = 'C' ; $nomode = false ;}
2010-02-10 17:27:03 +00:00
}
2010-02-11 16:01:21 +00:00
if ( $nomode && ( substr ( $bilan [ 'date_cloture' ], 6 , 4 ) > date ( 'Y' ) - 5 || hasModeEdition () ) )
2010-02-10 17:27:03 +00:00
{
$mode = 'courrier' ;
2010-01-22 08:58:39 +00:00
}
2010-02-10 17:27:03 +00:00
$firephp -> log ( $mode , $bilan [ 'millesime' ]);
2009-12-04 17:17:09 +00:00
//Valeurs de retour
2010-01-22 08:58:39 +00:00
$tabBilans [ $key ][ 'millesime' ] = $bilan [ 'millesime' ];
$tabBilans [ $key ][ 'date_cloture' ] = $bilan [ 'date_cloture' ];
$tabBilans [ $key ][ 'type' ] = $bilan [ 'type_comptes' ];
$tabBilans [ $key ][ 'num_depot' ] = $bilan [ 'num_depot' ];
$tabBilans [ $key ][ 'mode' ] = $mode ;
$tabBilans [ $key ][ 'ref' ] = $ref ;
2009-12-04 17:17:09 +00:00
}
2010-01-22 08:58:39 +00:00
return $tabBilans ;
2009-12-04 17:17:09 +00:00
}
/**
* Liste tous les actes pour un siren et gere les commandes
2010-01-22 08:58:39 +00:00
* @ param string $siren
* @ param string $typeCommande
* @ param string $ref
* @ return array
2009-12-04 17:17:09 +00:00
*/
2010-01-22 08:58:39 +00:00
function getGreffeActes ( $siren , $typeCommande = '' , $ref = '' , $idCommande = 0 )
2009-12-04 17:17:09 +00:00
{
2010-01-22 08:58:39 +00:00
global $firephp ;
2009-12-04 17:17:09 +00:00
$error = '' ;
$result = array ();
if ( empty ( $typeCommande )) $typeCommande = 'XL' ;
2010-01-22 08:58:39 +00:00
$firephp -> log ( $typeCommande , 'typeCommande' );
2009-12-04 17:17:09 +00:00
$type = 'AC' ; // Type actes
2010-01-22 08:58:39 +00:00
if ( $typeCommande == 'XL' )
2009-12-04 17:17:09 +00:00
{
2010-01-22 08:58:39 +00:00
$fichier = INFOGREFFE_PATH . $type . '-' . $siren . '.xml' ;
if ( ! file_exists ( $fichier ) || infogreffe_filetimeover ( $fichier ) )
2009-12-04 17:17:09 +00:00
{
2010-01-22 08:58:39 +00:00
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
2009-12-04 17:17:09 +00:00
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
file_put_contents ( $fichier , $xmlReponse );
}
else
{
$xmlReponse = file_get_contents ( $fichier );
}
2010-01-22 08:58:39 +00:00
if ( ! infogreffe_erreur ( $xmlReponse ))
2009-12-04 17:17:09 +00:00
{
//Tableau d'actes
$actes = infogreffe_parsexml_actes ( $xmlReponse );
2010-01-22 08:58:39 +00:00
$result = infogreffe_format_actes ( $actes );
2009-12-04 17:17:09 +00:00
}
}
2010-02-10 17:27:03 +00:00
//Commande d'un acte en mode téléchargement
2009-12-04 17:17:09 +00:00
elseif ( $typeCommande == 'T' )
{
2010-01-22 08:58:39 +00:00
$firephp -> info ( 'Mode telechargement' );
2009-12-04 17:17:09 +00:00
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
2010-01-22 08:58:39 +00:00
$firephp -> log ( $xmlRequete , 'Telechargement requete xml' );
2009-12-04 17:17:09 +00:00
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
2010-01-22 08:58:39 +00:00
$firephp -> log ( $xmlReponse , 'Telechargement reponse xml' );
if ( ! infogreffe_erreur ( $xmlReponse ))
{
$items = infogreffe_parsexml_actes_t ( $xmlReponse );
$items = infogreffe_format_actes_t ( $items );
2010-02-10 17:27:03 +00:00
//Pour chaque acte téléchagement des documents
2010-01-22 08:58:39 +00:00
$result = array ();
$actes = $items [ 'actes' ];
unset ( $items [ 'actes' ]);
$result = $depot = $items ;
$num_gest =
$result [ 'num_gest' ][ 'greffe' ] . '-' .
$result [ 'num_gest' ][ 'dossier_millesime' ] . '-' .
$result [ 'num_gest' ][ 'dossier_statut' ] . '-' .
$result [ 'num_gest' ][ 'dossier_chrono' ] . '-' .
$result [ 'num_depot' ];
foreach ( $actes as $acte )
{
if ( ! empty ( $acte [ 'date_acte' ])){ $date = $acte [ 'date_acte' ]; }
else { $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $result [ 'date_depot' ]); }
$ref = $acte [ 'type_acte' ] . '-' . $date . '-' . $num_gest . '-' . $acte [ 'num_acte' ];
$fichier = infogreffe_acte_filename ( $siren , $ref );
$firephp -> log ( $fichier , 'fichier' );
$fichierdl = infogreffe_dl ( $fichier , $acte [ 'url_acces' ]);
$acte [ 'url_acces' ] = $fichierdl ;
$result [ 'actes' ][] = $acte ;
}
}
2009-12-04 17:17:09 +00:00
}
//Commande d'un acte en mode courrier
elseif ( $typeCommande == 'C' )
{
2010-02-10 17:27:03 +00:00
//On génére un idCommande suivant la valeur en bdd
2009-12-04 17:17:09 +00:00
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
}
//Default mode erreur
else
{
2010-02-10 17:27:03 +00:00
//Paramètres incorrect
2009-12-04 17:17:09 +00:00
}
//Gestion du retour infogreffe
if ( infogreffe_erreur ( $xmlReponse ))
{
$error = infogreffe_erreur_msg ( $xmlReponse );
}
return array ( 'error' => $error , 'result' => $result );
}
2010-01-22 08:58:39 +00:00
/**
2010-02-10 17:27:03 +00:00
* Retourne si le fichier est périmé ou non
2010-01-22 08:58:39 +00:00
* @ param string $fichier
* @ return boolean
*/
function infogreffe_filetimeover ( $fichier )
{
$timeover = false ;
$dateFile = filemtime ( $fichier );
$now = mktime ( date ( 'G' ), date ( 'i' ), date ( 's' ), date ( 'm' ) , date ( 'd' ), date ( 'Y' ));
$maxTime = mktime ( date ( 'G' , $dateFile ) + INFOGREFFE_FILETIME , date ( 'i' , $dateFile ), date ( 's' , $dateFile ), date ( " m " , $dateFile ), date ( " d " , $dateFile ), date ( " Y " , $dateFile ));
2010-02-10 17:27:03 +00:00
if ( $now > $maxTime ) $timeover = true ;
2010-01-22 08:58:39 +00:00
return $timeover ;
}
2009-12-04 17:17:09 +00:00
/**
2010-02-10 17:27:03 +00:00
* Détermine si la chaine xml de retour est un message d 'information ou d' erreur
2009-12-04 17:17:09 +00:00
* @ param $xml
* @ return unknown_type
*/
function infogreffe_erreur ( $xml )
{
if ( strlen ( $xml ) < 200 ) return true ;
else return false ;
}
/**
* Renvoi le code erreur infogreffe ainsi que le message
* @ param unknown_type $xml
* @ return unknown_type
*/
function infogreffe_erreur_msg ( $xml )
{
if ( strlen ( $xml ) < 200 )
{
$tmp = explode ( '-' , $xml );
$errNum = $tmp [ 0 ] * 1 ;
$errMsg = $tmp [ 1 ];
}
return array ( 'errNum' => $errNum , 'errMsg' => $errMsg );
}
/**
2010-02-10 17:27:03 +00:00
* Demande le dernier statut à jour auprès d ' infogreffe seulement si disponible pour le siren
* Acte possédant un num_depot = 9999999999
2009-12-04 17:17:09 +00:00
* @ param $siren
* @ param $typeCommande
* @ return unknown_type
*/
2010-01-22 08:58:39 +00:00
function getGreffeStatut ( $siren , $typeCommande = '' , $ref = '' , $idCommande = 0 )
2009-12-04 17:17:09 +00:00
{
$type = 'ST' ; //Type document statut
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
2010-01-22 08:58:39 +00:00
//Gestion du retour infogreffe
if ( infogreffe_erreur ( $xmlReponse ))
{
$error = infogreffe_erreur_msg ( $xmlReponse );
}
return array ( 'error' => $error , 'result' => $result );
2009-12-04 17:17:09 +00:00
}
/**
* Liste tous les bilans et gere les commandes
* @ param unknown_type $siren
* @ param unknown_type $typeCommande
* @ param unknown_type $ref
* @ return unknown_type
*/
2010-01-22 08:58:39 +00:00
function getGreffeBilans ( $siren , $typeCommande = '' , $ref = '' , $idCommande = 0 )
2009-12-04 17:17:09 +00:00
{
2010-01-22 08:58:39 +00:00
global $firephp ;
2009-12-04 17:17:09 +00:00
$error = '' ;
$result = '' ;
if ( empty ( $typeCommande )) $typeCommande = 'XL' ;
$type = 'BI' ;
if ( $typeCommande == 'XL' )
{
2010-01-22 08:58:39 +00:00
$fichier = INFOGREFFE_PATH . $type . '-' . $siren . '.xml' ;
if ( ! file_exists ( $fichier ) || infogreffe_filetimeover ( $fichier ) )
2009-12-04 17:17:09 +00:00
{
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
file_put_contents ( $fichier , $xmlReponse );
}
else
{
$xmlReponse = file_get_contents ( $fichier );
}
2010-01-22 08:58:39 +00:00
if ( ! infogreffe_erreur ( $xmlReponse )){
$bilans = infogreffe_parsexml_bilans ( $xmlReponse );
$firephp -> log ( $bilans , 'bilan avant traitement' );
$result = infogreffe_format_bilans ( $bilans );
2010-02-10 17:27:03 +00:00
$firephp -> log ( $result , 'bilan après traitement' );
2010-01-22 08:58:39 +00:00
}
}
2010-02-10 17:27:03 +00:00
//Commande d'un acte en mode téléchargement
2010-01-22 08:58:39 +00:00
elseif ( $typeCommande == 'T' )
{
$firephp -> info ( 'Mode telechargement' );
$firephp -> info ( $ref , 'ref' );
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
if ( ! infogreffe_erreur ( $xmlReponse ))
{
$items = infogreffe_parsexml_bilans_t ( $xmlReponse );
$result = array ();
$bilan = $items [ 'bilan' ];
$fichier = infogreffe_bilan_filename ( $siren , $ref );
$fichierdl = infogreffe_dl ( $fichier , $bilan [ 'url_acces' ]);
$bilan [ 'url_acces' ] = $fichierdl ;
$result [ 'bilan' ][] = $bilan ;
}
}
//Commande d'un acte en mode courrier
elseif ( $typeCommande == 'C' )
{
2010-02-10 17:27:03 +00:00
//On génére un idCommande suivant la valeur en bdd
2010-01-22 08:58:39 +00:00
$xmlRequete = infogreffe_requetexml ( $siren , $idCommande , $type , $typeCommande , $ref );
$xmlReponse = infogreffe_getproduitsxml ( $xmlRequete );
}
//Default mode erreur
else
{
2010-02-10 17:27:03 +00:00
//Paramètres incorrect
2009-12-04 17:17:09 +00:00
}
//Gestion du retour infogreffe
if ( infogreffe_erreur ( $xmlReponse ))
{
$error = infogreffe_erreur_msg ( $xmlReponse );
}
2010-01-22 08:58:39 +00:00
return array ( 'error' => $error , 'result' => $result );
}
function infogreffe_acte_ref ( $acte , $depot , $multi = false )
{
2010-02-16 08:58:45 +00:00
global $firephp ;
2010-01-28 16:45:29 +00:00
if ( $depot [ 'num_depot' ] > 0 )
2010-01-22 08:58:39 +00:00
{
2010-02-10 17:27:03 +00:00
//Numéro de gestion
2010-01-28 16:45:29 +00:00
$num_gest =
$depot [ 'num_gest' ][ 'greffe' ] . '-' .
$depot [ 'num_gest' ][ 'dossier_millesime' ] . '-' .
$depot [ 'num_gest' ][ 'dossier_statut' ] . '-' .
$depot [ 'num_gest' ][ 'dossier_chrono' ] . '-' .
$depot [ 'num_depot' ];
if ( $multi === true )
{
2010-02-10 17:27:03 +00:00
//Générer la ref multiactes pour le mode téléchargement
2010-01-28 16:45:29 +00:00
$tabActeNum = array ();
foreach ( $depot [ 'depot' ] as $acte )
2010-01-22 08:58:39 +00:00
{
2010-01-28 16:45:29 +00:00
if ( in_array ( 'T' , $acte [ 'mode_diffusion' ]))
{
$tabActeNum [] = $acte [ 'num_acte' ];
}
2010-01-22 08:58:39 +00:00
}
2010-01-28 16:45:29 +00:00
$num_acte = implode ( '|' , $tabActeNum );
2010-01-22 08:58:39 +00:00
}
2010-01-28 16:45:29 +00:00
else
{
$num_acte = $acte [ 'num_acte' ];
}
2010-02-10 17:27:03 +00:00
//Génération date (date_acte peut être vide)
2010-01-28 16:45:29 +00:00
if ( ! empty ( $acte [ 'date_acte' ])){ $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $acte [ 'date_acte' ]); }
else { $date = WDate :: dateT ( 'Y-m-d' , 'Ymd' , $depot [ 'date_depot' ]); }
2010-02-16 08:58:45 +00:00
$firephp -> log ( $acte [ 'type_acte' ], 'type_acte' );
2010-01-28 16:45:29 +00:00
return $acte [ 'type_acte' ] . '-' . $date . '-' . $num_gest . '-' . $num_acte ;
2010-02-16 08:58:45 +00:00
}
else
{
2010-01-28 16:45:29 +00:00
//Dernier STATUT A JOUR
$dateRef = date ( 'Y' ) . date ( 'm' ) . date ( 'd' );
return 'ST-' . $dateRef . '-' .
$depot [ 'num_gest' ][ 'greffe' ] . '-' .
$depot [ 'num_gest' ][ 'dossier_millesime' ] . '-' .
$depot [ 'num_gest' ][ 'dossier_statut' ] . '-' .
$depot [ 'num_gest' ][ 'dossier_chrono' ];
2009-12-04 17:17:09 +00:00
}
2010-01-22 08:58:39 +00:00
}
function infogreffe_acte_filename ( $siren , $ref )
{
return 'acte-' . $siren . '-' . $ref . '.pdf' ;
}
function infogreffe_bilan_ref ( $bilan )
{
$ref =
$bilan [ 'millesime' ] . '_' .
$bilan [ 'type_comptes' ] . '-' .
WDate :: dateT ( 'Y-m-d' , 'Ymd' , $bilan [ 'date_cloture_iso' ]) . '-' .
$bilan [ 'num_gest' ][ 'greffe' ] . '-' .
$bilan [ 'num_gest' ][ 'dossier_millesime' ] . '-' .
$bilan [ 'num_gest' ][ 'dossier_statut' ] . '-' .
$bilan [ 'num_gest' ][ 'dossier_chrono' ] . '-' .
$bilan [ 'num_depot' ];
return $ref ;
}
function infogreffe_bilan_filename ( $siren , $ref )
{
global $firephp ;
return 'bilan-' . $siren . '-' . $ref . '.pdf' ;
}
/**
2010-02-10 17:27:03 +00:00
* Télécharge les fichiers d ' infogreffe , et renvoi le nom du fichier ou false
2010-01-22 08:58:39 +00:00
* @ param string $fichier
* @ param string $url
* @ return string or false
*/
function infogreffe_dl ( $fichier , $url )
{
global $firephp ;
$return = false ;
$path = PATH_DATA . '/pdf/' ;
if ( ! file_exists ( $path . $fichier ) || ! filesize ( $path . $fichier ) > 2000 )
{
$firephp -> log ( $url , 'url' );
$page = getUrl ( $url , '' , '' , '' , false , '' , '' , 0 , 1 );
if ( substr ( $page [ 'body' ], 0 , 4 ) != '%PDF' )
{
$page2 = parse_response ( $page [ 'body' ]);
$body = $page2 [ 'body' ];
} else {
$body = $page [ 'body' ];
}
if ( ( $page [ 'code' ] != 408 || $page [ 'code' ] != 400 ) && substr ( $body , 0 , 4 ) == '%PDF' )
{
//Ecriture du fichier sur le serveur en local
file_put_contents ( PATH_DATA . '/pdf/' . $fichier , $body );
$return = $fichier ;
}
} else {
$return = $fichier ;
}
return $return ;
2009-12-04 17:17:09 +00:00
}