#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
ATTENTION : faire cette opération en connaissance de cause car les liens entres annonces seront perdus !!!
$lastJO=$dateDebut=$dateFin=$dateDeb=$fichierTLS=$numBodaccIN=false;
$tabBodaccF=array(); // Tableau des Bodacc à recharger
$update=false; // Par défaut, si une annonce est déjà en base, on ne la met pas à jour !!!
$erase=false; // Par défaut, on n'efface pas les annonces
$ftpStep=true; // Par défaut, on se connecte au FTP des JO
$forceDateInsertABodacc=false; // Par défaut, la date d'insertion des annonces n'est pas calée sur celle des fichiers Bodacc (en cas de réinitilaisation)
$forceContinue=false; // Par défaut, on arrête au fichier courant en cas d'erreur
$validateSchema=true; // Par défaut, on Valide le Schéma XML
$unTaz=true; // Par défaut, on dézippe l'archive XML, sinon, on prend le .xml local (en cas de XML incorrect)
$strMailInfo=''; // Coprs du mail d'information
$copieWaldec=false; // Par défaut, on ne recopie pas les SIREN des Associations avec Waldec non sirenées
$noQuestion=false; // Par défaut, le script peut poser des questions interactives !
$argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $lastJO=true; // Fonctionnement normal du script, càd : on charge les derniers BODACC non encore intégrés
else {
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'A':
case 'a':
$tabBodaccF[]='A';
break;
case 'B':
case 'b':
$tabBodaccF[]='B';
break;
case 'C':
case 'c':
$tabBodaccF[]='C';
break;
/*case 'd':
$dateDebut=substr($argv[$i],3,10);
$dateDeb=WDate::dateT('d/m/Y', 'Ymd', $dateDebut);
break;*/
case 'e':
$erase=true;
break;
case 'w':
$copieWaldec=true;
break;
/*case 'f':
$dateFin=substr($argv[$i],3,10);
$dateF=WDate::dateT('d/m/Y', 'Ymd', $dateFin);
break;*/
case 'j':
$ftpStep=false;
break;
case 'l':
$lastJO=true;
break;
case 'm':
$forceDateInsertABodacc=true;
break;
case 'n':
//die('$forceContinue');
$forceContinue=true;
break;
case 'r':
$update=true;
break;
case 't':
$fichierTLS=trim(substr($argv[$i],3));
break;
/*case 'n':
$numBodaccIN=trim(substr($argv[$i],3));
break;*/
case 's':
$validateSchema=false;
break;
case 'u':
$unTaz=false;
break;
case 'i':
$noQuestion=true;
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . ' inconnue !'.EOL);
break;
}
}
}
}
if (count($tabBodaccF)==0) $tabBodaccF=array('A','B','C','ASSO');
$strBodacc=implode(', ', $tabBodaccF);
$strDates='';
if ($lastJO==true) $strLast=' derniers';
else $strLast='';
/*else {
$dateCour=$dateDeb;
$strLast='';
if ($dateDebut==false || $dateFin==false)
die($strInfoScript);
else
$strDates="du $dateDebut au $dateFin";
}*/
$iDb=new WDB();
$iBodacc=new MBodacc();
$iInsee=new MInsee();
/*
print_r($iBodacc->getNomPrenomGenre('LE NAOUR Yoann'));
print_r($iBodacc->getNomPrenomGenre('HEITZ Marc'));
print_r($iBodacc->getNomPrenomGenre('champeau Thierry'));
print_r($iBodacc->getNomPrenomGenre('MENET ludovic'));
print_r($iBodacc->getNomPrenomGenre('Hemery pierre'));
die(); */
/* $tab=array( "Associés : VALLS (Christine, Pascale) ( Nom d'usage : DEMATEIS) ; DEMATEIS (Antoine, Vincent) et DEMATEIS (Pierre, Antoine)",
"Cogérants statutaires : DEMATEIS (Daniel, Philippe) et MEURTIN (Serge, Michel)",
"Nouveau gérant : SAHBAZ CEYHUN");
print_r($iBodacc->getDirigeants($tab));
die();*/
if ($fichierTLS) echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration du fichier BODACC $fichierTLS...".EOL;
else echo date('Y/m/d - H:i:s') ." - DEBUT de l'intégration des$strLast BODACC $strBodacc $strDates $numBodaccIN".EOL;
if ($erase && !$noQuestion) {
while (1) {
echo date('Y/m/d - H:i:s') ." - Confirmez la demande de suppression des annonces correspondantes ? (O/N) ... ";
$saisie = trim(strtoupper(fgets(STDIN)));
if ($saisie=='O' || $saisie=='o') break;
}
$tablesBodacc=array('bodacc','bodacc_autre','bodacc_detail','bodacc_dirigeants','bodacc_siren','chargements');
foreach ($tablesBodacc as $nomTable) {
if (!$iDb->query("TRUNCATE $nomTable;"))
{
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Suppression des annonces impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
}
echo date('Y/m/d - H:i:s') ." - Suppression des annonces effectuée.".EOL;
}
flush();
$fp2=fopen('./sirenCites.txt', 'w');
fwrite($fp2, "INFO;SIREN;ID_ANNONCE;RUBRIQUE;CODE_BALISE;TEXTE;".EOL);
fclose($fp2);
function findIdMandataire($strNomAdresse) {
$iDb=new WDB();
$strNomAdresse=preg_replace("/(\s+)/", ' ', $strNomAdresse.'');
$tabRet=array();
if (preg_match("/(.*)Adresse(.*)([0-9]{5,5})([\D]*)/i", $strNomAdresse, $tabAdrTmp)) {
if (preg_match("/(.*)rep(.*)sent(.*)par(.*)/i", $tabAdrTmp[1], $tabAdrTmp2)) {
$nom=trim($tabAdrTmp2[1]);
$repr=trim($tabAdrTmp2[4]);
} elseif (preg_match("/(.*)mission(.*)conduite(.*)par(.*)/i", $tabAdrTmp[1], $tabAdrTmp2)) {
$nom=trim($tabAdrTmp2[1]);
$repr=trim($tabAdrTmp2[4]);
} else {
$nom=trim($tabAdrTmp[1]);
$repr='';
}
$tabRet['Nom']=$nom;
$tabRet['repPar']=$repr;
$tabRet['Adresse']=trim(str_replace(':','', $tabAdrTmp[2]));
$tabRet['CP']=$tabAdrTmp[3];
$tabRet['Ville']=trim(preg_replace("/Les d.clarations(.*)/i", '', $tabAdrTmp[4]));
if ($tabRet['Ville']=='') {
$rep=$iDb->select('communes', 'LibCom', "`Code Postal`='".$tabRet['CP']."'");
if (count($rep)==1) {
$tabCP=$rep[0];
$tabRet['Ville']=$tabCP['LibCom'];
}
}
}
return $tabRet;
}
if ($ftpStep && !$fichierTLS) { // Début de la récupération des infos et des derniers fichier non chargés du serveur FTP des JO
$conn_id = ftp_connect(BODACC_FTP_URL);
if (!$conn_id) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de se connecter au serveur FTP des JO.".EOL; die(); }
$login_result = ftp_login($conn_id, BODACC_FTP_USER, BODACC_FTP_PASS);
if (!$login_result) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP des JO.".EOL; die(); }
// Récupération du contenu d'un dossier
$contents = ftp_nlist($conn_id, ".");
foreach($contents as $k => $server_file) {
$tailleDist = ftp_size($conn_id, $server_file);
$dateDist = ftp_mdtm($conn_id, $server_file);
if ($dateDist != -1) {
$tabFichiers[$server_file]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
// echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_file a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
} else {
$tabFichiers[$server_file]['dateDispo']=NULL;
// echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
}
$tabFichiers[$server_file]['taille']=$tailleDist;
if ($tailleDist != -1) {
// echo date ('Y/m/d - H:i:s') ." - Taille du fichier distant $server_file est de $tailleDist octets\n";
}
if (file_exists(BODACC_LOCAL_DIR . $server_file)) {
$dateLoc=filemtime(BODACC_LOCAL_DIR . $server_file);
$tabFichiers[$server_file]['dateDownload']=date('Y-m-d H:i:s', $dateLoc);
$tailleLoc=filesize(BODACC_LOCAL_DIR . $server_file);
// echo date ('Y/m/d - H:i:s') ." - Taille du fichier local $server_file = $tailleLoc octets\n";
}
if ($tailleDist<>@$tailleLoc) {
if (ftp_get($conn_id, BODACC_LOCAL_DIR . $server_file, $server_file, FTP_BINARY)) {
echo date ('Y/m/d - H:i:s')." - Fichier distant $server_file téléchargé avec succès".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - Fichier distant $server_file téléchargé avec succès".EOL;
} else
die (date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL);
}
}
// Fermeture de la connexion
ftp_close($conn_id);
echo date ('Y/m/d - H:i:s')." - Fin de la récupération des fichiers BODACC en FTP.".EOL;
} else {
echo date ('Y/m/d - H:i:s')." - Etape de connexion au serveur FTP des JO non exécutée (variables 'dateDispo' et 'taille' non renseignées !)".EOL;
}
if (!$fichierTLS) {
$dh = opendir(BODACC_LOCAL_DIR);
while (false !== ($filename = readdir($dh))) {
if ($filename<>'.' && $filename<>'..' && ( substr($filename, -4)=='.TLS' || substr($filename, -4)=='.taz' || substr($filename, -4)=='.pdf' ) )
$tabFichier[] = $filename;
}
sort($tabFichier);
} else $tabFichier[] = $fichierTLS;
//print_r($tabFichier);
//die();
$tabDepLu=array();
$tabPartiesLues=array();
$tabRubriquesLues=array();
//echo date ('Y/m/d - H:i:s') . " - Chargement des mandataires...".EOL;
$tabTmp=$iDb->select('tabMandataires', "UPPER(CONCAT(SUBSTRING(Nom,1,4),'-',SUBSTRING(Prenom,1,3))) AS NomPre, SUBSTRING(cp,1,2) AS dep, COUNT(*) AS Nb, sirenMand, id, sirenGrp, Nom, Prenom, type, coursAppel, tribunal, Statut, adresse, adresseComp, cp, ville, tel, fax, email, web, contact", "TYPE IN ('A', 'M') GROUP BY NomPre, dep, sirenMand ORDER BY NomPre ASC", true, MYSQL_ASSOC);
$tabMandSD=array();
foreach ($tabTmp as $nbMand=>$mand) {
$tabMandSD[$mand['NomPre'].'-'.$mand['dep']]=array( 'id' => $mand['id'],
'siren' => $mand['sirenMand'],
'nom' => $mand['Nom'],
'prenom'=> $mand['Prenom'],
'type' => $mand['type'],
'adr1' => $mand['adresse'],
'adr2' => $mand['adresseComp'],
'cp' => $mand['cp'],
'ville' => $mand['ville'],
'tel' => $mand['tel'],
'fax' => $mand['fax'],
'email' => $mand['email'],
);
}
echo date ('Y/m/d - H:i:s') . " - Chargement des $nbMand mandataires.".EOL;
//print_r($tabMandSD);
//die();
error_reporting(E_ALL ^ E_NOTICE);
foreach ($tabFichier as $k => $nomFichier) { // Boucle sur chaque Fichier Bodacc TLS XML ou PDF
$tabAnnonces=array();
$typeFichier=substr($nomFichier, -4);
if ($typeFichier=='.TLS') {
/********************************************************************/
/** DEBUT FORMAT .TLS **/
/********************************************************************/
$handle=@fopen(BODACC_LOCAL_DIR.$nomFichier, "rb");
if (!$handle) die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier local $nomFichier inexistant !".EOL);
$bodacc='';
while (!feof($handle)) {
$taille = @fread ($handle, 4);
$contents = @fread ($handle, $taille-4);
$bodacc.=$contents;
}
$tabBodacc=explode(chr(30), $bodacc);
$dateBodaccTxt=substr($tabBodacc[0],2,strlen($tabBodacc[0])-2);
$tabFichiers[$nomFichier]['Bodacc_Date_Parution_Texte']=$dateBodaccTxt;
$dateBodacc=WDate::dateT('dMY', 'Ymd', $dateBodaccTxt);
for($i=0; $i<20; $i++) {
$balise=''.substr($tabBodacc[$i],0,2);
if ($balise=='06') {
$bodaccNumPar=substr($tabBodacc[$i],2,strlen($tabBodacc[$i])-2);
$bodaccType=substr($bodaccNumPar,0,1);
$tabFichiers[$nomFichier]['Bodacc_Code']=$bodaccType;
if (!in_array($bodaccType, $tabBodaccF))
continue(2); // La ligne de commande ne souhaite pas intégrer ce type de Bodacc
$tabFichiers[$nomFichier]['Bodacc_Num']=substr($bodaccNumPar,1,strlen($bodaccNumPar)-1);
break;
}
}
$bodaccAnneePar=substr($dateBodacc,0,4);
$tabFichiers[$nomFichier]['Bodacc_Annee_Parution']=$bodaccAnneePar;
/**
** On test si le fichier est déjà en base
**/
$ret=$iDb->select('chargements', 'Bodacc_Date_Parution, Bodacc_Code, Bodacc_Annee_Parution, DateDispo, dateDownload, taille, Bodacc_Num, Num_Annonce_Deb, Num_Annonce_Fin, dateInsert', "NomFichier='$nomFichier'");
if (count($ret)>0 && $fichierTLS<>$nomFichier) {
$reload=false;
$ficDB=$ret[0];
// echo date ('Y/m/d - H:i:s')." - BODACC $bodaccAnneePar-$bodaccNumPar du $dateBodacc déjà chargé ($nomFichier / $dateBodaccTxt).\n";
//if ($tabFichiers[$nomFichier]['taille']>0 && $tabFichiers[$nomFichier]['taille']<>$ficDB['taille']) {
// print_r($tabFichiers[$nomFichier]);print_r($ficDB);
// die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Taille distante ". $tabFichiers[$nomFichier]['taille'] ." diff. de ". $ficDB['taille'] ." : ".$tabFichiers[$nomFichier]['dateDispo'].' !'.EOL);
//}
// if ($tabFichiers[$nomFichier]['dateDispo']>0 && $ficDB['DateDispo']>0 && $tabFichiers[$nomFichier]['dateDispo']<>$ficDB['DateDispo'])
//die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de dispo diff. : ".$tabFichiers[$nomFichier]['dateDispo'].' !'.EOL);
$numBodacc=$tabFichiers[$nomFichier]['Bodacc_Num'];
$ret=$iDb->select('bodacc', 'count(*) as nb', "Bodacc_Code='$bodaccType' AND Bodacc_Annee_Parution=$bodaccAnneePar AND Bodacc_Num=$numBodacc");
$nbAnnonces=$ret[0]['nb'];
if ($ficDB['Num_Annonce_Fin']<>$nbAnnonces)
echo(date ('Y/m/d - H:i:s')." - ATTENTION : Fichier $nomFichier, numéro de la dernière annonce (".$ficDB['Num_Annonce_Fin'].") incohérent avec le nombre d'annonces en base ($nbAnnonces) !".EOL);
continue;
} elseif (count($ret)>0 && $fichierTLS==$nomFichier) {
$ficDB=$ret[0];
echo date ('Y/m/d - H:i:s')." - BODACC $bodaccAnneePar-$bodaccNumPar du $dateBodacc déjà chargé ($nomFichier / $dateBodaccTxt).\n";
$reload=true;
}
/* AVANT1
if (count($ret)>0) {
$ficDB=$ret[0];
// echo date ('Y/m/d - H:i:s')." - BODACC $bodaccAnneePar-$bodaccNumPar du $dateBodacc déjà chargé ($nomFichier / $dateBodaccTxt).\n";
if ($tabFichiers[$nomFichier]['taille']>0 && $tabFichiers[$nomFichier]['taille']<>$ficDB['taille']) {
print_r($tabFichiers[$nomFichier]);print_r($ficDB);
die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Taille distante ". $tabFichiers[$nomFichier]['taille'] ." diff. de ". $ficDB['taille'] ." : ".$tabFichiers[$nomFichier]['dateDispo'].' !'.EOL);
}
//$tabFichiers[$server_file]['taille']
// if ($tabFichiers[$nomFichier]['dateDispo']>0 && $ficDB['DateDispo']>0 && $tabFichiers[$nomFichier]['dateDispo']<>$ficDB['DateDispo'])
//die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de dispo diff. : ".$tabFichiers[$nomFichier]['dateDispo'].' !'.EOL);
$numBodacc=$tabFichiers[$nomFichier]['Bodacc_Num'];
$ret=$iDb->select('bodacc', 'count(*) as nb', "Bodacc_Code='$bodaccType' AND Bodacc_Annee_Parution=$bodaccAnneePar AND Bodacc_Num=$numBodacc");
$nbAnnonces=$ret[0]['nb'];
if ($ficDB['Num_Annonce_Fin']<>$nbAnnonces) {
$tabAnnCalc=array();
for($i=1; $i<=$ficDB['Num_Annonce_Fin']; $i++) {
$tabAnnCalc[]=$i;
}
echo(date ('Y/m/d - H:i:s')." - ATTENTION : Fichier $nomFichier, numéro de la dernière annonce (".$ficDB['Num_Annonce_Fin'].") incohérent avec le nombre d'annonces en base ($nbAnnonces) !".EOL);
$ret=$iDb->select('bodacc', 'Num_Annonce', "Bodacc_Code='$bodaccType' AND Bodacc_Annee_Parution=$bodaccAnneePar AND Bodacc_Num=$numBodacc");
$tabAnnEnBase=array();
foreach ($ret as $num=>$ret2) {
//$nbAnnonces=$ret[0]['nb'];
$tabAnnEnBase[]=$ret2['Num_Annonce']*1;
}
$strAnn=implode(', ', array_diff($tabAnnCalc, $tabAnnEnBase));
echo(date ('Y/m/d - H:i:s')." - ATTENTION : Il manque les numéros d'annonces suivants : $strAnn !".EOL);
//die();
}
continue;
}
// AVANT2
*/
if ($tabFichiers[$nomFichier]['taille']==0) $tabFichiers[$nomFichier]['taille']=filesize(BODACC_LOCAL_DIR . $nomFichier);
$tailleKo=round($tabFichiers[$nomFichier]['taille']/1024);
echo date ('Y/m/d - H:i:s')." - BODACC TLS $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de traitement ($nomFichier, $dateBodaccTxt, $tailleKo k)...".EOL;
/** Numéro d'annonce calculé car les numéro d'annonces du Bodacc C sont complètement déconnants
**/
$bodaccNumAnnCalc=0;
foreach ($tabBodacc as $i => $ligne) { // On traite chaque ligne du fichier .TLS
$code=''.substr($ligne,0,2);
$texte=$iBodacc->convertAccents(substr($ligne,2,strlen($ligne)-2));
if (!$iBodacc->isBaliseBodacc($code))
/** On stop car ce code balise n'est pas documenté par les JO **/
die(date('Y/m/d - H:i:s')." - ERREUR : Balise BODACC '$code.' inconnue ($texte) !!!".EOL);
switch ($code) {
case '01': /** Indique le début début d'une nouvelle annonce **/
if (isset($idann)) {
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
//$tabAnnoncesTxt[$idann]=$txtAnnonce;
}
/**
** CLOTURE DE L'ANNONCE en cours
**/
/** CodeEVEN par défaut si aucune indication textuelle repérée... On se fie alors au code rubrique donné par le Bodacc **/
if (!isset($tabAnnonces[$idann]['data']['typeProCol'])) {
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A215') $tabAnnonces[$idann]['data']['typeProCol']=1410;// Suite règlement/liquidat°
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A804') $tabAnnonces[$idann]['data']['typeProCol']=1305;// LJ
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A808') $tabAnnonces[$idann]['data']['typeProCol']=1411;// Arrêt plan cession
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A819') $tabAnnonces[$idann]['data']['typeProCol']=1407;// Modification de plan
}
/** On recherche la balise '07' suivante qui indique le numéro de l'annonce **/
for($j=5; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='07') {
$bodaccNumAnnCalc++;
$bodaccNumAnn=substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2)*1;
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {/*&&
!preg_match('/^'.($bodaccNumAnnCalc+1).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+2).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+3).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+4).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+5).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+6).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+7).'/', str_replace('.','',''.$bodaccNumAnn)) &&
!preg_match('/^'.($bodaccNumAnnCalc+8).'/', str_replace('.','',''.$bodaccNumAnn)) )
die(date ('Y/m/d - H:i:s')." - Numéro d'annonce $bodaccNumAnn complètement différent du numéro attendu $bodaccNumAnnCalc !".EOL);
*/
$endTmp=false;
//$endTmp=true;
for ($iTmp=1; $iTmp<19; $iTmp++) {
if (preg_match('/^'.($bodaccNumAnnCalc+$iTmp).'/', str_replace('.','',''.$bodaccNumAnn))) {
echo(date ('Y/m/d - H:i:s')." - Numéro d'annonce $bodaccNumAnn différent du numéro attendu $bodaccNumAnnCalc !".EOL);
$bodaccNumAnnCalc=$bodaccNumAnnCalc+$iTmp; // Il y a un loupé de numérotation au bodacc entre 2 annonces
$endTmp=true;
break;
}
}
if (!$endTmp)
die(date ('Y/m/d - H:i:s')." - Numéro d'annonce $bodaccNumAnn complètement différent du numéro attendu $bodaccNumAnnCalc !".EOL);
}
//echo (date ('Y/m/d - H:i:s')." - Présent $bodaccNumAnn (Attendu $bodaccNumAnnCalc)".EOL);.
$bodaccNumAnn=$bodaccNumAnnCalc;
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb'])) {
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
}
//$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
$tmp=explode(' ', $bodaccNumAnn);
$bodaccNumAnn=trim($tmp[0]);
/** Numéro unique interne à ce programme pour chaque annonce **/
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
/** On initialise le tableau $tabAnnonces[$idann] qui contient toutes les infos de l'annonce **/
$tabAnnonces[$idann]['Num_Annonce']=$bodaccNumAnn;
$tabAnnonces[$idann]['Bodacc_Code']=$bodaccType;
$tabAnnonces[$idann]['Bodacc_Annee_Parution']=$bodaccAnneePar;
$tabAnnonces[$idann]['Bodacc_Num']=substr($bodaccNumPar,1,strlen($bodaccNumPar)-1);
$tabAnnonces[$idann]['Bodacc_NOJO']=$texte;
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
$tabAnnonces[$idann]['corrNum_Annonce']=NULL;
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=NULL;
$tabAnnonces[$idann]['corrPage']=NULL;
$tabAnnonces[$idann]['corrNumParution']=NULL;
$tabAnnonces[$idann]['corrTexteRectificatif']=NULL;
break;
}
}
/** Réinitialisation de variables **/
$err1624=false; // Indicateur d'erreur relatif aux balises 16 et 24 pour laquelle le début de la raison sociale est donné en balise 16
break;
case '02':break;// Contient toujours "BODACC"
case '03': // Partie du Bodacc et Département (séparé par un .)
$tmp=explode('.', $texte);
$bodaccPartie=$tmp[0];
$bodaccDepNum=$tmp[1];
$tabAnnonces[$idann]['Tribunal_Dept']=$bodaccDepNum;
$bodaccDep=$iInsee->getDepartement($bodaccDepNum);
$depInconnu=false;
if (!$iInsee->isDepartement($bodaccDepNum)) {
$depInconnu=true;
echo date ('Y/m/d - H:i:s')." - ERREUR : Département '$bodaccDepNum' inconnu pour l'annonce $idann !".EOL;
// die();
}
$tabDepLu[]=$tmp[1];
$texte=$tmp[0] .'.'. $tmp[1].' - '.$bodaccDep;
$tabPartiesLues[]=$bodaccType.$tmp[0];
$bodaccPartie=$bodaccType.$tmp[0];
break;
case '04': // Tribunal
$tribunalAnn=$texte;
$tabAnnonces[$idann]['Tribunal_Code']=$tribunalAnn;
$texte=$iBodacc->getTribunalNom($texte).' ('.$texte.')';
if (!$iBodacc->isTribunal($tribunalAnn)) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' inconnu pour l'annonce $idann !".EOL;
// die();
}
//if ($depInconnu)
/** Si n° de département non communiqué dans l'annonce, on l'initialise par rapport au code Tribunal
**/
// $tabAnnonces[$idann]['Tribunal_Dept']=$iBodacc->getTribunalNom($tribunalAnn);
break;
case '05': // Rubrique du BODACC
$texte=sprintf("%02s", $texte);
$rubrique=$bodaccPartie.$texte;
$tabRubriquesLues[]=$rubrique;
$tabAnnonces[$idann]['Rubrique_Bodacc']=$rubrique;
$texte=$iBodacc->getLibRubriqueBodacc($rubrique).' ('.$rubrique.')';
if (!$iBodacc->isRubriqueBodacc($rubrique)) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Rubrique '$texte' inconnue pour l'annonce $idann !".EOL;
die();
}
break;
case '06':break;// Numéro de parution
case '07': // Numéro de l'annonce dans la parution
$txtAnnonce=''.$bodaccNumAnn.' - ';
$tabAnnonces[$idann]['annonce']=$txtAnnonce;
$tabAnnonces[$idann]['data']=array();
// echo "Code=07:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte".EOL;
break;
default:
if ($code=='00') {
// On vérifie si la 1ère ligne du fichier contient bien la date du Bodacc
if ($i==0 && $texte==$dateBodaccTxt) continue; // OK
elseif ($i==0) {
echo date ('Y/m/d - H:i:s').
" - ERREUR : Le fichier $nomFichier ne contient pas $dateBodaccTxt en 1ère ligne !".EOL;
die();
}
$strTmp=trim(strtr($texte, "{}!", ' '));
$strTmpAcco=trim(strtr($texte, "!", ' '));
if (!isset($tabAnnonces[$idann]['data']['administration']))
$tabAnnonces[$idann]['data']['administration']='';
if (!isset($tabAnnonces[$idann]['data']['nationalite']))
$tabAnnonces[$idann]['data']['nationalite']=array();
if ( !isset($tabAnnonces[$idann]['data']['commentaires']) ||
!is_array($tabAnnonces[$idann]['data']['commentaires']) )
$tabAnnonces[$idann]['data']['commentaires']=array();
if (strlen($strTmp)>0) {
if (preg_match("/^Administration(.*):/i", $strTmp)) {
/** On récupère la ligne suivantes **/
$strTmp=trim(strtr($iBodacc->convertAccents(substr($tabBodacc[$i+1],2,strlen($tabBodacc[$i+1])-2)), "{}!", ' '));
$tabAnnonces[$idann]['data']['administration']=$strTmp;//explode('.', );
if ($bodaccType=='B') {
if ( !isset($tabAnnonces[$idann]['data']['typeMMD']) ||
!is_array($tabAnnonces[$idann]['data']['typeMMD']) )
$tabAnnonces[$idann]['data']['typeMMD']=array();
if (preg_match("/(ancien|nouveau|d.mission| nomination|^nomination)/i", $strTmp) && !in_array(2315, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2315));
}
} elseif (preg_match("/^Nationalit(.*):/i", $strTmp)) {
$tabAnnonces[$idann]['data']['nationalite']=array_merge($tabAnnonces[$idann]['data']['nationalite'], array(trim(preg_replace("/^Nationalit(.*):/i", '', $strTmp))));
} elseif (preg_match("/^A dater du(.*):/i", $strTmp)) {
$strTmp=explode('}', $texte);
$datEvenement=str_replace(' ','',trim(strtr($strTmp[1], "{}.!", ' ')));
$tabAnnonces[$idann]['data']['dateEffet']=WDate::dateT('dMY', 'Ymd', $datEvenement);
}elseif (preg_match("/^Publication(.*)l(.)gale(.*):/i", $strTmp)) {
$strPublication=trim(preg_replace("/^Publication(.*)l(.)gale(.*):/i", '', $strTmp));
$tabAnnonces[$idann]['data']['publication']=$strPublication;
if(preg_match("/(.*) (du|des) ([0-9]{1,2}|1er) (janvier|février|fevrier|mars|avril|mai|juin|juillet|aout|août|septembre|octobre|novembre|décembre|decembre) ([0-9]{2,4})/i", $strPublication, $tabTmp)) {
$tabAnnonces[$idann]['data']['publicationNom']=$tabTmp[1];
$tabAnnonces[$idann]['data']['publicationDate']=WDate::dateT('dMY', 'Ymd', $tabTmp[3].$tabTmp[4].$tabTmp[5]);
}
} elseif (preg_match("/^Oppositions(.*):/i", $strTmp)) {
$tabAnnonces[$idann]['data']['oppositions']=trim(preg_replace("/^Oppositions(.*):/i", '', $strTmp));
} elseif (preg_match("/^Commentaire(.*):/i", $strTmp)) {
$tabAnnonces[$idann]['data']['commentaires']=array_merge($tabAnnonces[$idann]['data']['commentaires'], array(trim(preg_replace("/^Commentaire(.*):/i", '', $strTmp))));
} elseif (preg_match("/cessation(.*)paiement/i", $strTmp)) {// JUGE COMMISSAIRE APRES
$strTmp=explode('}', $strTmpAcco);
$libEvenement=trim(strtr($strTmp[0], "{}:!", ' '));
if (isset($strTmp[1])) {
$datEvenement=str_replace(' ','',trim(strtr($strTmp[1], "{}.!", ' ')));
$tabAnnonces[$idann]['data']['dateCessationPaiement']=WDate::dateT('dMY', 'Ymd', $datEvenement);
} else $tabAnnonces[$idann]['data']['dateCessationPaiement']=NULL;//{ }Date d'insolvabilité notoire : 1er janvier 2007
}
$strTmp=trim(strtr($texte, "{}!", ' '));
if (preg_match("/Repr(.)sentant(.*)cr(.)ancier/i", $strTmp) && !isset($tabAnnonces[$idann]['data']['ReprCreanciers'])) {
$tabAnnonces[$idann]['data']['ReprCreanciers']='';
for($j=1; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='00') {
/** On recherche l'adresse dans les lignes suivantes **/
$txt=$iBodacc->convertAccents(substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2));
$txt=trim(strtr($txt, "{}!", ' '));
$tabAnnonces[$idann]['data']['ReprCreanciers'].=EOL.$txt;
if (preg_match("/^[0-9]{5,5}$/", str_replace(' ','',$txt))) { // Code Postal
$tabAnnonces[$idann]['data']['ReprCreanciers'].=EOL.trim($iBodacc->convertAccents(preg_replace("/\{\.(.*)/i", '', substr($tabBodacc[$i+$j+1],2,strlen($tabBodacc[$i+$j+1])-2))));
break;
}
if ($j>6 && strpos($txt, '.')>O) break;
}
}
$tabAnnonces[$idann]['data']['ReprCreanciers']=trim($tabAnnonces[$idann]['data']['ReprCreanciers']);
}
if (preg_match("/Juge commissaire/i", $strTmp)) { // JUGE COMM SUPPL ???
if ( !isset($tabAnnonces[$idann]['data']['jugeCommissaire']) ||
!is_array($tabAnnonces[$idann]['data']['jugeCommissaire']) )
$tabAnnonces[$idann]['data']['jugeCommissaire']=array();
$tabAnnonces[$idann]['data']['jugeCommissaire']=array_merge($tabAnnonces[$idann]['data']['jugeCommissaire'], array($strTmp));
}
if (preg_match("/d(.)claration(.*)cr(.)ance(.*)d(.)lai/i", $strTmp)) {
$tabTmp=explode('}', $strTmpAcco);
if (isset($tabTmp[1])) {
$tabAnnonces[$idann]['data']['delaiDepotCreances']=trim(strtr($tabTmp[1], "{}:!", ' '));
//echo $tabAnnonces[$idann]['data']['delaiDepotCreances'].'='.Wdate::period2Days($tabAnnonces[$idann]['data']['delaiDepotCreances']).EOL;
//die();
}
//else
//$tabAnnonces[$idann]['data']['delaiDepotCreances']=$tabTmp[0];
}
if (preg_match("/Administrateur(.*)judiciaire/i", $strTmp) && !isset($tabAnnonces[$idann]['data']['administrateur'])) {
$tabAnnonces[$idann]['data']['administrateur']='';
for($j=1; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='00') {
$txt=$iBodacc->convertAccents(substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2));
$txt=trim(strtr($txt, "{}!", ' '));
$tabAnnonces[$idann]['data']['administrateur'].=EOL.$txt;
if (preg_match("/^[0-9]{5,5}$/", str_replace(' ','',$txt))) {
$tabAnnonces[$idann]['data']['administrateur'].=EOL.trim($iBodacc->convertAccents(preg_replace("/\{\.(.*)/i", '', substr($tabBodacc[$i+$j+1],2,strlen($tabBodacc[$i+$j+1])-2))));
break;
}
if ($j>6 && strpos($txt, '.')>O) break;
}
}
$tabAnnonces[$idann]['data']['administrateur']=trim($tabAnnonces[$idann]['data']['administrateur']);
}
if (preg_match("/Mandataire judiciaire/i", $strTmp) && !isset($tabAnnonces[$idann]['data']['Mandataire'])) {
$tabAnnonces[$idann]['data']['Mandataire']=trim(str_replace(':', '', preg_replace("/(.*)Mandataire judiciaire (à la liquidation )(des entreprises)/i", '', $strTmp)));
for($j=1; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='00') {
$txt=$iBodacc->convertAccents(substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2));
$txt=trim(strtr($txt, "{}!", ' '));
$tabAnnonces[$idann]['data']['Mandataire'].=EOL.$txt;
if (preg_match("/^[0-9]{5,5}$/", str_replace(' ','',$txt))) {
$tabAnnonces[$idann]['data']['Mandataire'].=EOL.trim($iBodacc->convertAccents(preg_replace("/\{\.(.*)/i", '', substr($tabBodacc[$i+$j+1],2,strlen($tabBodacc[$i+$j+1])-2))));
break;
}
if ($j>6 && strpos($txt, '.')>0) break;
}
}
$tabAnnonces[$idann]['data']['Mandataire']=trim($tabAnnonces[$idann]['data']['Mandataire']);
}
if ($tabAnnonces[$idann]['data']['typeProCol']==1600 ||
$tabAnnonces[$idann]['data']['typeProCol']==1601) {
//print_r($tabAnnonces[$idann]);
$tabAdministration=$iBodacc->getDirigeants($strTmp);
if (count($tabAdministration)>1) {
echo $strTmp."\n";
print_r($tabAdministration);
echo('Cas non géré : plus d\'un gérant en IG dans la même annonce !'.EOL);
}
elseif (count($tabAdministration)>=1) $dir=$tabAdministration[0];
else $dir=array('fonction'=>805);
if (preg_match("/^(.*)\((.*)\)/i", $tabAnnonces[$idann]['data']['raisonSociale'][0], $matches)) {
$dir['nom']=trim($matches[1]);
$tabTmp=explode(' née ', $dir['nom']);
if (count($tabTmp)>1) {
$dir['nom']=trim(str_replace(',','',$tabTmp[1]));
$dir['nomUsage']=trim(str_replace(',','',$tabTmp[0]));
}
$dir['prenom']=trim($matches[2]);
}
$dir['even']=$tabAnnonces[$idann]['data']['typeProCol'];
$dir['dateFin']=$tabAnnonces[$idann]['data']['dateFinObservation'];
if (preg_match_all("/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/", $strTmp, $matches)) {
foreach ($matches[1] as $siren) {
$siren=strtr($siren, array('.'=>'','-'=>'', ' '=>''));
if ( !isset($tabAnnonces[$idann]['siren']) ||
!is_array($tabAnnonces[$idann]['siren']) )
$tabAnnonces[$idann]['siren']=array();
if ( !isset($tabAnnonces[$idann]['data']['siren']) || !is_array($tabAnnonces[$idann]['data']['siren']) )
{ $tabAnnonces[$idann]['data']['siren']=array(); $tabAnnonces[$idann]['data']['sirenValide']=array();}
if ($iInsee->valideSiren($siren)) {
if ($tabAnnonces[$idann]['siren'][0]['valide']==0) {
$tabAnnonces[$idann]['siren']=array(array('num'=>$siren, 'valide'=>1));
$tabAnnonces[$idann]['data']['siren']=array($siren);
$tabAnnonces[$idann]['data']['sirenValide']=array(1);
}else {
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$siren, 'valide'=>1)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($siren));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(1));
}
} else {
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$siren, 'valide'=>0)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($siren));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(0));
}
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) ||
!is_array($tabAnnonces[$idann]['data']['raisonSociale']) ) $tabAnnonces[$idann]['data']['raisonSociale']=array();
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], preg_replace('/^(.*)( de | de la | du | des )/i','', preg_replace('/, (.*)$/i','',$strTmp)));
}
}
$tabAnnonces[$idann]['data']['dirIGPF'][0]=$dir;
//print_r($tabAnnonces[$idann]);
//$saisie = trim(strtoupper(fgets(STDIN)));
echo $strTmp;
}
}
} elseif ($code=='14') { // Numéro de RC (Registre du commerce)
//RC }93-B 16{. }
$strTmp=str_replace('RC', '', str_replace(' ', '', strtr($texte, "{}.!-", ' ')));
if (preg_match("/^[0-9A-Z][0-9A-Z][A-Z][0-9]{1,9}$/i", $strTmp)) {
if ( !isset($tabAnnonces[$idann]['data']['RC']) ||
!is_array($tabAnnonces[$idann]['data']['RC']) )
$tabAnnonces[$idann]['data']['RC']=array();
$tabAnnonces[$idann]['data']['RC']=array_merge($tabAnnonces[$idann]['data']['RC'], array($strTmp));
}elseif (preg_match("/[0-9]{7,9}/", $strTmp, $tabTmp)) { //{ Répertoire des métiers : }345 219 786 RM 14{. }
$strTmp=$tabTmp[0];
if ( !isset($tabAnnonces[$idann]['siren']) ||
!is_array($tabAnnonces[$idann]['siren']) )
$tabAnnonces[$idann]['siren']=array();
if ( !isset($tabAnnonces[$idann]['data']['siren']) || !is_array($tabAnnonces[$idann]['data']['siren']) )
{ $tabAnnonces[$idann]['data']['siren']=array(); $tabAnnonces[$idann]['data']['sirenValide']=array();}
if ($iInsee->valideSiren($strTmp)) {
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$strTmp, 'valide'=>1)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($strTmp));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(1));
} else {
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$strTmp, 'valide'=>0)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($strTmp));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(0));
}
}elseif (preg_match("/^Enseigne(.*):/i", $strTmp)) {
if ( !isset($tabAnnonces[$idann]['data']['enseigne']) ||
!is_array($tabAnnonces[$idann]['data']['enseigne']) )
$tabAnnonces[$idann]['data']['enseigne']=array();
$tabAnnonces[$idann]['data']['enseigne']=array_merge($tabAnnonces[$idann]['data']['enseigne'], array(trim(preg_replace("/^Enseigne(.*):/i", '', $strTmp))));
}
//{ RC }07-B 157{. }
} elseif ($code=='15') {
$strTmp=str_replace(' ', '', strtr($texte, "{}.!", ' '));
if ( !isset($tabAnnonces[$idann]['siren']) ||
!is_array($tabAnnonces[$idann]['siren']) )
$tabAnnonces[$idann]['siren']=array();
if ( !isset($tabAnnonces[$idann]['data']['siren']) || !is_array($tabAnnonces[$idann]['data']['siren']) )
{ $tabAnnonces[$idann]['data']['siren']=array(); $tabAnnonces[$idann]['data']['sirenValide']=array();}
if (preg_match("/^[0-9]{9,9}(.*)/", $strTmp, $tabTmp2)) {
if (strlen($tabTmp2[1])>0) { // 420 910 176{. } GUIN, née (sans Balise)
$strTmp=substr($tabTmp2[0],0,9);
$err1624=true; // On informe le décodage de la prochaine ligne que la raison sociale a déja été commencée !
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) ||
!is_array($tabAnnonces[$idann]['data']['raisonSociale']) ) $tabAnnonces[$idann]['data']['raisonSociale']=array();
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array($tabTmp2[1]));
//echo "Siren = $strTmp, RS = ".$tabTmp2[1] ."'\n";
}
if ($iInsee->valideSiren($strTmp)) {
//echo "Siren = $siren, RS = ".$tabTmp2[1] ."'\n";
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$strTmp, 'valide'=>1)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($strTmp));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(1));
} else {
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$strTmp, 'valide'=>0)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($strTmp));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(0));
}
} elseif (preg_match("/non(.*)inscrit/i", $strTmp)) {//RCS non encore inscrit
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$strTmp, 'valide'=>0)));
$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array(0));
$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(0));
} else {
$strTmp=str_replace('RC', '', str_replace(' ', '', strtr($texte, "{}.!-", ' ')));
if (preg_match("/^[0-9A-Z][0-9A-Z][A-Z][0-9]{1,9}$/i", $strTmp)) {
if ( !isset($tabAnnonces[$idann]['data']['RC']) ||
!is_array($tabAnnonces[$idann]['data']['RC']) )
$tabAnnonces[$idann]['data']['RC']=array();
$tabAnnonces[$idann]['data']['RC']=array_merge($tabAnnonces[$idann]['data']['RC'], array($strTmp));
}
}
} elseif ($code=='16') {
$strTmp=trim(strtr($texte, "{}.!", ' '));
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) ||
!is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
$tabAnnonces[$idann]['data']['raisonSociale']=array();
/** Si la ligne précédente est aussi codifiée en Raison Sociale alors nous somme toujours sur la même entreprise **/
$codePre=substr($tabBodacc[$i-1],0,2);
if ($codePre=='16' || $codePre=='24' || $err1624==true) {
end($tabAnnonces[$idann]['data']['raisonSociale']);
$key=key($tabAnnonces[$idann]['data']['raisonSociale']);
$tabAnnonces[$idann]['data']['raisonSociale'][$key].=' '.$strTmp;
} else
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array($strTmp));
} elseif ($code=='17') {
$strTmp=trim(strtr($texte, "{}.!", ' '));
if ( !isset($tabAnnonces[$idann]['data']['activite']) ||
!is_array($tabAnnonces[$idann]['data']['activite']) )
$tabAnnonces[$idann]['data']['activite']=array();
$strTmp=trim(preg_replace("/^Activit(.*):/i", '', $strTmp));
$tabAnnonces[$idann]['data']['activite']=array_merge($tabAnnonces[$idann]['data']['activite'], array($strTmp));
if (preg_match_all("/[0-9]{9,9}|[0-9]{3,3} [0-9]{3,3} [0-9]{3,3}|[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3}|[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}/",
$strTmp,$matches)) {
if ( !isset($tabAnnonces[$idann]['data']['participations']) ||
!is_array($tabAnnonces[$idann]['data']['participations']) ) $tabAnnonces[$idann]['data']['participations']=array();
foreach ($matches[0] as $m => $sirenParticipation) {
if ($iInsee->valideSiren(str_replace(' ','', $sirenParticipation)) && !preg_match('/'.$sirenParticipation.'.{1,5}euro/i', $texte))
$tabAnnonces[$idann]['data']['participations']=array_merge( $tabAnnonces[$idann]['data']['participations'] ,
array(str_replace(' ','', $sirenParticipation)));
}
}
} elseif ($code=='19') {
$strTmp=trim(strtr($texte, "{}.!", ' '));
if ( !isset($tabAnnonces[$idann]['data']['nomCommercial']) ||
!is_array($tabAnnonces[$idann]['data']['nomCommercial']) )
$tabAnnonces[$idann]['data']['nomCommercial']=array();
if ( !isset($tabAnnonces[$idann]['data']['enseigne']) ||
!is_array($tabAnnonces[$idann]['data']['enseigne']) )
$tabAnnonces[$idann]['data']['enseigne']=array();
if (preg_match("/^Nom commercial(.*):/i", $strTmp))
$tabAnnonces[$idann]['data']['nomCommercial']=array_merge($tabAnnonces[$idann]['data']['nomCommercial'], array(trim(preg_replace("/^Nom commercial(.*):/i", '', $strTmp))));
elseif (preg_match("/^Enseigne(.*):/i", $strTmp))
$tabAnnonces[$idann]['data']['enseigne']=array_merge($tabAnnonces[$idann]['data']['enseigne'], array(trim(preg_replace("/^Enseigne(.*):/i", '', $strTmp))));
else
$tabAnnonces[$idann]['data']['nomCommercial']=array_merge($tabAnnonces[$idann]['data']['nomCommercial'], array($strTmp));
} elseif ($code=='20') {
// echo "Code=20:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte\n";
$strTmp=explode('}', $texte);
$libEvenement=trim(strtr($strTmp[0], "{}:!", ' '));
$datEvenement=str_replace(' ','',trim(strtr($strTmp[1], "{}.!", ' ')));
$comEvenement=trim(strtr($strTmp[1], "{}!", ' '));
if ($bodaccType=='C') {
$tabAnnonces[$idann]['data']['dateCloture']=WDate::dateT('dMY', 'Ymd', $datEvenement);
if (preg_match("/comptes? annuel/i", $libEvenement))
$tabAnnonces[$idann]['data']['comptesAnnu']=1;// Dépôt des comptes annuels
else $tabAnnonces[$idann]['data']['comptesAnnu']=0;
if (preg_match("/comptes? consolid/i", $libEvenement))
$tabAnnonces[$idann]['data']['comptesConso']=1;//'Dépôt des comptes consolidés'
else $tabAnnonces[$idann]['data']['comptesConso']=0;
//if (preg_match("/rapport(.*)exercice/i", $libEvenement))
//$tabAnnonces[$idann]['data']['rapport']=1;
//else $tabAnnonces[$idann]['data']['rapport']=0;
} elseif (// CREATIONS
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A103' || // Personne Physique
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A104' || // Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A105' || // GIE
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A106' || // SC
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A107' || // Etab. Sec. : Pers. Phys.
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A108' || // Etab. Sec. : Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A109' || // Etab. Sec. : SC
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A126' || // Etab. + PP : PP
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A131' || // Etab. Sec. : GIE
// VENTES & CESSIONS
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A101' || // Personne Physique
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A102' || // Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A124' || // Personne P. non inscrite
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A125') { // Société non inscrite
if (preg_match("/d.but(.*)activit/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateDebutActivite']=WDate::dateT('dMY', 'Ymd', $datEvenement);
if (preg_match("/date(.*)effet/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateEffet']=WDate::dateT('dMY', 'Ymd', $datEvenement);
} elseif (// RADIATIONS
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B1X1' || // Dissolution
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B116' || // Personne Physique
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B117' || // Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B127' || // Toutes formes
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B133') { // GEIE
if (preg_match("/(cessation|radiation)/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateCessationActivite']=WDate::dateT('dMY', 'Ymd', $datEvenement);
if (preg_match("/commentaire/i", $libEvenement)) {
if ( !isset($tabAnnonces[$idann]['data']['commentaires']) ||
!is_array($tabAnnonces[$idann]['data']['commentaires']) )
$tabAnnonces[$idann]['data']['commentaires']=array();
$comEvenement=preg_replace("/^Radiation pour cause de/i",'', $comEvenement);
$comEvenement=preg_replace("/^Radiation suite à la/i",'', $comEvenement);
$comEvenement=preg_replace("/^Radiation par suite de/i",'', $comEvenement);
$comEvenement=preg_replace("/^pour cause de/i",'', $comEvenement);
$comEvenement=preg_replace("/^suite à la/i",'', $comEvenement);
$comEvenement=preg_replace("/^par suite de/i",'', $comEvenement);
$comEvenement='Radiation pour cause de '.$comEvenement;
$tabAnnonces[$idann]['data']['commentaires']=array_merge($tabAnnonces[$idann]['data']['commentaires'], array($comEvenement));
if (preg_match("/cl.ture (des op.rations )de (la )liquidation amiable/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6001;
elseif (preg_match("/cl.ture (des op.rations )de (la )liquidation (judiciaire )pour insuffisance d'actif/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6002;
elseif (preg_match("/cl.ture pour insuffisance d'actif (des op.rations )de (la )liquidation (judiciaire)/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6002;
elseif (preg_match("/cl.ture (des op.rations )de (la )liquidation judiciaire/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6003;
elseif (preg_match("/cl.ture (des op.rations )de (la )liquidation (judiciaire )simplifi/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6004;
elseif (preg_match("/cl.ture plan de cession/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6005;
elseif (preg_match("/cl.ture (des op.rations )de (la )liquidation/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6000;
elseif (preg_match("/cl.ture (.*) liquidation/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6000;
elseif (preg_match("/(décès|deces|déces|decès)/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6100;
elseif (preg_match("/non(.)exercice/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6300;
elseif (preg_match("/transfert/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6400;
elseif (preg_match("/cessation(.*)activit(e|é)/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6201;
elseif (preg_match("/(mention|radiation) d'office/i", $libEvenement))
$tabAnnonces[$idann]['data']['typeRadiation']=6200;
else
$tabAnnonces[$idann]['data']['typeRadiation']=6700; // Radiation (autre)
if (!isset($tabAnnonces[$idann]['data']['dateCessationActivite']))
$tabAnnonces[$idann]['data']['dateCessationActivite']=$dateBodacc;
if (!in_array(2000, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2000)); // Mention d'office
}
} elseif (substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A8' ||
substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A2') {
// echo "20A8A2:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte\n";
if (preg_match("/date/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateJugement']=WDate::dateT('dMY', 'Ymd', $datEvenement);
$code='26'; // Forçage du code à 26 car balise 20 parfois utilisé à la place de la 26...
} else { // MMD
if (preg_match("/d(.)but(.*)activit(.*)/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateDebutActivite']=WDate::dateT('dMY', 'Ymd', $datEvenement);
if (preg_match("/date(.*)effet(.*)/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateEffet']=WDate::dateT('dMY', 'Ymd', $datEvenement);
if (preg_match("/(cessation|radiation)/i", $libEvenement))
$tabAnnonces[$idann]['data']['dateCessationActivite']=WDate::dateT('dMY', 'Ymd', $datEvenement);
}
} elseif ($code=='22') {
$strTmp=trim(strtr($texte, "{}!", ' '));
if (preg_match("/^Forme(.*):/i", $strTmp)) {
if ( !isset($tabAnnonces[$idann]['data']['FJ']) ||
!is_array($tabAnnonces[$idann]['data']['FJ']) )
$tabAnnonces[$idann]['data']['FJ']=array();
$strTmp=trim(preg_replace("/^Forme(.*):/i", '', $strTmp));
if (substr($strTmp,-1)=='.') $strTmp=substr($strTmp,0,strlen($strTmp)-1);
$tabAnnonces[$idann]['data']['FJ']=array_merge($tabAnnonces[$idann]['data']['FJ'], array($strTmp));
}
} elseif ($code=='23') {
$strTmp=trim(strtr($texte, "{}!).", ' '));
if (preg_match("/^Capital(.*):/i", $strTmp)) {
$strTmp=trim(preg_replace("/^Capital(.*):/i", '', $strTmp));
if (substr($strTmp,-1)=='.') $strTmp=substr($strTmp,0,strlen($strTmp)-1);
if (preg_match("/^([0-9\.,\?\s]*)([\D]*)/i", $strTmp, $tabTmp))
{
$capital_montant=str_replace(' ','', strtr($tabTmp[1], '?,.',' ..'));
$devise =strtoupper(trim(str_replace('de ', '', str_replace('d\'', '', $tabTmp[2]))));
// if (preg_match("/euro/i", $devise)) $devise='EURO';
if ( preg_match("/eur/i", $devise) && !preg_match("/(wir|suisse|che)/i", $devise) ) $devise='EURO';
if ($devise<>'') {
if ($capital_montant<>'' && !$iBodacc->isDeviseBodacc($devise)) {
echo ("ERREUR : Annonce $idann, devise inconnue = '$devise' (montant = $capital_montant) !".EOL);
echo 'SIREN ............. '.implode(';',$tabAnnonces[$idann]['data']['siren']).EOL;
echo 'Raison Sociale .... '.implode(';',$tabAnnonces[$idann]['data']['raisonSociale']).EOL;
echo 'RC ................ '.implode(';',$tabAnnonces[$idann]['data']['RC']).EOL;
echo 'Forme Juridique ... '.implode(';',$tabAnnonces[$idann]['data']['FJ']).EOL;
echo chr(7);
/** @todo Gérer les devises dont le nom peut être commun à plusieurs pays :
** DINARS DIRHAM DOLLARS COURONNES FRANC CFA ROUPIE LEU
**/
if ($noQuestion) {
die("Devise '$devise' inconnue !");
} else {
while(true){
echo 'Saisir la devise pour "'.$devise.'" (0 pour ne rien saisir) ?'.EOL;
$saisie = trim(strtoupper(fgets(STDIN)));
if (strlen($saisie)==3) {
echo 'Insertion de la devise en base'.EOL;
if (!$iBodacc->addDeviseBodacc($devise, $saisie) && mysql_errno()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations de chargement en base impossible :".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
$capital_devise=$saisie;
break;
} elseif (strlen($saisie)==1 && $saisie=='0') {
$capital_devise='??';
break;
}
}
}
}
else $capital_devise=$iBodacc->getDeviseBodacc($devise);
}
else $capital_devise='?';
$tabAnnonces[$idann]['data']['Capital']=array('Montant'=>$capital_montant, 'Devise'=>$capital_devise);
}
}
} elseif ($code=='24') {
$strTmp=trim(strtr($texte, "{}.!", ' '));
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) ||
!is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
$tabAnnonces[$idann]['data']['raisonSociale']=array();
/** Si la ligne précédente est aussi codifiée en Raison Sociale alors nous somme toujours sur la même entreprise **/
$codePre=substr($tabBodacc[$i-1],0,2);
if ($codePre=='16' || $codePre=='24' || $err1624==true) {
end($tabAnnonces[$idann]['data']['raisonSociale']);
$key=key($tabAnnonces[$idann]['data']['raisonSociale']);
$tabAnnonces[$idann]['data']['raisonSociale'][$key].=' '.$strTmp;
} else
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('/ACHE/'.$strTmp));
}
if ($code=='26') {
// echo "Code=26:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte\n";
$strTmp=trim(strtr($texte, "{}!", ' '));
// CREATIONS
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A103' || // Personne Physique
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A104' || // Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A105' || // GIE
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A106' || // SC
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A107' || // Etab. Sec. : Pers. Phys.
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A108' || // Etab. Sec. : Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A109' || // Etab. Sec. : SC
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A126' || // Etab. + PP : PP
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A131') { // Etab. Sec. : GIE
if ( !isset($tabAnnonces[$idann]['data']['typeCreation']) ||
!is_array($tabAnnonces[$idann]['data']['typeCreation']) )
$tabAnnonces[$idann]['data']['typeCreation']=array();
if (preg_match("/se(.*)constitu(.*)mais(.*)exploite(.*)provisoir(.*)tablissement/i", $strTmp)) // Création d'entreprise sans établissement
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4100));
elseif (preg_match("/se(.*)constitu(.*)mais(.*)exerce(.*)provisoir(.*)aucune activit/i", $strTmp)) // Création d'entreprise sans activité
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4050));
elseif (preg_match("/Cr.ation(.*)(é|e)tablissement/i", $strTmp)) // Création d'établissement
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4200));
elseif (preg_match("/se constitu/i", $strTmp)) // Création d'entreprise
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4000));
if (preg_match("/location.g.rance/i", $strTmp)) // Reprise suite à fin de location-gérance
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4350));
elseif (preg_match("/reprise d.activit(é|e)/i", $strTmp)) // Reprise d'activité
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4300));
elseif (preg_match("/r.ouverture du fonds/i", $strTmp)) // Reprise d'activité
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4300));
elseif (preg_match("/reprise(.*)suite(.*)ésolution(.*)vente/i", $strTmp)) // 'Reprise par suite de la résolution de vente
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4360));
if (preg_match("/(transformation|Ancienne forme juridique)/i", $strTmp) ||
preg_match("/immatriculation en(.*)précédemment/i", $strTmp) ||
preg_match("/modification(.*)forme juridique/i", $strTmp)) // Création suite à changement de FJ
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4400));
if (preg_match("/fonds(.*)acquis(.*)procédure collective/i", $strTmp) ||
preg_match("/(achat|acquisition)(.*)fonds(.*)procédure collective/i", $strTmp)) // Fonds acquis dans le cadre d'une PC
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4500));
elseif (preg_match("/(achat|acquisition)(.*)fonds/i", $strTmp) ||
preg_match("/fonds(.*)acquis par achat/i", $strTmp)) // Fonds acquis par achat
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4501));
elseif (preg_match("/tablissement principal acquis par achat/i", $strTmp))
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4501));
elseif (preg_match("/apport(.*)fonds/i", $strTmp) ||
preg_match("/cr.ation par suite(.*)apport/i", $strTmp) ||
preg_match("/fonds(.*)acquis par apport/i", $strTmp)) // Fonds acquis par apport
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4502));
elseif (preg_match("/client.le(.*)acquise par achat/i", $strTmp) ||
preg_match("/(achat|acquisition)(.*)client.le/i", $strTmp)) // Clientèle acquise par achat
$tabAnnonces[$idann]['data']['typeCreation']=array_merge($tabAnnonces[$idann]['data']['typeCreation'], array(4503));
if ( !isset($tabAnnonces[$idann]['data']['commentaires']) ||
!is_array($tabAnnonces[$idann]['data']['commentaires']) )
$tabAnnonces[$idann]['data']['commentaires']=array();
$tabAnnonces[$idann]['data']['commentaires']=array_merge($tabAnnonces[$idann]['data']['commentaires'], array($strTmp));
} elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A101' || // Personne Physique
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A102' || // Société
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A124' || // Personne P. non inscrite
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A125') { // Société non inscrite
if (preg_match("/(prix|montant|indémni|indemni|évalu|evalu|éstim|estim)/i", $strTmp)
&& ( !isset($tabAnnonces[$idann]['data']['Vente']) ||
!is_array($tabAnnonces[$idann]['data']['Vente']) ) ) {
if (substr($strTmp,-1)=='.') $strTmp=trim(substr($strTmp,0,strlen($strTmp)-1));
$vente_montant=0;$vente_devise='';
if (preg_match("/(.*)prix([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
preg_match("/(.*)montant([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
preg_match("/(.*)(é|e)valu([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
preg_match("/(.*)(é|e)stim([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp)) {
$vente_montant=trim(str_replace(' ','', str_replace(',','.',$tabTmp[3])));
$vente_devise =trim($tabTmp[4]);
} elseif (preg_match("/(.*)ind(.)mni([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp)) {
$vente_montant=str_replace(' ','', str_replace(',','.',$tabTmp[4]));
$vente_devise =trim($tabTmp[5]);
}
if ( preg_match("/eur/i", $vente_devise) && !preg_match("/(wir|suisse|che)/i",$vente_devise) ) $vente_devise='EURO';
$devise=strtoupper(trim(str_replace('de ', '', str_replace('d\'', '', $vente_devise))));
if ($devise<>'') {
if ($vente_montant*1<>0 && !$iBodacc->isDeviseBodacc($devise)) {
echo ("ERREUR : Annonce $idann, devise de la vente inconnue = '$devise' (montant = $vente_montant) !".EOL.$texte.EOL);
echo 'SIREN ............. '.implode(';',$tabAnnonces[$idann]['data']['siren']).EOL;
echo 'Raison Sociale .... '.implode(';',$tabAnnonces[$idann]['data']['raisonSociale']).EOL;
echo 'RC ................ '.implode(';',$tabAnnonces[$idann]['data']['RC']).EOL;
echo 'Forme Juridique ... '.implode(';',$tabAnnonces[$idann]['data']['FJ']).EOL;
echo chr(7);
/** @todo Gérer les devises dont le nom peut être commun à plusieurs pays :
** DINARS DIRHAM DOLLARS COURONNES FRANC CFA ROUPIE LEU
**/
if ($noQuestion) {
die("Devise '$devise' inconnue !");
} else {
while(true){
echo 'Saisir la devise pour "'.$devise.'" (0 pour ne rien saisir) ?'.EOL;
$saisie = trim(strtoupper(fgets(STDIN)));
if (strlen($saisie)==3) {
echo 'Insertion de la devise en base'.EOL;
if (!$iBodacc->addDeviseBodacc($devise, $saisie) && mysql_errno()<>1062) {
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations de chargement en base impossible :".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
$vente_devise=$saisie;
break;
} elseif (strlen($saisie)==1 && $saisie=='0') {
$vente_devise='??';
break;
}
}
}
} else $vente_devise=$iBodacc->getDeviseBodacc($devise);
}
else $vente_devise='?';
if ( !isset($tabAnnonces[$idann]['data']['typeVente']) ||
!is_array($tabAnnonces[$idann]['data']['typeVente']) )
$tabAnnonces[$idann]['data']['typeVente']=array();
$bienAcqui=trim(preg_replace("/ acqui(.*)/i", '', $strTmp));
if (preg_match("/(e|é)tablissement principal/i", $bienAcqui)) // Etablissement principal
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5000));
elseif (preg_match("/(e|é)tablissement secondaire/i", $bienAcqui)) // Etablissement secondaire
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5001));
elseif (preg_match("/(e|é)tablissement compl(é|e)mentaire/i", $bienAcqui)) // Etablissement complémentaire
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5002));
elseif (preg_match("/(e|é)tablissements?(.*)et(.*)(e|é)tablissement/i", $bienAcqui)) // Plusieurs établissements
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5004));
elseif (preg_match("/(e|é)tablissements/i", $bienAcqui)) // Plusieurs établissements
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5004));
elseif (preg_match("/(e|é)tablissement/i", $bienAcqui)) // Etablissement
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5003));
if (preg_match("/Partie d(e|u) fonds/i", $bienAcqui)) // Partie de fonds
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5105));
elseif (preg_match("/Fonds.{0,2}principal/i", $bienAcqui)) // Fonds principal
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5100));
elseif (preg_match("/Fonds.{0,2}secondaire/i", $bienAcqui)) // Fonds secondaire
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5101));
elseif (preg_match("/Fonds.{0,2}compl(é|e)mentaire/i", $bienAcqui)) // Fonds complémentaire
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5102));
elseif (preg_match("/Fonds.{0,2}artisanal/i", $bienAcqui)) // Fonds artisanal
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5104));
elseif (preg_match("/Fonds/i", $bienAcqui)) // Fonds
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5103));
if (preg_match("/4(e|ème|eme) cat(é|e)gorie/i", $bienAcqui) ||
preg_match("/cat(é|e)gorie 4/i", $bienAcqui) ||
preg_match("/Licence (IV|4)/i", $bienAcqui)) // Licence de débit de boissons de 4e catégorie
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5205));
if (preg_match("/Droit au bail/i", $bienAcqui)) // Droit au bail
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5203));
if (preg_match("/(Branche|Partie) (compl.te )(d.activit)/i", $bienAcqui) ||
preg_match("/branche.{1,10}activit/i", $bienAcqui)) // Branche ou Partie d'activité
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5200));
if (preg_match("/Portefeuille.{1,19}assurances/i", $bienAcqui)) // Portefeuille d'assurances
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5206));
elseif (preg_match("/Clientèle/i", $bienAcqui)) // Clientèle
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5201));
if (preg_match("/(e|é)l(e|é)ments incorporels/i", $bienAcqui)) // Eléments incorporels
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5204));
elseif (preg_match("/(e|é)l(e|é)ments/i", $bienAcqui)) // Divers éléments
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5202));
if (preg_match("/pr.c.demment exploit. en location.g.rance/i", $bienAcqui)) // Bien précédemment exploité en location-gérance
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5400));
if (preg_match("/Moiti(e|é) indivise/i", $bienAcqui)) // Bien en moitié indivise
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5350));
elseif (preg_match("/ indivise? /i", $bienAcqui)) // Bien en % indivise
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5351));
if (preg_match("/d.pendant de l.(é|e)tablissement principal/i", $bienAcqui) ||
preg_match("/d.pendant d(u|es) fonds principal/i", $bienAcqui)) // Bien dépendant de l'établissement ou fonds principal
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5300));
elseif (preg_match("/d.pendant de l.(é|e)tablissement secondaire/i", $bienAcqui) ||
preg_match("/d.pendant d(u|es) fonds principal/i", $bienAcqui)) // Bien dépendant de l'établissement ou fonds secondaire
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5301));
elseif (preg_match("/d.pendant de l.(é|e)tablissement compl.mentaire/i", $bienAcqui) ||
preg_match("/d.pendant d(u|es) fonds principal/i", $bienAcqui)) // Bien dépendant de l'établissement ou fonds complé.
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5302));
elseif (preg_match("/d.pendant de l.(é|e)tablissement/i", $bienAcqui) ||
preg_match("/d.pendant d(u|es) fonds/i", $bienAcqui)) // Bien dépendant de l'établissement ou fonds
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5303));
$tabAnnonces[$idann]['data']['Vente']=array('Montant'=>$vente_montant, 'Devise'=>$vente_devise, 'Perimetre'=>trim($tabTmp[0]), 'bienAcqui'=>$bienAcqui);
}
} elseif (substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A8' ||
substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A2') {
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A215' && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
// echo "A215:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte\n";
if (preg_match("/Jugement.{1,3}cl.tur(a|e).{1,13}extinction.{1,13}passif/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1502; // Jugement clôturant la procédure pour extinction du passif (LB !!!)
elseif (preg_match("/Jugement.{1,3}cl.tur(a|e).{1,13}insuffisance.{1,13}actif/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1503; // Jugement clôturant la procédure pour insuffisance actif (LB !!!)
elseif (preg_match("/Jugement nommant (.*)qualité de syndic(.*)en remplacement de/i", $texte) ||
preg_match("/Jugement mettant fin.{1,7}fonction.{1,7}syndic(.*)d.signant(.*)remplacement/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1406; // Changement de SYNDIC
/** @todo
** - Récupérer les coordonnées DU SYNDIC
**/
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A801' && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
if (preg_match("/ouverture(.*)sauvegarde/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1100; // Ouverture sauvegarde
elseif (preg_match("/conver(.)i(.*)sauvegarde(.*)redressement/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1201; // Conversion sauvegarde en RJ
elseif (preg_match("/r(.)ouverture(.*)liquidation/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1304; // Réouverture LJ
elseif (preg_match("/r(.)ouverture/i", $texte) && preg_match("/liquidation/i",
$iBodacc->convertAccents(substr($tabBodacc[$i+1],2,strlen($tabBodacc[$i+1])-2))))
$tabAnnonces[$idann]['data']['typeProCol']=1304; // Réouverture RJ
elseif (preg_match("/redressement(.*)judiciaire/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1200; // RJ
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A802' && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
if (preg_match("/liquidation(.*)judiciaire(.*)simplifi/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1302; // Ouv LJS
elseif (preg_match("/liquidation(.*)judiciaire(.*)r(.)solution(.*)plan/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1303; // Ouv LJS sur résolution de plan
elseif (preg_match("/conver(.)i(.*)liquidation(.*)judiciaire(.*)liquidation(.*)judiciaire(.*)simplifi(.)e/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1309; // LJ en LJS
elseif (preg_match("/liquidation(.*)judiciaire/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1301; // Ouverture LJ
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A804' && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
if (preg_match("/simplifi(.)e/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1306; // LJS
elseif (preg_match("/liquidation.{1,9}judiciaire.{0,8}(cour|pendant| en).{1,9}sauvegarde/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1307; // Conversion sauvg en LJ
// if (preg_match("/liquidation(.*)judiciaire(.*)simplifi/i", $texte))
// $tabAnnonces[$idann]['data']['typeProCol']=1306; // LJS
elseif (preg_match("/liquidation(.*)judiciaire(.*)(conversion|résolution|resolution|redressement|observation|cession)/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1300; // Conversion RJ en LJ
elseif (preg_match("/liquidation(.*)judiciaire/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1305; // LJ
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A806') {
$tabAnnonces[$idann]['data']['typeProCol']=1413; /** Arrêt plan continuation @todo Récupérer la durée du plan si présente **/
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A807') {
$tabAnnonces[$idann]['data']['typeProCol']=1409; /** Modification plan continuation @todo Récupérer la modification exacte **/
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A808' && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
/** @todo récupérer "au profit de" ou "en faveur de" **/
if (preg_match("/arr(.)tant(.*)plan(.*)sauvegarde/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1101; // Jug. arrêtant plan sauvegarde
elseif (preg_match("/cession(.*)partiel/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1412; // Arrêt plan cession partiel
//elseif (preg_match("/cession/i", $texte)) $tabAnnonces[$idann]['data']['typeProCol']=1411;
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A809') { /** @todo récupérer la modification **/
$tabAnnonces[$idann]['data']['typeProCol']=1408; // Modif plan de cession
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A810') { /** @todo récupérer la modification **/
$tabAnnonces[$idann]['data']['typeProCol']=1502; // Clôture de la procédure pour extinction du passif
}
elseif (($tabAnnonces[$idann]['Rubrique_Bodacc']=='A813' || // Faillite personnelle
$tabAnnonces[$idann]['Rubrique_Bodacc']=='A814') && // Interdiction de gérer
!isset($tabAnnonces[$idann]['data']['dateFinObservation']))
{ /** @todo récupérer les noms et prénoms des personnes !
00 : Animateur de la S.A.R.L. WILCOFRET, RCS Paris B 400 933 008, RC 95-B 6536, 9 rue de Bellefond, 75009 Paris{. }
**/
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A813')
$tabAnnonces[$idann]['data']['typeProCol']=1600; // Faillite personnelle
else
$tabAnnonces[$idann]['data']['typeProCol']=1601; // Interdiction de gérer
if (preg_match("/(.*)pour une dur.e? d(.*)( an| mois)/i", $texte, $matches)) {
$perimetre=preg_replace("/^et /i",'',trim(strtr($matches[1], "{}!", ' ')));
$dureeL=preg_replace("/^(e|') /",'',trim($matches[2]));
$periode=trim($matches[3]);
if ($tabAnnonces[$idann]['data']['dateJugement']*1>0) $dateJuge=$tabAnnonces[$idann]['data']['dateJugement'];
else $dateJuge=$tabAnnonces[$idann]['Bodacc_Date_Parution'];
$dureeC=WDate::period2Days($dateJuge, $dureeL.' '.$periode);
echo "Interdiction ".$tabAnnonces[$idann]['data']['typeProCol']." jusqu'au $dureeC (soit pendant $dureeL $periode). Périmètre = '$perimetre'\n";
$tabAnnonces[$idann]['data']['perimetre']=$perimetre;
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
//print_r($tabAnnonces[$idann]);
//die($texte);
}
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A819' && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
if (preg_match("/ r(é|e)tractant /i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1506;// Infirmation Jugement A AMELIORER
elseif (preg_match("/pronon(c|ç)ant.{1,7}r(é|e)habilitation/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1602; // Jugement de réhabilitation';//RECUPERER LE NOM du réhabilité { }m. Francis Meyer{. }
elseif (preg_match("/(Dépôt|depot|dépot|depôt).{1,9}projet.{1,9}r(é|e)partition/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1208; // Avis de dépôt du projet de répartition
elseif (preg_match("/conver.i.{2,9}sauvegarde.{1,19}redressement/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1201; // Conversion sauvegarde en RJ
elseif (preg_match("/(adoptant|arr.tant|homologuant|admission)(.){1,9}plan(.){1,9}sauvegarde/i", $texte) ||
preg_match("/Jugement de plan de sauvegarde/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1101; // Jugement arrêtant plan de sauvegarde
elseif (preg_match("/mettant(.){1,9}fin(.){1,9}plan(.){1,9}sauvegarde/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1508; // Jugement d'extinction du plan de sauvegarde
elseif (preg_match("/liquidation(.*)judiciaire(.*)simplifi(.)/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1306; // LJ simplifiée
elseif (preg_match("/conver.i(.){2,9}sauvegarde(.){1,9}liquidation(.){1,9}judiciaire/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1307; // Conversion sauvegarde en LJ
elseif (preg_match("/cl.ture(.*)sauvegarde(.*)(non|absence)(.*)projet(.){1,7}plan/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1504; // Clôture sauvegarde pour absence de projet de plan
elseif (preg_match("/proroge(.*)commissaire(.*)x.cution.{1,9}plan/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1404; // Prolongation mission du commissaire à l'exécution du plan
elseif (preg_match("/(rempla|nommant)(.*)commissaire(.*)x(é|e)cution.{1,9}plan/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1403; // Remplacement du commissaire à l'exécution du plan
elseif (preg_match("/(clôtur|clotur)(.*)apr.s plan de cession/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1501; // Cloture de la procédure après plan de cession / Cession Totale
elseif (preg_match("/renouvel(.*)p.riode(.){1,9}observation(.*) (de |d')(.*)( an| mois)/i", $texte, $matches) ||
preg_match("/prononçant(.*)poursuite(.){1,9}activité(.*) (de |d')(.*)( an| mois)/i", $texte, $matches))
{ /** @todo pour une durée de six mois à compter du 7 mars 2007 **/
$tabAnnonces[$idann]['data']['typeProCol']=1202; // Renouvellement de la période d'observation
$dureeL=trim($matches[5]);
$periode=trim($matches[6]);
if ($tabAnnonces[$idann]['data']['dateJugement']*1>0) $dateJuge=$tabAnnonces[$idann]['data']['dateJugement'];
else $dateJuge=$tabAnnonces[$idann]['Bodacc_Date_Parution'];
$dureeC=Wdate::period2Days($dateJuge, $dureeL.' '.$periode);
$tabAnnonces[$idann]['data']['perimetre']=$perimetre;
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
// echo "A819:$idann:". $tabAnnonces[$idann]['data']['typeProCol'] .":$code:$texte\n";
// echo "1202:Période d'observation jusqu'au $dureeC (soit pendant $dureeL $periode).\n";
}
elseif (preg_match("/nommant(.*)administrateur/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1400; // Nommination d'un administrateur judiciaire
elseif (preg_match("/nommant(.*)mandataire/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1401; // Nommination d'un mandataire judiciaire
elseif (preg_match("/nommant(.*)repr(.)sentant(.*)cr(.)ancier/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1402; // Nommination d'un représentant des créanciers
elseif (preg_match("/nommant(.*)juge(.*)commissaire/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1405; // Nommination d'un juge commissaire
elseif (preg_match("/(admission|adopt)(.){1,17}plan(.){1,9}redressement(.){1,19}dur.e? (d|à|a)(.*)( an| mois)/i", $texte, $matches))
{ $tabAnnonces[$idann]['data']['typeProCol']=1414; // Arrêt du plan de redressement
$dureeL=preg_replace("/^(e|') /",'',trim($matches[6]));
$periode=trim($matches[7]);
if ($tabAnnonces[$idann]['data']['dateJugement']*1>0) $dateJuge=$tabAnnonces[$idann]['data']['dateJugement'];
else $dateJuge=$tabAnnonces[$idann]['Bodacc_Date_Parution'];
$dureeC=Wdate::period2Days($dateJuge, $dureeL.' '.$periode);
$tabAnnonces[$idann]['data']['perimetre']=$perimetre;
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
// echo "A819:$idann:". $tabAnnonces[$idann]['data']['typeProCol'] .":$code:$texte\n";
// echo "1414:Plan de redressement jusqu'au $dureeC (soit pendant $dureeL $periode).\n";
}
elseif (preg_match("/(adoptant|arr.tant|homologuant|admission)(.){1,9}plan(.){1,9}redressement/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1414; // Arrêt du plan de redressement
elseif (preg_match("/extinction(.){1,9}plan(.){1,9}redressement/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1509; // Extinction du plan de redressement
elseif (preg_match("/(clôture|cloture|clôturant|cloturant)/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1500; // Clôture de la procédure
elseif (preg_match("/(arr|ado).tant(.){1,9}plan(.){1,9}cession/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1411; // Arrêt plan cession
elseif (preg_match("/(proroge|renouvel)(.*)plan(.){1,9}cession/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1415; // Prolongement du plan cession
elseif (preg_match("/con(sta|tas)tant (.*) ex(é|e)cut(ion|é) (.){1,29} plan/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1416; // Jugement constatant bonne execution du plan
elseif (preg_match("/rejet(ant)(.){1,9}plan(.){1,9}continuation/i", $texte))
$tabAnnonces[$idann]['data']['typeProCol']=1510; // Jugement rejetant le plan de continuation
// elseif (preg_match("/ plan /i", $texte)) echo "PlanSeul:$texte\n";
//echo "A819:$idann:". $tabAnnonces[$idann]['data']['typeProCol'] .":$code:$texte$$\n";
}
/**
* @todo
* - A priori, on ne récupère pas bien toutes les conversions
* - RJ, LJ ou PS par extension de la société blablabla
* - Jugement d'ouverture de liquidation judiciaire; avec poursuite d'activité autorisée jusqu'au 28 février 2007;
* - Jugement d'ouverture d'une procédure de redressement judiciaire par extension de celle prononcée à l'égard de la STE ELEFA S.A., RCS Angers 330 094 830, de la STE DOMAINE DES AJONCS S.A.R.L., RCS Angers 413 683 432 et de la STE CROQUENDINE S.A., RCS Angers 399 683 432,
* suite à confusion des patrimoines ou à fictivité de la personne morale .
* - Jugement autorisant la poursuite d'activité jusqu'au 24 mars 2007
* - Jugement constatant la fin des difficultés
**/
$strTmp=trim(strtr($texte, "{}.!", ' '));
if (preg_match("/^Num.ro(.*):/i", $strTmp))
$tabAnnonces[$idann]['data']['Numero']=trim(preg_replace("/^Num.ro(.*):/i",'',$strTmp));
if (preg_match("/radiation/i", $strTmp)) {
$tabTmp=explode('}', $texte);
$datEvenement=str_replace(' ','',trim(strtr($tabTmp[1], "{}.!", ' ')));
$tabAnnonces[$idann]['data']['dateCessationActivite']=WDate::dateT('dMY', 'Ymd', $datEvenement);
}
if (preg_match("/Juge commissaire/i", $strTmp)) { //Juge commissaire suppléant
if ( !isset($tabAnnonces[$idann]['data']['jugeCommissaire']) ||
!is_array($tabAnnonces[$idann]['data']['jugeCommissaire']) )
$tabAnnonces[$idann]['data']['jugeCommissaire']=array();
$tabAnnonces[$idann]['data']['jugeCommissaire']=array_merge($tabAnnonces[$idann]['data']['jugeCommissaire'], array($strTmp));
}
if (preg_match("/Repr(.)sentant(.*)cr(.)ancier/i", $strTmp) && !isset($tabAnnonces[$idann]['data']['ReprCreanciers'])) {
$tabAnnonces[$idann]['data']['ReprCreanciers']='';
for($j=1; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='00') {
$txt=$iBodacc->convertAccents(substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2));
$txt=trim(strtr($txt, "{}!", ' '));
$tabAnnonces[$idann]['data']['ReprCreanciers'].=EOL.$txt;
if (preg_match("/^[0-9]{5,5}$/", str_replace(' ','',$txt))) {
$tabAnnonces[$idann]['data']['ReprCreanciers'].=EOL.trim($iBodacc->convertAccents(preg_replace("/\{\.(.*)/i", '', substr($tabBodacc[$i+$j+1],2,strlen($tabBodacc[$i+$j+1])-2))));
break;
}
if ($j>6 && strpos($txt, '.')>O) break;
}
}
$tabAnnonces[$idann]['data']['ReprCreanciers']=trim($tabAnnonces[$idann]['data']['ReprCreanciers']);
}
if (preg_match("/d(.)claration(.*)cr(.)ance(.*)d(.)lai/i", $strTmp)) {
$tabTmp=explode('}', $strTmpAcco);
if (isset($tabTmp[1])) $tabAnnonces[$idann]['data']['delaiDepotCreances']=trim(strtr($tabTmp[1], "{}:!", ' '));
}
if (preg_match("/Administrateur(.*)judiciaire/i", $strTmp) && !isset($tabAnnonces[$idann]['data']['administrateur'])) {
$tabAnnonces[$idann]['data']['administrateur']='';
for($j=1; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='00') {
$txt=$iBodacc->convertAccents(substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2));
$txt=trim(strtr($txt, "{}!", ' '));
$tabAnnonces[$idann]['data']['administrateur'].=EOL.$txt;
if (preg_match("/^[0-9]{5,5}$/", str_replace(' ','',$txt))) {
$tabAnnonces[$idann]['data']['administrateur'].=EOL.trim($iBodacc->convertAccents(preg_replace("/\{\.(.*)/i", '', substr($tabBodacc[$i+$j+1],2,strlen($tabBodacc[$i+$j+1])-2))));
break;
}
if ($j>6 && strpos($txt, '.')>O) break;
}
}
$tabAnnonces[$idann]['data']['administrateur']=trim($tabAnnonces[$idann]['data']['administrateur']);
}
if (preg_match("/Mandataire judiciaire :/i", $strTmp) && !isset($tabAnnonces[$idann]['data']['Mandataire'])) {
$tabAnnonces[$idann]['data']['Mandataire']=trim(str_replace(':', '', preg_replace("/(.*)Mandataire judiciaire/i", '', $strTmp)));
for($j=1; $j<10; $j++) {
$balise=''.substr($tabBodacc[$i+$j],0,2);
if ($balise=='00') {
$txt=$iBodacc->convertAccents(substr($tabBodacc[$i+$j],2,strlen($tabBodacc[$i+$j])-2));
$txt=trim(strtr($txt, "{}!", ' '));
$tabAnnonces[$idann]['data']['Mandataire'].=EOL.$txt;
if (preg_match("/^[0-9]{5,5}$/", str_replace(' ','',$txt))) {
$tabAnnonces[$idann]['data']['Mandataire'].=EOL.trim($iBodacc->convertAccents(preg_replace("/\{\.(.*)/i", '', substr($tabBodacc[$i+$j+1],2,strlen($tabBodacc[$i+$j+1])-2))));
break;
}
if ($j>6 && strpos($txt, '.')>0) break;
}
}
$tabAnnonces[$idann]['data']['Mandataire']=trim($tabAnnonces[$idann]['data']['Mandataire']);
}
if (preg_match("/p(.)riode(.*)observation/i", $strTmp)) {
$periode=preg_replace("/(.*)p(.)riode(.*)observation/i", '', $strTmp);
$periode=str_replace('durée de', '/', str_replace('durée d\'', '/',
str_replace('le', '/', str_replace('au', '/', str_replace('à', '/', $periode)))));
$tabTmp=explode('/', $periode);
if (isset($tabTmp[1])) {
$periode=trim($tabTmp[1]);
if (strpos($tabTmp[1], ' mois')>0 ||
strpos($tabTmp[1], ' an') >0 ||
strpos($tabTmp[1], ' jour')>0 ) {
$tabTmp=explode(' ', $periode);
$periode=$tabTmp[0].' '.$tabTmp[1];
$tabAnnonces[$idann]['data']['dateFinObservation']=Wdate::period2Days($dateBodacc, $periode);
$tabAnnonces[$idann]['data']['FinObservationBodacc']=$periode;
} else {
$tabTmp=explode(' ', $periode);
$periode=$tabTmp[0].$tabTmp[1].$tabTmp[2];
$tabAnnonces[$idann]['data']['dateFinObservation']=WDate::dateT('dMY', 'Ymd', $periode);
$tabAnnonces[$idann]['data']['FinObservationBodacc']=$periode;
}
}
}
if (preg_match("/fixant(.*)cl.ture(.*)proc.dure/i", $strTmp)) {
$trouve=false;
if (preg_match("/avec poursuite.{1,7}activité(.*)/i", $strTmp, $matches)) {
//echo "Poursuite activité=$strTmp\n";
$poursuiteActivite=$matches[1];// on en fait rien pour l'instant !!!
$strTmp2=preg_replace("/activité(.*)/i",'', $strTmp);
}
else $strTmp2=$strTmp;
if (preg_match("/fixant(.*)cl.ture(.*)proc.dure(.*)( an| ans| mois)/i", $strTmp2, $matches)) {
//print_r($matches);die();
$dureeL=preg_replace("/^à /",'',trim($matches[3]));
$periode=trim($matches[4]);
if ($tabAnnonces[$idann]['data']['dateJugement']*1>0) $dateJuge=$tabAnnonces[$idann]['data']['dateJugement'];
else $dateJuge=$tabAnnonces[$idann]['Bodacc_Date_Parution'];
$dureeC=WDate::period2Days($dateJuge, $dureeL.' '.$periode);
//echo "Fin de la LJ : $dureeC (soit pendant $dureeL $periode, jugement le $dateJuge).\n";
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
$trouve=true;
}
if (preg_match("/fixant au(.*)délai(.*)clôture(.*)procédure/i", $strTmp2, $matches)) {
$dateClotureTxt=str_replace(' ', '', preg_replace('/le$/','',trim($matches[1])));
$dateCloture=WDate::dateT('dMY', 'Ymd', $dateClotureTxt);
//echo "Fin de la LJ : $dateCloture ($dateClotureTxt, jugement le $dateJuge).\n";
$tabAnnonces[$idann]['data']['dateFinObservation']=$dateCloture;
$tabAnnonces[$idann]['data']['FinObservationBodacc']=$dateClotureTxt;
$trouve=true;
}
if (!$trouve) {
echo date('Y/m/d - H:i:s') ." - Attention : Durée de la procédure de LJ non trouvée pour le siren '". $tabAnnonces[$idann]['siren'][0] ."'!".EOL;
}
}
if (preg_match("/Date(.*)insolvabilité(.*)notoire/i", $strTmp)) {
$tabTmp=explode(':', $strTmp);
if (isset($tabTmp[1])) {
$datEvenement=preg_replace("/[0-9]{4,4}(.*)/i", '',trim($tabTmp[1]));
$datEvenement=str_replace(' ', '', $datEvenement);
$tabAnnonces[$idann]['data']['dateCessationPaiement']=WDate::dateT('dMY', 'Ymd', $datEvenement);
} else $tabAnnonces[$idann]['data']['dateCessationPaiement']=NULL;//{ } : 1er janvier 2007
}
// echo "FCode26:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte\n";
if ( !isset($tabAnnonces[$idann]['data']['commentaires']) ||
!is_array($tabAnnonces[$idann]['data']['commentaires']) )
$tabAnnonces[$idann]['data']['commentaires']=array();
$tabAnnonces[$idann]['data']['commentaires']=array_merge($tabAnnonces[$idann]['data']['commentaires'], array($strTmp));
} elseif ($bodaccType=='B') {
if ( !isset($tabAnnonces[$idann]['data']['typeMMD']) ||
!is_array($tabAnnonces[$idann]['data']['typeMMD']) )
$tabAnnonces[$idann]['data']['typeMMD']=array();
if (preg_match("/mise(.*)sommeil(.*)soci(é|e)t(é|e)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2206)); // Mise en sommeil de la société
elseif (preg_match("/(prise|mise)(.*)activit(é|e)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2316)); // Mise en activité de la société
if (preg_match("/cessation .{1,15}activit(e|é).{1,10} dissolution .{1,10}anticip(é|e)e/i", $texte) ||
preg_match("/dissolution .{1,10}anticip(é|e)e.{1,10} cessation .{1,15}activit(e|é)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2204)); // Cessation avec Dissolution
if (preg_match("/Dissolution .{1,20}soci(é|e)t(é|e)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2203)); // Dissolution de la société
elseif (preg_match("/Dissolution /i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2202)); // Dissolution
if (preg_match("/cessation .{1,15}activit(é|e).{1,15}(provisoire|temporaire)/i", $texte) ||
preg_match("/arr(e|ê|è|é)t.{1,15}activit(é|e).{1,15}(provisoire|temporaire)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2201)); // Cessation d'activité temporaire
elseif (preg_match("/arr(e|ê|è|é)t.{1,15} (provisoire|temporaire) .{1,15}activit/i", $texte) ||
preg_match("/cessation .{1,15} (provisoire|temporaire) .{1,15}activit/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2201)); // Cessation d'activité temporaire
elseif (preg_match("/(cessation|sans)(.*)activit(é|e)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2200)); // Cessation d'activité
if (preg_match("/(modification|adjonction|adoption|prise|ancienne|changement|suppres|ajout){1,15}d(é|e)nomination/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2305)); // Modification de la dénomination
if (preg_match("/(modification|adjonction|adoption|prise|ancien|changement|suppres|ajout){1,15} nom {1,15}commercia/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2309)); // Modification du nom commercial
elseif (preg_match("/(modification|adjonction|adoption|prise|ancien|changement|suppres|ajout){1,15} nom /i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2308)); // Modification du nom
if (preg_match("/(modification|adjonction|adoption|prise|ancien|changement|suppres|ajout){1,15}sigle/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2317)); // Modif du sigle
if (preg_match("/(modification|adjonction|adoption|prise|ancienne|changement|suppres|ajout){1,15}enseigne/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2302)); // Modif Enseigne
if (preg_match("/(modification|adjonction|adoption|prise|ancien|changement|suppres|ajout){1,15}pseudonyme/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2310)); // Modif Pseudo
if (preg_match("/(modification|adjonction|ancienne|changement|ajout){1,15}administration/i", $texte) && !in_array(2315, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2315)); // MODIF ADMINISTRATION
elseif (preg_match("/nomination/i", $texte) && !in_array(2315, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2315)); // MODIF ADMINISTRATION
if (preg_match("/modification(.*)capital(.*)augmentation/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2102)); // Augmentation de capital
elseif (preg_match("/modification(.*)capital(.*)diminution/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2100)); // diminution de capital
elseif (preg_match("/(modification|ancien|changement)(.*)capital/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2101)); // Modification de capital
if (preg_match("/(modification|adjonction|ancienne|changement|suppres)(.*)activit(é|e)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2313)); // Modification de l'activité
if (preg_match("/(modification|ancienne|changement|r.gularisation|report)(.*)(date|prise)(.*)activit/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2304)); // Modification date début d'activité
if (preg_match("/date.{1,20}exercice/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2303)); // Modification date clôture exercice
if (preg_match("/(durée|duree){1,30}(soci.t.|personne morale)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2306)); // Modification de la durée de la société
if (preg_match("/(modification|ancienne|changement)(.*)forme(.*)juridique/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2307)); // Modification FJ
elseif (preg_match("/transformation(.*)en/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2307)); // Modification FJ
if (preg_match("/(.*) fusion(.*)/i", $texte, $tabTmp)) {
if (!preg_match("/Ancienne.{1,3}activité :/i", $tabTmp[1])) { // TRAITEMENT DES FUSIONS
$sirenFusionPre=$codeEvenAbs=$codeEven='';
if (preg_match_all("/[0-9]{9,9}|[0-9]{3,3} [0-9]{3,3} [0-9]{3,3}|[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3}|[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}/",$tabTmp[0],$matches)){
foreach ($matches[0] as $m => $sirenFusion) {
//echo "Siren trouvé = $sirenFusion ";
$raisonSocialeAbs=$adresseAbs='';
if ($iInsee->valideSiren(str_replace(' ','', $sirenFusion))) {
//echo "... valide !\n";
if (preg_match('/ ayant participée? à la fusion(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
//preg_match('/ ayant participée à la fusion(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match("/ ayant participé à l'opération(.*)".$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match("/ ayant participé à l'opération de fusion(.*)".$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match("/Fusion.absorption de(.*)".$sirenFusion."(.*)/i",$tabTmp[0],$matches2) ||
preg_match("/Fusion.absoption de(.*)".$sirenFusion."(.*)/i",$tabTmp[0],$matches2) ||
preg_match('/Fusion de(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match('/Fusion avec(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match("/suite à l'apport partiel d'actif de(.*)".$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match('/fusion par voie d.absorption des(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match('/transmission du patrimoine de la(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2) ||
preg_match('/des évaluations et des rémunérations qui en sont faites de la(.*)'.$sirenFusion.'(.*)/i',$tabTmp[0],$matches2))
{
if ($sirenFusionPre<>'') $raisonSocialeAbs=''.trim(preg_replace('/(.*)'.$sirenFusionPre.'/i','', $matches2[1]));
else $raisonSocialeAbs=''.trim($matches2[1]);
$raisonSocialeAbs=preg_replace('/ RCS (.*)/i','', $raisonSocialeAbs);
$raisonSocialeAbs=trim(strtr($raisonSocialeAbs,',:;',' '));
$raisonSocialeAbs=trim(preg_replace('/^et de la/','', $raisonSocialeAbs));
$raisonSocialeAbs=trim(preg_replace('/^(de la|avec la)/','', $raisonSocialeAbs));
$raisonSocialeAbs=trim(preg_replace('/^de fusion/','', $raisonSocialeAbs));
$raisonSocialeAbs=trim(preg_replace('/^société(s)/','', $raisonSocialeAbs));
$raisonSocialeAbs=trim(preg_replace("/^(la|et|l'|s)/",'', $raisonSocialeAbs));
if (preg_match("/(.*)([0-9]{5,5})(.*)/", $matches2[2], $tabTmpAdr)) {
$adresseAbs=trim($tabTmpAdr[1]); // => , boulevard Pierre-Lefaucheux,
if (substr($adresseAbs,0,1)==',') $adresseAbs=trim(preg_replace("/(^,|,$)/",'', $adresseAbs));
$adresseAbsCP=$tabTmpAdr[2]; // => 72000
$adresseAbsVille=trim(strtr($tabTmpAdr[3], '{.!}',' '));
} else $adresseAbs=$adresseAbsCP=$adresseAbsVille='';
$codeEvenAbs=2720; // Fusion/Absorption (entitée absorbée)
$codeEven=2700; // Fusion/Absorption (entitée absorbante)
} elseif (preg_match('/projet (de traité )de fusion/i',$tabTmp[0])) {
$codeEvenAbs=2730; // Projet de fusion (entitée absorbée)
$codeEven=2710; // Projet de fusion (entitée absorbante)
} else { // Phrase de fusion absorption permettant de positionner la RS non trouvée
$codeEven=2700; // Projet de fusion (entitée absorbante)
$codeEvenAbs=2721; // Fusion/Absorption (entitée absorbée non identifié)
}
if ( !isset($tabAnnonces[$idann]['data']['fusion']) ||
!is_array($tabAnnonces[$idann]['data']['fusion']) ) $tabAnnonces[$idann]['data']['fusion']=array();
$tabAnnonces[$idann]['data']['fusion']=array_merge( $tabAnnonces[$idann]['data']['fusion'] , array(
array( 'codeEvenAbs' => $codeEvenAbs,
'sirenAbs' => str_replace(' ','', $sirenFusion),
'raisonAbs' => $raisonSocialeAbs,
'adresseAbs' => $adresseAbs,
'adresseAbsCP' => $adresseAbsCP,
'adresseAbsVille'=>$adresseAbsVille)));
} elseif (!preg_match('/'.$sirenFusion.'.{1,4}euro/i', $tabTmp[0])) { // on ignore $sirenFusion qui est un montant !
//echo "Dans ce cas, il faudra valider à la mano car mot / fusion/ trouvé avec SIREN invalide !!!\n";
$codeEven=2702; // Fusion/Absorption (entitée absorbante ; entité absorbée mal SIRENEE)
}
$sirenFusionPre=$sirenFusion;
}
} else {
/** Mot " fusion" trouvé mais sans SIREN !!! **/
if (preg_match('/(fonds|tablissement principal) acquis par fusion\./i', $texte))
$codeEven=2701; // Fusion/Absorption (entitée absorbante)
else
$codeEven=2703; // Fusion/Absorption (entitée absorbante ; entité absorbée non SIRENEE)
//echo "Dans ce cas, il faudra valider à la mano car mot / fusion/ trouvé mais sans RCS valide ou invalide !!!\n";
}
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array($codeEven)); // Code Evenement précis de l'absorbant
//$tabAnnonces[$idann]['data']
//echo "$texte\n";
//print_r($matches);
//$saisie = fgets(STDIN);
}
}
if (preg_match("/contrat(.*)mariage/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2405)); // Modif régime matrimonial: contrat de mariage
elseif (preg_match("/mariage/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2403)); // Modif régime matrimonial: mariage
elseif (preg_match("/divorc/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2402)); // Modif régime matrimonial: divorce
elseif (preg_match("/(veuf|veuve)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2404)); // Modif régime matrimonial: veuvage
elseif (preg_match("/matrimonial/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2401)); // Modif régime matrimonial
if (preg_match("/décédé|décès|decede|deces/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2600)); // Décès
if (preg_match("/poursuite(.*)activit(é|e|è)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2314)); // Poursuite de l'activité
if (preg_match("/d(é|e|è)cision(.*)actionnaire(.*)unique/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2610)); // Décision de l'unique actionnaire
if (preg_match("/modification(.*)exploitation/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2311)); // Modification sur l'exploitation
if (preg_match("/projet(.*)transf(é|e|è)r(.*)soci.t/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2903)); // Projet de transfert de la société
elseif (preg_match("/d(é|e|è)cision(.*)transf(é|e|è)r(.*)si(é|e|è)ge(.*)social(.*)tranger/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2904)); // Transfert du siège à l'étranger
elseif (preg_match("/adresse(.*)si(é|e|è)ge/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2301)); // Modification de l'adresse du siège
elseif (preg_match("/(modification|nouvelle|ancienne|changement)(.*)adresse/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2300)); // Changement d'adresse
elseif (preg_match("/(transfer|transfèr|changement).{1,7}si(é|e|è)ge/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège
if (preg_match("/transfert(.*)du fonds/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2902)); // Transfert du fond
elseif (preg_match("/fonds(.*)transf(é|e|è)r(é|e|è)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2902)); // Transfert du fond
elseif (preg_match("/transfert(.*)(é|e)tablissement/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2900)); // Transfert d'établissement
if (preg_match("/fermeture(.*)du(.*)fonds/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2205)); // Fermeture du fonds
if (preg_match("/(création|creation)(.*)d(.*)fonds/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2950)); // Création de fonds
if (preg_match("/vente(.*)du(.*)fonds/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2209)); // Vente du fonds
elseif (preg_match("/(fin|arrêt|arret)(.*)exploitation(.*)du(.*)fonds(.*)suite(.*)vente/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2209)); // Vente du fonds
elseif (preg_match("/reprise(.*)du(.*)fonds(.*)par(.*)conjoint/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2406)); // Reprise du fonds par le conjoint
if (preg_match("/(mention|déclaration|declaration|changement|entrée|mise à jour)(.*)d(.*)associ/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2350)); // Déclaration des associés
if (preg_match("/(é|e)tablissement(.*)donn(é|e)(.*)en(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2891)); // LG relative à un établissement
elseif (preg_match("/fonds(.*)donn(é|e)(.*)en(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2892)); // LG relative à un fond
elseif (preg_match("/(reçu|recu|pris)(.*)en(.*)location(.*)g.rance(.*)branche/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2890)); // LG relative à une branche
elseif (preg_match("/branche(.*)activit(é|e|è)(.*)donn(é|e)(.*)en(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2890)); // LG relative à une branche
elseif (preg_match("/(fin|résiliation)(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2885)); // Fin de location gérance
elseif (preg_match("/pr(é|e|è)c(é|e|è)demment(.*)exploité(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2885)); // Fin de location gérance
elseif (preg_match("/renouvellement(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2880)); // Renouvellement de location gérance
elseif (preg_match("/(modification|changement)(.*)location(.*)g.rance/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2881)); // Changement de location gérance
if (preg_match("/suppression(.*)branche(.*)activit(é|e|è)/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2207)); // Suppression branche activité
if (preg_match("/changement(.*)de(.*)nationalit/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2650)); // Changement de nationalité
if (preg_match("/(déclaration|mention)(.*)conjoint(.*)collaborateur/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2407)); // Mention du conjoint collaborateur
elseif (preg_match("/radiation(.*)conjoint(.*)collaborateur/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2408)); // Radiation du conjoint collaborateur
if (preg_match("/transmission(.*)universelle(.*)patrimoine/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2620)); // Transmission universelle du patrimoine
if (preg_match("/donation/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2630)); // Donation
if (preg_match("/suppression.{1,7}tablissement(.*)principal/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2208)); // Suppression établissement principal
if (preg_match("/tablissement(.*)secondaire(.*)devient(.*)principal/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2510)); // établissement secondaire devient principal
if (preg_match("/extension(.*)tablissement(.*)principal/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2520)); // Extension de l'établissement principal
if (preg_match("/r(é|e|è)alisation(.*)apport(.*)partiel(.*)actif/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2660)); // Réalisation de l'apport partiel d'actif
if (preg_match("/changement(.*)domicile(.*)personnel/i", $texte))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2640)); // Changement de domicile personnel
/*
suite au partage de la communauté ayant existé entre les époux CAMBET dit BERDOT-POUYSEGUR, le fonds de bar, brasserie, vente de journaux et de périodiques, gérance de débit de tabac, sis 15 place Gramont, Pau est attribué à
cession partielle d'activité
cession de la partie du fonds de fournitures industrielles du bâtiment (FIB) à la STE SAVOIE METAL TOITURE{.!}
rectification concernant le capital suite à une erreur de transcription. Ancien : 7 500 euros
vente ou cession de fonds
cessation provisoire avec maintien de l'immatriculation au RCS
fin de la mission de Me Gautier (Sophie) en qualité d'administrateur provisoire
renouvellement du maintien provisoire de l'immatriculation au RCS pour une durée maximum d'un an
nouvel administrateur provisoire
*/
}
} elseif ($code == '30') {
$strTmp=trim(strtr($texte, "{}!", ' '));
if ( !isset($tabAnnonces[$idann]['data']['commentaires']) ||
!is_array($tabAnnonces[$idann]['data']['commentaires']) )
$tabAnnonces[$idann]['data']['commentaires']=array();
$tabAnnonces[$idann]['data']['commentaires']=array_merge($tabAnnonces[$idann]['data']['commentaires'], array($strTmp));
if ($bodaccType=='B') {
if ( !isset($tabAnnonces[$idann]['data']['typeMMD']) ||
!is_array($tabAnnonces[$idann]['data']['typeMMD']) )
$tabAnnonces[$idann]['data']['typeMMD']=array();
if (preg_match("/(ancien|nouveau)(.*)(gérant|gerant|président|president|membre|commissaire|conseil|dir|surveillance|administra)/i", $texte)
&& !in_array(2315, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2315)); // MODIF ADMINISTRATION
if (preg_match("/Nouvelle(.*)situation/i", $texte))
/** Changement divers de situation (sera supprimé lors de l'insertion en base si autre évènenement trouvé **/
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2318));
}
} elseif ($code == '31') {
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVoie']) ||
!is_array($tabAnnonces[$idann]['data']['adresseSiegeVoie']) )
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array();
if ( !isset($tabAnnonces[$idann]['data']['adresseVoie']) ||
!is_array($tabAnnonces[$idann]['data']['adresseVoie']) )
$tabAnnonces[$idann]['data']['adresseVoie']=array();
$strTmp=trim(strtr($texte, "{}!", ' '));
if (preg_match("/^Adresse(.*)si(.)ge(.*)social(.*):/i", $strTmp))
$typeAdresse='adresseSiege';
elseif (preg_match("/^Adresse(.*):/i", $strTmp))
$typeAdresse='adresse';
elseif (preg_match("/^Nom commercial(.*):/i", $strTmp)) { // Annomalie du Bodacc
if ( !isset($tabAnnonces[$idann]['data']['nomCommercial']) ||
!is_array($tabAnnonces[$idann]['data']['nomCommercial']) )
$tabAnnonces[$idann]['data']['nomCommercial']=array();
$tabAnnonces[$idann]['data']['nomCommercial']=array_merge($tabAnnonces[$idann]['data']['nomCommercial'], array(trim(preg_replace("/^Nom commercial(.*):/i", '', $strTmp))));
}
else
die ("ERREUR : Type d'adresse inconnue : '$strTmp' !".EOL); /** @todo A planté avec l'adresse beauregard BDA20060229.TLS **/
$tabAnnonces[$idann]['data'][$typeAdresse.'Voie']=array_merge($tabAnnonces[$idann]['data'][$typeAdresse.'Voie'], (array)trim(preg_replace("/^Adresse(.*):/i", '', $strTmp)));
} elseif ($code=='33') {
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVille']) ||
!is_array($tabAnnonces[$idann]['data']['adresseSiegeVille']) )
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array();
if ( !isset($tabAnnonces[$idann]['data']['adresseVille']) ||
!is_array($tabAnnonces[$idann]['data']['adresseVille']) )
$tabAnnonces[$idann]['data']['adresseVille']=array();
$texte=str_replace('{. }', '{.}', $texte);
$tabTmp=explode('{.}',strtr($texte, "!", ' '));
$tabAnnonces[$idann]['data'][$typeAdresse.'Ville']=array_merge($tabAnnonces[$idann]['data'][$typeAdresse.'Ville'], (array)trim(trim(strtr($tabTmp[0], '{.!}',' '))));
if (isset($tabTmp[1])) $strTmp=trim($tabTmp[1]);
if ($strTmp<>'') {
if (substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A8' ||
substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A2') {
if (preg_match("/Mandataire judiciaire :/i", $strTmp))
$tabAnnonces[$idann]['data']['Mandataire']=preg_replace("/^(.*)Mandataire judiciaire :/i", '', $strTmp);
if (preg_match("/^Juge commissaire :/i", $strTmp)) //Juge commissaire suppléant
$tabAnnonces[$idann]['data']['jugeCommissaire']=preg_replace("/Mandataire judiciaire :(.*)/i", '', $strTmp);
// elseif (preg_match("/projet(.*)r(.)partition/i", $strTmp))
// $tabAnnonces[$idann]['data']['ProjetRepartition']=$strTmp;
else {
if ( !isset($tabAnnonces[$idann]['data']['commentaires']) ||
!is_array($tabAnnonces[$idann]['data']['commentaires']) )
$tabAnnonces[$idann]['data']['commentaires']=array();
$tabAnnonces[$idann]['data']['commentaires']=array_merge($tabAnnonces[$idann]['data']['commentaires'], array($strTmp));
}
} elseif (end($tabAnnonces[$idann]['data'][$typeAdresse.'CP'])==$strTmp)
continue;
elseif (preg_match("/^Enseigne(.*):/i", $strTmp)) {
if ( !isset($tabAnnonces[$idann]['data']['enseigne']) ||
!is_array($tabAnnonces[$idann]['data']['enseigne']) )
$tabAnnonces[$idann]['data']['enseigne']=array();
$tabAnnonces[$idann]['data']['enseigne']=array_merge($tabAnnonces[$idann]['data']['enseigne'], array(trim(preg_replace("/^Enseigne(.*):/i", '', $strTmp))));
} elseif (preg_match("/^Objet social(.*):/Ui", $strTmp)) {
if ( !isset($tabAnnonces[$idann]['data']['activite']) ||
!is_array($tabAnnonces[$idann]['data']['activite']) )
$tabAnnonces[$idann]['data']['activite']=array();
$tabAnnonces[$idann]['data']['activite']=array_merge($tabAnnonces[$idann]['data']['activite'], array(trim(preg_replace("/^Activite(.*):/Ui", '', $strTmp))));
} else {
print_r($tabAnnonces[$idann]);
echo $code.':'.$strTmp;
die("N'importe quoi dans la zone ville !");
}
}
} elseif ($code=='36') {
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeCP']) ||
!is_array($tabAnnonces[$idann]['data']['adresseSiegeCP']) )
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array();
if ( !isset($tabAnnonces[$idann]['data']['adresseCP']) ||
!is_array($tabAnnonces[$idann]['data']['adresseCP']) )
$tabAnnonces[$idann]['data']['adresseCP']=array();
$strTmp=trim(strtr($texte, "{}!", ' '));
$tabAnnonces[$idann]['data'][$typeAdresse.'CP']=array_merge($tabAnnonces[$idann]['data'][$typeAdresse.'CP'], (array)$strTmp);
} elseif ($code=='70') { // ANNONCE RECTIFICATIVE
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
$tabAnnonces[$idann]['corrNum_Annonce']=preg_replace("(\D)", '', $texte);
} elseif ($code=='71') { // Date de Parution de l'annonce à corriger
$strTmp=explode('}', $texte);
$datEvenement=str_replace(' ','',trim(strtr($strTmp[1], "{}.!", ' ')));
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=WDate::dateT('dMY', 'Ymd', $datEvenement);
} elseif ($code=='72') { // Page de Parution de l'annonce à corriger
//Date de parution :
$premPage=preg_replace("/et(.*)/i", '', $texte);
$tabAnnonces[$idann]['corrPage']=preg_replace("(\D)", '', $premPage);
} elseif ($code=='73') { // Numéro de parution de l'annonce à corriger
$strTmp=explode('}', $texte);
$tabAnnonces[$idann]['corrNumParution']=str_replace(' ','',trim(strtr($strTmp[1], "{}.!", ' ')));
} elseif ($code=='74') { // Texte rectificatif de l'annonce
$strTmp=trim(strtr($texte, "{}.!", ' '));
$tabAnnonces[$idann]['corrTexteRectificatif']=$strTmp;
} elseif ($code=='75') { // ANNONCE ADDITIVE
$tabAnnonces[$idann]['typeAnnonce']='Additif';
$tabAnnonces[$idann]['corrNum_Annonce']=preg_replace("(\D)", '', $texte);
} elseif ($code=='76') { // ANNONCE DE SUPPRESSION
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
$tabAnnonces[$idann]['corrNum_Annonce']=preg_replace("(\D)", '', $texte);
}
$txtAnnonce.=strtr($texte, "{}!",' ');
$tabAnnonces[$idann]['annonce']=$txtAnnonce;
if ($bodaccType=='B') {
if ( !isset($tabAnnonces[$idann]['data']['typeMMD']) ||
!is_array($tabAnnonces[$idann]['data']['typeMMD']) )
$tabAnnonces[$idann]['data']['typeMMD']=array();
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='B114' ||
//$tabAnnonces[$idann]['Rubrique_Bodacc']=='B115' ||
//'B115'=>'37 loc. gérance recue ............. Société' ==> idem B119
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B122' ||
$tabAnnonces[$idann]['Rubrique_Bodacc']=='B123') {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Provisoirement vérifier l'intégration de la rubrique ". $tabAnnonces[$idann]['Rubrique_Bodacc'] ." du Bodacc :".EOL;
print_r($tabAnnonces[$idann]);
die();
}
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='B120' && !in_array(2500, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2500)); // Confirmation établissement principal/secondaire (STE)
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='B121' && !in_array(2500, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2500)); // Confirmation établissement principal/secondaire (PP)
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='B128' && !in_array(2000, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2000)); // Mention d'office
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='B129' && !in_array(2980, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2980)); // Transfert entre tribunaux (PP)
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='B130' && !in_array(2980, $tabAnnonces[$idann]['data']['typeMMD']))
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2980)); // Transfert entre tribunaux (STE)
} elseif ( (substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A8' ||
substr($tabAnnonces[$idann]['Rubrique_Bodacc'],0,2)=='A2') && !isset($tabAnnonces[$idann]['data']['typeProCol'])) {
/** @todo NE TRAITER CES CAS QUE LORSQU'ON A LU TOUTE L'ANNONCE car sinon ça vérouille tout de suite l'annonce !!! **/
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A811')
$tabAnnonces[$idann]['data']['typeProCol']=1503; // Clôture de la procédure pour insuffisance d'actif
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A812')
$tabAnnonces[$idann]['data']['typeProCol']=1501; // Clôture de la procédure après cession totale
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A815')
$tabAnnonces[$idann]['data']['typeProCol']=1204; // Avis de dépôt de l'état des créances
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A816')
$tabAnnonces[$idann]['data']['typeProCol']=1206; // Avis de dépôt de l'état des créances nées après jugement d'ouverture
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A817')
$tabAnnonces[$idann]['data']['typeProCol']=1205; // Avis de dépôt de l'état des créances complémentaires nées après jugement d'ouverture
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A818')
$tabAnnonces[$idann]['data']['typeProCol']=1203; // Avis de dépôt de l'état de collocation / Publication définitive des créances ?
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A820')
$tabAnnonces[$idann]['data']['typeProCol']=1207; // Règlements amiables
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A822')
$tabAnnonces[$idann]['data']['typeProCol']=1310; // Procédure d'insolvabilité Européenne
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A824')
$tabAnnonces[$idann]['data']['typeProCol']=1208; // Avis de dépôt du projet de répartition
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A205')
$tabAnnonces[$idann]['data']['typeProCol']=1209;// Règlement judiciaire
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A209')
$tabAnnonces[$idann]['data']['typeProCol']=1603;//'Liquidation de bien / faillite personnelle';
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A210')
$tabAnnonces[$idann]['data']['typeProCol']=1603;//'Liquidation des biens';
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A220')
$tabAnnonces[$idann]['data']['typeProCol']=1210;//'Production titres créance';
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A225')
$tabAnnonces[$idann]['data']['typeProCol']=1204;//'Avis de dépôt de l\'état des créances';
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A228')
$tabAnnonces[$idann]['data']['typeProCol']=1503;//'Clôture de la procédure pour insuffisance d\'actif';
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A236') {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Provisoirement vérifier l'intégration de la rubrique A236 (rectificatif) du Bodacc :".EOL;
print_r($tabAnnonces[$idann]);
die();
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A237') {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Provisoirement vérifier l'intégration de la rubrique A237 (additif) du Bodacc :".EOL;
print_r($tabAnnonces[$idann]);
die();
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A238') {
echo date ('Y/m/d - H:i:s')." - ATTENTION : Provisoirement vérifier l'intégration de la rubrique A238 (rectificatif supplémentaire) du Bodacc :".EOL;
print_r($tabAnnonces[$idann]);
die();
}
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A821')
$tabAnnonces[$idann]['data']['typeProCol']=1507;//'Extraits d\'arrêt de la cours d\'appel';
/** @todo annulation totale ou partielle et nouveau jugement
Infirmation totale du jugement de XXX du YYY
Infirmation partielle du jugement de XXX du YYY
Confirmation partielle
Confirmation totalle
Appel du ministère public ??? ORT
**/
}
break;
}
if (isset($idann)) {//{ echo "\n$code:$texte\n";die();}
if (!isset($tabAnnonces[$idann]['balises']))
$tabAnnonces[$idann]['balises']='';
else {
/** On recherche si la ligne contient un siren et si ce dernier est dans la liste des SIREN précédemment récupéré (balises 15)**/
if (preg_match_all("/[0-9]{9,9}|[0-9]{3,3} [0-9]{3,3} [0-9]{3,3}|[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3}|[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}/", $texte, $matches))
{
foreach ($matches as $m => $tabValues) {
$siren2=str_replace(' ', '', strtr($tabValues[0],'.-',' '));
if ($iInsee->valideSiren($siren2) && !preg_match('/'.$tabValues[0].'.{1,4}euro/i', $texte) && is_array($tabAnnonces[$idann]['siren'])) {
foreach ($tabAnnonces[$idann]['siren'] as $m2=>$tabSiren2) {
$tabSiren2['num']=str_replace(' ', '', strtr($tabSiren2['num'],'.-',' '));
if ($siren2==$tabSiren2['num']) break;
}
if ($siren2<>$tabSiren2['num']) { //ICISIR//
/** Le SIREN trouvé n'est pas dans la liste des SIREN précédement trouvés via des balisés 15 dans l'annonce **/
$tabAnnonces[$idann]['siren']=array_merge($tabAnnonces[$idann]['siren'], array(array('num'=>$siren2, 'valide'=>1)));
//$tabAnnonces[$idann]['data']['siren']=array_merge($tabAnnonces[$idann]['data']['siren'], array($siren2));
//$tabAnnonces[$idann]['data']['sirenValide']=array_merge($tabAnnonces[$idann]['data']['sirenValide'], array(1));
$rub=$tabAnnonces[$idann]['Rubrique_Bodacc'];
$fp2=fopen('./sirenCites.txt', 'a');
fwrite($fp2, "Siren;$siren2;$idann;$rub;$code;\n");
fwrite($fp2, "Annon;$siren2;$idann;$rub;$code;'".$tabAnnonces[$idann]['annonce']."\n");
fwrite($fp2, "Balis;$siren2;$idann;$rub;$code;".str_replace("\n",'',$tabAnnonces[$idann]['balises'])."\n");
fwrite($fp2, "Texte;$siren2;$idann;$rub;$code;". $texte."\n");
fwrite($fp2, "-----;$siren2;$idann;$rub;$code;--------------------------------------------------------\n");
fclose($fp2);
}
}
}
}
$tabAnnonces[$idann]['balises'].=''.$texte.''.EOL;
}
}
}
/**
** CLOTURE DE L'ANNONCE en cours
**/
/** CodeEVEN par défaut si aucune indication textuelle repérée... On se fie alors au code rubrique donné par le Bodacc **/
if (!isset($tabAnnonces[$idann]['data']['typeProCol'])) {
if ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A215') $tabAnnonces[$idann]['data']['typeProCol']=1410;// Suite règlement/liquidat°
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A804') $tabAnnonces[$idann]['data']['typeProCol']=1305;// LJ
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A808') $tabAnnonces[$idann]['data']['typeProCol']=1411;// Arrêt plan cession
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A819') $tabAnnonces[$idann]['data']['typeProCol']=1407;// Modification de plan
elseif ($tabAnnonces[$idann]['Rubrique_Bodacc']=='A900') { // Arrêt Conseil d\'Etat ou Conseil Supérieur des CAC'
if (preg_match('/interdiction(.*)temporair(.*)exercice(.*)commissaire(.*)compte/i',$tabAnnonces[$idann]['annonce']))
$tabAnnonces[$idann]['data']['typeProCol']=1900;
elseif (preg_match('/radiation(.*)liste(.*)commissaire(.*)compte/i',$tabAnnonces[$idann]['annonce']))
$tabAnnonces[$idann]['data']['typeProCol']=1901;
else {
echo date ('Y/m/d - H:i:s').' - Evènement de la rubrique A900 non géré !'.EOL;
print_r($tabAnnonces[$idann]);
die();
}
}
}
//echo "Balises:$idann : ". $tabAnnonces[$idann]['data']['typeProCol'] ." : $code : $texte\n";//die();
//print_r($tabAnnonces);
//die();
fclose ($handle);
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
//$tabAnnoncesTxt[$idann]=$txtAnnonce;
$tabFichiers[$nomFichier]['Num_Annonce_Fin']=$bodaccNumAnn;
$tabFichiers[$nomFichier]['Bodacc_Date_Parution']=$dateBodacc;
$tabFic=$tabFichiers[$nomFichier];
$tabFic['NomFichier']=$nomFichier;
if (!isset($tabFic['dateDownload'])) {
$tabFic['dateDownload']=date('Y-m-d H:i:s', filemtime(BODACC_LOCAL_DIR . $nomFichier));
}
if (!$forceDateInsertABodacc) $dateInsert=date('Y-m-d H:i:s');
else $dateInsert=$tabFic['dateDownload'];
$tabFic['dateInsert']=$dateInsert;
/********************************************************************/
/** FIN FORMAT .TLS **/
/********************************************************************/
} elseif ($typeFichier=='.taz') {
//echo(date ('Y/m/d - H:i:s')." - ATTENTION : Bodacc $nomFichier est dans un format partiellement chargé en base ! ".EOL);
/********************************************************************/
/** DEBUT FORMAT .taz **/
/********************************************************************/
$debutNom=substr(basename($nomFichier),0,5);
// Conversion du .taz en .xml//pdftohtml -xml BDXML-A_20070251_0001_p000.pdf
$nomFichierXml=strtr($nomFichier,array('.taz'=>'.xml'));
if ($unTaz) {
if ($debutNom<>'ASS20') {
$rExec=exec('cd '.BODACC_LOCAL_DIR.';tar -xvzf '.BODACC_LOCAL_DIR.$nomFichier);
if (!file_exists(BODACC_LOCAL_DIR.$nomFichierXml) ||
filesize(BODACC_LOCAL_DIR.$nomFichierXml)<=filesize(BODACC_LOCAL_DIR.$nomFichier)) {
$nomFichierXml=$rExec;
if (!file_exists(BODACC_LOCAL_DIR.$nomFichierXml) ||
filesize(BODACC_LOCAL_DIR.$nomFichierXml)<=filesize(BODACC_LOCAL_DIR.$nomFichier)) {
echo(date ('Y/m/d - H:i:s')." - Erreur lors de la décompression du fichier $nomFichier.".EOL);
}
}
} elseif ($debutNom=='ASS20') {
//die(BODACC_LOCAL_DIR);
@mkdir(BODACC_LOCAL_DIR.'tmp');
copy(BODACC_LOCAL_DIR.$nomFichier, BODACC_LOCAL_DIR.'tmp/'.$nomFichier);
exec('cd '.BODACC_LOCAL_DIR.'tmp;rm -f *.xml *.htm;tar -xvzf '.BODACC_LOCAL_DIR.'tmp/'.$nomFichier.';cp *.xml ../'.strtr($nomFichier,array('.taz'=>'.xml')).';cd ..');
if (!file_exists(BODACC_LOCAL_DIR.$nomFichierXml) ||
filesize(BODACC_LOCAL_DIR.$nomFichierXml)<=filesize(BODACC_LOCAL_DIR.$nomFichier))
echo(date ('Y/m/d - H:i:s')." - Erreur lors de la décompression du fichier $nomFichier !".EOL);
}
}
if ($debutNom=='ASS20') {
$dom_object = new DomDocument2();
$dom_object->load(BODACC_LOCAL_DIR.$nomFichierXml);
// create DOMXPath object with our DOMObject
$xpath = new Domxpath($dom_object);
$node=$dom_object->getElementsByTagName('PARUTION_JO_ASSOCIATION');
foreach ($node as $child) {
$dateBodaccTxt=$child->getAttribute('dateparution'); // 03/01/2009
$bodaccNumPar=$child->getAttribute('numparution');// 20090001
}
$dateBodacc=WDate::dateT('d/m/Y', 'Ymd', $dateBodaccTxt);
$tabFichiers[$nomFichier]['Bodacc_Date_Parution_Texte']=$dateBodaccTxt;
$bodaccType='ASSO';
$tabFichiers[$nomFichier]['Bodacc_Code']=$bodaccType;
if (!in_array($bodaccType, $tabBodaccF))
continue; // La ligne de commande ne souhaite pas intégrer ce type de Bodacc
$tabFichiers[$nomFichier]['Bodacc_Num']=substr($bodaccNumPar,-4);
$bodaccAnneePar=substr($dateBodacc,0,4);
$tabFichiers[$nomFichier]['Bodacc_Annee_Parution']=$bodaccAnneePar;
//die(print_r($tabFichiers));
} else { // BODACC A B ou C en XML
$dom_object = new DomDocument2();
$dom_object->load(BODACC_LOCAL_DIR.$nomFichierXml);
// create DOMXPath object with our DOMObject
$xpath = new Domxpath($dom_object);
$parution=$dom_object->getValueFromTag('parution');
$dateBodaccTxt=$dom_object->getValueFromTag('dateParution');
if (substr($dateBodaccTxt,0,4)*1>1900 && substr($dateBodaccTxt,4,1)=='-')
$dateBodacc=WDate::dateT('Y-m-d', 'Ymd', $dateBodaccTxt);
elseif (substr($dateBodaccTxt,6,4)*1>1900 && substr($dateBodaccTxt,5,1)=='/')
$dateBodacc=WDate::dateT('d/m/Y', 'Ymd', $dateBodaccTxt);
elseif (substr($dateBodaccTxt,0,4)*1>1900 && substr($dateBodaccTxt,4,1)=='/') {
// Date au format 2009/08/13 (DIVA)
$dateBodacc=str_replace('/','',$dateBodaccTxt);//WDate::dateT('Y/m/d', 'Ymd', $dateBodaccTxt);
//die("$nomFichierXml : $dateBodaccTxt ($dateBodacc)".EOL);
}
elseif (substr($dateBodaccTxt,6,4)*1>1900 && substr($dateBodaccTxt,5,1)=='-')
$dateBodacc=WDate::dateT('d-m-Y', 'Ymd', $dateBodaccTxt);
else
die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de Bodacc '$dateBodaccTxt' non pris en charge !".EOL);
$tabFichiers[$nomFichier]['Bodacc_Date_Parution_Texte']=$dateBodaccTxt;
$nojo1=$dom_object->getValueFromTag('nojo');
//$bodaccType=substr(basename($nomFichier),2,1);
$bodaccType=substr($nojo1,2,1);
if ($bodaccType<>'A' && $bodaccType<>'B' && $bodaccType<>'C')
die(date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Type de Bodacc '$bodaccType' non pris en charge !".EOL);
//DIVA200908130154.taz
if ($debutNom<>'RCS-A' && $debutNom<>'DIVA2' && $debutNom<>'RCS-B' && $debutNom<>'PCL_B' && $debutNom<>'BILAN') {
echo(date ('Y/m/d - H:i:s')." - ATTENTION : Bodacc $nomFichier non chargé en base ! ".EOL);
continue;
}
$bodaccNumPar=$bodaccType.substr($parution,5,3);
$tabFichiers[$nomFichier]['Bodacc_Code']=$bodaccType;
if (!in_array($bodaccType, $tabBodaccF))
continue; // La ligne de commande ne souhaite pas intégrer ce type de Bodacc
$tabFichiers[$nomFichier]['Bodacc_Num']=substr($bodaccNumPar,1,strlen($bodaccNumPar)-1);
$bodaccAnneePar=substr($dateBodacc,0,4);
$tabFichiers[$nomFichier]['Bodacc_Annee_Parution']=$bodaccAnneePar;
}
/** On test si le fichier est déjà en base **/
$ret=$iDb->select('chargements', 'Bodacc_Date_Parution, Bodacc_Code, Bodacc_Annee_Parution, DateDispo, dateDownload, taille, Bodacc_Num, Num_Annonce_Deb, Num_Annonce_Fin, dateInsert', "NomFichier='$nomFichier'");
if (count($ret)>0 && $fichierTLS<>$nomFichier) {
$reload=false;
$ficDB=$ret[0];
$numBodacc=$tabFichiers[$nomFichier]['Bodacc_Num'];
if ($debutNom=='ASS20')
$ret=$iDb->select('asso', 'count(*) as nb', "YEAR(Date_Parution)=$bodaccAnneePar AND Num_Parution=(YEAR(Date_Parution)*10000)+$numBodacc");
else
$ret=$iDb->select('bodacc','count(*) as nb', "Bodacc_Code='$bodaccType' AND Bodacc_Annee_Parution=$bodaccAnneePar AND Bodacc_Num=$numBodacc");
$nbAnnonces=$ret[0]['nb'];
if ($ficDB['Num_Annonce_Fin']<>$nbAnnonces)
echo(date ('Y/m/d - H:i:s')." - ATTENTION : Fichier $nomFichier, numéro de la dernière annonce (".$ficDB['Num_Annonce_Fin'].") incohérent avec le nombre d'annonces en base ($nbAnnonces) !".EOL);
continue;
} elseif (count($ret)>0 && $fichierTLS==$nomFichier) {
$ficDB=$ret[0];
echo date ('Y/m/d - H:i:s')." - BODACC $bodaccAnneePar-$bodaccNumPar du $dateBodacc déjà chargé ($nomFichier / $dateBodaccTxt).\n";
$reload=true;
}
if ($tabFichiers[$nomFichier]['taille']==0) $tabFichiers[$nomFichier]['taille']=filesize(BODACC_LOCAL_DIR . $nomFichier);
$tailleKo=round($tabFichiers[$nomFichier]['taille']/1024);
if ($debutNom<>'ASS20') $strTypeJo="BODACC $debutNom";
else $strTypeJo="J.O. ASSOCs.";
echo date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de traitement ($nomFichier, $dateBodaccTxt, $tailleKo k)...".EOL;
$strMailInfo.=date ('Y/m/d - H:i:s')." - $strTypeJo $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de traitement ($nomFichier, $dateBodaccTxt, $tailleKo k)...".EOL;
/** Numéro d'annonce calculé car les numéro d'annonces du Bodacc C sont complètement déconnants
**/
$bodaccNumAnnCalc=0;
/**
** Traitement des noeuds en fonction du type de Bodacc A ou B
**/
if ($debutNom=='ASS20') {
// echo date ('Y/m/d - H:i:s')." - JO ASSO non chargé pour l'instant !".EOL;
// continue;
$result=$dom_object->getElementsByTagName('ANNONCE_REF');
foreach ($result as $annonce) {
$bodaccNumAnn=$annonce->getAttribute('numannonce');
/** Numéro unique interne à ce programme pour chaque annonce **/
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
$tabAnnonces[$idann]['Num_Annonce']=$bodaccNumAnn;
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
$tabAnnonces[$idann]['Bodacc_Code']=$bodaccType;
$tabAnnonces[$idann]['Bodacc_Annee_Parution']=$bodaccAnneePar;
$tabAnnonces[$idann]['Bodacc_Num']=$bodaccNumPar;
$tabAnnonces[$idann]['data']=array( 'Num_Annonce'=>$bodaccNumAnn,
'Date_Parution'=>$dateBodacc,
'Num_Parution'=>$bodaccNumPar);
// Siret
$tabAnnonces[$idann]['data']['Assoc_Date_Declaration2']=WDate::dateT('d/m/Y', 'Ymd',str_replace(' ','',$annonce->getAttribute('datedeclaration')));
//Date de la déclaration : 1er décembre 2008.
$bodaccDepNum=$annonce->getAttribute('dept');
$tabAnnonces[$idann]['data']['Departement']=$bodaccDepNum;
$cp=$annonce->getAttribute('cp');
$node=$annonce->getElementsByTagName('TYPE');
$tabAnnonces[$idann]['codEven']=array();
foreach ($node as $child)
if (isset($tabTypeAsso['_'.$child->getAttribute('code')*1])) {
$tabAnnonces[$idann]['Type_Annonce']=$tabTypeAsso['_'.$child->getAttribute('code')*1]['lib'];
$tabAnnonces[$idann]['typeAnnonce']=$tabTypeAsso['_'.$child->getAttribute('code')*1]['type'];
$tabAnnonces[$idann]['typeAsso']=$tabTypeAsso['_'.$child->getAttribute('code')*1]['forme'];
$tabAnnonces[$idann]['codEven'][]=$tabTypeAsso['_'.$child->getAttribute('code')*1]['even'];
/** @todo Gérer les codes nn79 qui sont des modification génériques à reclasser **/
} else {
print_r($tabAnnonces[$idann]);
die('Type de mouvement association inconnu : '.$child->getAttribute('code').EOL);
}
$tabTypeAssoTmp[]=$tabAnnonces[$idann]['Type_Annonce'];
$title = $xpath->query ('LIEU_DECLARATION', $annonce);
$texte=utf8_decode(trim(str_replace('Déclaration à la ','',$title->item(0)->nodeValue)));
$tabAnnonces[$idann]['Sous_Prefecture']=$texte;
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
$title = $xpath->query ('TITRE', $annonce);
$tabAnnonces[$idann]['data']['Assoc_Nom']=utf8_decode(trim($title->item(0)->nodeValue));
if (substr($tabAnnonces[$idann]['data']['Assoc_Nom'],-1)=='.')
$tabAnnonces[$idann]['data']['Assoc_Nom']=substr($tabAnnonces[$idann]['data']['Assoc_Nom'],0,strlen($tabAnnonces[$idann]['data']['Assoc_Nom'])-1);
$title = $xpath->query ('ANCIEN_TITRE', $annonce);
$tabAnnonces[$idann]['data']['Assoc_ANom']=utf8_decode(trim($title->item(0)->nodeValue));
if ($tabAnnonces[$idann]['data']['Assoc_ANom']<>'') $tabAnnonces[$idann]['codEven'][]=8010;
$title = $xpath->query ('NOUVEAU_TITRE', $annonce);
$tabAnnonces[$idann]['data']['Assoc_NNom']=utf8_decode(trim($title->item(0)->nodeValue));
if ($tabAnnonces[$idann]['data']['Assoc_NNom']<>'') $tabAnnonces[$idann]['codEven'][]=8010;
$title = $xpath->query ('OBJET', $annonce);
$tabAnnonces[$idann]['data']['Assoc_Objet']=utf8_decode(trim($title->item(0)->nodeValue));
$title = $xpath->query ('NOUVEL_OBJET', $annonce);
$tabAnnonces[$idann]['data']['Assoc_NObjet']=utf8_decode(trim($title->item(0)->nodeValue));
if ($tabAnnonces[$idann]['data']['Assoc_NObjet']<>'') $tabAnnonces[$idann]['codEven'][]=8020;
$title = $xpath->query ('ADDITIF_OBJET', $annonce);
$tabAnnonces[$idann]['data']['Assoc_AObjet']=utf8_decode(trim($title->item(0)->nodeValue));
if ($tabAnnonces[$idann]['data']['Assoc_AObjet']<>'') $tabAnnonces[$idann]['codEven'][]=8021;
$title = $xpath->query ('IDASSOC', $annonce);
$tabAnnonces[$idann]['data']['Waldec']=trim($title->item(0)->nodeValue);
$title = $xpath->query ('SIEGE_SOCIAL', $annonce);
$tabAnnonces[$idann]['data']['Assoc_Adresse']=utf8_decode(trim($title->item(0)->nodeValue));
$tabAdresse=$iInsee->structureVoie($tabAnnonces[$idann]['data']['Assoc_Adresse']);
$tabAnnonces[$idann]['data']['Assoc_AdrNum']=$tabAdresse['num'];
$tabAnnonces[$idann]['data']['Assoc_AdrIndRep']=$tabAdresse['indRep'];
$tabAnnonces[$idann]['data']['Assoc_AdrTypVoie']=$tabAdresse['typeVoie'];
$tabAnnonces[$idann]['data']['Assoc_AdrLibVoie']=$tabAdresse['libVoie'];
$tabAnnonces[$idann]['data']['Assoc_AdrCP']=$tabAdresse['cp'];
$tabAnnonces[$idann]['data']['Assoc_AdrVille']=$tabAdresse['ville'];
$tabAnnonces[$idann]['data']['Assoc_AdrComp']=trim($tabAdresse['adrComp0'].' '.$tabAdresse['adrComp1']);
$node=$annonce->getElementsByTagName('INTERNET');
foreach ($node as $child) {
$tabAnnonces[$idann]['data']['Assoc_Web']=trim($child->getAttribute('http'));
$tabAnnonces[$idann]['data']['Assoc_Mail']=trim($child->getAttribute('smtp'));
}
if (preg_match('/@/',$tabAnnonces[$idann]['data']['Assoc_Web']) && $tabAnnonces[$idann]['data']['Assoc_Mail']=='') {
$tabAnnonces[$idann]['data']['Assoc_Mail']=$tabAnnonces[$idann]['data']['Assoc_Web'];
$tabAnnonces[$idann]['data']['Assoc_Web']='';
}
$title = $xpath->query('FICHIERS_JOINTS/FICHIER_HTML', $annonce);
$fichierHtml=trim($title->item(0)->nodeValue);
if (file_exists(BODACC_LOCAL_DIR.'tmp/'.$fichierHtml))
$tabAnnonces[$idann]['data']['Annonce_Html']=trim(strtr(preg_replace('//Ui','', file_get_contents(BODACC_LOCAL_DIR.'tmp/'.$fichierHtml)),array('
'=>'','