2012-10-16 07:44:31 +00:00
< ? php
$argv = $_SERVER [ 'argv' ];
$argc = $_SERVER [ 'argc' ];
print_r ( $argv );
function echoHeader () {
echo ( $argv [ 0 ]); ?> v0.1 Extraction d'informations HyperBIL en ligne de commande.
Usage : < ? = $argv [ 0 ] ?> <type of data> <fileIn> <fileInFmt> <fileOut> <fileOutFmt>
Where < type of data > is :
2013-06-19 08:24:49 +00:00
id Fiche d ' identit<EFBFBD> ( source BIL , RNCS puis INSEE )
idi Fiche d ' identit<EFBFBD> ( source INSEE pure )
2012-10-16 07:44:31 +00:00
pf Partenaires Financiers
2013-06-19 08:24:49 +00:00
ann Annonces L<EFBFBD> gales
2012-10-16 07:44:31 +00:00
dir Liste des dirigeants
lbil Bilans disponibles
2013-06-19 08:24:49 +00:00
bil Bilan complet ( <EFBFBD> la date de cloture demand<EFBFBD> e ou dernier dispo )
nof Notation financi<EFBFBD> re ( <EFBFBD> la date de cloture demand<EFBFBD> e ou dernier dispo )
ch Score Conan & Holder ( <EFBFBD> la date de cloture demand<EFBFBD> e ou dernier dispo )
2012-10-16 07:44:31 +00:00
sv1 SolvaBil 1
sv2 SolvaBil 2
sv3 SolvaBil 3
usertest Test un user password uniquement ; syntaxe : < user > < password >
Where < fileInFmt > is :
csv Fichier IN au format CSV (; ou ,) SIREN ; NIC ; DATE_BILAN ; REF
plat Fichier IN au format plat ( blancs significatifs ) SIREN_____NIC__JJ / MM / AAAA
UNISUR2 To Do
Where < fileOutFmt > is : csv / SO2000
2013-06-19 08:24:49 +00:00
Le fichier en entr<EFBFBD> e doit <EFBFBD> tre au format < fileInFmt > et contenir le SIREN en premi<EFBFBD> re colonne .
Si les informations demand<EFBFBD> es sont relatives <EFBFBD> un bilan , la date de cl<EFBFBD> ture pr<EFBFBD> cise du bilan peut <EFBFBD> tre pass<EFBFBD> e au format JJ / MM / AAAA .
2012-10-16 07:44:31 +00:00
< ? php
}
include ( 'automate.class.php' );
include ( 'includes/ICotation.inc' );
$bil =& new Automate ( 'array' , false );
2013-06-19 08:24:49 +00:00
if ( $argc < 7 && $argv [ 1 ] != 'usertest' ) { echoHeader (); die ( 'Erreur : Vous n\'avez saisit que ' . $argc . ' param<61> tre(s) !' );}
2012-10-16 07:44:31 +00:00
elseif ( $argv [ 1 ] == 'usertest' && $argc == 4 ) {
$bil -> setDebug ( true );
if ( $bil -> connect ( $argv [ 2 ], $argv [ 3 ]))
{ echo 'User = "' . $argv [ 2 ] . '" - Password = "' . $argv [ 3 ] . '"' . " - Connexion OK ! \r \n " ;
$bil -> setRetour ( 'csv' );
echo $bil -> getFicheIdentite ( '552144503' , '' , 'c' , '' , 'Test' , 'SO2000' );
}
else
echo 'User = "' . $argv [ 2 ] . '" - Password = "' . $argv [ 3 ] . '" - Connexion Impossible : ' . $bil -> getLastError () . " \r \n " ;
$bil -> printTrace ();
die ();
}
elseif ( ! in_array ( $argv [ 1 ], array ( 'id' , 'idi' , 'pf' , 'ann' , 'dir' , 'lbil' , 'bil' , 'nof' , 'ch' , 'sv1' , 'sv2' , 'sv3' ))) { echoHeader (); die ( 'Erreur : Produit inexistant !' );}
$fileIN =@ file ( $argv [ 2 ]);
if ( $fileIN == false ) { echoHeader (); die ( 'Erreur : Impossible de lire le fichier "' . $argv [ 2 ] . '" !' );}
$nbLignes = sizeof ( $fileIN );
if ( ! in_array ( $argv [ 3 ], array ( 'csv' , 'plat' ))) { echoHeader (); die ( 'Erreur : Format IN inexistant !' );}
$fpOUT =@ fopen ( $argv [ 4 ], 'w' );
if ( $fpOUT == false ) { echoHeader (); die ( 'Erreur : Impossible d\'ouvrir le fichier "' . $argv [ 3 ] . '" !' );}
if ( ! in_array ( $argv [ 5 ], array ( 'csv' , 'so2000' ))) { echoHeader (); die ( 'Erreur : Format OUT inexistant !' );}
$fileOutFmt = $argv [ 5 ];
$ligneDebutLecture = $argv [ 6 ];
if ( $ligneDebutLecture > $nbLignes ) { echoHeader (); die ( 'Erreur : Le fichier IN contient seulement "' . $nbLignes . '" lignes !' );}
set_time_limit ( 0 );
$bil -> setRetour ( 'csv' );
if ( $argv [ 1 ] == 'nof' )
2013-06-19 08:24:49 +00:00
fwrite ( $fpOUT , " SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SECTEUR;NOF;NOF Moyenne;R1 Num<75> rateur;R1 D<> nominateur;R1 Note;R1 Note born<72> e;R2 Num<75> rateur;R2 D<> nominateur;R2 Note;R2 Note born<72> e;R3 Num<75> rateur;R3 D<> nominateur;R3 Note;R3 Note born<72> e;R4 Num<75> rateur;R4 D<> nominateur;R4 Note;R4 Note born<72> e;R5 Num<75> rateur;R5 D<> nominateur;R5 Note;R5 Note born<72> e;R6 Num<75> rateur;R6 D<> nominateur;R6 Note;R6 Note born<72> e;Equiv. BDF;Equiv. Grades Moody's;Equiv. Grades S&P;Probabilit<69> de d<> faillance;Postes du bilan; \r \n " );
2012-10-16 07:44:31 +00:00
elseif ( $argv [ 1 ] == 'ch' )
fwrite ( $fpOUT , " SIREN;RAISON SOCIALE;CODE POSTAL;VILLE;DATE DE CLOTURE;DUREE DE L'EXERCICE;NAF;SCORE CONAN-HOLDER;SCORE/20;SITUATION;R1;R2;R3;R4;R5; \r \n " );
foreach ( $fileIN as $key => $ligne ) {
2013-06-19 08:24:49 +00:00
//die("Position = $key, NbLignes=$nbLignes, Lire <20> la ligne $ligneDebutLecture");
2012-10-16 07:44:31 +00:00
if ( $key < $ligneDebutLecture )
continue ;
if ( $argv [ 3 ] == 'csv' ){
$tabLigne = explode ( ';' , $ligne );
$siren = substr ( trim ( $tabLigne [ 0 ]), 0 , 9 );
$nic = substr ( trim ( $tabLigne [ 1 ]), 0 , 5 );
$dateCloture = substr ( trim ( $tabLigne [ 2 ]), 0 , 10 );
$ref = substr ( trim ( $tabLigne [ 3 ]), 0 , 30 );
} else {
$siren = substr ( $ligne , 0 , 9 );
$nic = trim ( substr ( $ligne , 9 , 5 ));
$dateCloture = substr ( $ligne , 14 , 10 );
$ref = substr ( $ligne , 24 , 30 );
}
if ( $dateCloture == '' && ( in_array ( $argv [ 1 ], array ( 'bil' , 'nof' , 'ch' ))))
{
2013-06-19 08:24:49 +00:00
// Recherche de la derni<6E> re date de cl<63> ture de bilan disponible !
2012-10-16 07:44:31 +00:00
$derCloture = $bil -> getDatesClotures ( $siren , '' , 'array' );
$dateCloture = $derCloture [ 0 ][ 'RBDTCN' ];
$dureCloture = $derCloture [ 0 ][ 'RDDURN' ];
}
if ( $argv [ 1 ] == 'idi' ){
$bil -> connect ( '900000174' , 'CHANT' );
//$bil->connect('900000179', 'SOUPE');
$typeFiche = 'ci' ;
/*
2013-06-19 08:24:49 +00:00
hbilsoid Requ<EFBFBD> te IDENTITE FORMAT SO2000
2012-10-16 07:44:31 +00:00
hbilsoids
2013-06-19 08:24:49 +00:00
hbilsoidci Fiche identit<EFBFBD> Complete INSEE SO2000
hbilsoidc Fiche identit<EFBFBD> Complete SO2000
2012-10-16 07:44:31 +00:00
*/
$retour = $bil -> getFicheIdentite ( $siren , $nic , $typeFiche , '' , $ref , $fileOutFmt );
}
else
{
2013-06-19 08:24:49 +00:00
// $bil->connect('900000183', 'CONGE'); // SVB1 Sp<53> Bouygues T<> l
//$bil->connect('900000182', 'XXXX'); // CA-LEASING S<> parateur Nom/Pr<50> nom + Filtre annonces
2012-10-16 07:44:31 +00:00
$bil -> connect ( '900000114' , 'CHANT' );
if ( $argv [ 1 ] == 'id' )
$retour = $bil -> getFicheIdentite ( $siren , $nic , 'c' , '' , $ref , $fileOutFmt );
elseif ( substr ( $argv [ 1 ], 0 , 2 ) == 'sv' )
$retour = $bil -> getSolvaBil ( $siren , substr ( $argv [ 1 ], 2 , 1 ), 450 , $ref , '' );
elseif ( $argv [ 1 ] == 'pf' )
$retour = $bil -> getActionnaires ( $siren );
elseif ( $argv [ 1 ] == 'ann' )
$retour = $bil -> getAnnoncesLegales ( $siren );
elseif ( $argv [ 1 ] == 'dir' )
$retour = $bil -> getDirigeants ( $siren );
elseif ( $argv [ 1 ] == 'lbil' )
//echo "Bilans disponibles :<br/>";
$retour = $bil -> getDatesClotures ( $siren );
elseif ( $argv [ 1 ] == 'bil' ) {
//echo "Bilans disponibles :<br/>";
$retour = $bil -> getBilan ( $siren , $dateCloture );
}
elseif ( $argv [ 1 ] == 'nof' ) {
$tabIdentite = $bil -> getFicheIdentite ( $siren , '' , '' , '' , $ref , 'array' );
$tabBilan = array ();
$tabBilan = $bil -> getBilan ( $siren , $dateCloture , '' , 'array' );
$icotation = new ICotation ( $tabBilan , true );
$secteur = $icotation -> getSecteurActivite ( $tabIdentite [ 'SOAPET' ]);
$libSecteur = $icotation -> tabLibActivite [ $secteur ];
$suite = '' ;
if ( count ( $tabBilan ) > 0 )
{
unset ( $note ); unset ( $noteB ); unset ( $numerateur ); unset ( $denominateur );
$note [ 0 ] = $noteB [ 0 ] = $numerateur [ 0 ] = $denominateur [ 0 ] = $noteTot = 0 ;
$tabTmp = $icotation -> noteCapitalisation ();
$numerateur [ 1 ] = number_format ( $tabTmp [ 'NUMERATEUR' ] / 100 , 0 , ',' , '' );
$denominateur [ 1 ] = number_format ( $tabTmp [ 'DENOMINATEUR' ] / 1 , 0 , ',' , '' );
$note [ 1 ] = number_format ( $tabTmp [ 'NOTE' ], 2 , ',' , ' ' );
$noteB [ 1 ] = $icotation -> getNoteBorne ( $tabTmp [ 'NOTE' ], 1 , $secteur , $numerateur [ 1 ], $denominateur [ 1 ]);
$noteTot += $noteB [ 1 ];
$tabTmp = $icotation -> noteLevierEndettement ();
$numerateur [ 2 ] = number_format ( $tabTmp [ 'NUMERATEUR' ] / 1 , 0 , ',' , '' );
$denominateur [ 2 ] = number_format ( $tabTmp [ 'DENOMINATEUR' ] / 1 , 0 , ',' , '' );
$note [ 2 ] = number_format ( $tabTmp [ 'NOTE' ], 2 , ',' , ' ' );
$noteB [ 2 ] = $icotation -> getNoteBorne ( $tabTmp [ 'NOTE' ], 2 , $secteur , $numerateur [ 2 ], $denominateur [ 2 ]);
$noteTot += $noteB [ 2 ];
$tabTmp = $icotation -> noteCapaciteRemboursement ();
$numerateur [ 3 ] = number_format ( $tabTmp [ 'NUMERATEUR' ] / 1 , 0 , ',' , '' );
$denominateur [ 3 ] = number_format ( $tabTmp [ 'DENOMINATEUR' ] / 1 , 0 , ',' , '' );
$note [ 3 ] = number_format ( $tabTmp [ 'NOTE' ], 2 , ',' , ' ' );
$noteB [ 3 ] = $icotation -> getNoteBorne ( $tabTmp [ 'NOTE' ], 3 , $secteur , $numerateur [ 3 ], $denominateur [ 3 ]);
$noteTot += $noteB [ 3 ];
$tabTmp = $icotation -> noteCouvChargesFi ();
$numerateur [ 4 ] = number_format ( $tabTmp [ 'NUMERATEUR' ] / 1 , 0 , ',' , '' );
$denominateur [ 4 ] = number_format ( $tabTmp [ 'DENOMINATEUR' ] / 1 , 0 , ',' , '' );
$note [ 4 ] = number_format ( $tabTmp [ 'NOTE' ], 2 , ',' , ' ' );
$noteB [ 4 ] = $icotation -> getNoteBorne ( $tabTmp [ 'NOTE' ], 4 , $secteur , $numerateur [ 4 ], $denominateur [ 4 ]);
$noteTot += $noteB [ 4 ];
$tabTmp = $icotation -> noteTresorerie ();
$numerateur [ 5 ] = number_format ( $tabTmp [ 'NUMERATEUR' ] / ( 360 * 1 ), 0 , ',' , '' );
$denominateur [ 5 ] = number_format ( $tabTmp [ 'DENOMINATEUR' ] / 1 , 0 , ',' , '' );
$note [ 5 ] = number_format ( $tabTmp [ 'NOTE' ], 0 , ',' , '' );
$noteB [ 5 ] = $icotation -> getNoteBorne ( $tabTmp [ 'NOTE' ], 5 , $secteur , $numerateur [ 5 ], $denominateur [ 5 ]);
$noteTot += $noteB [ 5 ];
$tabTmp = $icotation -> noteMargeExploitation ();
$numerateur [ 6 ] = number_format ( $tabTmp [ 'NUMERATEUR' ] / 100 , 0 , ',' , '' );
$denominateur [ 6 ] = number_format ( $tabTmp [ 'DENOMINATEUR' ] / 1 , 0 , ',' , '' );
$note [ 6 ] = number_format ( $tabTmp [ 'NOTE' ], 2 , ',' , ' ' );
$noteB [ 6 ] = $icotation -> getNoteBorne ( $tabTmp [ 'NOTE' ], 6 , $secteur , $numerateur [ 6 ], $denominateur [ 6 ]);
$noteTot += $noteB [ 6 ];
$noteMoy = number_format ( $noteTot / 6 , 2 , ',' , ' ' );
$noteFinanciere = $icotation -> getNotationFin ( $noteTot / 6 );
$libNoteFinanciere = $icotation -> getInfosNotation ( $noteFinanciere );
2013-06-19 08:24:49 +00:00
$suite = $noteFinanciere . ';' . // Notation Financi<63> re
2012-10-16 07:44:31 +00:00
$noteMoy . ';' ; // Note Moyenne
for ( $i = 1 ; $i < 7 ; $i ++ )
$suite .= $numerateur [ $i ] . ';' .
$denominateur [ $i ] . ';' .
$note [ $i ] . ';' .
$noteB [ $i ] . ';' ;
$suite .= $icotation -> getInfosNotation ( $noteFinanciere , true );
$suite .= implode_with_options ( $tabBilan , '' , '=' , '"' , ', ' ) . ';' ;
}
$retour = $siren . ';' .
$tabIdentite [ 'SONOM' ] . ';' . // Raison sociale
$tabIdentite [ 'SOCP' ] . ';' . // Code Postal
$tabIdentite [ 'SOCOM' ] . ';' . // Ville
2013-06-19 08:24:49 +00:00
$dateCloture . ';' . // Date de cl<63> ture du bilan
$dureCloture . ';' . // Dur<75> e du bilan en mois
2012-10-16 07:44:31 +00:00
$tabIdentite [ 'SOAPET' ] . ';' . // NAF
2013-06-19 08:24:49 +00:00
$secteur . '-' . $libSecteur . ';' . // Libell<6C> du secteur d'activit<69>
2012-10-16 07:44:31 +00:00
$suite . " \n " ;
}
elseif ( $argv [ 1 ] == 'ch' ) {
$tabIdentite = $bil -> getFicheIdentite ( $siren , '' , '' , '' , '' , 'array' );
$tabBilan = array ();
$tabBilan = $bil -> getBilan ( $siren , $dateCloture , '' , 'array' );
$suite = '' ;
if ( count ( $tabBilan ) > 0 )
{
$n1 = ( $tabBilan [ 'FL' ] + $tabBilan [ 'FM' ] + $tabBilan [ 'FN' ] + $tabBilan [ 'FO' ] - $tabBilan [ 'FS' ] - $tabBilan [ 'FT' ] - $tabBilan [ 'FU' ] - $tabBilan [ 'FV' ] - $tabBilan [ 'FW' ] - $tabBilan [ 'FX' ] - $tabBilan [ 'FY' ] - $tabBilan [ 'FZ' ]);
$d1 = ( $tabBilan [ 'EC' ] - $tabBilan [ 'EB' ] + $tabBilan [ 'YS' ]);
$r1 = $n1 / $d1 ;
$n2 = ( $tabBilan [ 'DL' ] + $tabBilan [ 'DO' ] + $tabBilan [ 'DR' ] + $tabBilan [ 'DS' ] + $tabBilan [ 'DT' ] + $tabBilan [ 'DU' ] + $tabBilan [ 'DV' ] - $tabBilan [ 'EH' ]);
$d2 = $tabBilan [ 'EE' ];
$r2 = $n2 / $d2 ;
$n3 = ( $tabBilan [ 'BV' ] + $tabBilan [ 'BX' ] + $tabBilan [ 'BZ' ] + $tabBilan [ 'CB' ] + $tabBilan [ 'CD' ] + $tabBilan [ 'CF' ] - $tabBilan [ 'BW' ] - $tabBilan [ 'BY' ] - $tabBilan [ 'CA' ] - $tabBilan [ 'CC' ] - $tabBilan [ 'CE' ] - $tabBilan [ 'CG' ]);
$d3 = $tabBilan [ 'EE' ];
$r3 = $n3 / $d3 ;
$n4 = $tabBilan [ 'GR' ];
$d4 = $tabBilan [ 'FL' ];
$r4 = $n4 / $d4 ;
$n5 = ( $tabBilan [ 'FY' ] + $tabBilan [ 'FZ' ]);
$d5 = ( $tabBilan [ 'FL' ] + $tabBilan [ 'FM' ] + $tabBilan [ 'FN' ] - $tabBilan [ 'FU' ] - $tabBilan [ 'FV' ] - $tabBilan [ 'FW' ] - $tabBilan [ 'FS' ] - $tabBilan [ 'FT' ]);
$r5 = $n5 / $d5 ;
$n = 24 * $r1 + 22 * $r2 + 16 * $r3 - 87 * $r4 - 10 * $r5 ;
if ( $n > 16.5 ) { $s = 20 ; $situation = " Excellente " ; }
elseif ( $n > 16 ) { $s = 19 ; $situation = " Excellente " ; }
2013-06-19 08:24:49 +00:00
elseif ( $n > 15 ) { $s = 18 ; $situation = " Tr<EFBFBD> s bonne " ; }
elseif ( $n > 14 ) { $s = 17 ; $situation = " Tr<EFBFBD> s bonne " ; }
2012-10-16 07:44:31 +00:00
elseif ( $n > 13 ) { $s = 16 ; $situation = " Bonne " ; }
elseif ( $n > 12 ) { $s = 15 ; $situation = " Bonne " ; }
elseif ( $n > 11 ) { $s = 14 ; $situation = " Bonne " ; }
elseif ( $n > 10 ) { $s = 13 ; $situation = " Correcte " ; }
elseif ( $n > 09 ) { $s = 12 ; $situation = " Correcte " ; }
elseif ( $n > 08 ) { $s = 11 ; $situation = " Prudence " ; }
elseif ( $n > 07 ) { $s = 10 ; $situation = " Prudence " ; }
elseif ( $n > 06 ) { $s = 09 ; $situation = " Prudence " ; }
elseif ( $n > 05 ) { $s = 08 ; $situation = 'Prudence' ; }
elseif ( $n > 04 ) { $s = 07 ; $situation = 'Difficile' ; }
elseif ( $n > 02 ) { $s = 06 ; $situation = 'Difficile' ; }
elseif ( $n > 00 ) { $s = 05 ; $situation = 'Difficile' ; }
elseif ( $n >- 2 ) { $s = 04 ; $situation = 'Danger' ; }
elseif ( $n >- 4 ) { $s = 03 ; $situation = 'Danger' ; }
else { $s = 02 ; $situation = 'Danger' ; }
/*
elseif ( $n > 13 ) { $s = 02 ; $situation = '' ; }
elseif ( $n > 13 ) { $s = 01 ; $situation = 'Redressement judiciaire' ; }
elseif ( $n > 13 ) { $s = 00 ; $situation = 'Liquidation judiciaire' ; }
*/
$suite = $n . ';' .
$s . ';' .
$situation . ';' .
$r1 . ';' .
$r2 . ';' .
$r3 . ';' .
$r4 . ';' .
$r5 . ';' ;
}
$retour = $siren . ';' .
$tabIdentite [ 'SONOM' ] . ';' . // Raison sociale
$tabIdentite [ 'SOCP' ] . ';' . // Code Postal
$tabIdentite [ 'SOCOM' ] . ';' . // Ville
2013-06-19 08:24:49 +00:00
$dateCloture . ';' . // Date de cl<63> ture du bilan
$dureCloture . ';' . // Dur<75> e du bilan en mois
2012-10-16 07:44:31 +00:00
$tabIdentite [ 'SOAPET' ] . ';' . // NAF
$suite . " \n " ;
}
}
$num = $key + 1 ;
echo " Ligne $num / $nbLignes : $siren $nic\r\n " ;
fwrite ( $fpOUT , $retour );
}
fclose ( $fpOUT );
die ();
/*
//echo "Recherche :<br/>";
//$tab=$bil->getRecherche('552144503');
//echo "Produits disponibles :<br/>";
//print_r($bil->getListeProduits('552144503'));
2013-06-19 08:24:49 +00:00
// echo "Fiche d'identit<69> :<br/>";
2012-10-16 07:44:31 +00:00
$fp = fopen ( 'identites.csv' , 'w' );
foreach ( $tab as $key => $siren ) {
$ret = $bil -> getFicheIdentite ( $siren );
fwrite ( $fp , $ret [ 'SORCS' ] . ';' .
$ret [ 'RETOUR' ] . ';' .
$ret [ 'SONUME' ] . ';' .
$ret [ 'SONOM' ] . ';' .
$ret [ 'SONRU' ] . ' ' . $ret [ 'SOBTQ' ] . ' ' . $ret [ 'SORUE' ] . ';' .
$ret [ 'SOCP' ] . ';' .
$ret [ 'SOCOM' ] . ';' .
$ret [ 'SOETEL' ] . ';' .
$ret [ 'SOEFAX' ] . ';' .
$ret [ 'SOEWEB' ] . ';' .
$ret [ 'SODTCT' ] . ';' .
$ret [ 'SOCJEN' ] . ';' .
$ret [ 'SONBET' ] . ';' .
$ret [ 'SOAPET' ] . " ; \r \n " );
}
fclose ( $fp );
//$tab=$bil->getFicheIdentite('552144503');
//echo array_to_xml($tab);
//echo "Bilans disponibles :<br/>";
$fp = fopen ( 'bilans.csv' , 'w' );
$tab = file ( 'sirenbi.csv' );
foreach ( $tab as $key => $siren ) {
$ret = $bil -> getDatesClotures ( $siren );
fwrite ( $fp , $ret [ 0 ][ 'RISIR' ] . ';' .
$ret [ 0 ][ 'RETOUR' ] . ';' .
$ret [ 0 ][ 'RINUME' ] . ';' .
$ret [ 0 ][ 'RBDTCN' ] . ';' .
$ret [ 0 ][ 'RDDURN' ] . ';' .
$ret [ 1 ][ 'RBDTCN' ] . ';' .
$ret [ 1 ][ 'RDDURN' ] . ';' .
$ret [ 2 ][ 'RBDTCN' ] . ';' .
$ret [ 2 ][ 'RDDURN' ] . " ; \r \n " );
}
fclose ( $fp );
*/
echo " Solvabil 3 :<br/> " ;
//print_r($bil->getSolvaBil('552144503',3,450,'test','','csv'));
echo array2xml ( $bil -> getSolvaBil ( '552144503' , 3 , 450 , 'test' , '' , 'csv' ));
die ();
echo " Actionnaires :<br/> " ;
//print_r();
echo " <pre> " ;
echo array2xml ( $bil -> getActionnaires ( '552144503' ));
echo " </pre> " ;
function array2xml ( $array , $level = 0 ){
if ( ! is_array ( $array ))
return 0 ;
if ( $level == 0 )
{
$tab0 = $array [ 0 ];
print_r ( $tab0 );
echo " <xml> \n < " . $tab0 [ 'PRODUIT' ] . " > \n " ;
}
reset ( $array );
while ( list ( $key , $value ) = each ( $array ) ) {
if ( is_array ( $value )) {
if ( ! is_integer ( $key ))
echo " < $key > \n " ;
array2xml ( $value , $level + 1 );
if ( ! is_integer ( $key ))
echo " </ $key > \n " ;
} else {
if ( is_integer ( $key ))
$key = " DATA_ $key " ;
if ( $key != 'RETOUR' && $key != 'PRODUIT' )
echo " < $key > $value </ $key > \n " ;
}
}
if ( $level == 0 )
{
$tab0 = $array [ 0 ];
echo " </ " . $tab0 [ 'PRODUIT' ] . " > \n </xml> \n " ;
}
}
$tabCJ = array (
'10' => 'Personne physique' ,
2013-06-19 08:24:49 +00:00
'11' => 'Artisan Commer<65> ant' ,
'12' => 'Commer<65> ant' ,
2012-10-16 07:44:31 +00:00
'13' => 'Artisan (civil)' ,
2013-06-19 08:24:49 +00:00
'14' => 'Officier public ou minist<73> riel' ,
'15' => 'Profession lib<69> rale' ,
2012-10-16 07:44:31 +00:00
'16' => 'Exploitant agricole' ,
'17' => 'Agent commercial' ,
2013-06-19 08:24:49 +00:00
'18' => 'Associ<63> -G<> rant de soci<63> t<EFBFBD> ' ,
2012-10-16 07:44:31 +00:00
'19' => 'Personne Physique' ,
'21' => 'Indivision' ,
2013-06-19 08:24:49 +00:00
'22' => 'St<53> cr<63> <72> e de Fait' ,
'23' => 'St<53> en Participation' ,
2012-10-16 07:44:31 +00:00
'27' => 'Paroisse hors zone concordataire' ,
2013-06-19 08:24:49 +00:00
'29' => 'Groupement droit priv<69> ,n/pers.morale' ,
'31' => 'P.M.droit <20> tranger immatricul<75> RCS' ,
'32' => 'P.M.droit <20> tranger n/immat.RCS' ,
'41' => 'Ets public-r<> gie indus/commerciale' ,
'51' => 'St<53> coop<6F> rative commerciale' ,
'52' => 'St<53> en nom collectif' ,
'53' => 'St<53> en commandite' ,
2012-10-16 07:44:31 +00:00
'54' => 'S.A.R.L' ,
2013-06-19 08:24:49 +00:00
'55' => 'S.A <20> conseil d\'administration' ,
'56' => 'S.A <20> directoire' ,
'57' => 'SA par action simplifi<66> e' ,
'61' => 'Caisse d\'Epargne & Pr<50> voyance' ,
2012-10-16 07:44:31 +00:00
'62' => 'G.I.E' ,
2013-06-19 08:24:49 +00:00
'63' => 'St<53> coop<6F> rative agricole' ,
'64' => 'St<53> n/commerciale d\'assurance' ,
'65' => 'Soci<63> t<EFBFBD> Civile' ,
'69' => 'Autres PM de droit priv<69> inscrites au R' ,
2012-10-16 07:44:31 +00:00
'71' => 'Administration d\'Etat' ,
2013-06-19 08:24:49 +00:00
'72' => 'Collectivit<69> Territoriale' ,
2012-10-16 07:44:31 +00:00
'73' => 'Ets Public Administratif' ,
'74' => 'P.M. de droit public,administration' ,
'81' => 'Organisme de protection sociale' ,
'82' => 'Organisme mutualiste' ,
2013-06-19 08:24:49 +00:00
'83' => 'Comit<69> d\'Entreprise' ,
2012-10-16 07:44:31 +00:00
'84' => 'Organisme Professionnel' ,
'85' => 'Org.de retraite adh. n/obligatoire' ,
2013-06-19 08:24:49 +00:00
'91' => 'Syndicat de Propri<72> taires' ,
'92' => 'Association 1901 ou Assimil<69> ' ,
2012-10-16 07:44:31 +00:00
'93' => 'Fondation' ,
2013-06-19 08:24:49 +00:00
'99' => 'P.M. de droit priv<69> ' ,
2012-10-16 07:44:31 +00:00
);
$tabCJbilans = array ( '54' , '55' , '56' , '57' );
function implode_with_options ( $assoc_array , $prefix = '' , $k_v_glue = '' , $vwrap = '' , $seperator = '' )
{
foreach ( $assoc_array as $k => $v )
{
$tmp [] = $k . $k_v_glue . $vwrap . $v . $vwrap ;
}
return $prefix . implode ( $seperator , $tmp );
}
/**
$items = array ( 'Apples' , 'number' => 3 , 'Vehicle' => '' );
// For a query string:
echo implode_with_options ( $items , '?' , '=' , '' , '&' );
/**
* Produces
* ? 0 = Apples & number = 3 & Vehicle =
// For a SQL query
echo implode_with_options ( $items , '' , '=' , '"' , ', ' );
*/
?>