8325 lines
471 KiB
PHP
8325 lines
471 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
||
<?php
|
||
/*
|
||
$raisonSociale="SCORES ET DECISIONS";
|
||
$raisonSocialeI="SCORES & DECISIONS";
|
||
|
||
$tabMots=preg_split('/ +/', $raisonSociale);
|
||
$tabMotsI=preg_split('/ +/', $raisonSocialeI);
|
||
|
||
$lev=levenshtein(str_replace(' ','',$raisonSociale),str_replace(' ','',$raisonSocialeI));
|
||
$len =strlen($raisonSociale);
|
||
$delT=$lev/$len;
|
||
|
||
print_r(array_diff($tabMots,$tabMotsI));
|
||
|
||
die($delT);*/
|
||
|
||
include_once(FWK_PATH.'common/chiffres.php');
|
||
include_once(FWK_PATH.'common/dates.php');
|
||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
||
include_once(FWK_PATH.'mail/sendMail.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
||
|
||
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
||
Récupère en FTP les annonces BODACC A, B et C depuis le serveur des JO.
|
||
|
||
Options :
|
||
-t:NOMFICHIER.TLS Nom du fichier local à ré-intégrer directement
|
||
(prévoir l'UPDATE des annonces BODACC déjà en base lorsque nous serons en PROD)
|
||
-j Ne se connecte pas au FTP des JO
|
||
-A -B -C Chargement des annonces limités au BODACC A, B ou C
|
||
".
|
||
// -n:XXX Numéro du Bodacc
|
||
// -d:JJ/MM/AAAA Rechargement des annonces BODACC depuis cette date
|
||
// -f:JJ/MM/AAAA Rechargement des annonces BODACC jusqu'à cette date
|
||
" -l Derniers BODACC non intégrés uniquement (*)
|
||
-m Force la date d'insertion à celle de la récupération des fichiers Bodacc (cas d'un rechargement complet)
|
||
-r (inopérant) Rechargement des annonces déjà en base
|
||
-e EFFACEMENT DE TOUTES LES ANNONCES correspondantes déjà en base (et non mise à jour)
|
||
-n Continuer au fichier suivant en cas d'erreur
|
||
-s Ignorer la validation du Schéma XML
|
||
-u Ne pas dézipper l'archive XML (en cas de XML incorrect, erreur du Bodacc)
|
||
-w Mettre à jour les SIREN des Associations avec Waldec non sirenées
|
||
-i Ne pas poser de questions interactives.
|
||
|
||
(*) Option par défaut si aucun argument n'est passé.
|
||
";
|
||
// ==> 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;//<b26>{ }Date d'insolvabilité notoire : 1er janvier 2007</b26>
|
||
}
|
||
$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{. }</b14>
|
||
$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)) { //<b14>{ Répertoire des métiers : }345 219 786 RM 14{. }</b14>
|
||
$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))));
|
||
}
|
||
//<b15>{ RC }07-B 157{. }</b15>
|
||
} 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é <b26>{ }m. Francis Meyer{. }</b26>
|
||
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;//<b26>{ } : 1er janvier 2007</b26>
|
||
}
|
||
|
||
// 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{.!}</b26>
|
||
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'].='<b'.$code.'>'.$texte.'</b'.$code.'>'.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')));
|
||
//<i>Date de la déclaration : </i>1<sup>e</sup><sup>r</sup> 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('/<meta name="nomfichier" content="(.*)">/Ui','', file_get_contents(BODACC_LOCAL_DIR.'tmp/'.$fichierHtml)),array('<p align="LEFT"><br>'=>'','</html>'=>'','</p>'=>'')));
|
||
$tabAnnonces[$idann]['data']['Annonce_Txt']=strtr(html_entity_decode(strip_tags($tabAnnonces[$idann]['data']['Annonce_Html'])),array('’'=>"'",'œ'=>'oe','Œ'=>'OE',chr(160)=>' '));
|
||
|
||
/** VERIFICATION des ZONES xml par rapport à l'annonces livréer en HTML
|
||
**/
|
||
// Stucture adresse manquante
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Adresse']=='')
|
||
$tabAnnonces[$idann]['data']['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], '<i>Siège social : </i>', '</i>', '. <i>'));
|
||
|
||
// Nom manquant, on prend le nouveau nom
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Nom']=='')
|
||
$tabAnnonces[$idann]['data']['Assoc_Nom']=$tabAnnonces[$idann]['data']['Assoc_NNom'];
|
||
// Nom toujours manquant, on cherche dans le HTML
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Nom']=='') {
|
||
$tabAnnonces[$idann]['data']['Assoc_Nom']=htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], '<p>Association : <b>', '<b>', '</b>'));
|
||
if (substr($tabAnnonces[$idann]['data']['Assoc_Nom'],-1)=='.')
|
||
$tabAnnonces[$idann]['data']['Assoc_Nom']=substr($tabAnnonces[$idann]['data']['Assoc_Nom'],0,-1);
|
||
print_r($tabAnnonces[$idann]);
|
||
echo 'Nom non communiqué en XML : '.$tabAnnonces[$idann]['data']['Assoc_Nom'].EOL;
|
||
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Nom']=='' && $tabAnnonces[$idann]['data']['Assoc_ANom']=='')
|
||
die('Nom et ancien nom non communiqués en XML : '.$tabAnnonces[$idann]['data']['Assoc_Nom'].EOL);
|
||
}
|
||
|
||
// N° Waldec manquant
|
||
if ($tabAnnonces[$idann]['data']['Waldec']=='') {
|
||
$tabAnnonces[$idann]['data']['Waldec']=@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], '<p>Identification WALDEC : <b>', '<b>', '</b>');
|
||
//print_r($tabAnnonces[$idann]);
|
||
//echo ('Waldec non communiqué en XML : '.$tabAnnonces[$idann]['data']['Waldec']);
|
||
}
|
||
|
||
// Objet manquant
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Objet']=='')
|
||
$tabAnnonces[$idann]['data']['Assoc_Objet']=$tabAnnonces[$idann]['data']['Assoc_NObjet'];
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Objet']=='')
|
||
$tabAnnonces[$idann]['data']['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], '>Objet : </i>', '</i>', '<i>'));
|
||
|
||
// Fusion d'associations
|
||
$tabAnnonces[$idann]['data']['Assoc_Fusion']=htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], '<i>Fusion des associations : </i>', '</i>', '<i>'));
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Fusion']<>'') $tabAnnonces[$idann]['codEven'][]=8030; // Fusion d'associations
|
||
|
||
// Annulation d'annonce
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
$tabAnnonces[$idann]['data']['Assoc_Annulation']='Annulation '.htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], '>Annulation', '</i>', '.'));
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Annulation']=='Annulation ')
|
||
$tabAnnonces[$idann]['data']['Assoc_Annulation']='';
|
||
elseif (preg_match('/(?:insertion|annonce) n<sup>o<\/sup> ([\d]{1,6}), parue au <i>Journal officiel ?<\/i> ?n<sup>o<\/sup> ([\d]{1,3}), du (.*), page ([\d]{1,6})(?:|\-[\d]{1,6})\./Uis', $tabAnnonces[$idann]['data']['Annonce_Html'], $matches)) {
|
||
// ;(Cette insertion recti n<sup>o<\/sup> 2298 , parue au <i>Journal officiel </i> n<sup>o< /sup> 25, du 20 juin 2009, page 3059-3060.)
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$matches[1];
|
||
$tabAnnonces[$idann]['corrNumParution']=$matches[2];
|
||
$tabAnnonces[$idann]['corrDate_Parution']=WDate::dateT('dMY', 'Ymd', strtr($matches[3], array(' '=>'',' '=>'')));
|
||
$tabAnnonces[$idann]['corrPage']=$matches[4];
|
||
}
|
||
//print_r($tabAnnonces[$idann]);
|
||
//die('Annulation d\'annonce : '.$tabAnnonces[$idann]['data']['Assoc_Annulation']);
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Rectificatif') {
|
||
// (Cette insertion rectifie l'annonce no 8, parue au Journal officiel no 4, du 27 janvier 2007, page 347.)
|
||
if (preg_match('/annonce n<sup>o<\/sup> ([\d]{1,6}), parue au <i>Journal officiel<\/i> n<sup>o<\/sup> ([\d]{1,3}), du (.*), page ([\d]{1,6})\./Uis', $tabAnnonces[$idann]['data']['Annonce_Html'], $matches)) {
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$matches[1];
|
||
$tabAnnonces[$idann]['corrNumParution']=$matches[2];
|
||
$tabAnnonces[$idann]['corrDate_Parution']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$matches[3]));
|
||
$tabAnnonces[$idann]['corrPage']=$matches[4];
|
||
}
|
||
//print_r($tabAnnonces[$idann]);
|
||
//die('Rectificatif d\'annonce !');
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='?') {
|
||
//Annulation </i>de l’insertion n<sup>o</sup> 1300, parue au <i>Journal officiel </i>n<sup>o</sup> 46, du 15 novembre 2008, page 5536.
|
||
print_r($tabAnnonces[$idann]);
|
||
die('Type d\'insertion inconnue : '.$tabAnnonces[$idann]['typeAnnonce']);
|
||
}
|
||
|
||
// Fondations
|
||
$tabAnnonces[$idann]['data']['Assoc_Duree']=trim(htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], 'Durée :', 'Durée :', '.<br>')));
|
||
$tabAnnonces[$idann]['data']['Assoc_Dotation']=trim(htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], 'Montant de la dotation initiale :', 'initiale :', '.<br>')));
|
||
$tabAnnonces[$idann]['data']['Assoc_ProgAction']=trim(htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], 'action pluriannuel :', 'pluriannuel :', '.<br>')));
|
||
$tabAnnonces[$idann]['data']['Assoc_Fondateurs']=trim(htm2txt(@getTextInHtml($tabAnnonces[$idann]['data']['Annonce_Html'], ' de chacun des fondateurs :', 'fondateurs :', '.</p>')));
|
||
|
||
if (preg_match('/<i>Date de la déclaration \: <\/i>(.*)\./Uis', $tabAnnonces[$idann]['data']['Annonce_Html'], $matches)) {
|
||
$tabAnnonces[$idann]['data']['Assoc_Date_Declaration']=htm2txt($matches[1]);
|
||
$dateDeclarationLue=WDate::dateT('dMY', 'Ymd', str_replace(' ','', $tabAnnonces[$idann]['data']['Assoc_Date_Declaration']));
|
||
if ($tabAnnonces[$idann]['data']['Assoc_Date_Declaration2']<>$dateDeclarationLue) {
|
||
print_r($tabAnnonces[$idann]);
|
||
die('Dates de déclarations différentes : xml='.$annonce->getAttribute('datedeclaration').' ('.$tabAnnonces[$idann]['data']['Assoc_Date_Declaration2'].') v/s lu='.$dateDeclarationLue);
|
||
}
|
||
}
|
||
// Détection de déménagement
|
||
if (preg_match('/<i>Transféré ; nouvelle adresse : <\/i>/', $tabAnnonces[$idann]['data']['Annonce_Html']))
|
||
$tabAnnonces[$idann]['codEven'][]=8011; // Déménagement
|
||
|
||
if (preg_match('/<i>Modifications statutaires :(.*)<\/i>/Uis', $tabAnnonces[$idann]['data']['Annonce_Html'], $matches)) {
|
||
$tabAnnonces[$idann]['codEven'][]=8025;
|
||
$tabAnnonces[$idann]['data']['Assoc_Commentaire']=htm2txt($matches[1]);
|
||
}
|
||
/*
|
||
$tabAnn['Assoc_Web']=@getTextInHtml($tabAnn['Annonce_Html'], 'ite Internet : </i>', '</i>', '<i>');
|
||
if (substr($tabAnn['Assoc_Web'],-1)=='.')
|
||
$tabAnn['Assoc_Web']=substr($tabAnn['Assoc_Web'],0,-1);
|
||
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Courriel : </i>', '</i>', '<i>');
|
||
if ($tabAnn['Assoc_Mail']=='')
|
||
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Mél. : </i>', '</i>', '<i>');
|
||
if (substr($tabAnn['Assoc_Mail'],-1)=='.')
|
||
$tabAnn['Assoc_Mail']=substr($tabAnn['Assoc_Mail'],0,-1);
|
||
|
||
$tabAnn['Assoc_NObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouvel objet : </i>', '</i>', '<i>'));
|
||
$tabAnn['Assoc_AObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Additif à l’objet : </i>', '</i>', '<i>'));
|
||
|
||
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Ancien titre : </i>', '</i>', '<i>'));
|
||
|
||
if ($tabAnn['Assoc_ANom']=='')
|
||
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Au lieu de : </i>', '</i>', '<i>'));
|
||
if (substr($tabAnn['Assoc_ANom'],-1)=='.')
|
||
$tabAnn['Assoc_ANom']=substr($tabAnn['Assoc_ANom'],0,-1);
|
||
$tabAnn['Assoc_NNom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouveau titre :', '</i>', '<i>'));
|
||
if (substr($tabAnn['Assoc_NNom'],-1)=='.')
|
||
$tabAnn['Assoc_NNom']=substr($tabAnn['Assoc_NNom'],0,-1);
|
||
*/
|
||
|
||
$title = $xpath->query('FICHIERS_JOINTS/FICHIER_GIF', $annonce);
|
||
if(trim($title->item(0)->nodeValue)<>'') die("Gérer les fichiers GIF dans le JO Asso !!!\n");
|
||
|
||
$node=$annonce->getElementsByTagName('PAGES');
|
||
foreach ($node as $child)
|
||
$tabAnnonces[$idann]['data']['pageDeb']=$child->getAttribute('debut');
|
||
|
||
$tabAnnonces[$idann]['themes']=array();
|
||
$node = $xpath->query('THEMES/THEME', $annonce);
|
||
foreach ($node as $child)
|
||
$tabAnnonces[$idann]['themes'][]=$child->getAttribute('code');
|
||
// @todo Prendre le NAF correspondant et remplir le champ "Activite"
|
||
|
||
/** On dédoublonne les codes évènements **/
|
||
$tabAnnonces[$idann]['codEven']=array_unique($tabAnnonces[$idann]['codEven']);
|
||
|
||
/** @todo
|
||
** A : Réflexion
|
||
** - voir les balises IDENTIFIANT et TYPE=code (champ Type_Annonce ?)
|
||
** - Attention au remplissage des variables ANCIEN, NOUVEAU qui sont a priori associé à la variable
|
||
** remplacée mais qui elle est vide !
|
||
** - Utiliser l'attribut "cp"
|
||
** - Prévoir le remplissage de "Assoc_NAdresse"
|
||
**
|
||
** B : Migration SGBD
|
||
** - Supprimer le champ "Assoc_Date_Declaration"
|
||
** - Migrer l'ancienne table vers la nouvelle table "associations" en prévoyant la compatibilité !
|
||
** - Stopper les scripts de synchro entre dedibox et SGBD
|
||
**
|
||
** C : Petit +
|
||
** - Prévoir le SIRENAGE du JO ASSOC via le programme classique
|
||
**/
|
||
}
|
||
//print_r($tabAnnonces);
|
||
$tabTypeAssoTmp=array_unique($tabTypeAssoTmp);
|
||
|
||
//print_r($tabTypeAssoTmp);
|
||
//continue;
|
||
//die();
|
||
|
||
} elseif ($debutNom=='PCL_B') {
|
||
if ($validateSchema) {
|
||
|
||
/** VALIDATION SCHEMA **/
|
||
if (!$dom_object->schemaValidate('/var/www/batch/bodacc/Bodacc_PCL_Redif_V10.xsd')) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de Bodacc '$dateBodaccTxt' Schéma XML non validé !".EOL;
|
||
if (!$reload) {
|
||
echo EOL.'$forceContinue='.$forceContinue.EOL;
|
||
if ($forceContinue)
|
||
continue;
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - Conseil : Corrigez le fichier XML ".BODACC_LOCAL_DIR.str_replace('.taz','.xml', $nomFichier)." et relancer avec l'option _u !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier validé.".EOL;
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier ignoré.".EOL;
|
||
|
||
/** Chargement des Annonces **/
|
||
$result = $xpath->query("//PCL_REDIFF/annonces/annonce/.");
|
||
if (count($result)==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a aucune annonce à traiter dans ce flux XML !".EOL;
|
||
die();
|
||
}
|
||
|
||
/**
|
||
** Traitement de chaque annonce du noeud PCL_REDIFF
|
||
**/
|
||
foreach ($result as $annonce) {
|
||
|
||
/* On réinitialise toutes les variables servant a reconstruire le texte de l'annonce */
|
||
$typeBodacc=$numeroParutionCorr=$dateCorr=$numeroAnnonceCorr='';
|
||
$dateJuge=$nature=$siren=$codeRM=$deptRM=$codeRCS=$nomGreffeImmat=$raisonSociale=$enseigne=$sigle=$fj=$activite=$adr=$cp=$ville=$complementJugement='';
|
||
|
||
$bodaccNumAnnCalc++;
|
||
|
||
$title = $xpath->query ("numeroAnnonce", $annonce);
|
||
$bodaccNumAnn=$title->item(0)->nodeValue;
|
||
if ($bodaccNumAnnCalc==1 && $bodaccNumAnn>300) {
|
||
echo(date ('Y/m/d - H:i:s')." - Chapitre Procédures collectives débutant par l'annonce n°$bodaccNumAnn...".EOL);
|
||
$bodaccNumAnnCalc=$bodaccNumAnn*1;
|
||
/* On initialise le 1er n° d'annonce trouvé dans le bodacc pour contrôle */
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
} else {
|
||
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {
|
||
$endTmp=false;
|
||
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);
|
||
}
|
||
}
|
||
$bodaccNumAnn=$bodaccNumAnnCalc;
|
||
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb'])) {
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
}
|
||
|
||
$tmp=explode(' ', $bodaccNumAnn);
|
||
$bodaccNumAnn=trim($tmp[0]);
|
||
|
||
/** Numéro unique interne à ce programme pour chaque annonce **/
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
|
||
$title = $xpath->query ("nojo", $annonce);
|
||
$nojo=$title->item(0)->nodeValue;
|
||
|
||
/** On initialise le tableau $tabAnnonces[$idann] qui contient toutes les infos de l'annonce **/
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$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']=$nojo;
|
||
$tabAnnonces[$idann]['data']=array();
|
||
|
||
/** On récupère l'annonce XML **/
|
||
$dom = new DOMDocument('1.0', 'iso-8859-1');
|
||
//$dom->formatOutput=true;
|
||
$elem=$dom->createElement('annonce');
|
||
$dom->appendChild($dom->importNode($annonce, true));
|
||
$tabAnnonces[$idann]['balises']=$dom->saveXML();
|
||
|
||
$title = $xpath->query ('typeAnnonce/*', $annonce);
|
||
$typeAnnonce=strtolower($title->item(0)->nodeName);
|
||
if ($typeAnnonce=='creation')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
|
||
elseif ($typeAnnonce=='rectificatif' || $typeAnnonce=='annulation') {
|
||
if ($typeAnnonce=='annulation')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
|
||
else
|
||
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
|
||
|
||
$tabAnnonces[$idann]['corrPage']=NULL;
|
||
$tabAnnonces[$idann]['corrTexteRectificatif']=NULL;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroAnnonce', $annonce);
|
||
$numeroAnnonceCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$numeroAnnonceCorr;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/nomPublication', $annonce);
|
||
$typeBodacc=substr($title->item(0)->nodeValue,-1);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroParution', $annonce);
|
||
$numeroParutionCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNumParution']=$typeBodacc.substr($numeroParutionCorr,-3);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/dateParution', $annonce);
|
||
$dateCorr=str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$dateCorr));
|
||
}
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type d'annonce '$typeAnnonce' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
|
||
$title = $xpath->query ("numeroDepartement", $annonce);
|
||
$bodaccDepNum=$title->item(0)->nodeValue;
|
||
$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;
|
||
}
|
||
|
||
$title = $xpath->query ("tribunal", $annonce);
|
||
$texte = utf8_decode($title->item(0)->nodeValue);
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$tabAnnonces[$idann]['Tribunal_Code'] && ( ( $bodaccDepNum>70 && $bodaccDepNum<77)
|
||
|| $bodaccDepNum==85 ) ) {
|
||
// A priori il s'agit d'une erreur de codification des DOM par la DJO !!!!
|
||
$title = $xpath->query ("adresse/france/codePostal", $annonce);
|
||
for ($i = 0; $i < $title->length; $i++) {
|
||
$bodaccDepNum=substr($title->item($i)->nodeValue,0,3)*1;
|
||
if ( ($bodaccDepNum>970 && $bodaccDepNum<976 ) || $bodaccDepNum==85 ) {
|
||
//echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' (Dépt. $bodaccDepNum) TROUVE pour l'annonce $idann !".EOL;
|
||
//die();
|
||
break;
|
||
}
|
||
}
|
||
//if ($bodaccDepNum==977) $bodaccDepNum=974; // Bug Bodacc
|
||
}
|
||
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNumPre);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' (Dépt. $bodaccDepNum) inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
|
||
if ($depInconnu) die('Erreur vérifier tribunal/département PCL :'.EOL.print_r($tabAnnonces[$idann]));
|
||
//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);
|
||
|
||
|
||
$title = $xpath->query ("jugement/famille", $annonce);
|
||
$famille = trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($famille=='') {
|
||
$title = $xpath->query ("jugementAnnule/famille", $annonce);
|
||
$famille = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
|
||
$title = $xpath->query ("jugement/nature", $annonce);
|
||
$nature = trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($nature=='') {
|
||
$title = $xpath->query ("jugementAnnule/nature", $annonce);
|
||
$nature = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A8'.$famille.'.'.$nature;
|
||
$tabFam[]=$famille;
|
||
//$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();
|
||
}*/
|
||
|
||
/** <jugement/date>**/
|
||
$title = $xpath->query ("jugement/date", $annonce);
|
||
$dateJuge=trim(str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue)));
|
||
$tabAnnonces[$idann]['data']['dateJugement']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$dateJuge));
|
||
if ($dateJuge=='') {
|
||
$title = $xpath->query ("jugementAnnule/date", $annonce);
|
||
$dateJuge=trim(str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue)));
|
||
$tabAnnonces[$idann]['data']['dateJugement']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$dateJuge));
|
||
}
|
||
|
||
if (($tabAnnonces[$idann]['data']['dateJugement']*1<=19700101 ||
|
||
$tabAnnonces[$idann]['data']['dateJugement']*1>=date('Ymd')*1) &&
|
||
$tabAnnonces[$idann]['typeAnnonce']<>'Suppression') {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo $newXML.EOL;
|
||
echo date ('Y/m/d - H:i:s')." - Date de jugement incohérente pour cette annonce de ".$tabAnnonces[$idann]['typeAnnonce']." : '$dateJuge' convertie en '".$tabAnnonces[$idann]['data']['dateJugement']."'".EOL;
|
||
if ($noQuestion) {
|
||
die();
|
||
} else {
|
||
while (1) {
|
||
echo date('Y/m/d - H:i:s') ." - Continuer (O/n) ou saisir la nouvelle date de jugement au format SSAAMMJJ ?".EOL;
|
||
$saisie = strtoupper(trim(fgets(STDIN)));
|
||
if ($saisie=='O' || $saisie=='') break;
|
||
elseif ($saisie=='O' || $saisie=='') die();
|
||
elseif ($saisie*1>=20080101 && $saisie*1<=date('Ymd')*1) {
|
||
$tabAnnonces[$idann]['data']['dateJugement']=$saisie;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/** <jugement/complementJugement>**/
|
||
$title = $xpath->query ("jugement/complementJugement", $annonce);
|
||
$complementJugement=trim(utf8_decode($title->item(0)->nodeValue));
|
||
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($complementJugement));
|
||
if ($complementJugement=='') {
|
||
$title = $xpath->query ("jugementAnnule/complementJugement", $annonce);
|
||
$complementJugement=trim(utf8_decode($title->item(0)->nodeValue));
|
||
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($complementJugement));
|
||
}
|
||
|
||
/** Génération de l'entête de l'annonce en fonction du type d'annonce **/
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Insertion') {
|
||
/* Entête de nouvelle annonce : N° Date et type de jugement */
|
||
if ($dateJuge=='' && $tabAnnonces[$idann]['data']['dateJugement']*1==0)
|
||
$annonceTxt="$bodaccNumAnn - $nature.".EOL;
|
||
else
|
||
$annonceTxt="$bodaccNumAnn - Date : $dateJuge. $nature.".EOL;
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
/* Entête d'annonce d'annulation */
|
||
$annonceTxt ="$bodaccNumAnn - Annulation. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est nul et non avenu.".EOL;
|
||
$annonceTxt.="$nature.".EOL;
|
||
} else {
|
||
/* Entête d'annonce de suppression */
|
||
$annonceTxt ="$bodaccNumAnn - Rectificatif. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est annulé et remplacé par le suivant.".EOL;
|
||
if ($dateJuge=='' && $tabAnnonces[$idann]['data']['dateJugement']*1==0)
|
||
$annonceTxt.=" $nature.".EOL;
|
||
else
|
||
$annonceTxt.="Date : $dateJuge. $nature.".EOL;
|
||
}
|
||
|
||
/** @todo Controler si plusieurs personnes PP ou PM dans l'annonce !!!
|
||
**/
|
||
$title = $xpath->query ("personnePhysique/nom", $annonce);
|
||
$nbPP=$title->length;
|
||
$title = $xpath->query ("personneMorale/denomination", $annonce);
|
||
$nbPM=$title->length;
|
||
$nbTot=$nbPP+$nbPM;
|
||
|
||
/** Reconstruction d'un XML permettant de traiter facilement les annonces de procol avec plusieurs entreprises citées :
|
||
** <listePpPm>
|
||
** <personnePpPm>
|
||
** <personnePhysique>...</personnePhysique>',
|
||
** <activite>...</activite>
|
||
** </personnePpPm>
|
||
** <personnePpPm>
|
||
** <personneMorale>...
|
||
**/
|
||
$strTmp=$tabAnnonces[$idann]['balises'];
|
||
$newXML=preg_replace('/^(.*)<personne/Uis', '<personne', $strTmp);
|
||
$newXML=preg_replace('/<jugement(.*)$/Uis', '<jugement', $newXML);
|
||
|
||
$newXML='<?xml version="1.0" encoding="iso-8859-1"?>'.
|
||
trim(preg_replace('/^<\/personnePpPm>'.EOL.'<personnePpPm>/Uis', '<listePpPm>'.EOL.'<personnePpPm>',
|
||
str_replace('<personnePhysique>', '</personnePpPm>'.EOL.'<personnePpPm>'.EOL.'<personnePhysique>',
|
||
str_replace('<personneMorale>', '</personnePpPm>'.EOL.'<personnePpPm>'.EOL.'<personneMorale>',
|
||
str_replace('<jugement', '</personnePpPm>'.EOL.'</listePpPm>',
|
||
$newXML)))));
|
||
|
||
$dom_object2 = new DOMDocument2();
|
||
$dom_object2->loadXML($newXML);
|
||
$xpath2 = new Domxpath($dom_object2);
|
||
|
||
$result2 = $xpath2->query('personnePpPm/.');
|
||
if (count($result2)<1) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a pas d'entreprises PP ou PM pour cette annonce !".EOL;
|
||
die($newXML);
|
||
}
|
||
|
||
foreach ($result2 as $personne) {
|
||
// Mise à blanc des champs textes pour la génération de l'annonce
|
||
$siren=$codeRM=$deptRM=$codeRCS=$nomGreffeImmat=$raisonSociale=$fj=$nomCommercial=$nationalite=$sigle='';
|
||
$enseigne=$activite=$adr=$cp=$ville='';
|
||
|
||
$title = $xpath2->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath2->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("inscriptionRM/codeRM", $annonce);
|
||
$codeRM = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
$title = $xpath->query("inscriptionRM/numeroDepartement", $annonce);
|
||
$deptRM = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath2->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath2->query("numeroImmatriculation/numeroIdentificationRCS", $personne);
|
||
//$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
$siren = str_replace(' ','',preg_replace('/[^0-9]/',' ', $title->item(0)->nodeValue))*1;
|
||
if ($siren==0) {
|
||
$title = $xpath->query("inscriptionRM/numeroIdentificationRM", $annonce);
|
||
$siren = str_replace(' ','',preg_replace('/[^0-9]/',' ', $title->item(0)->nodeValue))*1;
|
||
}
|
||
if ($siren<>0) {
|
||
if ($siren<000100000) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
}elseif($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath2->query ("personneMorale/denomination", $personne);
|
||
$raisonSociale = trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($raisonSociale=='') {
|
||
// NOM
|
||
$title = $xpath2->query ("personnePhysique/nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
// Prénoms
|
||
$title = $xpath2->query ("personnePhysique/prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
// Nom d'usage
|
||
$title = $xpath2->query ("personnePhysique/nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
// Pseudonyme
|
||
$title = $xpath2->query ('personnePhysique/pseudonyme', $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Pseudonyme : ".utf8_decode($title->item(0)->nodeValue);
|
||
}
|
||
|
||
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) || !is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array();
|
||
if ($typeActe=='vente')
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('/ACHE/'.$raisonSociale));
|
||
else
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array($raisonSociale));
|
||
|
||
/** <formeJuridique> **/
|
||
$title = $xpath2->query ("personneMorale/formeJuridique", $personne);
|
||
$fj=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['FJ']) || !is_array($tabAnnonces[$idann]['data']['FJ']) )
|
||
$tabAnnonces[$idann]['data']['FJ']=array();
|
||
$tabAnnonces[$idann]['data']['FJ']=array_merge($tabAnnonces[$idann]['data']['FJ'], array($fj));
|
||
|
||
/** <sigle> **/
|
||
$title = $xpath2->query ("personneMorale/sigle", $personne);
|
||
$sigle=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['sigle']) || !is_array($tabAnnonces[$idann]['data']['sigle']) )
|
||
$tabAnnonces[$idann]['data']['sigle']=array();
|
||
$tabAnnonces[$idann]['data']['sigle']=array_merge($tabAnnonces[$idann]['data']['sigle'], array($sigle));
|
||
|
||
/** <adresse/france/numeroVoie typeVoie nomVoie complGeographique>**/
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVoie']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeVoie']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array();
|
||
|
||
$title = $xpath2->query ("adresse/france/numeroVoie", $personne);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath2->query ("adresse/france/typeVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath2->query ("adresse/france/nomVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath2->query ("adresse/france/complGeographique", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath2->query ("adresse/france/BP", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath2->query ("adresse/france/localite", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
/** <adresse/etranger>**/
|
||
$title = $xpath2->query ("adresse/etranger/adresse", $personne);
|
||
$etranger = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath2->query ("adresse/etranger/pays", $personne);
|
||
$pays = utf8_decode($title->item(0)->nodeValue);
|
||
if ($etranger<>'' || $pays<>'')
|
||
$adr.='|'.$etranger.'|'.$pays;
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVoie'], (array)$adr);
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath2->query ("adresse/france/codePostal", $personne);
|
||
$cp = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeCP']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeCP']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeCP'], (array)$cp);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath2->query ("adresse/france/ville", $personne);
|
||
$ville = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVille']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeVille']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVille'], (array)$ville);
|
||
|
||
/** <enseigne> **/
|
||
$title = $xpath->query ('enseigne', $annonce);
|
||
$enseigne=utf8_decode($title->item(0)->nodeValue);
|
||
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($enseigne));
|
||
|
||
/** <activite> **/
|
||
$title = $xpath->query ("activite", $annonce);
|
||
$activite = utf8_decode($title->item(0)->nodeValue);
|
||
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($activite));
|
||
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}/", $activite,$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)));
|
||
}
|
||
}
|
||
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
if ($codeRM<>'')
|
||
$annonceTxt.="$codeRM $deptRM ";
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// Génération du texte d'annonce Raison sociale, Nom/Prénom/ Forme / Activité / Adresse
|
||
$annonceTxt.=' '.$raisonSociale.'.';
|
||
if ($fj<>'')
|
||
if (substr($fj,-1)=='.') $annonceTxt.=" Forme : $fj";
|
||
else $annonceTxt.=" Forme : $fj.";
|
||
|
||
if ($nomCommercial<>'')
|
||
if (substr($nomCommercial,-1)=='.') $annonceTxt.=" Nom commercial : $nomCommercial";
|
||
else $annonceTxt.=" Nom commercial : $nomCommercial.";
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($nationalite, 'Nationalité');
|
||
|
||
if ($sigle<>'')
|
||
if (substr($sigle,-1)=='.') $annonceTxt.=" Sigle : $sigle";
|
||
else $annonceTxt.=" Sigle : $sigle.";
|
||
|
||
/* Enseigne */
|
||
if ($enseigne<>'')
|
||
if (substr($enseigne,-1)=='.') $annonceTxt.=" Enseigne : $enseigne";
|
||
else $annonceTxt.=" Enseigne : $enseigne.";
|
||
|
||
/* Activité */
|
||
if ($activite<>'')
|
||
$annonceTxt.=" Activité : $activite.";
|
||
|
||
if (trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'')
|
||
$annonceTxt.=' Adresse : '. str_replace('|',' ',$adr) ." $cp $ville.";
|
||
|
||
$annonceTxt.=' ';
|
||
}
|
||
|
||
/* Complément de jugement */
|
||
if ($complementJugement<>'')
|
||
if (substr($complementJugement,-1)=='.')
|
||
$annonceTxt.=EOL."Complément de jugement : $complementJugement";
|
||
else
|
||
$annonceTxt.=EOL."Complément de jugement : $complementJugement.";
|
||
|
||
if (preg_match("/Repr(.)sentant(.*)cr(.)ancier/i", $complementJugement) &&
|
||
!isset($tabAnnonces[$idann]['data']['ReprCreanciers'])) {
|
||
$tabAnnonces[$idann]['data']['ReprCreanciers']='';//trim($tabAnnonces[$idann]['data']['ReprCreanciers']);
|
||
//$tabMandSD['NOM_-PRE-75']
|
||
//die('REPRESANTANT DES CREANCIERS : '.$complementJugement);
|
||
}
|
||
|
||
if (preg_match("/Juge commissaire/i", $complementJugement)) { // 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));
|
||
//die('Juge commissaire : '.$complementJugement);
|
||
}
|
||
|
||
if (preg_match("/Administrateur.{1,20}judiciaire(.*)(?:\.|;)/Ui", $complementJugement, $matches) &&
|
||
!isset($tabAnnonces[$idann]['data']['administrateur'])) {
|
||
|
||
if (preg_match("/(.*)([0-9]{5,5})(.*)(?:\.|;)/U", $matches[1], $matches)) {
|
||
print_r($matches);
|
||
}
|
||
$tabAnnonces[$idann]['data']['administrateur']='';
|
||
$tabAnnonces[$idann]['data']['administrateur']=trim($tabAnnonces[$idann]['data']['administrateur']);
|
||
//die('Administrateur : '.$complementJugement);
|
||
//ICITODO//
|
||
}
|
||
|
||
if (preg_match("/Mandataire judiciaire/i", $complementJugement) &&
|
||
!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']);
|
||
//die("Mandataire judiciaire : ".$complementJugement);
|
||
}
|
||
|
||
if (preg_match("/d(.)claration(.*)cr(.)ance(.*)d(.)lai/i", $complementJugement)) {
|
||
$tabAnnonces[$idann]['data']['delaiDepotCreances']=trim(strtr($tabTmp[1], "{}:!", ' '));
|
||
//die('Délai dépôt créances : '.$complementJugement);
|
||
}
|
||
|
||
$tabAnnonces[$idann]['annonce']=trim(str_replace(' .','.', preg_replace('/ +/', ' ', $annonceTxt)));
|
||
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Rectification' ) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ATTENTION : Vérifier les annonces de Rectification !".EOL;
|
||
die();
|
||
}
|
||
|
||
$typeProCol=$iBodacc->getCodeNatureEvenement($nature);
|
||
if ($typeProCol==0)
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1999;
|
||
else
|
||
$tabAnnonces[$idann]['data']['typeProCol']=$typeProCol;
|
||
|
||
/** On affine la catégorie des LJ **/
|
||
if ($tabAnnonces[$idann]['data']['typeProCol']==1301 ||
|
||
$tabAnnonces[$idann]['data']['typeProCol']==1305 ||
|
||
$tabAnnonces[$idann]['data']['typeProCol']>=1998 ) {
|
||
|
||
$texte=$complementJugement;
|
||
|
||
if (preg_match("/r(.)ouverture(.*)liquidation/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1304; // Réouverture LJ
|
||
elseif (preg_match("/liquidation.{1,9}judiciaire(.*)r(.)solution(.*)plan/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1303; // Ouv LJS sur résolution de plan
|
||
elseif (preg_match("/conver.i.{1,9}liquidation.{1,9}judiciaire.{1,9}liquidation.{1,9}judiciaire.{1,9}simplifi/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1309; // LJ en LJS
|
||
elseif (preg_match("/li(q|)uidation.{1,9}judiciaire.{1,9}simplifi/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1302; // Ouv 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
|
||
elseif (preg_match("/liquidation.{1,9}judiciaire.{1,19}(conversion|résolution|resolution|redressement|observation|cession)/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1300; // Conversion RJ en LJ
|
||
elseif (preg_match("/ouverture.{1,9}liquidation.{1,9}judiciaire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1301; // Ouverture LJ
|
||
elseif (preg_match("/liquidation.{1,9}judiciaire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1305; // LJ
|
||
elseif (preg_match("/redressement.{1,9}judiciaire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1200; // RJ
|
||
|
||
if ($tabAnnonces[$idann]['data']['typeProCol']==1998) {
|
||
echo "$siren : $raisonsociale".EOL;
|
||
echo "Complément de jugement inconnu : $complementJugement".EOL;
|
||
if ($noQuestion) {
|
||
die();
|
||
} else {
|
||
while (1) {
|
||
echo date('Y/m/d - H:i:s') ." - Saisir la codification (par défaut 1999 ou 'l XXX' pour liste des codes XXX) ?";
|
||
$saisie = trim(fgets(STDIN));
|
||
if (strtolower(substr($saisie,0,1))=='l') afficheListeEven(substr($saisie,2,strlen($saisie)-2));
|
||
elseif (($saisie>=1000 && $saisie<2000) || $saisie==0) break;
|
||
}
|
||
if ($saisie>0) $tabAnnonces[$idann]['data']['typeProCol']=$saisie;
|
||
else $tabAnnonces[$idann]['data']['typeProCol']=1999;
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($tabAnnonces[$idann]['data']['typeProCol']>=1998) {
|
||
$texte=$complementJugement;
|
||
|
||
if (preg_match("/imp.cuniosit.{1,9}procedure.{1,9}liquidation/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1530; // Jugement constatant l'impecuniosite de la procedure de liquidation
|
||
elseif (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
|
||
|
||
elseif (preg_match("/ouverture.{1,29}sauvegarde/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1100; // Ouverture sauvegarde
|
||
elseif (preg_match("/conver.{1,9}i.{1,9}sauvegarde.{1,9}redressement/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1201; // Conversion sauvegarde en RJ
|
||
|
||
|
||
elseif (preg_match("/arr(.)tant(.*)plan(.*)sauvegarde/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1101; // Jug. arrêtant plan sauvegarde
|
||
elseif (preg_match("/cession.{1,9}partiel/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1412; // Arrêt plan cession partiel
|
||
|
||
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é <b26>{ }m. Francis Meyer{. }</b26>
|
||
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.{1,9}judiciaire.{1,9}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.{1,9}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.{1,9}commissaire.{1,9}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|d.charg).{1,19}commissaire.{1,19}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("/prorogeant.{1,9}plan.{1,9}redressement/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1421; // Jugement prorogeant le plan de redressement'
|
||
|
||
elseif (preg_match("/(d.sign|remplac|nomme|nommant).{1,19}administrateur/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1400; // Nommination d'un administrateur judiciaire
|
||
elseif (preg_match("/(d.sign|remplac|nomme|nommant).{1,19}mandataire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1401; // Nommination d'un mandataire judiciaire
|
||
elseif (preg_match("/(d.sign|remplac|nomme|nommant).{1,19}repr.sent.{1,19}cr.ancier/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1402; // Nommination d'un représentant des créanciers
|
||
elseif (preg_match("/(d.sign|remplac|nomme|nommant).{1,19}juge.{1,19}commissaire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1405; // Nommination d'un juge commissaire
|
||
elseif (preg_match("/(d.sign|remplac|nomme|nommant)(.*)commissaire.{1,9}ex(e|é)cution.{1,9}plan/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1403; // Nommination d'un commissaire exec plan
|
||
elseif (preg_match("/(d.sign|remplac|nomme|nommant)(.*)liquidateur.{1,9}judiciaire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1420; // Nommination d'un liquidateur judiciaire
|
||
|
||
elseif (preg_match("/mettant.{1,9}fin.{1,9}mission(.*)administrateur.{1,9}judiciaire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1470; // Fin de mission d''administrateur judiciaire
|
||
|
||
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.{1,25}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("/(d.cidant|d.cide|d.cidé|autoris|prorog).{1,13}poursui.{1,13}activité/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1430; // Jugement autorisant la poursuite d'activité
|
||
elseif (preg_match("/compl.ment.{1,9}jugement/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1410; // Suite de jugement
|
||
elseif (preg_match("/suspen.{1,9}provisoire.{1,9}poursuite/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1436; // Suspension provisoire des poursuites
|
||
elseif (preg_match("/modifi.{1,9}plan.{1,9}cession/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1408; // Modif plan de cession
|
||
elseif (preg_match("/1346\/2000/", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1346; // Procédure d'insolvabilité (Règlement 1346/2000 du Conseil Européen
|
||
elseif (preg_match("/Ordonnance.{1,9}du/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1520; // Ordonnance
|
||
|
||
elseif (preg_match("/Jugement.{1,9}constatant.{1,9}exécution.{1,9}plan.{1,9}continuation/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1512; // Jugement constatant l'exécution du plan de continuation
|
||
|
||
elseif (preg_match("/(renouvel|prolongeant).{1,25}p.riode(.){1,9}observation/Ui", $texte) ||
|
||
preg_match("/prononçant(.*)poursuite(.){1,9}activité/Ui", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1202; // Renouvellement de la période d'observation
|
||
|
||
elseif (preg_match("/arr.tant.{1,9}plan.{1,9}apurement.{1,9}passif/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1455; /** Jugement arrêtant le plan d'apurement du passif @todo d'une durée de XXX ans **/
|
||
elseif (preg_match("/continuation.{1,9}activit.{2,19}apurement.{1,9}passif/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1580; /** @todo Suite de jugement à améliorer **/
|
||
|
||
elseif (preg_match("/prolongation.{1,9}p(é|e|è)riode.{1,9}observation/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1202; /** Période d'observation **/
|
||
|
||
elseif (preg_match("/( r(é|e)tractant | infirmant |relèvé des déchéances et interdictions prononcées)/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1506;// Infirmation Jugement A AMELIORER
|
||
|
||
elseif (preg_match("/comblement.{1,9}passif./i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1620;// Comblement du passif
|
||
|
||
elseif (preg_match("/rectifi.{1,9}erreur.{1,5}mat.rielle/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1517;
|
||
|
||
if ($tabAnnonces[$idann]['data']['typeProCol']==1998) {
|
||
echo "$siren : $raisonsociale".EOL;
|
||
echo "Complément de jugement inconnu : $complementJugement".EOL;
|
||
if ($noQuestion) {
|
||
die();
|
||
} else {
|
||
while (1) {
|
||
echo date('Y/m/d - H:i:s') ." - Saisir la codification (par défaut 1999 ou 'l XXX' pour liste des codes XXX) ?";
|
||
$saisie = trim(fgets(STDIN));
|
||
if (strtolower(substr($saisie,0,1))=='l') afficheListeEven(substr($saisie,2,strlen($saisie)-2));
|
||
elseif (($saisie>=1000 && $saisie<2000) || $saisie==0) break;
|
||
}
|
||
if ($saisie>0) $tabAnnonces[$idann]['data']['typeProCol']=$saisie;
|
||
else $tabAnnonces[$idann]['data']['typeProCol']=1999;
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($tabAnnonces[$idann]['data']['typeProCol']==1999) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Nature de jugement '$nature' inconnu pour l'annonce $idann !".EOL;
|
||
$fpJ=fopen('/var/www/log/newJuges.log','a');
|
||
fwrite($fpJ, 'md5("'.$nature.'")=>1999, /*'.$complementJugement.'*/'.EOL);
|
||
fclose($fpJ);
|
||
$tabFamilleNature[]=$famille.' / '.$nature;
|
||
//print_r($tabAnnonces[$idann]);
|
||
//die($complementJugement);
|
||
}
|
||
|
||
if ($tabAnnonces[$idann]['data']['dateJugement']*1>0) $dateJuge=$tabAnnonces[$idann]['data']['dateJugement'];
|
||
else $dateJuge=$tabAnnonces[$idann]['Bodacc_Date_Parution'];
|
||
|
||
if ($tabAnnonces[$idann]['data']['typeProCol']==1600 || $tabAnnonces[$idann]['data']['typeProCol']==1610 ||
|
||
$tabAnnonces[$idann]['data']['typeProCol']==1601 || $tabAnnonces[$idann]['data']['typeProCol']==1611) {
|
||
/** Recherche de la durée d'interdication **/
|
||
if (preg_match("/(.*)pour une (?:dur.e?|p.riode) d(.*)( an| mois)/Ui", $complementJugement, $matches)) {
|
||
$perimetre=preg_replace("/^et /i",'',trim(strtr($matches[1], "{}!", ' ')));
|
||
$dureeL=preg_replace("/^(e|') /",'',trim(str_replace(':','',$matches[2])));
|
||
$periode=trim(/*str_replace(':','',*/$matches[3]);//);
|
||
$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";
|
||
}
|
||
/** Recherche des dirigeants interdits **/
|
||
print_r($tabAnnonces[$idann]);
|
||
echo $complementJugement.EOL;
|
||
echo "Périmètre = ".$tabAnnonces[$idann]['data']['perimetre'].EOL;
|
||
echo "Périodes d'observation : $dureeL $periode".EOL;
|
||
echo "Date de jugement = ".$tabAnnonces[$idann]['data']['dateJugement'].EOL;
|
||
echo "Fin d'observation = ".$tabAnnonces[$idann]['data']['dateFinObservation'].EOL;
|
||
|
||
echo "?";
|
||
//$saisie = trim(strtoupper(fgets(STDIN)));
|
||
/* RECHERCHER NOM / PRENOM + Fonction
|
||
Jugement prononcant la faillite personnelle a l'encontre de Monsieur BOZBIYIK Ahmet pour une duree de 10 ans pris en sa qualite de gerant.
|
||
// Recherc
|
||
*/
|
||
echo ('Récupérer les nom des interdits'.EOL);
|
||
|
||
$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}))/U", $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;
|
||
echo $strTmp;
|
||
//Jugement renouvelant pour six mois à compter du 30 juillet 2009 la période d'observation
|
||
} elseif (preg_match("/renouvel(.*)p.riode(.){1,9}observation(.*) (de |d')(.*)( an| mois)/Ui", $complementJugement, $matches) ||
|
||
preg_match("/prononçant(.*)poursuite(.){1,9}activité(.*) (de |d')(.*)( an| mois)/Ui", $complementJugement, $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]);
|
||
$dureeC=Wdate::period2Days($dateJuge, $dureeL.' '.$periode);
|
||
$tabAnnonces[$idann]['data']['perimetre']=$perimetre;
|
||
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
|
||
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
|
||
print_r($tabAnnonces[$idann]);
|
||
echo ("Gérer les renouvellements de période d'observation !".EOL);
|
||
} elseif (preg_match("/(admission|adopt)(.){1,17}plan(.){1,9}redressement(.){1,19}dur.e? (d|à|a)(.*)( an| mois)/Ui",
|
||
$complementJugement, $matches))
|
||
{
|
||
$tabAnnonces[$idann]['data']['typeProCol']=1414; // Arrêt du plan de redressement
|
||
$dureeL=preg_replace("/^(e|') /",'',trim($matches[6]));
|
||
$periode=trim($matches[7]);
|
||
$dureeC=Wdate::period2Days($dateJuge, $dureeL.' '.$periode);
|
||
$tabAnnonces[$idann]['data']['perimetre']=$perimetre;
|
||
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
|
||
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
|
||
print_r($tabAnnonces[$idann]);
|
||
print_r($tabAnnonces[$idann]);
|
||
echo "PLAN DE REDRESSEMENT :".EOL;
|
||
echo $complementJugement.EOL;
|
||
echo "Périmètre = ".$tabAnnonces[$idann]['data']['perimetre'].EOL;
|
||
echo "Périodes d'observation : $dureeL $periode".EOL;
|
||
echo "Date de jugement = ".$tabAnnonces[$idann]['data']['dateJugement'].EOL;
|
||
echo "Fin d'observation = ".$tabAnnonces[$idann]['data']['dateFinObservation'].EOL;
|
||
echo "?";
|
||
//$saisie = trim(strtoupper(fgets(STDIN)));
|
||
} elseif (preg_match("/p.riode.{1,7}observation/i", $complementJugement)) {
|
||
if (preg_match('/p.riode.{1,7}observation.{0,17}(?: de | a | à )(.*)( mois| an| jour)/Ui', $complementJugement, $matches)) {
|
||
// Période de la forme 4 mois ou deux ans
|
||
$periode=$matches[1].' '.trim($matches[2]);
|
||
$tabAnnonces[$idann]['data']['dateFinObservation']=Wdate::period2Days($dateJuge, $periode);
|
||
$tabAnnonces[$idann]['data']['FinObservationBodacc']=$periode;
|
||
} elseif (preg_match('/p.riode.{1,7}observation.{1,10}(?:jusqu|expir).{1,10}((?:1er|\d{1,2}) (?:.*) 20\d{2,2})/Ui', $complementJugement, $matches)) {
|
||
$periode=$matches[1];
|
||
$tabAnnonces[$idann]['data']['dateFinObservation']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$periode));
|
||
$tabAnnonces[$idann]['data']['FinObservationBodacc']=$periode;
|
||
}
|
||
echo $complementJugement.EOL;
|
||
echo "Périodes d'observation : $periode".EOL;
|
||
echo "Date de jugement = ".$tabAnnonces[$idann]['data']['dateJugement'].EOL;
|
||
echo "Fin d'observation = ".$tabAnnonces[$idann]['data']['dateFinObservation'].EOL;
|
||
|
||
echo "?";
|
||
//$saisie = trim(strtoupper(fgets(STDIN)));
|
||
|
||
} elseif (preg_match("/fixant(.*)cl.ture(.*)proc.dure(.*)( an| ans| mois)/Ui", $complementJugement, $matches)) {
|
||
$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);
|
||
$tabAnnonces[$idann]['data']['dateFinObservation']=$dureeC;
|
||
$tabAnnonces[$idann]['data']['FinObservationBodacc']="$dureeL $periode";
|
||
print_r($tabAnnonces[$idann]);
|
||
echo ("Gérer les fins de LJ !".EOL);
|
||
} elseif (preg_match("/fixant au(.*)délai(.*)clôture(.*)procédure/Ui", $complementJugement, $matches)) {
|
||
$dateClotureTxt=str_replace(' ', '', preg_replace('/le$/','',trim($matches[1])));
|
||
$dateCloture=WDate::dateT('dMY', 'Ymd', $dateClotureTxt);
|
||
$tabAnnonces[$idann]['data']['dateFinObservation']=$dateCloture;
|
||
$tabAnnonces[$idann]['data']['FinObservationBodacc']=$dateClotureTxt;
|
||
print_r($tabAnnonces[$idann]);
|
||
die("Gérer les fins de procédure !".EOL);
|
||
}
|
||
|
||
$bodaccDepNumPre=$bodaccDepNum;
|
||
}
|
||
///// FIN de la boucle de lecture des annonces procoles
|
||
|
||
} elseif ($debutNom=='RCS-A') {
|
||
/** VALIDATION SCHEMA **/
|
||
if ($validateSchema) {
|
||
if (!$dom_object->schemaValidate('/var/www/batch/bodacc/Bodacc_RCI_Redif_V09.xsd')) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de Bodacc '$dateBodaccTxt' Schéma XML non validé !".EOL;
|
||
if (!$reload) {
|
||
if ($forceContinue)
|
||
continue;
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - Conseil : Corrigez le fichier XML ".BODACC_LOCAL_DIR.str_replace('.taz','.xml', $nomFichier)." et relancer avec l'option _u !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier validé.".EOL;
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier ignoré.".EOL;
|
||
|
||
/** Chargement des Annonces **/
|
||
$result = $xpath->query("//RCS-A_IMMAT/listeAvis/avis/.");
|
||
if (count($result)==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a aucune annonce à traiter dans ce flux XML !".EOL;
|
||
die();
|
||
}
|
||
|
||
/**
|
||
** Traitement de chaque annonce du noeud RCS-A_IMMAT
|
||
**/
|
||
foreach ($result as $annonce) {
|
||
|
||
/* On réinitialise toutes les variables servant a reconstruire le texte de l'annonce */
|
||
$typeBodacc=$numeroParutionCorr=$dateCorr=$numeroAnnonceCorr='';
|
||
$categorieVente=$dateImmatriculation=$dateEffet=$dateCommencementActivite=$opposition=$journal_titre=$journal_date=$declarationCreance=$descriptif='';
|
||
|
||
$bodaccNumAnnCalc++;
|
||
|
||
$title = $xpath->query ("numeroAnnonce", $annonce);
|
||
$bodaccNumAnn=$title->item(0)->nodeValue;
|
||
if ($bodaccNumAnnCalc==1 && $bodaccNumAnn>300) {
|
||
echo(date ('Y/m/d - H:i:s')." - Chapitre Immatriculations/Ventes débutant par l'annonce n°$bodaccNumAnn...".EOL);
|
||
$bodaccNumAnnCalc=$bodaccNumAnn*1;
|
||
/* On initialise le 1er n° d'annonce trouvé dans le bodacc pour contrôle */
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
} else {
|
||
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {
|
||
$endTmp=false;
|
||
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);
|
||
}
|
||
}
|
||
$bodaccNumAnn=$bodaccNumAnnCalc;
|
||
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb'])) {
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
}
|
||
|
||
$tmp=explode(' ', $bodaccNumAnn);
|
||
$bodaccNumAnn=trim($tmp[0]);
|
||
|
||
/** Numéro unique interne à ce programme pour chaque annonce **/
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
|
||
$title = $xpath->query ("nojo", $annonce);
|
||
$nojo=$title->item(0)->nodeValue;
|
||
|
||
/** On initialise le tableau $tabAnnonces[$idann] qui contient toutes les infos de l'annonce **/
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$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']=$nojo;
|
||
$tabAnnonces[$idann]['data']=array();
|
||
|
||
/** On récupère l'annonce XML **/
|
||
$dom = new DOMDocument('1.0', 'iso-8859-1');
|
||
$elem=$dom->createElement('avis');
|
||
$dom->appendChild($dom->importNode($annonce, true));
|
||
$tabAnnonces[$idann]['balises']=$dom->saveXML();
|
||
|
||
$title = $xpath->query ('typeAnnonce/*', $annonce);
|
||
$typeAnnonce=strtolower($title->item(0)->nodeName);
|
||
if ($typeAnnonce=='creation' || $typeAnnonce=='annonce')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
|
||
elseif ($typeAnnonce=='rectificatif' || $typeAnnonce=='annulation') {
|
||
if ($typeAnnonce=='annulation')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
|
||
else
|
||
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
|
||
} else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type d'annonce '$typeAnnonce' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
|
||
/** Eléments des annonces de correction **/
|
||
$tabAnnonces[$idann]['corrPage']=NULL;
|
||
$tabAnnonces[$idann]['corrTexteRectificatif']=NULL;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroAnnonce', $annonce);
|
||
$numeroAnnonceCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$numeroAnnonceCorr;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/nomPublication', $annonce);
|
||
$typeBodacc=substr($title->item(0)->nodeValue,-1);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroParution', $annonce);
|
||
$numeroParutionCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNumParution']=$typeBodacc.substr($numeroParutionCorr,-3);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/dateParution', $annonce);
|
||
$dateCorr=str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$dateCorr));
|
||
/*--*/
|
||
|
||
$title = $xpath->query ("numeroDepartement", $annonce);
|
||
$bodaccDepNum=$title->item(0)->nodeValue;
|
||
$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;
|
||
}
|
||
|
||
$title = $xpath->query ("tribunal", $annonce);
|
||
$texte = utf8_decode($title->item(0)->nodeValue);
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$tabAnnonces[$idann]['Tribunal_Code'] && $bodaccDepNum>70 && $bodaccDepNum<77 ) {
|
||
// A priori il s'agit d'une erreur de codification des DOM par la DJO !!!!
|
||
$title = $xpath->query ("adresse/france/codePostal", $annonce);
|
||
$bodaccDepNum=substr($title->item(0)->nodeValue,0,3)*1;
|
||
//if ($bodaccDepNum==977) $bodaccDepNum=974; // Bug Bodacc
|
||
}
|
||
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNumPre);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
|
||
if ($depInconnu) die('Erreur vérifier tribunal/département PCL :'.EOL.print_r($tabAnnonces[$idann]));
|
||
|
||
|
||
$title = $xpath->query ('acte/*', $annonce);
|
||
$typeActe=strtolower($title->item(0)->nodeName);
|
||
/** @todo Affecter le bon code Rubrique Bodacc ? **/
|
||
if ($typeActe=='vente')
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A125';
|
||
elseif ($typeActe=='creation')
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A126';
|
||
elseif ($typeActe=='immatriculation')
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A108';
|
||
else {
|
||
print_r($tabAnnonces[$idann]);
|
||
die(date ('Y/m/d - H:i:s')." - ERREUR : Type d'acte '$typeActe' inconnu pour l'annonce $idann !".EOL);
|
||
}
|
||
|
||
/** Début de génération de l'annonce Texte en fonction du type d'annonce **/
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Insertion') {
|
||
/* Entête de nouvelle annonce : N° Date et type de jugement */
|
||
$annonceTxt="$bodaccNumAnn - ";
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
/* Entête d'annonce d'annulation/suppresion */
|
||
$annonceTxt ="$bodaccNumAnn - Annulation. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est nul et non avenu.".EOL;
|
||
} else {
|
||
/* Entête d'annonce de rectification */
|
||
$annonceTxt ="$bodaccNumAnn - Rectificatif. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est annulé et remplacé par le suivant.".EOL;
|
||
}
|
||
|
||
/** En fonction du type d'acte, on extrait les informations spécifiques **/
|
||
$title = $xpath->query("acte/$typeActe/dateImmatriculation", $annonce);
|
||
$dateImmatriculation=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['dateEffet']=$dateImmatriculation;
|
||
|
||
$title = $xpath->query("acte/$typeActe/dateEffet", $annonce);
|
||
$dateEffet=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if (Wdate::dateT('dMY', 'Ymd', str_replace(' ','',str_replace(chr(160),'',$dateEffet)))*1>19810101)
|
||
$dateEffet=Wdate::dateT('dMY', 'Y-m-d', str_replace(' ','',str_replace(chr(160),'',$dateEffet)));
|
||
|
||
if ($dateImmatriculation=='') $tabAnnonces[$idann]['data']['dateEffet']=$dateEffet;
|
||
|
||
$title = $xpath->query("acte/$typeActe/dateCommencementActivite", $annonce);
|
||
$dateCommencementActivite=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['dateDebutActivite']=$dateCommencementActivite;
|
||
|
||
$title = $xpath->query("acte/$typeActe/descriptif", $annonce);
|
||
$descriptif=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['commentaires']=$descriptif;
|
||
|
||
if ( !isset($tabAnnonces[$idann]['data']['typeVente']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['typeVente']) )
|
||
$tabAnnonces[$idann]['data']['typeVente']=array();
|
||
|
||
if ($typeActe=='vente') {
|
||
$title = $xpath->query("acte/vente/categorieVente", $annonce);
|
||
$categorieVente=trim(utf8_decode($title->item(0)->nodeValue));
|
||
|
||
$title = $xpath->query("acte/vente/journal/titre", $annonce);
|
||
$journal_titre=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("acte/vente/journal/date", $annonce);
|
||
$journal_date=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['publication']=$journal_titre.' le '.$journal_date;
|
||
$tabAnnonces[$idann]['data']['publicationNom']=$journal_titre;
|
||
$tabAnnonces[$idann]['data']['publicationDate']=$journal_date;
|
||
|
||
$title = $xpath->query("acte/vente/opposition", $annonce);
|
||
$opposition=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['oppositions']=$opposition;
|
||
|
||
$title = $xpath->query("acte/vente/declarationCreance", $annonce);
|
||
$declarationCreance=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($declarationCreance<>'')
|
||
$tabAnnonces[$idann]['data']['oppositions']=$opposition.'/'.$declarationCreance;
|
||
}
|
||
elseif ($typeActe=='creation') {
|
||
$title = $xpath->query("acte/creation/categorieCreation", $annonce);
|
||
$categorieCreation=trim(utf8_decode($title->item(0)->nodeValue));
|
||
/** @todo Chercher des précisions dans la création **/
|
||
}
|
||
elseif ($typeActe=='immatriculation') {
|
||
$title = $xpath->query("acte/immatriculation/categorieImmatriculation", $annonce);
|
||
$categorieImmatriculation=trim(utf8_decode($title->item(0)->nodeValue));
|
||
/** @todo Chercher des précisions dans la création **/
|
||
}
|
||
|
||
$result = $xpath->query('personnes/personne/.', $annonce);
|
||
if (count($result)<1) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a pas d'acheteur pour cette annonce !".EOL;
|
||
die();
|
||
}
|
||
/** On traite chaque acheteur **/
|
||
foreach ($result as $personne) {
|
||
// Mise à blanc des champs textes pour la génération de l'annonce
|
||
$siren=$codeRCS=$nomGreffeImmat=$raisonSociale=$fj=$nomCommercial=$sigle=$administration=$nationalite='';
|
||
$capital_montant=$capital_devise=$capital_variable=$capital_mt=$adr=$cp=$ville='';
|
||
|
||
$title = $xpath->query("*/numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("*/nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
|
||
$title = $xpath->query("*/numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("*/numeroImmatriculation/numeroIdentification", $personne);
|
||
//$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
$siren = str_replace(' ','',preg_replace('/[^0-9]/',' ', $title->item(0)->nodeValue))*1;
|
||
|
||
if ($siren<>0) {
|
||
if ($siren<000100000) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
}elseif($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("personneMorale/denomination", $personne);
|
||
$raisonSociale = trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($raisonSociale=='') {
|
||
// NOM
|
||
$title = $xpath->query ("personnePhysique/nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
// Prénoms
|
||
$title = $xpath->query ("personnePhysique/prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
// Nom d'usage
|
||
$title = $xpath->query ("personnePhysique/nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
// Pseudonyme
|
||
$title = $xpath->query ('personnePhysique/pseudonyme', $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Pseudonyme : ".utf8_decode($title->item(0)->nodeValue);
|
||
}
|
||
|
||
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) || !is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array();
|
||
if ($typeActe=='vente')
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('/ACHE/'.$raisonSociale));
|
||
else
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array($raisonSociale));
|
||
|
||
/** <formeJuridique> **/
|
||
$title = $xpath->query ("personneMorale/formeJuridique", $personne);
|
||
$fj=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['FJ']) || !is_array($tabAnnonces[$idann]['data']['FJ']) )
|
||
$tabAnnonces[$idann]['data']['FJ']=array();
|
||
$tabAnnonces[$idann]['data']['FJ']=array_merge($tabAnnonces[$idann]['data']['FJ'], array($fj));
|
||
|
||
/** <sigle> **/
|
||
$title = $xpath->query ("personneMorale/sigle", $personne);
|
||
$sigle=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['sigle']) || !is_array($tabAnnonces[$idann]['data']['sigle']) )
|
||
$tabAnnonces[$idann]['data']['sigle']=array();
|
||
$tabAnnonces[$idann]['data']['sigle']=array_merge($tabAnnonces[$idann]['data']['sigle'], array($sigle));
|
||
|
||
/** <administration> **/
|
||
$title = $xpath->query ("personneMorale/administration", $personne);
|
||
$administration=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['administration']) || !is_array($tabAnnonces[$idann]['data']['administration']) )
|
||
$tabAnnonces[$idann]['data']['administration']=array();
|
||
$tabAnnonces[$idann]['data']['administration']=array_merge($tabAnnonces[$idann]['data']['administration'], array($administration));
|
||
|
||
/** <nomCommercial> **/
|
||
$title = $xpath->query ('personneMorale/nomCommercial', $personne);
|
||
$nomCommercial=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($nomCommercial=='') {
|
||
$title = $xpath->query ('personnePhysique/nomCommercial', $personne);
|
||
$nomCommercial=trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
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($nomCommercial));
|
||
|
||
/** nationalite **/
|
||
$title = $xpath->query ('personnePhysique/nationnalite', $personne);
|
||
$nationalite=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ( !isset($tabAnnonces[$idann]['data']['nationalite']) || !is_array($tabAnnonces[$idann]['data']['nationalite']) )
|
||
$tabAnnonces[$idann]['data']['nationalite']=array();
|
||
$tabAnnonces[$idann]['data']['nationalite']=array_merge($tabAnnonces[$idann]['data']['nationalite'], array($nationalite));
|
||
|
||
/** <capital> **/
|
||
$title = $xpath->query ('capital/montantCapital', $personne);
|
||
$capital_montant=utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ('capital/devise', $personne);
|
||
$capital_devise=utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ('capital/capitalVariable', $personne);
|
||
$capital_variable=utf8_decode($title->item(0)->nodeValue);
|
||
if ($capital_montant<>'' && $capital_variable=='') $capital_mt=$capital_montant;
|
||
elseif ($capital_montant=='' && $capital_variable<>'') $capital_mt=$capital_variable;
|
||
elseif ($capital_montant=='' && $capital_variable=='') $capital_mt='';
|
||
else {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo "Annonce $idann : Capital variable et fixe trouvé !".EOL;
|
||
}
|
||
$tabAnnonces[$idann]['data']['Capital']=array('Montant'=>$capital_mt, 'Devise'=>$capital_devise);
|
||
|
||
/** <adresse/france/numeroVoie typeVoie nomVoie complGeographique>**/
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVoie']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeVoie']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array();
|
||
$title = $xpath->query ("adresse/france/numeroVoie", $personne);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/typeVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/nomVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/complGeographique", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/BP", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/localite", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
/** <adresse/etranger>**/
|
||
$title = $xpath->query ("adresse/etranger/adresse", $personne);
|
||
$etranger = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/etranger/pays", $personne);
|
||
$pays = utf8_decode($title->item(0)->nodeValue);
|
||
if ($etranger<>'' || $pays<>'')
|
||
$adr.='|'.$etranger.'|'.$pays;
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVoie'], (array)$adr);
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath->query ("adresse/france/codePostal", $personne);
|
||
$cp = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeCP']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeCP']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeCP'], (array)$cp);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath->query ("adresse/france/ville", $personne);
|
||
$ville = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVille']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeVille']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVille'], (array)$ville);
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// Génération du texte d'annonce Raison sociale, Nom/Prénom/ Forme / Activité / Adresse
|
||
$annonceTxt.=' '.$raisonSociale.'.';
|
||
if ($fj<>'')
|
||
if (substr($fj,-1)=='.') $annonceTxt.=" Forme : $fj";
|
||
else $annonceTxt.=" Forme : $fj.";
|
||
|
||
if ($nomCommercial<>'')
|
||
if (substr($nomCommercial,-1)=='.') $annonceTxt.=" Nom commercial : $nomCommercial";
|
||
else $annonceTxt.=" Nom commercial : $nomCommercial.";
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($nationalite, 'Nationalité');
|
||
|
||
if ($sigle<>'')
|
||
if (substr($sigle,-1)=='.') $annonceTxt.=" Sigle : $sigle";
|
||
else $annonceTxt.=" Sigle : $sigle.";
|
||
|
||
if ($administration<>'')
|
||
if (substr($administration,-1)=='.') $annonceTxt.=" Administration : $administration";
|
||
else $annonceTxt.=" Administration : $administration.";
|
||
|
||
|
||
if ($capital_mt<>'' || $capital_devise<>'') {
|
||
$capital_deviseLib=getLibelleDevise($capital_devise);
|
||
if ($capital_deviseLib=='') $capital_deviseLib=$capital_devise;
|
||
if ($capital_variable<>'') $txtVariable='variable ';
|
||
else $txtVariable='';
|
||
if (substr($capital_devise,-1)=='.') $annonceTxt.=" Capital $txtVariable: $capital_mt $capital_deviseLib";
|
||
else $annonceTxt.=" Capital $txtVariable: $capital_mt $capital_deviseLib.";
|
||
$capital_deviseLib='';
|
||
}
|
||
|
||
if (trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'')
|
||
$annonceTxt.=' Adresse : '. str_replace('|',' ',$adr) ." $cp $ville.";
|
||
}
|
||
|
||
/**
|
||
** Liste des établissements (vendu?)
|
||
**/
|
||
$result = $xpath->query('etablissement/.', $annonce);
|
||
// Mise à blanc des champs textes pour la génération de l'annonce
|
||
$origineFonds=$qualiteEtablissement=$activite=$enseigne=$adr=$cp=$ville='';
|
||
$vente_montant=0;$vente_devise='';
|
||
foreach ($result as $etab) {
|
||
// Mise à blanc des champs textes pour la génération de l'annonce
|
||
$origineFonds=$qualiteEtablissement=$activite=$enseigne=$adr=$cp=$ville='';
|
||
|
||
$title = $xpath->query('origineFonds', $etab);
|
||
$strTmp=$origineFonds=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['perimetre']=$origineFonds;
|
||
//au prix stipulé de 260 000 euros
|
||
//<origineFonds>établissement principal acquis par achat au prix stipulé de 260 000 euros</origineFonds>
|
||
|
||
/** Recherche du montant de la vente **/
|
||
if (preg_match("/(prix|stipul|montant|indémni|indemni|évalu|evalu|éstim|estim)/i", $strTmp)) {
|
||
if (substr($strTmp,-1)=='.') $strTmp=trim(substr($strTmp,0,strlen($strTmp)-1));
|
||
if (preg_match("/(.*)prix(?: de)([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)stipul.(?: de)([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)montant(?: de)([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)valu([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)stim([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp)) {
|
||
//die(print_r($tabTmp));
|
||
$vente_montant=strtr($tabTmp[3], array(' '=>'', ','=>'.', chr(160)=>''));
|
||
if (substr($vente_montant,-3,1)=='.') {
|
||
$vente_montant=str_replace('.','', substr($vente_montant,0,strlen($vente_montant)-3));
|
||
} elseif (substr($vente_montant,-4,1)=='.') {
|
||
$vente_montant=str_replace('.','', $vente_montant);
|
||
}
|
||
$vente_devise =trim($tabTmp[4]);
|
||
} elseif (preg_match("/(.*)ind(.)mni([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp)) {
|
||
$vente_montant=strtr($tabTmp[4], array(' '=>'', ','=>'.', chr(160)=>''));
|
||
//str_replace(' ','', str_replace(',','.',$tabTmp[4]));
|
||
if (substr($vente_montant,-3,1)=='.') {
|
||
$vente_montant=str_replace('.','', substr($vente_montant,0,strlen($vente_montant)-3));
|
||
} elseif (substr($vente_montant,-4,1)=='.') {
|
||
$vente_montant=str_replace('.','', $vente_montant);
|
||
}
|
||
$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
|
||
**/
|
||
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='?';
|
||
}
|
||
$tabAnnonces[$idann]['data']['VenteMt']=$vente_montant;
|
||
$tabAnnonces[$idann]['data']['VenteDev']=$vente_devise;
|
||
|
||
/** Précisions sur la vente **/
|
||
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));
|
||
|
||
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));
|
||
|
||
/** qualiteEtablissement => bienAqui **/
|
||
$title = $xpath->query('qualiteEtablissement', $etab);
|
||
$qualiteEtablissement=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['bienAcqui']=$qualiteEtablissement;
|
||
$bienAcqui=$qualiteEtablissement;
|
||
if (preg_match("/(e|é)tablissement principal/i", $bienAcqui)) // Etablissement principal
|
||
$tabAnnonces[$idann]['data']['typeVente']=array_merge($tabAnnonces[$idann]['data']['typeVente'], array(5000));
|
||
// $tabAnnonces[$idann]['data']['typeVente']=array();
|
||
|
||
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));
|
||
|
||
/** <activite> **/
|
||
$title = $xpath->query ('activite', $etab);
|
||
$activite = utf8_decode($title->item(0)->nodeValue);
|
||
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($activite));
|
||
|
||
/** <enseigne> **/
|
||
$title = $xpath->query ('enseigne', $personne);
|
||
$enseigne=utf8_decode($title->item(0)->nodeValue);
|
||
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($enseigne));
|
||
|
||
/** <adresse/france/numeroVoie typeVoie nomVoie complGeographique>**/
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseVoie']) || !is_array($tabAnnonces[$idann]['data']['adresseVoie']) )
|
||
$tabAnnonces[$idann]['data']['adresseVoie']=array();
|
||
$title = $xpath->query ("adresse/numeroVoie", $etab);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/typeVoie", $etab);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/nomVoie", $etab);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/complGeographique", $etab);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/BP", $etab);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/localite", $etab);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$tabAnnonces[$idann]['data']['adresseVoie']=array_merge($tabAnnonces[$idann]['data']['adresseVoie'], (array)$adr);
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath->query ("adresse/codePostal", $etab);
|
||
$cp = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseCP']) || !is_array($tabAnnonces[$idann]['data']['adresseCP']) )
|
||
$tabAnnonces[$idann]['data']['adresseCP']=array();
|
||
$tabAnnonces[$idann]['data']['adresseCP']=array_merge($tabAnnonces[$idann]['data']['adresseCP'], (array)$cp);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath->query ("adresse/ville", $etab);
|
||
$ville = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseVille']) || !is_array($tabAnnonces[$idann]['data']['adresseVille']) )
|
||
$tabAnnonces[$idann]['data']['adresseVille']=array();
|
||
$tabAnnonces[$idann]['data']['adresseVille']=array_merge($tabAnnonces[$idann]['data']['adresseVille'], (array)$ville);
|
||
|
||
// Génération du texte d'annonce Origine du fonds, Etablissement, Activite et Adresse
|
||
if ($origineFonds<>'')
|
||
if (substr($origineFonds,-1)=='.') $annonceTxt.=" Origine du fonds : $origineFonds";
|
||
else $annonceTxt.=" Origine du fonds : $origineFonds.";
|
||
if ($qualiteEtablissement<>'')
|
||
if (substr($qualiteEtablissement,-1)=='.') $annonceTxt.=" Etablissement : $qualiteEtablissement";
|
||
else $annonceTxt.=" Etablissement : $qualiteEtablissement.";
|
||
if ($activite<>'')
|
||
if (substr($activite,-1)=='.') $annonceTxt.=" Activité : $activite";
|
||
else $annonceTxt.=" Activité : $activite.";
|
||
if ($enseigne<>'')
|
||
if (substr($enseigne,-1)=='.') $annonceTxt.=" Enseigne : $enseigne";
|
||
else $annonceTxt.=" Enseigne : $enseigne.";
|
||
if (trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'')
|
||
$annonceTxt.=' Adresse : '. str_replace('|',' ',$adr) ." $cp $ville.";
|
||
}
|
||
|
||
/**
|
||
** Liste des precedentExploitantPP
|
||
**/
|
||
$result = $xpath->query('precedentExploitantPP/.', $annonce);
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
$precedentExploitant=false;
|
||
foreach ($result as $personne) {
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentification", $personne);
|
||
$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000)
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
elseif ($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
$precedentExploitantSiren=$siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
$title = $xpath->query ("prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
$title = $xpath->query ("nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
|
||
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('Précédent exploitant '.$raisonSociale));
|
||
$precedentExploitantRS=$raisonSociale;
|
||
|
||
$title = $xpath->query ("nature", $personne);
|
||
$nature = utf8_decode($title->item(0)->nodeValue);
|
||
if ($nature<>'') die('nature !!!');
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if (!$precedentExploitant)
|
||
$annonceTxt.=' Précédent exploitant : '.$raisonSociale.'. ';
|
||
else
|
||
$annonceTxt.=" $raisonSociale. ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// On indique que le texte "Précédent exploitant" est déjà affiché
|
||
$precedentExploitant=true;
|
||
}
|
||
/**
|
||
** Liste des precedentExploitantPM
|
||
**/
|
||
$result = $xpath->query('precedentExploitantPM/.', $annonce);
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
foreach ($result as $personne) {
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentification", $personne);
|
||
$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000)
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
elseif ($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
$precedentExploitantSiren=$siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("denomination", $personne);
|
||
$raisonSociale = trim(utf8_decode($title->item(0)->nodeValue));
|
||
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('Précédent exploitant '.$raisonSociale));
|
||
$precedentExploitantRS=$raisonSociale;
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if (!$precedentExploitant)
|
||
$annonceTxt.=' Précédent exploitant : '.$raisonSociale.'. ';
|
||
else
|
||
$annonceTxt.=" $raisonSociale. ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// On indique que le texte "Précédent exploitant" est déjà affiché
|
||
$precedentExploitant=true;
|
||
}
|
||
|
||
/**
|
||
** Liste des precedentProprietairePP
|
||
**/
|
||
$result = $xpath->query('precedentProprietairePP/.', $annonce);
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
$precedentProprietaire=false;
|
||
foreach ($result as $personne) {
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentification", $personne);
|
||
$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000)
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
elseif ($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
$title = $xpath->query ("prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
$title = $xpath->query ("nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
|
||
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) || !is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array();
|
||
|
||
|
||
if ($siren==$precedentExploitantSiren || $raisonSociale==$precedentExploitantRS)
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('Précédent propriétaire exploitant '.$raisonSociale));
|
||
else
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('Précédent propriétaire '.$raisonSociale));
|
||
|
||
$title = $xpath->query ("nature", $personne);
|
||
$nature = utf8_decode($title->item(0)->nodeValue);
|
||
if ($nature<>'') die('nature !!!');
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if (!$precedentProprietaire)
|
||
$annonceTxt.=' Précédent propriétaire : '.$raisonSociale.'. ';
|
||
else
|
||
$annonceTxt.=" $raisonSociale. ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// On indique que le texte "Précédent proprietaire" est déjà affiché
|
||
$precedentProprietaire=true;
|
||
}
|
||
/**
|
||
** Liste des precedentProprietairePM
|
||
**/
|
||
$result = $xpath->query('precedentProprietairePM/.', $annonce);
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
foreach ($result as $personne) {
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentification", $personne);
|
||
$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000)
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
elseif ($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("denomination", $personne);
|
||
$raisonSociale = trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) || !is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array();
|
||
if ($siren==$precedentExploitantSiren || $raisonSociale==$precedentExploitantRS)
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('Précédent propriétaire exploitant '.$raisonSociale));
|
||
else
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('Précédent propriétaire '.$raisonSociale));
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if (!$precedentProprietaire)
|
||
$annonceTxt.=' Précédent propriétaire : '.$raisonSociale.'. ';
|
||
else
|
||
$annonceTxt.=" $raisonSociale. ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// On indique que le texte "Précédent proprietaire" est déjà affiché
|
||
$precedentProprietaire=true;
|
||
}
|
||
|
||
// Libellé Annonce Texte pour la date d'effet
|
||
$annonceTxt.=str_replace(' 01 ', ' 1er ',generePhraseBodaccTxt(strtolower(WDate::dateT('Y-m-d', 'd M Y', $dateImmatriculation)), 'A dater du'));
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if ($typeActe=='vente') {
|
||
if ( ($dateBodacc*1)<20080128) {
|
||
/** A partir de cette date, les textes "catégories" ne sont plus imprimés
|
||
** dans les annonces papier **/
|
||
$annonceTxt.=generePhraseBodaccTxt($categorieVente);
|
||
}
|
||
$tabActesCategorie[$typeActe][]=$categorieVente;
|
||
$codeEven=$iBodacc->getCodeNatureEvenement($categorieVente);
|
||
if ($codeEven==0) {
|
||
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Insertion' &&
|
||
$tabAnnonces[$idann]['corrNum_Annonce']>0 &&
|
||
$tabAnnonces[$idann]['corrNumParution']<>'' &&
|
||
$tabAnnonces[$idann]['corrBodacc_Date_Parution']>19530101) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Annonce d'insertion avec informations de correction pour l'annonce $idann !".EOL;
|
||
while(true) {
|
||
echo 'Vérifier avec le Bodacc version Papier et saisir le type d\'annonce (I)nsertion / (R)ectificatif / (S)uppression / (P)asser provisoirement l\'intégration de ce Bodacc ?'.EOL;
|
||
$saisie = trim(strtoupper(fgets(STDIN)));
|
||
|
||
if ($saisie=='I') {
|
||
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
|
||
//$tabAnnonces[$idann]['Rubrique_Bodacc']='B111';
|
||
//$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
die('non géré. Mettre la Bonne Rubrique Bodacc et le bin codeEven');
|
||
break;
|
||
} elseif ($saisie=='R') {
|
||
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
|
||
//$tabAnnonces[$idann]['Rubrique_Bodacc']='B117';
|
||
//$tabAnnonces[$idann]['data']['typeRadiation']=6700;
|
||
//die('non géré. Mettre la Bonne Rubrique Bodacc et le bin codeEven');
|
||
break;
|
||
} elseif ($saisie=='S') {
|
||
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
|
||
/* Entête d'annonce d'annulation */
|
||
$annonceTxtFin=preg_replace('/^'.$bodaccNumAnn.' \- /Uis', '', $annonceTxt);
|
||
$annonceTxt ="$bodaccNumAnn - Annulation. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est nul et non avenu. $annonceTxtFin".EOL;
|
||
die("Vérifier l'annonce générée :".EOL.$annonceTxt.EOL);
|
||
|
||
break;
|
||
/*413 - * BODACC A. Numéro de parution : 20090095. Date de parution :
|
||
19 mai 2009. Annonce numéro : 324. Cet avis est nul et non avenu. A
|
||
LA BONNE BOUFFE. 511 250 185 RCS Bordeaux*/
|
||
} elseif ($saisie=='' || $saisie=='P') {
|
||
//die('non géré. Vérifier le niveau de continue()');
|
||
continue(3);
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($tabAnnonces[$idann]['typeAnnonce']<>'Suppression') {//parutionAvisPrecedent
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Nature de vente '$categorieVente' inconnue pour l'annonce $idann !".EOL;
|
||
die();
|
||
$fpJ=fopen('/var/www/log/newVentes.log','a');
|
||
fwrite($fpJ, 'md5("'.$categorieVente.'")=>5999,');
|
||
fclose($fpJ);
|
||
}
|
||
$codeEven=5999;
|
||
}
|
||
|
||
// Suppression des évènements redondants 5103 avec 5100 à 5105
|
||
$tabEven=array_unique(array_merge($tabAnnonces[$idann]['data']['typeVente'], explode(';',$codeEven)));
|
||
$tabEven2=array();
|
||
if ( in_array('5100', $tabEven) || in_array('5101', $tabEven) || in_array('5102', $tabEven) ||
|
||
in_array('5104', $tabEven) || in_array('5105', $tabEven) ) {
|
||
foreach ($tabEven as $even)
|
||
if ($even*1<>5103)
|
||
$tabEven2[]=$even;
|
||
} else
|
||
$tabEven2=$tabEven;
|
||
$tabEven=$tabEven2;
|
||
$tabEven2=array();
|
||
// Ajout de précisions si évènement par défaut 5900 et 5000 à 5004
|
||
if ( ( in_array('5000', $tabEven) || in_array('5001', $tabEven) || in_array('5002', $tabEven) ||
|
||
in_array('5003', $tabEven) || in_array('5004', $tabEven) ) && in_array('5900', $tabEven) ) {
|
||
foreach ($tabEven as $even)
|
||
if ($even*1<>5900) // L'évènement 5900 n'est pas à communiquer dans ce cas
|
||
$tabEven2[]=$even;
|
||
} else
|
||
$tabEven2=$tabEven;
|
||
|
||
$tabAnnonces[$idann]['data']['typeVente']=$tabEven2;
|
||
//=$vente_montant;
|
||
//$tabAnnonces[$idann]['data']['VenteDev']
|
||
if ($descriptif<>'' && $tabAnnonces[$idann]['data']['VenteMt']==0) {
|
||
|
||
$strTmp=$descriptif;
|
||
|
||
/** Recherche du montant de la vente **/
|
||
if (preg_match("/(prix|stipul|montant|indémni|indemni|évalu|evalu|éstim|estim)/i", $strTmp)) {
|
||
if (substr($strTmp,-1)=='.') $strTmp=trim(substr($strTmp,0,strlen($strTmp)-1));
|
||
if (preg_match("/(.*)prix(?: de)([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)stipul.(?: de)([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)montant(?: de)([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)valu([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp) ||
|
||
preg_match("/(.*)stim([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp)) {
|
||
//die(print_r($tabTmp));
|
||
$vente_montant=strtr($tabTmp[3], array(' '=>'', ','=>'.', chr(160)=>''));
|
||
if (substr($vente_montant,-3,1)=='.') {
|
||
$vente_montant=str_replace('.','', substr($vente_montant,0,strlen($vente_montant)-3));
|
||
} elseif (substr($vente_montant,-4,1)=='.') {
|
||
$vente_montant=str_replace('.','', $vente_montant);
|
||
}
|
||
$vente_devise =trim($tabTmp[4]);
|
||
} elseif (preg_match("/(.*)ind(.)mni([\D]*)([0-9\.,\s]*)([\D]*)/i", $strTmp, $tabTmp)) {
|
||
$vente_montant=strtr($tabTmp[4], array(' '=>'', ','=>'.', chr(160)=>''));
|
||
//str_replace(' ','', str_replace(',','.',$tabTmp[4]));
|
||
if (substr($vente_montant,-3,1)=='.') {
|
||
$vente_montant=str_replace('.','', substr($vente_montant,0,strlen($vente_montant)-3));
|
||
} elseif (substr($vente_montant,-4,1)=='.') {
|
||
$vente_montant=str_replace('.','', $vente_montant);
|
||
}
|
||
$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
|
||
**/
|
||
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='?';
|
||
}
|
||
$tabAnnonces[$idann]['data']['VenteMt']=$vente_montant;
|
||
$tabAnnonces[$idann]['data']['VenteDev']=$vente_devise;
|
||
|
||
//print_r($tabAnnonces[$idann]);
|
||
//die('MONTANT DE LA VENTE NON TROUVEE !');
|
||
}
|
||
}
|
||
// Annonces de création
|
||
elseif ($typeActe=='creation') {
|
||
if ( ($dateBodacc*1)<20080128) {
|
||
/** A partir de cette date, les textes "catégories" ne sont plus imprimés
|
||
** dans les annonces papier **/
|
||
$annonceTxt.=generePhraseBodaccTxt($categorieCreation);
|
||
}
|
||
$tabActesCategorie[$typeActe][]=$categorieCreation;
|
||
$codeEven=$iBodacc->getCodeNatureEvenement($categorieCreation);
|
||
if ($codeEven==0) {
|
||
if ($tabAnnonces[$idann]['typeAnnonce']<>'Suppression') {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Nature de creation '$categorieCreation' inconnue pour l'annonce $idann !".EOL;
|
||
die();
|
||
$fpJ=fopen('/var/www/log/newCreations.log','a');
|
||
fwrite($fpJ, 'md5("'.$categorieCreation.'")=>4999,');
|
||
fclose($fpJ);
|
||
}
|
||
$codeEven=4999;
|
||
}
|
||
$tabAnnonces[$idann]['data']['typeCreation']=explode(';',$codeEven);
|
||
}
|
||
// Annonces d'immatriculation
|
||
elseif ($typeActe=='immatriculation') {
|
||
if ( ($dateBodacc*1)<20080128) {
|
||
/** A partir de cette date, les textes "catégories" ne sont plus imprimés
|
||
** dans les annonces papier **/
|
||
$annonceTxt.=generePhraseBodaccTxt($categorieImmatriculation);
|
||
}
|
||
$tabActesCategorie[$typeActe][]=$categorieImmatriculation;
|
||
$codeEven=$iBodacc->getCodeNatureEvenement($categorieImmatriculation);
|
||
if ($codeEven==0 && $categorieImmatriculation<>'') {
|
||
if ($tabAnnonces[$idann]['typeAnnonce']<>'Suppression') {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Nature d\'immatriculation '$categorieImmatriculation' inconnue pour l'annonce $idann !".EOL;
|
||
die();
|
||
$fpJ=fopen('/var/www/log/newImmatriculations.log','a');
|
||
fwrite($fpJ, 'md5("'.$categorieImmatriculation.'")=>4999,');
|
||
fclose($fpJ);
|
||
}
|
||
$codeEven=4999;
|
||
} elseif ($codeEven==0 && $categorieImmatriculation=='') {
|
||
// Gestion d'une annomalie du Bodacc
|
||
$codeEven=4000;
|
||
}
|
||
$tabAnnonces[$idann]['data']['typeCreation']=explode(';',$codeEven);
|
||
}
|
||
|
||
$annonceTxt.=str_replace(' 01 ', ' 1er ',generePhraseBodaccTxt(strtolower(WDate::dateT('Y-m-d', 'd M Y', $dateEffet)), "Date d'effet"));
|
||
|
||
$annonceTxt.=str_replace(' 01 ', ' 1er ',generePhraseBodaccTxt(strtolower(WDate::dateT('Y-m-d', 'd M Y', $dateCommencementActivite)), "Date de commencement d'activité"));
|
||
|
||
if ($journal_titre<>'')
|
||
$annonceTxt.=str_replace(' 01 ', ' 1er ', " Publication légale : $journal_titre du ".strtolower(WDate::dateT('Y-m-d', 'd M Y', $journal_date)).'.');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($opposition, 'Oppositions');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($declarationCreance, 'Déclarations de créances');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($descriptif, 'Commentaires');
|
||
|
||
$tabAnnonces[$idann]['annonce']=trim(str_replace(' .','.', preg_replace('/ +/', ' ', $annonceTxt)));
|
||
|
||
$bodaccDepNumPre=$bodaccDepNum;
|
||
}
|
||
} ///// FIN de la boucle de lecture des annonces RCS-A
|
||
elseif ($debutNom=='RCS-B') {
|
||
/** VALIDATION SCHEMA **/
|
||
if ($validateSchema) {
|
||
|
||
if (!$dom_object->schemaValidate('/var/www/batch/bodacc/Bodacc_RCM_Redif_V10.xsd')) { //Bodacc_RCM_Redif_V06.xsd
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de Bodacc '$dateBodaccTxt' Schéma XML non validé !".EOL;
|
||
if (!$reload) {
|
||
if ($forceContinue)
|
||
continue;
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - Conseil : Corrigez le fichier XML ".BODACC_LOCAL_DIR.str_replace('.taz','.xml', $nomFichier)." et relancer avec l'option _u !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier validé.".EOL;
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier ignoré.".EOL;
|
||
|
||
/** Chargement des Annonces **/
|
||
$result = $xpath->query("//RCS-B_REDIFF/listeAvis/avis/.");
|
||
if (count($result)==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a aucune annonce à traiter dans ce flux XML !".EOL;
|
||
die();
|
||
}
|
||
|
||
/**
|
||
** Traitement de chaque annonce du noeud RCS-B_REDIFF
|
||
**/
|
||
foreach ($result as $annonce) {
|
||
|
||
/* On réinitialise toutes les variables servant a reconstruire le texte de l'annonce */
|
||
$typeBodacc=$numeroParutionCorr=$dateCorr=$numeroAnnonceCorr='';
|
||
$categorieVente=$dateImmatriculation=$dateEffet=$dateCommencementActivite=$opposition=$journal_titre=$journal_date=$declarationCreance=$descriptif='';
|
||
|
||
$bodaccNumAnnCalc++;
|
||
|
||
$title = $xpath->query ("numeroAnnonce", $annonce);
|
||
$bodaccNumAnn=$title->item(0)->nodeValue;
|
||
if ($bodaccNumAnnCalc==1 && $bodaccNumAnn>300) {
|
||
echo(date ('Y/m/d - H:i:s')." - Chapitre Immatriculations/Ventes débutant par l'annonce n°$bodaccNumAnn...".EOL);
|
||
$bodaccNumAnnCalc=$bodaccNumAnn*1;
|
||
/* On initialise le 1er n° d'annonce trouvé dans le bodacc pour contrôle */
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
} else {
|
||
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {
|
||
$endTmp=false;
|
||
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);
|
||
}
|
||
}
|
||
$bodaccNumAnn=$bodaccNumAnnCalc;
|
||
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb'])) {
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
}
|
||
|
||
$tmp=explode(' ', $bodaccNumAnn);
|
||
$bodaccNumAnn=trim($tmp[0]);
|
||
|
||
/** Numéro unique interne à ce programme pour chaque annonce **/
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
|
||
$title = $xpath->query ("nojo", $annonce);
|
||
$nojo=$title->item(0)->nodeValue;
|
||
|
||
/** On initialise le tableau $tabAnnonces[$idann] qui contient toutes les infos de l'annonce **/
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$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']=$nojo;
|
||
$tabAnnonces[$idann]['data']=array();
|
||
|
||
/** On récupère l'annonce XML **/
|
||
$dom = new DOMDocument('1.0', 'iso-8859-1');
|
||
$elem=$dom->createElement('avis');
|
||
$dom->appendChild($dom->importNode($annonce, true));
|
||
$tabAnnonces[$idann]['balises']=$dom->saveXML();
|
||
|
||
$title = $xpath->query ('typeAnnonce/*', $annonce);
|
||
$typeAnnonce=strtolower($title->item(0)->nodeName);
|
||
if ($typeAnnonce=='creation' || $typeAnnonce=='annonce')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
|
||
elseif ($typeAnnonce=='rectificatif' || $typeAnnonce=='annulation') {
|
||
if ($typeAnnonce=='annulation')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
|
||
else
|
||
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
|
||
|
||
$tabAnnonces[$idann]['corrPage']=NULL;
|
||
$tabAnnonces[$idann]['corrTexteRectificatif']=NULL;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroAnnonce', $annonce);
|
||
$numeroAnnonceCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$numeroAnnonceCorr;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/nomPublication', $annonce);
|
||
$typeBodacc=substr($title->item(0)->nodeValue,-1);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroParution', $annonce);
|
||
$numeroParutionCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNumParution']=$typeBodacc.substr($numeroParutionCorr,-3);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/dateParution', $annonce);
|
||
$dateCorr=str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=WDate::dateT('dMY', 'Ymd', str_replace(' ','',$dateCorr));
|
||
}
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type d'annonce '$typeAnnonce' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
|
||
$title = $xpath->query ("numeroDepartement", $annonce);
|
||
$bodaccDepNum=$title->item(0)->nodeValue;
|
||
$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;
|
||
}
|
||
|
||
$title = $xpath->query ("tribunal", $annonce);
|
||
$texte = utf8_decode($title->item(0)->nodeValue);
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$tabAnnonces[$idann]['Tribunal_Code'] && $bodaccDepNum>70 && $bodaccDepNum<77 ) {
|
||
// A priori il s'agit d'une erreur de codification des DOM par la DJO !!!!
|
||
$title = $xpath->query ("adresse/france/codePostal", $annonce);
|
||
$bodaccDepNum=substr($title->item(0)->nodeValue,0,3)*1;
|
||
//if ($bodaccDepNum==977) $bodaccDepNum=974; // Bug Bodacc
|
||
}
|
||
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNumPre);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
|
||
if ($depInconnu) die('Erreur vérifier tribunal/département PCL :'.EOL.print_r($tabAnnonces[$idann]));
|
||
|
||
/** Début de génération de l'annonce Texte en fonction du type d'annonce
|
||
**/
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array();
|
||
$tabAnnonces[$idann]['data']['adresseVoie']=array();
|
||
$tabAnnonces[$idann]['data']['adresseCP']=array();
|
||
$tabAnnonces[$idann]['data']['adresseVille']=array();
|
||
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Insertion') {
|
||
/* Entête de nouvelle annonce : N° Date et type de jugement */
|
||
$annonceTxt="$bodaccNumAnn - ";
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
/* Entête d'annonce d'annulation */
|
||
$annonceTxt ="$bodaccNumAnn - Annulation. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est nul et non avenu.".EOL;
|
||
} else {
|
||
/* Entête d'annonce de rectification */
|
||
$annonceTxt ="$bodaccNumAnn - Rectificatif. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est annulé et remplacé par le suivant.".EOL;
|
||
}
|
||
|
||
/** Entreprises concernées par l'annonce **/
|
||
$result = $xpath->query('personnes/personne/.', $annonce);
|
||
if ($result->length==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a pas d'entreprises concernées dans cette annonce !".EOL;
|
||
die();
|
||
}
|
||
|
||
/** On traite chaque entreprise **/
|
||
foreach ($result as $personne) {
|
||
// Mise à blanc des champs textes pour la génération de l'annonce
|
||
$siren=$codeRCS=$nomGreffeImmat=$raisonSociale=$fj=$nomCommercial=$sigle=$administration=$nationalite='';
|
||
$capital_montant=$capital_devise=$capital_variable=$capital_mt=$adr=$cp=$ville='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentificationRCS", $personne);
|
||
//$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
$siren = str_replace(' ','',preg_replace('/[^0-9]/',' ', $title->item(0)->nodeValue))*1;
|
||
|
||
if ($siren<>0) {
|
||
if ($siren<000100000) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
}elseif($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("personneMorale/denomination", $personne);
|
||
$raisonSociale = str_replace('&', '&',trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($raisonSociale=='') {
|
||
// NOM
|
||
$title = $xpath->query ("personnePhysique/nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
// Prénoms
|
||
$title = $xpath->query ("personnePhysique/prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
// Nom d'usage
|
||
$title = $xpath->query ("personnePhysique/nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
// Pseudonyme
|
||
$title = $xpath->query ('personnePhysique/pseudonyme', $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Pseudonyme : ".utf8_decode($title->item(0)->nodeValue);
|
||
}
|
||
|
||
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) || !is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array();
|
||
if ($typeActe=='vente')
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array('/ACHE/'.$raisonSociale));
|
||
else
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array($raisonSociale));
|
||
|
||
/** <formeJuridique> **/
|
||
$title = $xpath->query ("personneMorale/formeJuridique", $personne);
|
||
$fj=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['FJ']) || !is_array($tabAnnonces[$idann]['data']['FJ']) )
|
||
$tabAnnonces[$idann]['data']['FJ']=array();
|
||
$tabAnnonces[$idann]['data']['FJ']=array_merge($tabAnnonces[$idann]['data']['FJ'], array($fj));
|
||
|
||
/** <sigle> **/
|
||
$title = $xpath->query ("personneMorale/sigle", $personne);
|
||
$sigle=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['sigle']) || !is_array($tabAnnonces[$idann]['data']['sigle']) )
|
||
$tabAnnonces[$idann]['data']['sigle']=array();
|
||
$tabAnnonces[$idann]['data']['sigle']=array_merge($tabAnnonces[$idann]['data']['sigle'], array($sigle));
|
||
|
||
/** <administration> **/
|
||
$title = $xpath->query ("personneMorale/administration", $personne);
|
||
$administration=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['administration']) || !is_array($tabAnnonces[$idann]['data']['administration']) )
|
||
$tabAnnonces[$idann]['data']['administration']=array();
|
||
$tabAnnonces[$idann]['data']['administration']=array_merge($tabAnnonces[$idann]['data']['administration'], array($administration));
|
||
/*if ($administration<>'') {
|
||
$tabAdministration=$iBodacc->getDirigeants($tabAnnonces[$idann]['data']['administration']);
|
||
print_r($tabAdministration);
|
||
print_r($tabAnnonces[$idann]);
|
||
die();
|
||
}*/
|
||
|
||
/** <nomCommercial> **/
|
||
$title = $xpath->query ('personneMorale/nomCommercial', $personne);
|
||
$nomCommercial=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ($nomCommercial=='') {
|
||
$title = $xpath->query ('personnePhysique/nomCommercial', $personne);
|
||
$nomCommercial=trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
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($nomCommercial));
|
||
|
||
/** nationalite **/
|
||
$title = $xpath->query ('personnePhysique/nationnalite', $personne);
|
||
$nationalite=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if ( !isset($tabAnnonces[$idann]['data']['nationalite']) || !is_array($tabAnnonces[$idann]['data']['nationalite']) )
|
||
$tabAnnonces[$idann]['data']['nationalite']=array();
|
||
$tabAnnonces[$idann]['data']['nationalite']=array_merge($tabAnnonces[$idann]['data']['nationalite'], array($nationalite));
|
||
|
||
/** <capital> **/
|
||
$title = $xpath->query ('personneMorale/capital/montantCapital', $personne);
|
||
$capital_montant=utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ('personneMorale/capital/devise', $personne);
|
||
$capital_devise=utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ('personneMorale/capital/capitalVariable', $personne);
|
||
$capital_variable=utf8_decode($title->item(0)->nodeValue);
|
||
if ($capital_montant<>'' && $capital_variable=='') $capital_mt=$capital_montant;
|
||
elseif ($capital_montant=='' && $capital_variable<>'') $capital_mt=$capital_variable;
|
||
elseif ($capital_montant=='' && $capital_variable=='') $capital_mt='';
|
||
else {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo "Annonce $idann : Capital variable et fixe trouvé !".EOL;
|
||
}
|
||
$tabAnnonces[$idann]['data']['Capital']=array('Montant'=>$capital_mt, 'Devise'=>$capital_devise);
|
||
|
||
/** <activite> **/
|
||
$title = $xpath->query ('activite', $personne);
|
||
$activite = utf8_decode($title->item(0)->nodeValue);
|
||
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($activite));
|
||
|
||
/** Adresse complète du siège social :
|
||
** adresse/france/numeroVoie typeVoie nomVoie complGeographique **/
|
||
$title = $xpath->query ("siegeSocial/france/numeroVoie", $personne);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("siegeSocial/france/typeVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("siegeSocial/france/nomVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("siegeSocial/france/complGeographique", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("siegeSocial/france/BP", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("siegeSocial/france/localite", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
/** <adresse/etranger>**/
|
||
$title = $xpath->query ("siegeSocial/etranger/adresse", $personne);
|
||
$etranger = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("siegeSocial/etranger/pays", $personne);
|
||
$pays = utf8_decode($title->item(0)->nodeValue);
|
||
if ($etranger<>'' || $pays<>'')
|
||
$adr.='|'.$etranger.'|'.$pays;
|
||
$adrSiege=$adr;
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath->query ("siegeSocial/france/codePostal", $personne);
|
||
$cpSiege = utf8_decode($title->item(0)->nodeValue);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath->query ("siegeSocial/france/ville", $personne);
|
||
$villeSiege = utf8_decode($title->item(0)->nodeValue);
|
||
|
||
/** Adresse complète de l'établissement principal :
|
||
** adresse/france/numeroVoie typeVoie nomVoie complGeographique **/
|
||
$title = $xpath->query ("etablissementPrincipal/france/numeroVoie", $personne);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("etablissementPrincipal/france/typeVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("etablissementPrincipal/france/nomVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("etablissementPrincipal/france/complGeographique", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("etablissementPrincipal/france/BP", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("etablissementPrincipal/france/localite", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
/** <adresse/etranger>**/
|
||
$title = $xpath->query ("etablissementPrincipal/etranger/adresse", $personne);
|
||
$etranger = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("etablissementPrincipal/etranger/pays", $personne);
|
||
$pays = utf8_decode($title->item(0)->nodeValue);
|
||
if ($etranger<>'' || $pays<>'')
|
||
$adr.='|'.$etranger.'|'.$pays;
|
||
$adrEtabP=$adr;
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath->query ("etablissementPrincipal/france/codePostal", $personne);
|
||
$cpEtabP = utf8_decode($title->item(0)->nodeValue);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath->query ("etablissementPrincipal/france/ville", $personne);
|
||
$villeEtabP = utf8_decode($title->item(0)->nodeValue);
|
||
|
||
|
||
/** Adresse de l'établissement :
|
||
** adresse/france/numeroVoie typeVoie nomVoie complGeographique **/
|
||
$title = $xpath->query ("adresse/france/numeroVoie", $personne);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/typeVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/nomVoie", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/complGeographique", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/BP", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/localite", $personne);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
/** <adresse/etranger>**/
|
||
$title = $xpath->query ("adresse/etranger/adresse", $personne);
|
||
$etranger = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/etranger/pays", $personne);
|
||
$pays = utf8_decode($title->item(0)->nodeValue);
|
||
if ($etranger<>'' || $pays<>'')
|
||
$adr.='|'.$etranger.'|'.$pays;
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath->query ("adresse/france/codePostal", $personne);
|
||
$cp = utf8_decode($title->item(0)->nodeValue);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath->query ("adresse/france/ville", $personne);
|
||
$ville = utf8_decode($title->item(0)->nodeValue);
|
||
|
||
if ( (trim(strtr($adrSiege,'|',' '))<>'' || $cpSiege<>'' || $villeSiege<>'') &&
|
||
(trim(strtr($adrEtabP,'|',' '))<>'' || $cpEtabP<>'' || $villeEtabP<>'') &&
|
||
(trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'') ) {
|
||
print_r($tabAnnonces[$idann]);
|
||
die('Toutes les adresses Siege, Etablissement et Etablissement Principal sont fournies !');
|
||
} elseif ( (trim(strtr($adrSiege,'|',' '))<>'' || $cpSiege<>'' || $villeSiege<>'') &&
|
||
(trim(strtr($adrEtabP,'|',' '))<>'' || $cpEtabP<>'' || $villeEtabP<>'') ) {
|
||
// Les adresses Sieges et Etab Princip sont fournies
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVoie'],
|
||
(array)$adrSiege);
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeCP'],
|
||
(array)$cpSiege);
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVille'],
|
||
(array)$villeSiege);
|
||
// Etab
|
||
$tabAnnonces[$idann]['data']['adresseVoie']=array_merge($tabAnnonces[$idann]['data']['adresseVoie'],
|
||
(array)$adrEtabP);
|
||
$tabAnnonces[$idann]['data']['adresseCP']=array_merge($tabAnnonces[$idann]['data']['adresseCP'],
|
||
(array)$cpEtabP);
|
||
$tabAnnonces[$idann]['data']['adresseVille']=array_merge($tabAnnonces[$idann]['data']['adresseVille'],
|
||
(array)$villeEtabP);
|
||
} elseif ( trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'') {
|
||
// Etab
|
||
$tabAnnonces[$idann]['data']['adresseVoie']=array_merge($tabAnnonces[$idann]['data']['adresseVoie'],
|
||
(array)$adr);
|
||
$tabAnnonces[$idann]['data']['adresseCP']=array_merge($tabAnnonces[$idann]['data']['adresseCP'],
|
||
(array)$cp);
|
||
$tabAnnonces[$idann]['data']['adresseVille']=array_merge($tabAnnonces[$idann]['data']['adresseVille'],
|
||
(array)$ville);
|
||
if (trim(strtr($adrSiege,'|',' '))<>'' || $cpSiege<>'' || $villeSiege<>'') {
|
||
// Les adresses Sieges et Etab Princip sont fournies
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVoie'],
|
||
(array)$adrSiege);
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeCP'],
|
||
(array)$cpSiege);
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVille'],
|
||
(array)$villeSiege);
|
||
} else {
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVoie'],
|
||
(array)$adrEtabP);
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeCP'],
|
||
(array)$cpEtabP);
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVille'],
|
||
(array)$villeEtabPe);
|
||
}
|
||
}
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// Génération du texte d'annonce Raison sociale, Nom/Prénom/ Forme / Activité / Adresse
|
||
$annonceTxt.=' '.$raisonSociale.'.';
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($fj, 'Forme');
|
||
|
||
if ($capital_mt<>'' || $capital_devise<>'') {
|
||
$capital_deviseLib=getLibelleDevise($capital_devise);
|
||
if ($capital_deviseLib=='') $capital_deviseLib=$capital_devise;
|
||
if ($capital_variable<>'') $txtVariable='variable ';
|
||
else $txtVariable='';
|
||
if (substr($capital_devise,-1)=='.') $annonceTxt.=" Capital $txtVariable: $capital_mt $capital_deviseLib";
|
||
else $annonceTxt.=" Capital $txtVariable: $capital_mt $capital_deviseLib.";
|
||
$capital_deviseLib='';
|
||
}
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($nomCommercial, 'Nom commercial');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($nationalite, 'Nationalité');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($sigle, 'Sigle');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($administration, 'Administration');
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($activite, 'Activité');
|
||
|
||
if (trim(strtr($adrSiege,'|',' '))<>'' || $cpSiege<>'' || $villeSiege<>'')
|
||
$annonceTxt.=' Adresse du siège social : '. str_replace('|','',$adrSiege) ." $cpSiege $villeSiege.";
|
||
|
||
if (trim(strtr($adrEtabP,'|',' '))<>'' || $cpEtabP<>'' || $villeEtabP<>'')
|
||
$annonceTxt.=' Adresse de l\'établissement principal : '. str_replace('|','',$adrEtabP) ." $cpEtabP $villeEtabP.";
|
||
|
||
if (trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'')
|
||
$annonceTxt.=' Adresse : '. str_replace('|',' ',$adr) ." $cp $ville.";
|
||
}
|
||
|
||
/** Recherche si annonce de radiation ou mmd
|
||
**/
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']=$typeActe='';
|
||
$titleRad = $xpath->query ('radiationAuRCS/.', $annonce);
|
||
$titleMmd = $xpath->query ('modificationsGenerales/.', $annonce);
|
||
if ($titleRad->length>0) { /** L'annonce est une RADIATION **/
|
||
|
||
$typeActe='radiations';
|
||
|
||
$title = $xpath->query ('radiationAuRCS/*', $annonce);
|
||
$typeRad=trim(utf8_decode($title->item(0)->nodeName));
|
||
if ($typeRad=='radiationPP') {
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B116'; // Radiations Pers Physiques
|
||
/** Date d'effet */
|
||
$title = $xpath->query("radiationAuRCS/radiationPP/dateCessationActivitePP", $annonce);
|
||
$dateEffet=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if (Wdate::dateT('dMY', 'Ymd', str_replace(' ','',str_replace(chr(160),'',$dateEffet)))*1>19810101)
|
||
$dateEffet=Wdate::dateT('dMY', 'Y-m-d', str_replace(' ','',str_replace(chr(160),'',$dateEffet)));
|
||
$tabAnnonces[$idann]['data']['dateEffet']=$tabAnnonces[$idann]['data']['dateCessationActivite']=$dateEffet;
|
||
} elseif ($typeRad=='radiationPM') {
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B117'; // Compatibilité codifications TLS
|
||
}
|
||
|
||
// Positionnement par défaut au code 6700 car pas de descriptif pour l'instant
|
||
$tabAnnonces[$idann]['data']['typeRadiation']=6700; // Radiation (autre)
|
||
|
||
/** descriptif **/
|
||
$title = $xpath->query("radiationAuRCS/commentaire", $annonce);
|
||
$descriptif=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['commentaires']=$descriptif;
|
||
|
||
} elseif ($titleMmd->length>0) { /** L'annonce est une MMD **/
|
||
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B111';
|
||
$typeActe='mmd';
|
||
|
||
/** Date d'effet */
|
||
$title = $xpath->query("modificationsGenerales/dateEffet", $annonce);
|
||
$dateEffet=trim(utf8_decode($title->item(0)->nodeValue));
|
||
if (Wdate::dateT('dMY', 'Ymd', str_replace(' ','',str_replace(chr(160),'',$dateEffet)))*1>19810101)
|
||
$dateEffet=Wdate::dateT('dMY', 'Y-m-d', str_replace(' ','',str_replace(chr(160),'',$dateEffet)));
|
||
$tabAnnonces[$idann]['data']['dateEffet']=$dateEffet;
|
||
//if (strlen($dateEffet)>0) die(print_r($tabAnnonces[$idann]));
|
||
|
||
/** dateCommencementActivite **/
|
||
$title = $xpath->query("modificationsGenerales/dateCommencementActivite", $annonce);
|
||
$dateCommencementActivite=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['dateDebutActivite']=$dateCommencementActivite;
|
||
|
||
/** descriptif **/
|
||
$title = $xpath->query("modificationsGenerales/descriptif", $annonce);
|
||
$descriptif=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$tabAnnonces[$idann]['data']['commentaires']=$descriptif;
|
||
//$categorieMMD
|
||
|
||
|
||
/**
|
||
** Liste des precedentExploitantPP
|
||
**/
|
||
$result = $xpath->query('*/precedentExploitantPP/.', $annonce);
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
$precedentExploitant=false;
|
||
foreach ($result as $personne) {
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentification", $personne);
|
||
$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000)
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
elseif ($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
$precedentExploitantSiren=$siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
$title = $xpath->query ("prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
$title = $xpath->query ("nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
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('Précédent exploitant '.$raisonSociale));
|
||
|
||
$title = $xpath->query ("nature", $personne);
|
||
$nature = utf8_decode($title->item(0)->nodeValue);
|
||
if ($nature<>'') die('nature !!!');
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if (!$precedentExploitant)
|
||
$annonceTxt.=' Précédent exploitant : '.$raisonSociale.'. ';
|
||
else
|
||
$annonceTxt.=" $raisonSociale. ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
// On indique que le texte "Précédent exploitant" est déjà affiché
|
||
$precedentExploitant=true;
|
||
}
|
||
/**
|
||
** Liste des precedentExploitantPM
|
||
**/
|
||
$result = $xpath->query('*/precedentExploitantPM/.', $annonce);
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
foreach ($result as $personne) {
|
||
$raisonSociale=$siren=$codeRCS=$nomGreffeImmat='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $personne);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
if ($codeRCS<>'RCS') {
|
||
$title = $xpath->query("nonInscrit", $personne);
|
||
$codeRCS = trim(utf8_decode($title->item(0)->nodeValue));
|
||
}
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $personne);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentification", $personne);
|
||
$siren = str_replace(' ','',$title->item(0)->nodeValue)*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000)
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
elseif ($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
$precedentExploitantSiren=$siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("denomination", $personne);
|
||
$raisonSociale = trim(utf8_decode($title->item(0)->nodeValue));
|
||
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('Précédent exploitant '.$raisonSociale));
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if (!$precedentExploitant)
|
||
$annonceTxt.=' Précédent exploitant : '.$raisonSociale.'. ';
|
||
else
|
||
$annonceTxt.=" $raisonSociale. ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').' ';
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.="$nomGreffeImmat.";
|
||
|
||
// On indique que le texte "Précédent exploitant" est déjà affiché
|
||
$precedentExploitant=true;
|
||
}
|
||
|
||
if ( !isset($tabAnnonces[$idann]['data']['typeMMD']) || !is_array($tabAnnonces[$idann]['data']['typeMMD']) )
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array();
|
||
|
||
/** On recherche les codes évènements précis de la mmd **/
|
||
|
||
$texte=$descriptif;
|
||
|
||
// Perte moitié du capital social
|
||
if (preg_match("/(actif net inférieur|actif inférieur|perte).{1,9}moiti.{1,7}capital social/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2150));
|
||
|
||
if (preg_match("/mise en sommeil/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é
|
||
// Déclaration de dissolution par l'associé unique.
|
||
|
||
// DISSOLUTION
|
||
if (preg_match("/D(é|e)claration.{1,10}dissolution.{1,5}par.{1,5}associ.{1,7}unique/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2210));
|
||
elseif (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
|
||
elseif (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|changeme|suppres|ajout).{1,15}(survenue|).{1,5}d(é|e)nomina(ti|it)on/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2305)); // Modification de la dénomination
|
||
//Adjonction d'un nom commercial.
|
||
if (preg_match("/(modification|adjonction|adoption|prise|ancien|changeme|suppres|ajout).{0,15}(survenue|).{0,5}nom.{0,5}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|changeme|suppres|ajout).{1,15}(survenue|).{1,5}nom( |\.)/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2308)); // Modification du nom
|
||
elseif (preg_match("/(modification sur le nom|nouvelle raison sociale)/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|changeme|suppres|ajout).{1,15}(survenue|).{1,5}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|changeme|suppres|ajout).{1,15}(survenue|).{1,5}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|changeme|suppres|ajout).{1,15}(survenue|).{1,5}pseudonyme/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2310)); // Modif Pseudo
|
||
// 0 1 2 3 4
|
||
// 12345678901234567890123456789012345678901
|
||
if (preg_match("/(mise...jour|nouvel|nouveau|modification|adjonction|ancien|cha.g|ajout|d.part|nomination|d.mis(si|is)on|r.vocation|Entrée|Changement).{0,25}(survenue|).{0,25}(administration|administrateur| repr.sentant|g.ran|commissaire|direct..r|membre|conseil|surveillance|pr.sident|associ|PDG|contr.leur|Suppl.ant|direction|dirigeant)/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.{0,15}(survenue|).{0,5}capital.{0,15}augmentation/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2102)); // Augmentation de capital
|
||
elseif (preg_match("/augmentation.{0,15}(survenue|).{0,5}capital/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2102)); // Augmentation de capital
|
||
elseif (preg_match("/modification.{0,15}(survenue|).{0,5}capital.{0,15}diminution/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2100)); // diminution de capital
|
||
elseif (preg_match("/(diminution|r.duction).{0,15}(survenue|).{0,5}capital/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2100)); // diminution de capital
|
||
elseif (preg_match("/(modification|ancien|changement|nouveau).{0,15}(survenue|).{0,5}capital/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2101)); // Modification de capital
|
||
// Adjonction activité
|
||
if (preg_match("/(modification|adjonction|ancienne|changeme|extension|suppres|ajout).{0,15}(survenue|).{0,5}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|changeme|r.gularisation|report).{1,20}(date|prise).{1,15}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é
|
||
elseif (preg_match("/(prorogation|prolongation|augmentation|allongement|changement|modifi).{1,30}(durée|duree)/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|transform|ancienne|changeme).{1,20}forme/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2307)); // Modification FJ
|
||
elseif (preg_match("/transformation.{1,25}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) {
|
||
$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
|
||
}
|
||
echo "$texte\n?";
|
||
//$saisie = fgets(STDIN);
|
||
}
|
||
|
||
if (preg_match("/contrat.{1,25}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("/poursuit.{1,25}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.{1,25}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|changement).{1,25}exploitation/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2311)); // Modification sur l'exploitation
|
||
|
||
if (preg_match("/projet.{1,25}transf(é|e|è)r.{1,25}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.{1,25}transf(é|e|è)r.{1,25}si(é|e|è)ge.{1,25}social.{1,25}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.{1,25}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).{1,25}adresse/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2300)); // Changement d'adresse
|
||
elseif (preg_match("/(transf|changement|ancien).{0,5}(et|).{0,3}(si.ge|SSET|principal)/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège
|
||
elseif (preg_match("/transf.r.{1,7}entreprise/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège
|
||
elseif (preg_match("/immat.{1,7}suite.{1,7}transf.r/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège
|
||
elseif (preg_match("/(ouverture|ancien).{1,15}tablissement.{1,9}principal/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège
|
||
elseif (preg_match("/si(é|e|è)ge.{1,15}liquidation.{1,15}fix/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège)
|
||
elseif (preg_match("/Suppression ETB1 et ETB2 devient principal/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901)); // Transfert de siège)
|
||
|
||
if (preg_match("/transfert.{1,25}(du|de) fond/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2902)); // Transfert du fond
|
||
elseif (preg_match("/fond.{1,20}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.{1,25}(étab|etb1|etb2|etab)/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2900)); // Transfert d'établissement
|
||
|
||
if (preg_match("/fermeture.{1,20} du .{1,15}fonds/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2205)); // Fermeture du fonds
|
||
|
||
if (preg_match("/(création|creation).{1,15} d.{1,5}fonds/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2950)); // Création de fonds
|
||
|
||
if (preg_match("/vente .{0,15}du .{0,15}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("/repris.{1,25}du.{1,25}fonds.{1,25}par.{1,25}conjoint/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2406)); // Reprise du fonds par le conjoint
|
||
|
||
if (preg_match("/(pr.cision|mention|d.claration|changement|entr.e|mise...jour).{0,18}asso/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2350)); // Déclaration des associés
|
||
if (preg_match("/(location|fond).{1,7}g(é|e)rance/i", $texte)) {
|
||
if (preg_match("/(donn.|mise).{1,7}en.{1,7}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2870)); // LG donnée
|
||
elseif (preg_match("/(reçu|recu|pris).{1,7}en.{1,7}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2800)); // LG reçue
|
||
|
||
if (preg_match("/(é|e)tablissement.{1,20}en.{1,7}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2891)); // LG établissement
|
||
elseif (preg_match("/fond.{1,20}en.{1,7}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2892)); // LG fond
|
||
elseif (preg_match("/location.{1,7}g(é|e)rance.{1,20}branche/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2890)); // LG branche
|
||
elseif (preg_match("/branche.{1,20}en.{1,7}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2890)); // LG branche
|
||
|
||
if (preg_match("/(fin|résiliation).{1,20}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2885)); // Fin LG
|
||
elseif (preg_match("/pr(é|e|è)c(é|e|è)demment.{1,20}exploité.{1,20}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2885)); // Fin LG
|
||
elseif (preg_match("/reprise.{1,5}fond.{1,5}g(é|e)rance.{1,9}propri.taire/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2885)); // Fin LG
|
||
elseif (preg_match("/renouvellement.{1,20}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2880)); // Renouvellement LG
|
||
elseif (preg_match("/(modification|changement).{1,20}location.{1,7}g(é|e)rance/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2881)); // Changement LG
|
||
|
||
if (count($tabAnnonces[$idann]['data']['typeMMD'])==0)
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2800)); // LG reçue
|
||
}
|
||
if (preg_match("/suppression.{1,15} branche /i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2207)); // Suppression branche activité
|
||
if (preg_match("/(cession|vente).{1,15}branche /i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2211));
|
||
|
||
if (preg_match("/changement.{1,15}de.{1,15}nationalit/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2650)); // Changement de nationalité
|
||
|
||
if (preg_match("/(déclaration|mention).{1,20}conjoint.{1,10}collaborateur/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2407)); // Mention du conjoint collaborateur
|
||
elseif (preg_match("/radiation.{1,20}conjoint.{1,10}collaborateur/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2408)); // Radiation du conjoint collaborateur
|
||
|
||
if (preg_match("/transmission.{1,20}universel.{1,20}patr/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2620)); // Transmission universelle du patrimoine
|
||
elseif (preg_match("/transmission.{1,20}h.ritage/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2625)); // Transmission par héritage
|
||
elseif (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.{1,15}domicil.{1,15}personnel/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2640)); // Changement de domicile personnel
|
||
elseif (preg_match("/changement.{1,15}domicil/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2300)); // Changement d'adresse
|
||
|
||
// Transfert de siège
|
||
if (preg_match("/nouve(au|l).{1,6}(si.ge|tablissement principal)/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2901));
|
||
|
||
// Modifications groupées
|
||
if (preg_match("/modification.{1,70}d.nomination.{1,8}forme.{1,8}juridique.{1,8}activit.{1,21}administration/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array('2313','2305','2307','2315'));
|
||
elseif (preg_match("/modification.{1,17}activit.{1,8}d.nomination.{1,8}nom commercial/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array('2313','2305','2309'));
|
||
elseif (preg_match("/modification.{1,17}d.nomination.{1,10}nom commercial/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array('2305','2309'));
|
||
|
||
|
||
|
||
/** @todo Voir si on crée un évènement **/
|
||
if (preg_match("/odification.{1,7}origine.{1,7}fonds/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
elseif (preg_match("/Annulation.{1,9}(radiation|mention).{1,7}office/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
elseif (preg_match("/retour des statuts à l'état antérieur/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
elseif (preg_match("/Inscript.Compl.m.Transmis.Univers.Patrim/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
elseif (preg_match("/Inscription.compl.mentaire.avec.achat/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
elseif (preg_match("/SANS PUBLICATION AU BODACC/i", $texte))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
} else {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo $annonceTxt;
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type d'acte différent de 'mmd' ou 'radiations' pour l'annonce $idann !".EOL;
|
||
|
||
|
||
while(true){
|
||
echo 'Vérifier avec le Bodacc version Papier et saisir le type d\'annonce (M)md / (R)adiation / (P)asser provisoirement l\'intégration de ce Bodacc ?'.EOL;
|
||
$saisie = trim(strtoupper(fgets(STDIN)));
|
||
if ($saisie=='M') {
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B111';
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_merge($tabAnnonces[$idann]['data']['typeMMD'], array(2312));
|
||
break;
|
||
} elseif ($saisie=='R') {
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B117';
|
||
$tabAnnonces[$idann]['data']['typeRadiation']=6700;
|
||
break;
|
||
|
||
} elseif ($saisie=='' || $saisie=='P') {
|
||
continue(3);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
// Descriptif MMD
|
||
$annonceTxt.=generePhraseBodaccTxt($descriptif, 'Commentaires');
|
||
|
||
// Date de commencement d'activité
|
||
$annonceTxt.=str_replace(' 01 ', ' 1er ',generePhraseBodaccTxt(strtolower(WDate::dateT('Y-m-d', 'd M Y', $dateCommencementActivite)), "Date de commencement d'activité"));
|
||
|
||
// Date de cessation ou d'effet
|
||
if ($typeActe=='radiations') $libEffet="Date de cessation d’activité";
|
||
else $libEffet="Date d'effet";
|
||
$annonceTxt.=str_replace(' 01 ', ' 1er ',generePhraseBodaccTxt(strtolower(WDate::dateT('Y-m-d', 'd M Y', $dateEffet)),
|
||
$libEffet));
|
||
|
||
$tabAnnonces[$idann]['annonce']=trim(str_replace(' .','.', preg_replace('/ +/', ' ', $annonceTxt)));
|
||
|
||
if ($typeActe=='mmd' && is_array($tabAnnonces[$idann]['data']['typeMMD']))
|
||
$tabAnnonces[$idann]['data']['typeMMD']=array_unique($tabAnnonces[$idann]['data']['typeMMD']);
|
||
if ($typeActe=='mmd' && count($tabAnnonces[$idann]['data']['typeMMD'])==0) {
|
||
echo "MMD inconnue pour l'annonce $idann : ".$tabAnnonces[$idann]['annonce'].EOL;
|
||
|
||
$fpJ=fopen('/var/www/log/newMMD.log','a');
|
||
fwrite($fpJ, "Annonce $idann : MMD inconnue pour \"".$tabAnnonces[$idann]['annonce']."\"");
|
||
fclose($fpJ);
|
||
$codeEven=2312;
|
||
} elseif ($precedentExploitant) {
|
||
//$tabAnnonces[$idann]['Rubrique_Bodacc']='B118'; // Location gérance reçue ...... PP
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B119'; // Location gérance reçue ...... PM
|
||
/*$tabAnnonces[$idann]['Rubrique_Bodacc']='B122'; // Location gérance donnée ..... PP
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='B123'; // Location gérance donnée ..... PM*/
|
||
//print_r($tabAnnonces[$idann]['data']);
|
||
//echo $tabAnnonces[$idann]['annonce'].EOL;
|
||
//echo "Traiter les locations gérance".EOL;
|
||
//$saisie = fgets(STDIN);
|
||
}
|
||
/* else {
|
||
$even=$tabAnnonces[$idann]['data']['typeRadiation'];
|
||
echo 'RAD: '.$iBodacc->getEvenement($even)." ($even)".EOL;
|
||
}
|
||
echo '?'.EOL;
|
||
$saisie = trim(strtoupper(fgets(STDIN)));
|
||
*/
|
||
|
||
$bodaccDepNumPre=$bodaccDepNum;
|
||
}
|
||
/*
|
||
print_r($tabTextTmp);
|
||
foreach ($tabActesCategorie as $typeActe=>$tabTmp){
|
||
echo "$typeActe\n";
|
||
print_r(array_unique($tabTmp));
|
||
}*/
|
||
|
||
///// FIN de la boucle de lecture des annonces procoles
|
||
//die();
|
||
//continue; // PROVISOIRE pour ne pas charger !!!
|
||
|
||
|
||
|
||
/**
|
||
** DEBUT BODACC C en XML
|
||
**/
|
||
} elseif ($debutNom=='BILAN') {
|
||
|
||
if ($dateBodacc<20090327 && $dateBodacc<>20090218) {
|
||
echo date ('Y/m/d - H:i:s')." - BODACC C en XML non chargé tant que les TLS étaient disponible => 27/03/2009 !".EOL;
|
||
continue;
|
||
}
|
||
|
||
if ($validateSchema) {
|
||
|
||
/** VALIDATION SCHEMA **/
|
||
if (!$dom_object->schemaValidate('/var/www/batch/bodacc/Bodacc_Bilan_Redif_V02.xsd')) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de Bodacc '$dateBodaccTxt' Schéma XML non validé !".EOL;
|
||
if (!$reload) {
|
||
echo EOL.'$forceContinue='.$forceContinue.EOL;
|
||
if ($forceContinue)
|
||
continue;
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - Conseil : Corrigez le fichier XML ".BODACC_LOCAL_DIR.str_replace('.taz','.xml', $nomFichier)." et relancer avec l'option _u !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier validé.".EOL;
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier ignoré.".EOL;
|
||
|
||
/** Chargement des Annonces **/
|
||
$result = $xpath->query("//Bilan_XML_Rediff/listeAvis/avis/.");
|
||
if (count($result)==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a aucune annonce à traiter dans ce flux XML !".EOL;
|
||
die();
|
||
}
|
||
|
||
/**
|
||
** Traitement de chaque annonce du noeud Bilan_XML_Rediff
|
||
**/
|
||
foreach ($result as $annonce) {
|
||
|
||
/* On réinitialise toutes les variables servant a reconstruire le texte de l'annonce */
|
||
$typeBodacc=$numeroParutionCorr=$dateCorr=$numeroAnnonceCorr='';
|
||
$dateJuge=$nature=$siren=$codeRM=$deptRM=$codeRCS=$nomGreffeImmat=$raisonSociale=$enseigne=$sigle=$fj=$activite=$adr=$cp=$ville=$complementJugement='';
|
||
|
||
$bodaccNumAnnCalc++;
|
||
|
||
$title = $xpath->query ("numeroAnnonce", $annonce);
|
||
$bodaccNumAnn=$title->item(0)->nodeValue;
|
||
if ($bodaccNumAnnCalc==1 && $bodaccNumAnn>300) {
|
||
echo(date ('Y/m/d - H:i:s')." - Chapitre Procédures collectives débutant par l'annonce n°$bodaccNumAnn...".EOL);
|
||
$bodaccNumAnnCalc=$bodaccNumAnn*1;
|
||
/* On initialise le 1er n° d'annonce trouvé dans le bodacc pour contrôle */
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
} else {
|
||
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {
|
||
$endTmp=false;
|
||
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);
|
||
}
|
||
}
|
||
$bodaccNumAnn=$bodaccNumAnnCalc;
|
||
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb'])) {
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
}
|
||
|
||
$tmp=explode(' ', $bodaccNumAnn);
|
||
$bodaccNumAnn=trim($tmp[0]);
|
||
|
||
/** Numéro unique interne à ce programme pour chaque annonce **/
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
|
||
$title = $xpath->query ("nojo", $annonce);
|
||
$nojo=$title->item(0)->nodeValue;
|
||
|
||
/** On initialise le tableau $tabAnnonces[$idann] qui contient toutes les infos de l'annonce **/
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$tabAnnonces[$idann]['Num_Annonce']=$bodaccNumAnn;
|
||
$tabAnnonces[$idann]['Bodacc_Code']=$bodaccType;
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='C331'; // Compatibilité codes TLS
|
||
$tabAnnonces[$idann]['Bodacc_Annee_Parution']=$bodaccAnneePar;
|
||
$tabAnnonces[$idann]['Bodacc_Num']=substr($bodaccNumPar,1,strlen($bodaccNumPar)-1);
|
||
$tabAnnonces[$idann]['Bodacc_NOJO']=$nojo;
|
||
$tabAnnonces[$idann]['data']=array();
|
||
|
||
/** On récupère l'annonce XML **/
|
||
$dom = new DOMDocument('1.0', 'iso-8859-1');
|
||
//$dom->formatOutput=true;
|
||
$elem=$dom->createElement('annonce');
|
||
$dom->appendChild($dom->importNode($annonce, true));
|
||
$tabAnnonces[$idann]['balises']=$dom->saveXML();
|
||
|
||
$title = $xpath->query ('typeAnnonce/*', $annonce);
|
||
$typeAnnonce=strtolower($title->item(0)->nodeName);
|
||
if ($typeAnnonce=='annonce')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
|
||
elseif ($typeAnnonce=='rectificatif' || $typeAnnonce=='annulation') {
|
||
if ($typeAnnonce=='annulation')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
|
||
else
|
||
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
|
||
|
||
$tabAnnonces[$idann]['corrPage']=NULL;
|
||
$tabAnnonces[$idann]['corrTexteRectificatif']=NULL;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroAnnonce', $annonce);
|
||
$numeroAnnonceCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$numeroAnnonceCorr;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/nomPublication', $annonce);
|
||
$typeBodacc=substr($title->item(0)->nodeValue,-1);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroParution', $annonce);
|
||
$numeroParutionCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNumParution']=$typeBodacc.substr($numeroParutionCorr,-3);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/dateParution', $annonce);
|
||
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue));
|
||
$dateCorr=str_replace(' 01 ', ' 1er ',strtolower(WDate::dateT('Y-m-d', 'd M Y', $tabAnnonces[$idann]['corrBodacc_Date_Parution'])));
|
||
//die("Vérifier avec le Bodacc C l'annonce n°$idann car la balise parutionAvisPrecedent/dateParution=$dateCorr".EOL);
|
||
}
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type d'annonce '$typeAnnonce' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
|
||
$title = $xpath->query ("numeroDepartement", $annonce);
|
||
$bodaccDepNum=$title->item(0)->nodeValue;
|
||
$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;
|
||
}
|
||
|
||
$title = $xpath->query ("tribunal", $annonce);
|
||
$texte = utf8_decode($title->item(0)->nodeValue);
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$tabAnnonces[$idann]['Tribunal_Code'] && ( ( $bodaccDepNum>70 && $bodaccDepNum<77)
|
||
|| $bodaccDepNum==85 ) ) {
|
||
// A priori il s'agit d'une erreur de codification des DOM par la DJO !!!!
|
||
$title = $xpath->query ("adresse/france/codePostal", $annonce);
|
||
for ($i = 0; $i < $title->length; $i++) {
|
||
$bodaccDepNum=substr($title->item($i)->nodeValue,0,3)*1;
|
||
if ( ($bodaccDepNum>970 && $bodaccDepNum<976 ) || $bodaccDepNum==85 ) {
|
||
//echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' (Dépt. $bodaccDepNum) TROUVE pour l'annonce $idann !".EOL;
|
||
//die();
|
||
break;
|
||
}
|
||
}
|
||
//if ($bodaccDepNum==977) $bodaccDepNum=974; // Bug Bodacc
|
||
}
|
||
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$iBodacc->getTribunalCode($texte, $bodaccDepNumPre);
|
||
if (!$iBodacc->isTribunal($tabAnnonces[$idann]['Tribunal_Code'])) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' (Dépt. $bodaccDepNum) inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
|
||
// $famille = trim(utf8_decode($title->item(0)->nodeValue));
|
||
// $nature = trim(utf8_decode($title->item(0)->nodeValue));
|
||
// $dateJuge=trim(str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue)));
|
||
// $complementJugement=trim(utf8_decode($title->item(0)->nodeValue));
|
||
|
||
/** Génération de l'entête de l'annonce en fonction du type d'annonce **/
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Insertion') {
|
||
/* Entête de nouvelle annonce : N° Date et type de jugement */
|
||
$annonceTxt="$bodaccNumAnn - ";
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
/* Entête d'annonce d'annulation */
|
||
$annonceTxt ="$bodaccNumAnn - Annulation. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est nul et non avenu.".EOL;
|
||
|
||
} else {
|
||
/* Entête d'annonce de suppression */
|
||
$annonceTxt ="$bodaccNumAnn - Rectificatif. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est annulé et remplacé par le suivant.".EOL;
|
||
}
|
||
|
||
// foreach ($result2 as $personne) {
|
||
// Mise à blanc des champs textes pour la génération de l'annonce
|
||
$siren=$codeRM=$deptRM=$codeRCS=$nomGreffeImmat=$raisonSociale=$fj=$nomCommercial=$nationalite=$sigle='';
|
||
$enseigne=$activite=$adr=$cp=$ville=$typeDepot=$dateCloture='';
|
||
|
||
$title = $xpath->query("numeroImmatriculation/codeRCS", $annonce);
|
||
$codeRCS = strtoupper(trim(utf8_decode($title->item(0)->nodeValue)));
|
||
|
||
$title = $xpath->query("numeroImmatriculation/nomGreffeImmat", $annonce);
|
||
$nomGreffeImmat=trim(utf8_decode($title->item(0)->nodeValue));
|
||
|
||
$title = $xpath->query("numeroImmatriculation/numeroIdentificationRCS", $annonce);
|
||
$siren = str_replace(' ','',preg_replace('/[^0-9]/',' ', $title->item(0)->nodeValue))*1;
|
||
if ($siren<>0) {
|
||
if ($siren<000100000) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Siren $siren impossible pour l'annonce $idann !".EOL;
|
||
die();
|
||
}elseif($siren<001000000)
|
||
$siren='000'.$siren;
|
||
elseif ($siren<010000000)
|
||
$siren='00'. $siren;
|
||
elseif ($siren<100000000)
|
||
$siren='0'. $siren;
|
||
}
|
||
|
||
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)) {
|
||
$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));
|
||
}
|
||
|
||
/** <denomination, nom, prenom, formeJuridique> **/
|
||
$title = $xpath->query ("denomination", $annonce);
|
||
$raisonSociale = trim(utf8_decode($title->item(0)->nodeValue));
|
||
/*if ($raisonSociale=='') {
|
||
// NOM
|
||
$title = $xpath2->query ("personnePhysique/nom", $personne);
|
||
$raisonSociale = utf8_decode($title->item(0)->nodeValue) . ' ('.
|
||
// Prénoms
|
||
$title = $xpath2->query ("personnePhysique/prenom", $personne);
|
||
for ($i = 0; $i < $title->length; $i++)
|
||
$raisonSociale.= utf8_decode($title->item($i)->nodeValue).' ';
|
||
$raisonSociale=trim(preg_replace('/\d/','', str_replace('Object id #', '', $raisonSociale))).')';
|
||
// Nom d'usage
|
||
$title = $xpath2->query ("personnePhysique/nomUsage", $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Nom d'usage : ".utf8_decode($title->item(0)->nodeValue);
|
||
// Pseudonyme
|
||
$title = $xpath2->query ('personnePhysique/pseudonyme', $personne);
|
||
if (trim(utf8_decode($title->item(0)->nodeValue))<>'')
|
||
$raisonSociale.=". Pseudonyme : ".utf8_decode($title->item(0)->nodeValue);
|
||
}*/
|
||
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($raisonSociale));
|
||
|
||
/** <formeJuridique> **/
|
||
$title = $xpath->query ("formeJuridique", $annonce);
|
||
$fj=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['FJ']) || !is_array($tabAnnonces[$idann]['data']['FJ']) )
|
||
$tabAnnonces[$idann]['data']['FJ']=array();
|
||
$tabAnnonces[$idann]['data']['FJ']=array_merge($tabAnnonces[$idann]['data']['FJ'], array($fj));
|
||
|
||
/** <sigle> **/
|
||
$title = $xpath->query ("sigle", $annonce);
|
||
$sigle=utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['sigle']) || !is_array($tabAnnonces[$idann]['data']['sigle']) )
|
||
$tabAnnonces[$idann]['data']['sigle']=array();
|
||
$tabAnnonces[$idann]['data']['sigle']=array_merge($tabAnnonces[$idann]['data']['sigle'], array($sigle));
|
||
|
||
/** <adresse/france/numeroVoie typeVoie nomVoie complGeographique>**/
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVoie']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeVoie']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array();
|
||
|
||
$title = $xpath->query ("adresse/france/numeroVoie", $annonce);
|
||
$adr = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/typeVoie", $annonce);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/nomVoie", $annonce);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/complGeographique", $annonce);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/BP", $annonce);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/france/localite", $annonce);
|
||
$adr.='|'.utf8_decode($title->item(0)->nodeValue);
|
||
/** <adresse/etranger>**/
|
||
$title = $xpath->query ("adresse/etranger/adresse", $annonce);
|
||
$etranger = utf8_decode($title->item(0)->nodeValue);
|
||
$title = $xpath->query ("adresse/etranger/pays", $annonce);
|
||
$pays = utf8_decode($title->item(0)->nodeValue);
|
||
if ($etranger<>'' || $pays<>'')
|
||
$adr.='|'.$etranger.'|'.$pays;
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVoie']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVoie'], (array)$adr);
|
||
|
||
/** <adresse/france/codePostal>**/
|
||
$title = $xpath->query ("adresse/france/codePostal", $annonce);
|
||
$cp = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeCP']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeCP']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeCP']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeCP'], (array)$cp);
|
||
|
||
/** <adresse/france/ville>**/
|
||
$title = $xpath->query ("adresse/france/ville", $annonce);
|
||
$ville = utf8_decode($title->item(0)->nodeValue);
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresseSiegeVille']) || !is_array($tabAnnonces[$idann]['data']['adresseSiegeVille']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array();
|
||
$tabAnnonces[$idann]['data']['adresseSiegeVille']=array_merge($tabAnnonces[$idann]['data']['adresseSiegeVille'], (array)$ville);
|
||
|
||
/** <enseigne> **/
|
||
$title = $xpath->query ('enseigne', $annonce);
|
||
$enseigne=utf8_decode($title->item(0)->nodeValue);
|
||
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($enseigne));
|
||
|
||
/** <activite> **/
|
||
$title = $xpath->query ("activite", $annonce);
|
||
$activite = utf8_decode($title->item(0)->nodeValue);
|
||
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($activite));
|
||
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}/", $activite,$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)));
|
||
}
|
||
}
|
||
|
||
|
||
/** <dateCloture> **/
|
||
$title = $xpath->query ('depot/dateCloture', $annonce);
|
||
$dateCloture=utf8_decode($title->item(0)->nodeValue);
|
||
$tabAnnonces[$idann]['data']['dateCloture']=$dateCloture;
|
||
|
||
/** <typeDepot> **/
|
||
$tabAnnonces[$idann]['data']['comptesAnnu']=$tabAnnonces[$idann]['data']['comptesConso']=0;
|
||
$title = $xpath->query ('depot/typeDepot', $annonce);
|
||
$typeDepot=utf8_decode($title->item(0)->nodeValue);
|
||
if ($typeDepot=='Comptes annuels et rapports') {//<typeDepot>Comptes annuels et rapports</typeDepot>
|
||
$tabAnnonces[$idann]['data']['comptesAnnu']=1;
|
||
} elseif ($typeDepot=='Comptes consolidés et rapports') {
|
||
$tabAnnonces[$idann]['data']['comptesConso']=1;
|
||
} elseif ($typeDepot=='Comptes annuels, consolidés et rapports') {
|
||
$tabAnnonces[$idann]['data']['comptesAnnu']=1;
|
||
$tabAnnonces[$idann]['data']['comptesConso']=1;
|
||
} elseif ($typeAnnonce<>'annulation') {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type de dépôt '$typeDepot' inconnu pour l'annonce $idann !".EOL;
|
||
print_r($tabAnnonces[$idann]);
|
||
die();
|
||
}
|
||
|
||
// Génération du texte d'annonce Siren / RCS / Greffe
|
||
if ($codeRM<>'')
|
||
$annonceTxt.="$codeRM $deptRM ";
|
||
|
||
if ($siren<>'' && $siren*1<>0)
|
||
$annonceTxt.=number_format($siren, 0, '', ' ').'. ';
|
||
|
||
$annonceTxt.="$codeRCS ";
|
||
if ($nomGreffeImmat<>'')
|
||
$annonceTxt.=" $nomGreffeImmat. ";
|
||
|
||
// Génération du texte d'annonce Raison sociale, Nom/Prénom/ Forme / Activité / Adresse
|
||
$annonceTxt.=' '.$raisonSociale.'.';
|
||
if ($fj<>'')
|
||
if (substr($fj,-1)=='.') $annonceTxt.=" Forme : $fj";
|
||
else $annonceTxt.=" Forme : $fj.";
|
||
|
||
if ($nomCommercial<>'')
|
||
if (substr($nomCommercial,-1)=='.') $annonceTxt.=" Nom commercial : $nomCommercial";
|
||
else $annonceTxt.=" Nom commercial : $nomCommercial.";
|
||
|
||
$annonceTxt.=generePhraseBodaccTxt($nationalite, 'Nationalité');
|
||
|
||
if ($sigle<>'')
|
||
if (substr($sigle,-1)=='.') $annonceTxt.=" Sigle : $sigle";
|
||
else $annonceTxt.=" Sigle : $sigle.";
|
||
|
||
/* Enseigne */
|
||
if ($enseigne<>'')
|
||
if (substr($enseigne,-1)=='.') $annonceTxt.=" Enseigne : $enseigne";
|
||
else $annonceTxt.=" Enseigne : $enseigne.";
|
||
|
||
/* Activité */
|
||
if ($activite<>'')
|
||
$annonceTxt.=" Activité : $activite.";
|
||
|
||
if (trim(strtr($adr,'|',' '))<>'' || $cp<>'' || $ville<>'')
|
||
$annonceTxt.=' Adresse du siège social : '. str_replace('|',' ',$adr) ." $cp $ville.";
|
||
|
||
$annonceTxt.=' ';
|
||
//}
|
||
if ($typeAnnonce<>'annulation')
|
||
$annonceTxt.=" $typeDepot de l'exercice clos le : ".str_replace(' 01 ', ' 1er ',strtolower(WDate::dateT('Y-m-d', 'd M Y', $dateCloture))).'.';
|
||
|
||
$tabAnnonces[$idann]['annonce']=trim(str_replace(' .','.', preg_replace('/ +/', ' ', $annonceTxt)));
|
||
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Rectification' ) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ATTENTION : Vérifier les annonces de Rectification !".EOL;
|
||
die();
|
||
}
|
||
|
||
//$tabTxtAnn[]=$tabAnnonces[$idann]['annonce'];
|
||
|
||
$bodaccDepNumPre=$bodaccDepNum;
|
||
}
|
||
///// FIN de la boucle de lecture des annonces BILANS
|
||
|
||
//print_r($tabTxtAnn);
|
||
//die();
|
||
|
||
/**
|
||
** DEBUT BODACC A en XML, Annonces diverses
|
||
**/
|
||
} elseif ($debutNom=='DIVA2') {
|
||
|
||
if ($dateBodacc<20090813) {
|
||
echo date ('Y/m/d - H:i:s')." - BODACC DIVA2 (annonces diverses) en XML non disponibles avant le 13/08/2009 !".EOL;
|
||
die("$dateBodacc/$dateBodaccTxt".EOL);
|
||
continue;
|
||
}
|
||
|
||
if ($validateSchema) {
|
||
|
||
/** VALIDATION SCHEMA **/
|
||
if (!$dom_object->schemaValidate('/var/www/batch/bodacc/Bodacc_Divers_Redif_V01.xsd')) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier $nomFichier, Date de Bodacc '$dateBodaccTxt' Schéma XML non validé !".EOL;
|
||
if (!$reload) {
|
||
echo EOL.'$forceContinue='.$forceContinue.EOL;
|
||
if ($forceContinue)
|
||
continue;
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - Conseil : Corrigez le fichier XML ".BODACC_LOCAL_DIR.str_replace('.taz','.xml', $nomFichier)." et relancer avec l'option _u !".EOL;
|
||
die();
|
||
}
|
||
}
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier validé.".EOL;
|
||
} else echo date ('Y/m/d - H:i:s')." - BODACC $debutNom $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Schéma du fichier $nomFichier ignoré.".EOL;
|
||
|
||
echo date ('Y/m/d - H:i:s')." - BODACC DIVA2 (annonces diverses) en XML non chargé pour l'instant...".EOL;
|
||
//continue;
|
||
|
||
/** Chargement des Annonces **/
|
||
$result = $xpath->query("//Divers_XML_Rediff/listeAvis/avis/.");
|
||
if (count($result)==0) {
|
||
echo date ('Y/m/d - H:i:s')." - Il n'y a aucune annonce à traiter dans ce flux XML !".EOL;
|
||
die();
|
||
}
|
||
|
||
/**
|
||
** Traitement de chaque annonce du noeud Bilan_XML_Rediff
|
||
**/
|
||
foreach ($result as $annonce) {
|
||
|
||
/* On réinitialise toutes les variables servant a reconstruire le texte de l'annonce */
|
||
$typeBodacc=$numeroParutionCorr=$dateCorr=$numeroAnnonceCorr='';
|
||
$dateJuge=$nature=$siren=$codeRM=$deptRM=$codeRCS=$nomGreffeImmat=$raisonSociale=$enseigne=$sigle=$fj=$activite=$adr=$cp=$ville=$complementJugement='';
|
||
|
||
$bodaccNumAnnCalc++;
|
||
|
||
$title = $xpath->query ("numeroAnnonce", $annonce);
|
||
$bodaccNumAnn=$title->item(0)->nodeValue;
|
||
if ($bodaccNumAnnCalc==1 && $bodaccNumAnn>300) {
|
||
echo(date ('Y/m/d - H:i:s')." - Chapitre Divers débutant par l'annonce n°$bodaccNumAnn...".EOL);
|
||
$bodaccNumAnnCalc=$bodaccNumAnn*1;
|
||
/* On initialise le 1er n° d'annonce trouvé dans le bodacc pour contrôle */
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
} else {
|
||
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {
|
||
$endTmp=false;
|
||
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);
|
||
}
|
||
}
|
||
$bodaccNumAnn=$bodaccNumAnnCalc;
|
||
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb'])) {
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnn;
|
||
}
|
||
|
||
$tmp=explode(' ', $bodaccNumAnn);
|
||
$bodaccNumAnn=trim($tmp[0]);
|
||
|
||
/** Numéro unique interne à ce programme pour chaque annonce **/
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
|
||
$title = $xpath->query ("nojo", $annonce);
|
||
$nojo=$title->item(0)->nodeValue;
|
||
|
||
/** On initialise le tableau $tabAnnonces[$idann] qui contient toutes les infos de l'annonce **/
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$tabAnnonces[$idann]['Num_Annonce']=$bodaccNumAnn;
|
||
$tabAnnonces[$idann]['Bodacc_Code']=$bodaccType;
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A900'; // Compatibilité codes TLS
|
||
$tabAnnonces[$idann]['Bodacc_Annee_Parution']=$bodaccAnneePar;
|
||
$tabAnnonces[$idann]['Bodacc_Num']=substr($bodaccNumPar,1,strlen($bodaccNumPar)-1);
|
||
$tabAnnonces[$idann]['Bodacc_NOJO']=$nojo;
|
||
$tabAnnonces[$idann]['data']=array();
|
||
|
||
/** On récupère l'annonce XML **/
|
||
$dom = new DOMDocument('1.0', 'iso-8859-1');
|
||
//$dom->formatOutput=true;
|
||
$elem=$dom->createElement('annonce');
|
||
$dom->appendChild($dom->importNode($annonce, true));
|
||
$tabAnnonces[$idann]['balises']=$dom->saveXML();
|
||
|
||
$title = $xpath->query ('typeAnnonce/*', $annonce);
|
||
$typeAnnonce=strtolower($title->item(0)->nodeName);
|
||
if ($typeAnnonce=='annonce')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Insertion';
|
||
elseif ($typeAnnonce=='rectificatif' || $typeAnnonce=='annulation') {
|
||
if ($typeAnnonce=='annulation')
|
||
$tabAnnonces[$idann]['typeAnnonce']='Suppression';
|
||
else
|
||
$tabAnnonces[$idann]['typeAnnonce']='Rectificatif';
|
||
|
||
$tabAnnonces[$idann]['corrPage']=NULL;
|
||
$tabAnnonces[$idann]['corrTexteRectificatif']=NULL;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroAnnonce', $annonce);
|
||
$numeroAnnonceCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNum_Annonce']=$numeroAnnonceCorr;
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/nomPublication', $annonce);
|
||
$typeBodacc=substr($title->item(0)->nodeValue,-1);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/numeroParution', $annonce);
|
||
$numeroParutionCorr=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['corrNumParution']=$typeBodacc.substr($numeroParutionCorr,-3);
|
||
|
||
$title = $xpath->query ('parutionAvisPrecedent/dateParution', $annonce);
|
||
$tabAnnonces[$idann]['corrBodacc_Date_Parution']=str_replace(chr(160),' ',utf8_decode($title->item(0)->nodeValue));
|
||
$dateCorr=str_replace(' 01 ', ' 1er ',strtolower(WDate::dateT('Y-m-d', 'd M Y', $tabAnnonces[$idann]['corrBodacc_Date_Parution'])));
|
||
//die("Vérifier avec le Bodacc C l'annonce n°$idann car la balise parutionAvisPrecedent/dateParution=$dateCorr".EOL);
|
||
}
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Type d'annonce '$typeAnnonce' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
|
||
$tabAnnonces[$idann]['Tribunal_Code']='ETATV';
|
||
$tabAnnonces[$idann]['Tribunal_Dept']=75;
|
||
|
||
$title = $xpath->query ("titreAnnonce", $annonce);
|
||
$titreAnnonce=$title->item(0)->nodeValue;
|
||
|
||
/** Génération de l'entête de l'annonce en fonction du type d'annonce **/
|
||
if ($tabAnnonces[$idann]['typeAnnonce']=='Insertion') {
|
||
/* Entête de nouvelle annonce : N° Date et type de jugement */
|
||
$annonceTxt="$bodaccNumAnn - ";
|
||
} elseif ($tabAnnonces[$idann]['typeAnnonce']=='Suppression') {
|
||
/* Entête d'annonce d'annulation */
|
||
$annonceTxt ="$bodaccNumAnn - Annulation. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est nul et non avenu.".EOL;
|
||
|
||
} else {
|
||
/* Entête d'annonce de suppression */
|
||
$annonceTxt ="$bodaccNumAnn - Rectificatif. BODACC $typeBodacc. Numéro de parution : $numeroParutionCorr. Date de parution : $dateCorr. Annonce numéro : $numeroAnnonceCorr. Cet avis est annulé et remplacé par le suivant.".EOL;
|
||
}
|
||
|
||
$title = $xpath->query ("contenuAnnonce", $annonce);
|
||
$annonceTxt.=$title->item(0)->nodeValue;
|
||
$tabAnnonces[$idann]['annonce']=utf8_decode(trim(str_replace(' .','.', preg_replace('/ +/', ' ', $annonceTxt))));
|
||
|
||
// Arrêt Conseil d\'Etat ou Conseil Supérieur des CAC'
|
||
echo "Titre Annonce = 'titreAnnonce'".EOL;
|
||
//interdiction temporaire d'exercice de la profession de commissaire aux comptes
|
||
if (preg_match('/interdiction(.*)temporair(.*)exerc(ice|er)(.*)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();
|
||
}
|
||
|
||
if ($tabAnnonces[$idann]['typeAnnonce']<>'Insertion' ) {
|
||
print_r($tabAnnonces[$idann]);
|
||
echo date ('Y/m/d - H:i:s')." - ATTENTION : BODACC A Divers - Vérifier les annonces hors insertion !".EOL;
|
||
die();
|
||
}
|
||
|
||
//$tabTxtAnn[]=$tabAnnonces[$idann]['annonce'];
|
||
|
||
$bodaccDepNumPre=$bodaccDepNum;
|
||
}
|
||
}
|
||
|
||
/**
|
||
** FIN BODACC A Divers en XML
|
||
**/
|
||
|
||
|
||
// N° de la dernière annonce du fichier
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Fin']=$bodaccNumAnn;
|
||
|
||
// print_r(array_unique($tabFamilleNature));
|
||
// print_r($tabAnnonces);
|
||
|
||
$tabFichiers[$nomFichier]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$tabFichiers[$nomFichier]['Bodacc_Date_Parution_Texte']=$dateBodaccTxt;
|
||
$tabFichiers[$nomFichier]['Bodacc_Code']=$bodaccType;
|
||
//$tabFichiers[$nomFichier]['Bodacc_Num']=substr($bodaccNumPar,1,strlen($bodaccNumPar)-1);
|
||
$tabFichiers[$nomFichier]['Bodacc_Annee_Parution']=$bodaccAnneePar;
|
||
|
||
$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;
|
||
|
||
// Provisoirement, le continue permet de ne pas charger les fichier !
|
||
//print_r($tabFic);
|
||
|
||
/********************************************************************/
|
||
/** FIN FORMAT .taz **/
|
||
/********************************************************************/
|
||
|
||
} elseif ($typeFichier=='.pdf') {
|
||
|
||
/********************************************************************/
|
||
/** DEBUT FORMAT .pdf **/
|
||
/********************************************************************/
|
||
|
||
//echo(date ('Y/m/d - H:i:s')." - ATTENTION : Bodacc $nomFichier est dans un format non encore chargé en base ! ".EOL);
|
||
continue;
|
||
// Conversion du .pdf en .xml
|
||
exec('cd '.BODACC_LOCAL_DIR.';pdftohtml -xml '.BODACC_LOCAL_DIR.$nomFichier);
|
||
|
||
//continue;
|
||
|
||
//$dateBodacc;
|
||
// BDXML-A_20070251_0001_p000.xml
|
||
$bodaccType=substr($nomFichier, 6, 1);
|
||
$tabFichiers[$nomFichier]['Bodacc_Code']=$bodaccType;
|
||
if (!in_array($bodaccType, $tabBodaccF))
|
||
continue; // La ligne de commande ne souhaite pas intégrer ce type de Bodacc
|
||
|
||
$bodaccAnneePar=substr($nomFichier, 8, 4);
|
||
$tabFichiers[$nomFichier]['Bodacc_Annee_Parution']=$bodaccAnneePar;
|
||
$bodaccNum=substr($nomFichier, 13, 3);
|
||
$tabFichiers[$nomFichier]['Bodacc_Num']=$bodaccNum;
|
||
|
||
$bodaccNumPar=$bodaccType.$bodaccNum;
|
||
|
||
/** 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) {
|
||
$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;
|
||
}
|
||
/** On test si le chargement du PDF doit être intégral ou partiel
|
||
**/
|
||
$ret=$iDb->select('chargements', 'NomFichier, Bodacc_Date_Parution, Bodacc_Code, Bodacc_Annee_Parution, Bodacc_Num, Num_Annonce_Deb, Num_Annonce_Fin', "Bodacc_Code='$bodaccType' AND Bodacc_Annee_Parution=$bodaccAnneePar AND Bodacc_Num=$bodaccNum");
|
||
if (count($ret)>0) {
|
||
/**NomFichier Nom du fichier TLS, PDF ou XML du BODACC Bodacc_Date_Parution Croissant Date de parution au format Date Bodacc_Date_Parution_Texte Date de parution du BODACC au format texte tel que communiqué dans le fichier DateDispo Date de mise à disposition du fichier par le Bodacc dateDownload Date de téléchargement du fichier taille Taille du fichier en octets Bodacc_Code Type du BODACC (A, B ou C) Bodacc_Annee_Parution Année de parution du Bodacc Bodacc_Num Numéro de parution du Bodacc dans l'année Num_Annonce_Deb Numéro de l'annonce de début Num_Annonce_Fin Numéro de l'annonce de fin**/
|
||
echo (date ('Y/m/d - H:i:s')." - ERREUR : Le fichier PDF $nomFichier contient des annonces qui ont déjà été chargées !".EOL);
|
||
print_r($ret);
|
||
die();
|
||
}
|
||
|
||
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 PDF $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de traitement ($nomFichier, $dateBodaccTxt, $tailleKo k)...".EOL;
|
||
|
||
$bodaccNumAnnCalc=$bodaccNumAnn=0;
|
||
|
||
$tabLignesPdf=file(BODACC_LOCAL_DIR.str_replace('.pdf','.xml', $nomFichier));
|
||
for ($i=0;isset($tabLignesPdf[$i]);$i++) { // On traite chaque ligne du fichier .pdf
|
||
$i+=$decalage;
|
||
$ligne_utf8=$tabLignesPdf[$i];
|
||
|
||
$decalage=0;
|
||
/** On récupère le numéro de page **/
|
||
if(preg_match('/<page number="(\d*)" /Ui',$ligne_utf8,$matches))
|
||
$pageCourante=$matches[1];
|
||
|
||
$ligne_utf8=preg_replace('/<text .*>/Ui','',$ligne_utf8);
|
||
$ligne_utf8=preg_replace('/<\/text>/i','',$ligne_utf8);
|
||
$ligne=utf8_decode($ligne_utf8);
|
||
|
||
$ligne_utf8p2=utf8_decode(preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$tabLignesPdf[$i+2])));
|
||
|
||
//echo 'Ligne = '.$ligne_utf8.EOL;
|
||
//echo 'REGEX = /<b>'.$pageCourante.'.{0,3}<\/b>(?:.*)BODACC(?:.*)'.($bodaccNum*1).' '.$bodaccType.' (.*) '.$bodaccAnneePar.'/Ui'.EOL;
|
||
|
||
//die($bodaccNum.' '.$bodaccType.' (.*) '.$bodaccAnneePar.' (?:.*) <b>'.$pageCourante.'<\/b>'.EOL);
|
||
if(preg_match('/'.($bodaccNum*1).' '.$bodaccType.' (.*) '.$bodaccAnneePar.' (?:.*) <b>'.$pageCourante.'<\/b>/Ui',$ligne_utf8,$matches)
|
||
||(preg_match('/<b>'.$pageCourante.'.{0,3}<\/b>(?:.*)BODACC n/Ui',$ligne_utf8) &&
|
||
preg_match('/'.($bodaccNum*1).' '.$bodaccType.' (.*) '.$bodaccAnneePar.'/Ui',$ligne_utf8p2,$matches))) {
|
||
/** On recherche la date du BODACC **/
|
||
$dateBodaccTxt=trim(preg_replace('/[^a-z0-9éû ]/i','', utf8_decode($matches[1]))).' '.$bodaccAnneePar;
|
||
$dateBodacc=WDate::dateT('d M Y', 'Ymd', $dateBodaccTxt);
|
||
//echo EOL.'$dateBodaccTxt='.$dateBodaccTxt.EOL;
|
||
// die($dateBodacc);
|
||
} elseif (preg_match('/^<b>(\d{2,3}) - (\D*)<\/b>$/Ui',$ligne_utf8,$matches)) {
|
||
/** On recherche le département **/
|
||
$bodaccDepNum=$matches[1]*1;
|
||
$bodaccDepLib=strtr(trim(utf8_decode($matches[2])), array('?'=>"'",'´'=>'','`'=>''));
|
||
|
||
/** On recherche le tribunal **/
|
||
if (!$iInsee->isDepartement($bodaccDepNum)) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Département '$bodaccDepNum' inconnu pour l'annonce $idann !".EOL;
|
||
die();
|
||
}
|
||
|
||
$tribunalTxt=strtr( trim(strip_tags(utf8_decode(preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$tabLignesPdf[$i+1]))))),
|
||
array('?'=>"'",'´'=>'','`'=>''));
|
||
$tribunalCode=$iBodacc->getTribunalCode($tribunalTxt, $bodaccDepNum);
|
||
//echo "je cherche $tribunalTxt dans le département $bodaccDepNum".EOL;
|
||
$decalage=2;
|
||
if (!$iBodacc->isTribunal($tribunalCode)) {
|
||
//$tribunalTxt2=str_replace("'",'', $tribunalTxt);
|
||
$tribunalTxt2=strtr($tribunalTxt, array("D'"=>'', "'"=>''));
|
||
$tribunalCode=$iBodacc->getTribunalCode($tribunalTxt2, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tribunalCode)) {
|
||
// On cherche la suite du libellé sur la ligne suivante
|
||
$tribunalTxt.=' '.strtr(trim(strip_tags(utf8_decode(preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$tabLignesPdf[$i+2]))))),
|
||
array('?'=>"'",'´'=>'','`'=>''));
|
||
$tribunalCode=$iBodacc->getTribunalCode($tribunalTxt, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tribunalCode)) {
|
||
//$tribunalTxt2=str_replace("'",'', $tribunalTxt);
|
||
$tribunalTxt2=strtr($tribunalTxt, array("D'"=>'', "'"=>''));
|
||
$tribunalCode=$iBodacc->getTribunalCode($tribunalTxt2, $bodaccDepNum);
|
||
if (!$iBodacc->isTribunal($tribunalCode)) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Tribunal '$texte' inconnu pour l'annonce $idann !".EOL;
|
||
echo $ligne_utf8.' '.$tabLignesPdf[$i+1].' '.$tabLignesPdf[$i+2];
|
||
die();
|
||
} else $tribunalTxt=$tribunalTxt2;
|
||
}
|
||
$decalage=3;
|
||
} else $tribunalTxt=$tribunalTxt2;
|
||
}
|
||
|
||
$familleTxt= strtr( trim(strip_tags(utf8_decode(preg_replace('/<\/text>/i','',preg_replace('/<text .*>/Ui','',$tabLignesPdf[$i+$decalage]))))),
|
||
array('?'=>"'",'´'=>'','`'=>''));
|
||
$tabFam[]=$familleTxt;
|
||
/*echo $decalage.':'.$tabLignesPdf[$i+$decalage].EOL;
|
||
echo "$bodaccDepNum $bodaccDepLib $tribunalTxt $tribunalCode $familleTxt".EOL;
|
||
die();*/
|
||
|
||
} elseif(preg_match('/^(\d*) \-(.*)/i',$ligne_utf8,$matches)) {
|
||
$annonceTxtPre=trim(strip_tags($annonceTxt));
|
||
$annonceBrute=trim($annonceTxt);
|
||
$bodaccNumAnnPre=$bodaccNumAnn;
|
||
$bodaccDepNumPre=$bodaccDepNum;
|
||
$tribunalCodePre=$tribunalCode;
|
||
$familleTxtPre=$familleTxt;
|
||
/** On recherche le numéro de l'annonce, qui indique un changement d'annonce **/
|
||
$bodaccNumAnn=$matches[1];
|
||
$annonceTxt=$ligne;
|
||
/* $bodaccNumAnnCalc++;
|
||
|
||
if (!preg_match('/^'.$bodaccNumAnnCalc.'/', str_replace('.','',''.$bodaccNumAnn)) ) {
|
||
$endTmp=false;
|
||
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);
|
||
}
|
||
$bodaccNumAnn=$bodaccNumAnnCalc;*/
|
||
|
||
|
||
if ($bodaccNumAnnPre*1>0) {
|
||
/* On initialise le 1er n° d'annonce trouvé dans le bodacc pour contrôle */
|
||
if (!isset($tabFichiers[$nomFichier]['Num_Annonce_Deb']))
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Deb']=$bodaccNumAnnPre;
|
||
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnnPre;
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$tabAnnonces[$idann]['Num_Annonce']=$bodaccNumAnnPre;
|
||
$tabAnnonces[$idann]['Bodacc_Code']=$bodaccType;
|
||
$tabAnnonces[$idann]['Bodacc_Annee_Parution']=$bodaccAnneePar;
|
||
$tabAnnonces[$idann]['Bodacc_Num']=$bodaccNum;
|
||
// $tabAnnonces[$idann]['Bodacc_NOJO']=NULL;
|
||
$tabAnnonces[$idann]['Bodacc_Page']=$pageCourante;
|
||
/* $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;*/
|
||
$tabAnnonces[$idann]['Tribunal_Dept']=$bodaccDepNumPre;
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$tribunalCodePre;
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']=$familleTxtPre;
|
||
// $tabAnnonces[$idann]['data']=array();
|
||
$tabAnnonces[$idann]['annonce']=trim(preg_replace('/ +/',' ',str_replace("\n",' ', strtr($annonceTxtPre, array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
$tabAnnonces[$idann]['balises']=$annonceBrute;
|
||
|
||
/* 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)) {
|
||
$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));
|
||
}*/
|
||
|
||
/** ACTIVITE **/
|
||
if (preg_match('/<i>Acti(?:\-<\/i>|)(?:\n|)(?:<i>|)vité :(?: +|)<\/i>(.*)<i>/Uis',
|
||
$tabAnnonces[$idann]['balises'], $matches)) {
|
||
if ( !isset($tabAnnonces[$idann]['data']['activite']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['activite']) )
|
||
$tabAnnonces[$idann]['data']['activite']=array();
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace('/<\/page>(.*)BODACC.{1,30}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}(.*)\.\n\.\n/Uis', '', trim($matches[1])), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
$strTmp=preg_replace("/Immatriculation d'une personne (.*)/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)));
|
||
}
|
||
}
|
||
}
|
||
|
||
/** CAPITAL **/
|
||
if (preg_match('/<i>Capi(?:\-<\/i>|)(?:\n|)(?:<i>|)tal :(?: +|)<\/i>(.*)<i>/Uis',
|
||
$tabAnnonces[$idann]['balises'], $matches)) {
|
||
/*[0] => <i>Capital : </i>1000.00
|
||
</page>
|
||
<page number="50" position="absolute" top="0" left="0" height="841" width="595">
|
||
o
|
||
7 A ? 11 janvier 2008
|
||
.
|
||
.
|
||
euros. <i>
|
||
[1] => 1000.00
|
||
</page>
|
||
<page number="50" position="absolute" top="0" left="0" height="841" width="595">
|
||
o
|
||
7 A ? 11 janvier 2008
|
||
.
|
||
.
|
||
euros.
|
||
)
|
||
|
||
1000.00 </page> <page number="50" position="absolute" top="0" left="0" height="841" width="595"> o 7 A ' 11 janvier 2008 . . euros.
|
||
|
||
*/
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace
|
||
('/<\/page>(.*)(\d{1,3} (?:A|B|C).{1,10}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}|BODACC)(.*)\.\n\.\n/Uis', '', trim($matches[1])), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
/* if ($idann=='2008-A007-1482') {
|
||
print_r($matches);
|
||
die(EOL.$strTmp.EOL);
|
||
}*/
|
||
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
|
||
**/
|
||
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);
|
||
}
|
||
}
|
||
|
||
/** FORME JURIDIQUE **/
|
||
if (preg_match('/<i>Forme :(?: +|)<\/i>(.*)<i>/Uis',
|
||
$tabAnnonces[$idann]['balises'], $matches)) {
|
||
if ( !isset($tabAnnonces[$idann]['data']['FJ']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['FJ']) )
|
||
$tabAnnonces[$idann]['data']['FJ']=array();
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace('/<\/page>(.*)BODACC.{1,30}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}(.*)\.\n\.\n/Uis', '', trim($matches[1])), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
if (substr($strTmp,-1)=='.') $strTmp=substr($strTmp,0,strlen($strTmp)-1);
|
||
$tabAnnonces[$idann]['data']['FJ']=array_merge($tabAnnonces[$idann]['data']['FJ'], array($strTmp));
|
||
}
|
||
|
||
/** ADRESSE **/
|
||
if (preg_match('/<i>Adresse :(?: +|)<\/i>(.*)<i>/Uis',
|
||
$tabAnnonces[$idann]['balises'], $matches)) {
|
||
|
||
/* if ( !isset($tabAnnonces[$idann]['data']['adresseSiege']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['adresseSiege']) )
|
||
$tabAnnonces[$idann]['data']['adresseSiege']=array();*/
|
||
if ( !isset($tabAnnonces[$idann]['data']['adresse']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['adresse']) )
|
||
$tabAnnonces[$idann]['data']['adresse']=array();//adresseComplete
|
||
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace('/<\/page>(.*)BODACC.{1,30}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}(.*)\.\n\.\n/Uis', '', trim($matches[1])), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
$tabAnnonces[$idann]['data']['adresse']=array_merge($tabAnnonces[$idann]['data']['adresse'], array($strTmp));
|
||
}
|
||
|
||
/** Administration **/
|
||
|
||
if (preg_match('/<i>Admi(?:\-<\/i>|)(?:\n|)(?:<i>|)nis(?:\-<\/i>|)(?:\n|)(?:<i>|)tra(?:\-<\/i>|)(?:\n|)(?:<i>|)tion :(?: +|)<\/i>(.*)<i>/Uis',
|
||
$tabAnnonces[$idann]['balises'], $matches)) {
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace('/<\/page>(.*)BODACC.{1,30}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}(.*)\.\n\.\n/Uis', '', trim($matches[1])), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
if ( !isset($tabAnnonces[$idann]['data']['administration']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['administration']) )
|
||
$tabAnnonces[$idann]['data']['administration']=array();
|
||
$tabAnnonces[$idann]['data']['administration']=array_merge($tabAnnonces[$idann]['data']['administration'], array($strTmp));
|
||
}
|
||
|
||
/** NOM COMMERCIAL **/
|
||
if (preg_match('/<i>Nom com(?:\-<\/i>|)(?:\n|)(?:<i>|)mer(?:\-<\/i>|)(?:\n|)(?:<i>|)cial :(?: +|)<\/i>(.*)<i>/Uis', $tabAnnonces[$idann]['balises'], $matches)) {
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace('/<\/page>(.*)BODACC.{1,30}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}(.*)\.\n\.\n/Uis', '', trim($matches[1])), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
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($strTmp));
|
||
}
|
||
|
||
/** RAISON SOCIALE **/
|
||
if (preg_match_all('/<b>(.*)<\/b>(.*)<i>/Uis', $tabAnnonces[$idann]['balises'], $matches)) {
|
||
if ( !isset($tabAnnonces[$idann]['data']['raisonSociale']) ||
|
||
!is_array($tabAnnonces[$idann]['data']['raisonSociale']) )
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array();
|
||
foreach ($matches[0] as $strTmp) {
|
||
$strTmp=trim(preg_replace('/ +/',' ', str_replace("\n",' ', strtr(preg_replace('/<\/page>(.*)BODACC.{1,30}(janvier|f.vrier|mars|avril|mai|juin|juillet|ao.t|septembre|octobre|novembre|d.cembre) 20\d{2,2}(.*)\.\n\.\n/Uis', '', trim($strTmp)), array(';'=>',',"-\n"=>'','?'=>"'")))));
|
||
$tabAnnonces[$idann]['data']['raisonSociale']=array_merge($tabAnnonces[$idann]['data']['raisonSociale'], array(strip_tags($strTmp)));
|
||
}
|
||
}
|
||
|
||
/** SIREN **/
|
||
if (preg_match_all("/non +inscrit|[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}/",
|
||
$tabAnnonces[$idann]['balises'],$matches)) {
|
||
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(); }
|
||
foreach ($matches[0] as $strTmp) {
|
||
$strTmp=strtr($strTmp, array('-'=>'',' '=>'', '.'=>''));
|
||
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));
|
||
}
|
||
}
|
||
}
|
||
|
||
/** ORIGINE DU FONDS **/
|
||
if (preg_match('/<i>Ori(?:\-<\/i>|)(?:\n|)(?:<i>|)gine +du +fonds :(?: +|)<\/i>(.*)<i>/Uis', $tabAnnonces[$idann]['balises'], $matches)) {
|
||
$vente_montant=0;$vente_devise='';
|
||
$strTmp=trim(str_replace("\n",' ', $matches[1]));
|
||
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=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
|
||
**/
|
||
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 ($familleTxt=='Créations d\'établissements') {/*
|
||
$tabActesCategorie[$typeActe][]=$categorieCreation;
|
||
$codeEven=$iBodacc->getCodeNatureEvenement($categorieCreation);
|
||
if ($codeEven==0) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Nature de creation '$categorieCreation' inconnue pour l'annonce $idann !".EOL;
|
||
die();
|
||
$fpJ=fopen('/var/www/log/newCreations.log','a');
|
||
fwrite($fpJ, 'md5("'.$categorieCreation.'")=>4999,');
|
||
fclose($fpJ);*/
|
||
$codeEven=4999;
|
||
//}
|
||
$tabAnnonces[$idann]['data']['typeCreation']=explode(';',$codeEven);
|
||
}
|
||
elseif ($familleTxt=='Immatriculations') {/*
|
||
$tabActesCategorie[$typeActe][]=$categorieImmatriculation;
|
||
$codeEven=$iBodacc->getCodeNatureEvenement($categorieImmatriculation);
|
||
if ($codeEven==0 && $categorieImmatriculation<>'') {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Nature d\'immatriculation '$categorieImmatriculation' inconnue pour l'annonce $idann !".EOL;
|
||
die();
|
||
$fpJ=fopen('/var/www/log/newImmatriculations.log','a');
|
||
fwrite($fpJ, 'md5("'.$categorieImmatriculation.'")=>4999,');
|
||
fclose($fpJ);
|
||
$codeEven=4999;
|
||
} elseif ($codeEven==0 && $categorieImmatriculation=='') {
|
||
// Gestion d'une annomalie du Bodacc*/
|
||
$codeEven=4000;
|
||
//}
|
||
$tabAnnonces[$idann]['data']['typeCreation']=explode(';',$codeEven);
|
||
}
|
||
|
||
//ICICREA//
|
||
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);
|
||
}
|
||
|
||
/** OPPOSITIONS **/
|
||
if (preg_match('/<i>Op(?:\-<\/i>|)(?:\n|)(?:<i>|)po(?:\-<\/i>|)(?:\n|)(?:<i>|)si(?:\-<\/i>|)(?:\n|)(?:<i>|)tions :(?: +|)<\/i>(.*)<i>/Uis', $tabAnnonces[$idann]['balises'], $matches)) {
|
||
$strTmp=trim($matches[1]);
|
||
$tabAnnonces[$idann]['data']['oppositions']=trim($strTmp);
|
||
}
|
||
|
||
/** PUBLICATION LEGALE **/
|
||
if (preg_match('/<i>Publi(?:\-<\/i>|)(?:\n|)(?:<i>|)ca(?:\-<\/i>|)(?:\n|)(?:<i>|)tion lé(?:\-<\/i>|)(?:\n|)(?:<i>|)gale :(?: +|)<\/i>(.*)$/Uis', $tabAnnonces[$idann]['balises'], $matches)) {
|
||
$strPublication=str_replace('?', "'", trim(preg_replace('/ +/',' ', strip_tags($matches[1]))));
|
||
$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]);
|
||
}
|
||
}
|
||
|
||
/** DATE DE COMMENCEMENT D'ACTIVITE **/
|
||
if (preg_match('/<i>Date +de +com(?:\-<\/i>|)(?:\n|)(?:<i>|)men(?:\-<\/i>|)(?:\n|)(?:<i>|)ce(?:\-<\/i>|)(?:\n|)(?:<i>|)ment +d.acti(?:\-<\/i>|)(?:\n|)(?:<i>|)vité :(?: +|)<\/i>(.*)<i>/Uis', $tabAnnonces[$idann]['balises'], $matches)) {
|
||
$datEvenement=strtr($matches[1], array("\n"=>'', ' '=>'', '.'=>''));
|
||
//die($datEvenement);
|
||
$tabAnnonces[$idann]['data']['dateDebutActivite']=WDate::dateT('dMY', 'Ymd', $datEvenement);
|
||
}
|
||
|
||
print_r($tabAnnonces[$idann]);
|
||
//$saisie = trim(strtoupper(fgets(STDIN)));
|
||
|
||
/*echo "$bodaccNumPar;$bodaccAnneePar;$pageCourante;$bodaccDepLib;$tribunalCode;$familleTxt;$bodaccNumAnnPre;".preg_replace('/ +/',' ',strtr($annonceTxtPre, array(';'=>',',"\n"=>' ','?'=>"'"))).EOL;//$annonceBrute
|
||
*/
|
||
}
|
||
} elseif (preg_match('/^<b>LISTE ALPHABÉTIQUE<\/b>$/i',$ligne)) {
|
||
/** Dernière annonce repérée **/
|
||
$tabFichiers[$nomFichier]['Num_Annonce_Fin']=$bodaccNumAnn;
|
||
|
||
//echo "$bodaccNumPar;$bodaccAnneePar;$pageCourante;$bodaccDepLib;$tribunalCode;$familleTxt;$bodaccNumAnn;".preg_replace('/ +/',' ',strtr($annonceTxt, array(';'=>',',"\n"=>' ','?'=>"'"))).EOL;//$annonceBrute
|
||
|
||
$idann=''.$bodaccAnneePar.'-'.$bodaccNumPar.'-'.$bodaccNumAnn;
|
||
$tabAnnonces[$idann]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$tabAnnonces[$idann]['Num_Annonce']=$bodaccNumAnn;
|
||
$tabAnnonces[$idann]['Bodacc_Code']=$bodaccType;
|
||
$tabAnnonces[$idann]['Bodacc_Annee_Parution']=$bodaccAnneePar;
|
||
$tabAnnonces[$idann]['Bodacc_Num']=$bodaccNum;
|
||
// $tabAnnonces[$idann]['Bodacc_NOJO']=NULL;
|
||
$tabAnnonces[$idann]['Bodacc_Page']=$pageCourante;
|
||
/* $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;
|
||
*/
|
||
$tabAnnonces[$idann]['Tribunal_Dept']=$bodaccDepNum;
|
||
$tabAnnonces[$idann]['Tribunal_Code']=$tribunalCode;
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']=$familleTxt;
|
||
//$tabAnnonces[$idann]['data']=array();
|
||
$tabAnnonces[$idann]['annonce']=trim(preg_replace('/ +/',' ',strtr(strip_tags($annonceTxt), array(';'=>',',"\n"=>' ','?'=>"'"))));
|
||
// $tabAnnonces[$idann]['balises']=trim($annonceTxt);
|
||
|
||
break;
|
||
|
||
} elseif (preg_match('/^<b>(.*)<\/b>$/i',$ligne, $matches)) {
|
||
$matche=trim($matches[1]);
|
||
if (preg_match('/^Cr.ations d..tablissements$/i',$matche)) {
|
||
$familleTxt='Créations d\'établissements';
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A126';
|
||
}
|
||
elseif (preg_match('/^Immatriculations$/i',$matche)) {
|
||
$familleTxt='Immatriculations';
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A108';
|
||
}
|
||
elseif (preg_match('/^Ventes et cessions$/i',$matche)) {
|
||
$familleTxt='Ventes et cessions';
|
||
$tabAnnonces[$idann]['Rubrique_Bodacc']='A125';
|
||
}
|
||
elseif (preg_match('/^Avis de d.p.t$/i',$matche))
|
||
$familleTxt='Avis de dépôt';
|
||
elseif (preg_match('/^Jugement d.ouverture$/i',$matche))
|
||
$familleTxt='Jugement d’ouverture';
|
||
elseif (preg_match('/^Jugement pronon.ant$/i',$matche))
|
||
$familleTxt='Jugement prononçant';
|
||
elseif (preg_match('/^Jugement de cl.ture$/i',$matche))
|
||
$familleTxt='Jugement de clôture';
|
||
elseif (preg_match('/^Arr.t de la Cour d.appel$/i',$matche))
|
||
$familleTxt='Arrêt de la Cour d\'appel';
|
||
elseif (preg_match('/^Extrait de jugement$/i',$matche))
|
||
$familleTxt='Extrait de jugement';
|
||
|
||
elseif ($matche=='Modifications et mutations diverses')
|
||
$familleTxt='Modifications et mutations diverses';
|
||
|
||
elseif ($matche=='Radiations')
|
||
$familleTxt='Radiations';
|
||
|
||
//else {
|
||
//if (strtoupper($familleTxt)<>$familleTxt) {
|
||
//$familleTxt='?';
|
||
elseif (strtoupper($familleTxt)<>$familleTxt)
|
||
$tabFamilles[]=$matche;
|
||
//}
|
||
|
||
} else $annonceTxt.=$ligne;
|
||
//echo $ligne.EOL;
|
||
}
|
||
|
||
$tabFichiers[$nomFichier]['Bodacc_Date_Parution']=$dateBodacc;
|
||
$tabFichiers[$nomFichier]['Bodacc_Date_Parution_Texte']=$dateBodaccTxt;
|
||
|
||
$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;
|
||
|
||
print_r($tabAnnonces);
|
||
|
||
//print_r($tabAnnonces[$idann]);
|
||
/********************************************************************/
|
||
/** FIN FORMAT .pdf **/
|
||
/********************************************************************/
|
||
die();
|
||
continue;
|
||
|
||
} else {
|
||
echo(date ('Y/m/d - H:i:s')." - ATTENTION : Format $typeFichier inconnu pour le fichier $nomFichier !".EOL);
|
||
die();
|
||
}
|
||
|
||
|
||
/** Contrôles de cohérence SIREN / Raison Sociales en base
|
||
**/
|
||
|
||
echo date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc : Contrôles des SIREN / Raisons Sociales...".EOL;
|
||
|
||
$iRncs=new MRncs();
|
||
$nbSirenAdupliquer=$nbSirenAvalider=$nbSirenVides=$nbSirenTotaux=0;
|
||
foreach ($tabAnnonces as $idann=>$tabAnn) {
|
||
if ($tabAnn['Bodacc_Code']<>'ASSO') {
|
||
$tabData=$tabAnn['data'];
|
||
foreach ($tabData['raisonSociale'] as $n => $raisonSociale) {
|
||
$nbSirenTotaux++;
|
||
$resirener=false;
|
||
if ($tabData['sirenValide'][$n]) {
|
||
$siren=$tabData['siren'][$n];
|
||
$tabIdI=$iInsee->getIdentiteLight($siren);
|
||
if ($tabIdI['Nom']=='') {
|
||
// echo '['.$tabAnn['Bodacc_Date_Parution'].' '.$tabAnn['Bodacc_Num']."] $n, $siren valide (".$tabData['adresseCP'][$n].'/'.$tabData['adresseSiegeCP'][$n].") $raisonSociale (absent de l'INSEE).".EOL;
|
||
// Le siren est absent de l'INSEE (mais valide), il faudrait dupliquer l'annonce car il doit y avoir un autre siren !
|
||
//$resirener=true;
|
||
$tabAnnonces[$idann]['data']['dupliquer'][$n]=1;
|
||
$nbSirenAdupliquer++;
|
||
}
|
||
else {
|
||
$raisonSociale =trim(strtoupper(trimAccent(strtr($raisonSociale, array('/'=>' ','*'=>' ','('=>'', ')'=>'', '.'=>'', '-'=>'', "Nom d'usage"=>'', 'Pseudonyme'=>'', "'"=>'', ':'=>'',' Né '=>' ',' Née '=>' ')))));
|
||
$raisonSociale=strtr($raisonSociale, array('SOCIETE EN LIQUIDATION'=>'', 'EN LIQUIDATION'=>'', 'SOCIETE A RESPONSABILITE LIMITEE'=>'SARL','DENOMINATION'=>'', 'SUCCESSION'=>''));
|
||
$raisonSocialeI=trim(strtoupper(strtr(trimAccent($tabIdI['Nom']), array('/'=>' ','*'=>' ','('=>'', ')'=>'', '.'=>'', '-'=>'', "Nom d'usage"=>'', "'"=>'', ':'=>''))));
|
||
$len =strlen($raisonSociale);
|
||
$tabMots=preg_split('/ +/', $raisonSociale);
|
||
$mots=count($tabMots);
|
||
$levI=levenshtein(str_replace(' ','',$raisonSociale),str_replace(' ','',$raisonSocialeI));
|
||
$delI=$levI/$len;
|
||
//$difT=$len-$lenI;
|
||
$lenI=strlen($raisonSocialeI);
|
||
$tabMotsI=preg_split('/ +/', $raisonSocialeI);
|
||
$motsI=count(array_diff($tabMots,$tabMotsI));
|
||
$diffI=$motsI/$mots;
|
||
if ($delI>=0.5 && $diffI>0.5) {
|
||
$tabIdR=$iRncs->getInfosEntrep($siren);
|
||
if (@$tabIdR['raisonSociale']=='') {
|
||
//echo '['.$tabAnn['Bodacc_Date_Parution'].' '.$tabAnn['Bodacc_Num']."] $n, $siren valide (".$tabData['adresseCP'][$n].'/'.$tabData['adresseSiegeCP'][$n].") $raisonSociale (absent du RNCS).".EOL;
|
||
$resirener=true;
|
||
}
|
||
else {
|
||
$raisonSocialeR=trim(strtoupper(strtr(trimAccent($tabIdR['raisonSociale']), array('/'=>' ','*'=>' ','('=>'', ')'=>'', '.'=>'', '-'=>'', "Nom d'usage"=>'', "'"=>'', ':'=>''))));
|
||
$levR=levenshtein(str_replace(' ','',$raisonSociale),str_replace(' ','',$raisonSocialeR));
|
||
$delR=$levR/$len;
|
||
$tabMotsR=preg_split('/ +/', $raisonSocialeR);
|
||
$motsR=count(array_diff($tabMots,$tabMotsR));
|
||
$diffR=$motsR/$mots;
|
||
if ($delR>0.5 && $diffR>0.5)
|
||
$resirener=true;
|
||
}
|
||
|
||
}
|
||
/*if ($resirener) {
|
||
print_r($tabIdI);
|
||
echo '['.$tabAnn['Bodacc_Date_Parution'].' '.$tabAnn['Bodacc_Num']."] $n, $siren valide (".$tabData['adresseCP'][$n].'/'.$tabData['adresseSiegeCP'][$n].") $raisonSociale, INSEE : $raisonSocialeI ($levI,$delI,$diffI)".EOL;
|
||
echo '['.$tabAnn['Bodacc_Date_Parution'].' '.$tabAnn['Bodacc_Num']."] $n, $siren valide (".$tabData['adresseCP'][$n].'/'.$tabData['adresseSiegeCP'][$n].") $raisonSociale, INPI : $raisonSocialeR ($levR,$delR,$diffR)".EOL;
|
||
}*/
|
||
}
|
||
// Il faut resirener la fiche annonce !
|
||
if ($resirener) {
|
||
$nbSirenAvalider++;
|
||
$tabAnnonces[$idann]['data']['sirenValide'][$n]=0;
|
||
}
|
||
} else {
|
||
$nbSirenVides++;
|
||
//echo '['.$tabAnn['Bodacc_Date_Parution'].' '.$tabAnn['Bodacc_Num']."] $n, $siren INVALIDE (".$tabData['adresseCP'][$n].'/'.$tabData['adresseSiegeCP'][$n].") $raisonSociale.".EOL;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$nbAnn=end(explode('-',$idann))*1;
|
||
echo date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc validé : $nbSirenVides siren absents, $nbSirenAvalider à valider et $nbSirenAdupliquer annonces à dupliquer sur $nbAnn annonces ($nbSirenTotaux fiches).".EOL;
|
||
$strMailInfo.=date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc validé : $nbSirenVides siren absents, $nbSirenAvalider à valider et $nbSirenAdupliquer annonces à dupliquer sur $nbAnn annonces ($nbSirenTotaux fiches).".EOL;
|
||
|
||
//die();
|
||
|
||
|
||
//if ($tabFic['taille']==0) $tabFic['taille']=filesize(BODACC_LOCAL_DIR . $nomFichier);
|
||
if (!$reload) {
|
||
$ret=$iDb->insert('chargements', $tabFic);
|
||
if (!$ret) {
|
||
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();
|
||
print_r($tabFic);
|
||
die();
|
||
} else {
|
||
echo date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de chargement par catégories...".EOL;
|
||
$strMailInfo.=date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de chargement par catégories...".EOL;
|
||
|
||
}
|
||
//print_r($tabFic);
|
||
} else
|
||
echo date ('Y/m/d - H:i:s')." - $strTypeJo $bodaccAnneePar-$bodaccNumPar du $dateBodacc en cours de re-chargement par catégories...".EOL;
|
||
//print_r($tabAnnonces);
|
||
|
||
foreach ($tabAnnonces as $idAnn => $tabAnn) {
|
||
if ($tabAnn['Bodacc_Code']=='ASSO') {
|
||
$tabInsert=array( 'Assoc_Nom' => $tabAnn['data']['Assoc_Nom'],
|
||
'Waldec' => $tabAnn['data']['Waldec'],
|
||
'Activite' => '',
|
||
'codThemes' => implode(';', $tabAnn['themes']),
|
||
'Num_Annonce' => $tabAnn['Num_Annonce'],
|
||
'Date_Parution' => $tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Parution' => $tabAnn['Bodacc_Num'],
|
||
'pageDeb' => $tabAnn['data']['pageDeb'],
|
||
'Departement' => $tabAnn['data']['Departement'],
|
||
'Sous_Prefecture' => $tabAnn['Sous_Prefecture'],
|
||
'codTribunal' => $tabAnn['Tribunal_Code'],
|
||
'Type_Annonce' => $tabAnn['Type_Annonce'],
|
||
'typeAnnonce' => $tabAnn['typeAnnonce'],
|
||
'typeAsso' => $tabAnn['typeAsso'],
|
||
'corrNum_Annonce' => $tabAnn['corrNum_Annonce'],
|
||
'corrDate_Parution' => $tabAnn['corrDate_Parution'],
|
||
'corrPage' => $tabAnn['corrPage'],
|
||
'corrNumParution' => $tabAnn['corrNumParution'],
|
||
'codEven' => implode(';', $tabAnn['codEven']),
|
||
'Annonce_Html' => $tabAnn['data']['Annonce_Html'],
|
||
'Assoc_Web' => $tabAnn['data']['Assoc_Web'],
|
||
'Assoc_Mail' => $tabAnn['data']['Assoc_Mail'],
|
||
'Assoc_Objet' => $tabAnn['data']['Assoc_Objet'],
|
||
'Assoc_Adresse' => $tabAnn['data']['Assoc_Adresse'],
|
||
'Assoc_AdrNum' => $tabAnn['data']['Assoc_AdrNum'],
|
||
'Assoc_AdrIndRep' => $tabAnn['data']['Assoc_AdrIndRep'],
|
||
'Assoc_AdrTypVoie' => $tabAnn['data']['Assoc_AdrTypVoie'],
|
||
'Assoc_AdrLibVoie' => $tabAnn['data']['Assoc_AdrLibVoie'],
|
||
'Assoc_AdrCP' => $tabAnn['data']['Assoc_AdrCP'],
|
||
'Assoc_AdrVille' => $tabAnn['data']['Assoc_AdrVille'],
|
||
'Assoc_AdrComp' => $tabAnn['data']['Assoc_AdrComp'],
|
||
'Assoc_NObjet' => $tabAnn['data']['Assoc_NObjet'],
|
||
'Assoc_AObjet' => $tabAnn['data']['Assoc_AObjet'],
|
||
'Assoc_NAdresse' => '',
|
||
'Assoc_Fusion' => $tabAnn['data']['Assoc_Fusion'],
|
||
'Assoc_Annulation' => $tabAnn['data']['Assoc_Annulation'],
|
||
'Assoc_ANom' => $tabAnn['data']['Assoc_ANom'],
|
||
'Assoc_NNom' => $tabAnn['data']['Assoc_NNom'],
|
||
'Assoc_Commentaire' => $tabAnn['data']['Assoc_Commentaire'],
|
||
'Assoc_Date_Declaration'=> $tabAnn['data']['Assoc_Date_Declaration'],
|
||
'Assoc_Date_Declaration2'=>$tabAnn['data']['Assoc_Date_Declaration2'],
|
||
'dateInsert' => $dateInsert,
|
||
);
|
||
$idAnnRet=$iDb->insert('asso', $tabInsert);
|
||
if (!$idAnnRet) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion en base de l'annonce texte du Bodacc impossible :".EOL;
|
||
echo date ('Y/m/d - H:i:s')." - Description : ". mysql_error();
|
||
print_r($tabInsert);
|
||
die();
|
||
}
|
||
$copieWaldec=true;
|
||
} else {
|
||
|
||
/** Rajouté le 12 février 2009 afin de traiter la 1ère annonce vide du Bodacc C en TLS **/
|
||
$tabTmp=explode('-', $idAnn);
|
||
$typTmp=substr($tabTmp[1],0,1);
|
||
if (strlen($tabTmp[1])>4 && $typTmp<>'A' && $typTmp<>'B' && $typTmp<>'C')
|
||
continue;
|
||
// Fin rajout du 12 février 2009
|
||
|
||
|
||
/* Tableau listant tous les siren de l'annonce */
|
||
//echo "Avant Unset :\n";print_r($tabAnn['siren']);
|
||
if (isset($tabAnn['siren'])) { $tabSiren=$tabAnn['siren']; }
|
||
else $tabSiren=false;
|
||
unset($tabAnn['siren']);
|
||
//echo "Après Unset :\n";print_r($tabAnn['siren']);
|
||
// print_r($tabAnn);
|
||
if (isset($tabAnn['data'])) { $tabData=$tabAnn['data']; unset($tabAnn['data']); }
|
||
$tabAnn['annonce']=preg_replace("/ +/", ' ',str_replace(' .', '.',
|
||
str_replace(' ,', ',',
|
||
str_replace('( ', '(',
|
||
str_replace(' )', ')',
|
||
$tabAnn['annonce'])))));
|
||
$tabAnn['dateInsert']=$dateInsert;
|
||
if (!$reload) {
|
||
$idAnnRet=$iDb->insert('bodacc', $tabAnn);
|
||
if (!$idAnnRet) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion en base de l'annonce texte du Bodacc impossible :".EOL;
|
||
echo date ('Y/m/d - H:i:s')." - Description : ". mysql_error();
|
||
print_r($tabAnn);
|
||
die();
|
||
}
|
||
} else {
|
||
unset($tabAnn['dateInsert']);
|
||
$tabAnn['dateUpdate']=0;
|
||
$idAnnRet=$iDb->select('bodacc', 'id', "Bodacc_Code='". $tabAnn['Bodacc_Code']."' AND ".
|
||
"Bodacc_Annee_Parution='". $tabAnn['Bodacc_Annee_Parution']."' AND ".
|
||
"Bodacc_Num='". $tabAnn['Bodacc_Num']."' AND ".
|
||
"Num_Annonce='". $tabAnn['Num_Annonce']."'");
|
||
$idAnnRet=$idAnnRet[0][0];
|
||
if ($idAnnRet==0) {
|
||
$idAnnRet=$iDb->insert('bodacc', $tabAnn);
|
||
} else {
|
||
$idAnnRet=$iDb->update('bodacc', $tabAnn, "Bodacc_Code='". $tabAnn['Bodacc_Code']."' AND ".
|
||
"Bodacc_Annee_Parution='". $tabAnn['Bodacc_Annee_Parution']."' AND ".
|
||
"Bodacc_Num='". $tabAnn['Bodacc_Num']."' AND ".
|
||
"Num_Annonce='". $tabAnn['Num_Annonce']."'");
|
||
if ($idAnnRet) {
|
||
$idAnnRet=$iDb->select('bodacc', 'id', "Bodacc_Code='". $tabAnn['Bodacc_Code']."' AND ".
|
||
"Bodacc_Annee_Parution='". $tabAnn['Bodacc_Annee_Parution']."' AND ".
|
||
"Bodacc_Num='". $tabAnn['Bodacc_Num']."' AND ".
|
||
"Num_Annonce='". $tabAnn['Num_Annonce']."'");
|
||
$idAnnRet=$idAnnRet[0][0];
|
||
print_r($tabAnn);
|
||
}
|
||
}
|
||
// Pour l'instant le rechargement ne permet que de traiter la table bodacc et les procol de bodac_detail !!!
|
||
if ( ( /*substr($tabAnn['Rubrique_Bodacc'],0,2)<>'A8' && // PROCEDURES COLLECTIVES
|
||
substr($tabAnn['Rubrique_Bodacc'],0,2)<>'A2' && // PROCEDURES COLLECTIVES
|
||
substr($tabAnn['Rubrique_Bodacc'],0,2)<>'A9' &&*/
|
||
$tabAnn['Bodacc_Code']<>'A' &&
|
||
$tabAnn['Bodacc_Code']<>'C' ) ) {
|
||
print_r($tabAnn);
|
||
die("Le rechargement ne permet que de traiter la table 'bodacc' et les annonces Bodacc A et C de la table 'bodac_detail' !!!");
|
||
continue;
|
||
}
|
||
}
|
||
|
||
if ($tabAnn['Bodacc_Code']=='C') { // DEPOT DES COMPTES ANNUELS
|
||
|
||
if ($tabData['comptesAnnu'] && $tabData['comptesConso'])
|
||
$tabData['evenement']=3100; // Dépôt des comptes annuels & des comptes consolidés
|
||
elseif ($tabData['comptesAnnu'])
|
||
$tabData['evenement']=3200; // Dépôt des comptes annuels
|
||
else
|
||
$tabData['evenement']=3300; // Dépôt des comptes consolidés
|
||
|
||
$tabAdresseSiege=$iInsee->structureVoie($tabData['adresseSiegeVoie'][0]);
|
||
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabData['siren'][0],
|
||
'sirenValide'=>$tabData['sirenValide'][0],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'Rubrique'=>'comptes',
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>$tabData['RC'][0],
|
||
'raisonSociale'=>@implode('/',$tabData['raisonSociale']),
|
||
'FJ'=>$tabData['FJ'][0],
|
||
|
||
'adresseSiege'=>$tabData['adresseSiegeVoie'][0],
|
||
'adrSiegeNum'=>$tabAdresseSiege['num'],
|
||
'adrSiegeIndRep'=>$tabAdresseSiege['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresseSiege['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresseSiege['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresseSiege['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresseSiege['adrComp1'],
|
||
'codePostalSiege'=>$tabData['adresseSiegeCP'][0],
|
||
'villeSiege'=>$tabData['adresseSiegeVille'][0],
|
||
|
||
'dateEffet'=>$tabData['dateCloture'],
|
||
'typeEven'=>$tabData['evenement'],
|
||
'dateInsert'=>$dateInsert);
|
||
if ($tabAnn['Rubrique_Bodacc']!='C331') {
|
||
echo date ('Y/m/d - H:i:s')." - ATTENTION : Provisoirement vérifier l'intégration des rubriques du Bodacc C pour la rubrique ". $tabAnn['Bodacc_Code'] .':'.EOL;
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
//$ret=$iDb->insert('bodacc_comptes', $tabAnnC);
|
||
if ($tabData['dupliquer'][0] && !$reload) {
|
||
$tabAnnDup=$tabAnnC;
|
||
$tabAnnDup['siren']=$tabAnnDup['sirenValide']=0;
|
||
$iDb->insert('bodacc_detail', $tabAnnDup);
|
||
}
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret) {
|
||
if ($reload && mysql_errno()==1062) {
|
||
unset($tabAnnC['dateInsert']);
|
||
$ret=$iDb->update('bodacc_detail', $tabAnnC, "id=$idAnnRet AND siren=".$tabData['siren'][0]);
|
||
echo date ('Y/m/d - H:i:s')." - Insertion des informations manquantes sur le siren ".$tabData['siren'][0]." en base (annonce $idAnnRet) !".EOL;
|
||
} else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du BODACC C sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
}
|
||
elseif ($reload)
|
||
echo date ('Y/m/d - H:i:s')." - Chargement de l'annonce manquante : ". $tabAnn['Num_Annonce']. EOL;
|
||
|
||
} // CREATIONS
|
||
elseif ($tabAnn['Rubrique_Bodacc']=='A103' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A104' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A105' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A106' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A107' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A108' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A109' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A126' ||
|
||
$tabAnn['Rubrique_Bodacc']=='A131') { // CREATIONS
|
||
$tabAdresse=$iInsee->structureVoie($tabData['adresseVoie'][0]);
|
||
$tabAdresseSiege=$iInsee->structureVoie($tabData['adresseSiegeVoie'][0]);
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabData['siren'][0],
|
||
'sirenValide'=>$tabData['sirenValide'][0],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'Rubrique'=>'creations',
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>$tabData['RC'][0],
|
||
'raisonSociale'=>@implode('/',$tabData['raisonSociale']),
|
||
'nomCommercial'=>$tabData['nomCommercial'][0],
|
||
'enseigne'=>$tabData['enseigne'][0],
|
||
'sigle'=>$tabData['sigle'][0],
|
||
'nationalite'=>$tabData['nationalite'][0],
|
||
'FJ'=>$tabData['FJ'][0],
|
||
'Capital'=>$tabData['Capital']['Montant'],
|
||
'CapitalDev'=>$tabData['Capital']['Devise'],
|
||
'adresse'=>$tabData['adresseVoie'][0],
|
||
|
||
'adrNum'=>$tabAdresse['num'],
|
||
'adrIndRep'=>$tabAdresse['indRep'],
|
||
'adrTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrComp1'=>$tabAdresse['adrComp0'],
|
||
'adrComp2'=>$tabAdresse['adrComp1'],
|
||
|
||
'codePostal'=>$tabData['adresseCP'][0],
|
||
'ville'=>$tabData['adresseVille'][0],
|
||
'adresseSiege'=>$tabData['adresseSiegeVoie'][0],
|
||
|
||
'adrSiegeNum'=>$tabAdresseSiege['num'],
|
||
'adrSiegeIndRep'=>$tabAdresseSiege['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresseSiege['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresseSiege['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresseSiege['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresseSiege['adrComp1'],
|
||
|
||
'codePostalSiege'=>$tabData['adresseSiegeCP'][0],
|
||
'villeSiege'=>$tabData['adresseSiegeVille'][0],
|
||
'administration'=>@implode('.', $tabData['administration']),
|
||
'typeEven'=>@implode(';', $tabData['typeCreation']),
|
||
'activite'=>$tabData['activite'][0],
|
||
'commentaires'=>@implode('; ', $tabData['commentaires']),
|
||
'dateDebutActivite'=>$tabData['dateDebutActivite'],
|
||
'dateInsert'=>$dateInsert);
|
||
//$ret=$iDb->insert('bodacc_creations', $tabAnnC);
|
||
if ($tabData['dupliquer'][0] && !$reload) {
|
||
$tabAnnDup=$tabAnnC;
|
||
$tabAnnDup['siren']=$tabAnnDup['sirenValide']=0;
|
||
$iDb->insert('bodacc_detail', $tabAnnDup);
|
||
}
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret){
|
||
if ($reload && mysql_errno()==1062) {
|
||
unset($tabAnnC['dateInsert']);
|
||
$ret=$iDb->update('bodacc_detail', $tabAnnC, "id=$idAnnRet AND siren=".$tabData['siren'][0]);
|
||
echo date ('Y/m/d - H:i:s')." - Insertion des informations manquantes sur le siren ".$tabData['siren'][0]." en base (annonce $idAnnRet) !".EOL;
|
||
} else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du BODACC A (créations) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
} elseif ($reload)
|
||
echo date ('Y/m/d - H:i:s')." - Chargement de l'annonce manquante : ". $tabAnn['Num_Annonce']. EOL;
|
||
|
||
if (isset($tabData['dateDebutActivite']))
|
||
$dateEffet=$tabData['dateDebutActivite'];
|
||
else $dateEffet=$tabAnn['Bodacc_Date_Parution'];
|
||
$tabAdministration=$iBodacc->getDirigeants($tabData['administration']);
|
||
foreach ($tabAdministration as $numDir => $tabDir) {
|
||
$tabDir['num']=$numDir;
|
||
$tabDir['dateEffet']=$dateEffet;
|
||
$tabDir['id']=$idAnnRet;
|
||
$tabDir['Rubrique']='creations';
|
||
$tabDir['dateInsert']=$dateInsert;
|
||
if (!$iDb->insert('bodacc_dirigeants', $tabDir, true) && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du dirigeant BODACC A (créations) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabDir);
|
||
die();
|
||
}/* else {
|
||
echo date ('Y/m/d - H:i:s')." - OK ".mysql_errno()." : Insertion des informations du dirigeant BODACC A (créations) sur le siren $siren en base (annonce $idAnnRet) !".EOL;
|
||
print_r($tabDir);
|
||
}*/
|
||
}
|
||
//echo EOL. $tabData['adresseVoie'][0] .EOL;
|
||
//Siege
|
||
//print_r($iInsee->structureVoie($tabData['adresseVoie'][0]));
|
||
// $saisie = trim(strtoupper(fgets(STDIN)));
|
||
} // VENTES & CESSIONS
|
||
elseif ($tabAnn['Rubrique_Bodacc']=='A101' || // Personne Physique
|
||
$tabAnn['Rubrique_Bodacc']=='A102' || // Société
|
||
$tabAnn['Rubrique_Bodacc']=='A124' || // Personne P. non inscrite
|
||
$tabAnn['Rubrique_Bodacc']=='A125') { // // VENTES & CESSIONS : Société non inscrite
|
||
$roleEntrep=false;
|
||
$tabOppo=findIdMandataire($tabData['oppositions']);
|
||
$tabOppoAdr=$iInsee->structureVoie($tabOppo['Adresse']);
|
||
|
||
foreach ($tabData['raisonSociale'] as $n => $raisonSociale) {
|
||
/** Si le propriétaire/précédent exploitant n'a pas d'adresse renseignée, on lui donne l'adresse de l'acheteur qui normalement est la même **/
|
||
if ($tabData['adresseVoie'][$n]=='' && $tabData['adresseCP'][$n]=='' && $tabData['adresseVille'][$n]=='') {
|
||
$tabData['adresseVoie'][$n]=$tabData['adresseVoie'][0];
|
||
$tabData['adresseCP'][$n]= $tabData['adresseCP'][0];
|
||
$tabData['adresseVille'][$n]=$tabData['adresseVille'][0];
|
||
} /** Idem pour l'adresse du siège **/
|
||
if ($tabData['adresseSiegeVoie'][$n]=='' && $tabData['adresseSiegeCP'][$n]=='' && $tabData['adresseSiegeVille'][$n]=='') {
|
||
$tabData['adresseSiegeVoie'][$n]=$tabData['adresseSiegeVille'][0];
|
||
$tabData['adresseSiegeCP'][$n]=$tabData['adresseSiegeVille'][0];
|
||
$tabData['adresseSiegeVille'][$n]=$tabData['adresseSiegeVille'][0];
|
||
}
|
||
if (substr($raisonSociale,0,6)=='/ACHE/') {
|
||
$raisonSociale=substr($raisonSociale,6, strlen($raisonSociale));
|
||
$roleEntrep=5700; // Acheteur
|
||
} else {
|
||
if (preg_match("/^Pr(é|e)c(é|e)dents? propri(é|e)taires? exploitant/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? propri(é|e)taires? exploitants?/i", '', $raisonSociale); $roleEntrep=5501;
|
||
}elseif (preg_match("/^Pr(é|e)c(é|e)dents? propri(é|e)taire.{1,5}membres.{1,9}indivision/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? propri(é|e)taire.{1,5}membres.{1,9}indivision/i", '', $raisonSociale); $roleEntrep=5502;
|
||
}elseif (preg_match("/^Pr(é|e)c(é|e)dents? propri(é|e)taire.{1,5}indivis/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? propri(é|e)taire.{1,5}indivis/i", '', $raisonSociale); $roleEntrep=5502;
|
||
}elseif (preg_match("/^Pr(é|e)c(é|e)dents? propri(é|e)taire/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? propri(é|e)taires?/i", '', $raisonSociale); $roleEntrep=5503;
|
||
}elseif (preg_match("/^Pr(é|e)c(é|e)dents? exploitant/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? exploitants?/i", '', $raisonSociale); $roleEntrep=5600;
|
||
}elseif (preg_match("/^Propri(é|e)taire/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Propri(é|e)taires?/i", '', $raisonSociale); $roleEntrep=5503;
|
||
}elseif (preg_match("/^Indemnis(é|e)/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Indemnis(é|e)s?/i", '', $raisonSociale); $roleEntrep=5650;
|
||
}elseif (preg_match("/^Co.{0,1}propri(e|é)taire/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Co.{0,1}propri(e|é)taires?/i", '', $raisonSociale); $roleEntrep=5510;
|
||
}elseif ($roleEntrep==false) $roleEntrep=5503;
|
||
$raisonSociale=trim(str_replace(':','',$raisonSociale));
|
||
}
|
||
$tabAdresse=$iInsee->structureVoie($tabData['adresseVoie'][$n]);
|
||
$tabAdresseSiege=$iInsee->structureVoie($tabData['adresseSiegeVoie'][$n]);
|
||
|
||
if ($roleEntrep==5700) {
|
||
$capital_montant=$tabData['Capital']['Montant'];
|
||
$capital_devise=$tabData['Capital']['Devise'];
|
||
}
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabData['siren'][$n],
|
||
'sirenValide'=>$tabData['sirenValide'][$n],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'Rubrique'=>'ventes',
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>$tabData['RC'][$n],
|
||
'raisonSociale'=>$raisonSociale,
|
||
'nomCommercial'=>$tabData['nomCommercial'][$n],
|
||
'enseigne'=>$tabData['enseigne'][$n],
|
||
'sigle'=>$tabData['sigle'][$n],
|
||
'nationalite'=>$tabData['nationalite'][$n],
|
||
'FJ'=>$tabData['FJ'][$n],
|
||
'Capital'=>$capital_montant,
|
||
'CapitalDev'=>$capital_devise,
|
||
|
||
'adresse'=>$tabData['adresseVoie'][$n],
|
||
|
||
'adrNum'=>$tabAdresse['num'],
|
||
'adrIndRep'=>$tabAdresse['indRep'],
|
||
'adrTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrComp1'=>$tabAdresse['adrComp0'],
|
||
'adrComp2'=>$tabAdresse['adrComp1'],
|
||
|
||
'codePostal'=>$tabData['adresseCP'][$n],
|
||
'ville'=>$tabData['adresseVille'][$n],
|
||
'adresseSiege'=>$tabData['adresseSiegeVoie'][$n],
|
||
|
||
'adrSiegeNum'=>$tabAdresseSiege['num'],
|
||
'adrSiegeIndRep'=>$tabAdresseSiege['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresseSiege['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresseSiege['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresseSiege['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresseSiege['adrComp1'],
|
||
|
||
'codePostalSiege'=>$tabData['adresseSiegeCP'][$n],
|
||
'villeSiege'=>$tabData['adresseSiegeVille'][$n],
|
||
|
||
'administration'=>@implode('.', $tabData['administration']),
|
||
/* 'typeCreation'=>@implode("\n", $tabData['typeCreation']),*/
|
||
'activite'=>$tabData['activite'][$n],
|
||
/* 'raisonSocialeVendeur'=>@implode('/',$tabData['raisonSociale']),
|
||
'sirenVendeur'=>end($tabData['siren']),
|
||
'sirenVendeurValide'=>end($tabData['sirenValide']),*/
|
||
'VenteMt'=>$tabData['Vente']['Montant'],
|
||
'VenteDev'=>$tabData['Vente']['Devise'],
|
||
'perimetre'=>$tabData['Vente']['Perimetre'],
|
||
'bienAcqui'=>$tabData['Vente']['bienAcqui'],
|
||
'typeEven'=>$roleEntrep.';'.@implode(';',$tabData['typeVente']),
|
||
'publication'=>$tabData['publication'],
|
||
'publicationNom' =>$tabData['publicationNom'],
|
||
'publicationDate'=>$tabData['publicationDate'],
|
||
'oppositions'=>$tabData['oppositions'],
|
||
'oppoNom'=>$tabOppo['Nom'],
|
||
'oppoRepr'=>$tabOppo['repPar'],
|
||
'oppoAdresse'=>$tabOppo['Adresse'],
|
||
'oppoAdrNum'=>$tabOppoAdr['num'],
|
||
'oppoAdrIndRep'=>$tabOppoAdr['indRep'],
|
||
'oppoAdrTypVoie'=>$tabOppoAdr['typeVoie'],
|
||
'oppoAdrLibVoie'=>$tabOppoAdr['libVoie'],
|
||
'oppoAdrComp'=>$tabOppoAdr['adrComp0'],
|
||
'oppoCP'=>$tabOppo['CP'],
|
||
'oppoVille'=>$tabOppo['Ville'],
|
||
'commentaires'=>@implode('; ', $tabData['commentaires']),
|
||
'dateDebutActivite'=>$tabData['dateDebutActivite'],
|
||
'dateEffet'=>$tabData['dateEffet'],
|
||
'dateInsert'=>$dateInsert);
|
||
//$ret=$iDb->insert('bodacc_ventes', $tabAnnC);
|
||
if ($tabData['dupliquer'][$n] && !$reload) {
|
||
$tabAnnDup=$tabAnnC;
|
||
$tabAnnDup['siren']=$tabAnnDup['sirenValide']=0;
|
||
$iDb->insert('bodacc_detail', $tabAnnDup);
|
||
}
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret){
|
||
if ($reload && mysql_errno()==1062) {
|
||
unset($tabAnnC['dateInsert']);
|
||
$ret=$iDb->update('bodacc_detail', $tabAnnC, "id=$idAnnRet AND siren=".$tabData['siren'][$n]);
|
||
echo date ('Y/m/d - H:i:s')." - Insertion des informations manquantes sur le siren ".$tabData['siren'][$n]." en base (annonce $idAnnRet) !".EOL;
|
||
} else {
|
||
while(mysql_errno()==1062) {
|
||
if ($tabAnnC['siren']>1000) $tabAnnC['siren']=0;
|
||
$tabAnnC['siren']++;
|
||
$tabAnnC['sirenValide']=0;
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
}
|
||
}
|
||
if (!$ret) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno().
|
||
" : Insertion des informations du BODACC A (ventes) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
}
|
||
if ($roleEntrep==5700) { // L'administration n'est citée que dans le cas de l'acheteur
|
||
if (isset($tabData['dateDebutActivite'])) $dateEffet=$tabData['dateDebutActivite'];
|
||
elseif (isset($tabData['dateEffet'])) $dateEffet=$tabData['dateEffet'];
|
||
elseif (isset($tabData['publicationDate'])) $dateEffet=$tabData['publicationDate'];
|
||
else $dateEffet=$tabAnn['Bodacc_Date_Parution'];
|
||
$tabAdministration=$iBodacc->getDirigeants($tabData['administration']);
|
||
foreach ($tabAdministration as $numDir => $tabDir) {
|
||
$tabDir['num']=$numDir;
|
||
$tabDir['dateEffet']=$dateEffet;
|
||
$tabDir['id']=$idAnnRet;
|
||
$tabDir['Rubrique']='ventes';
|
||
$tabDir['dateInsert']=$dateInsert;
|
||
if (!$iDb->insert('bodacc_dirigeants', $tabDir, true) && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du dirigeant BODACC A (ventes) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabDir);
|
||
die();
|
||
} /*else {
|
||
echo date ('Y/m/d - H:i:s')." - OK ".mysql_errno()." : Insertion des informations du dirigeant BODACC A (ventes) sur le siren $siren en base (annonce $idAnnRet) !".EOL;
|
||
print_r($tabDir);
|
||
}*/
|
||
}
|
||
}
|
||
}
|
||
} // RADIATIONS
|
||
elseif ($tabAnn['Rubrique_Bodacc']=='B1X1' || // Dissolution
|
||
$tabAnn['Rubrique_Bodacc']=='B116' || // Personne Physique
|
||
$tabAnn['Rubrique_Bodacc']=='B117' || // Société
|
||
$tabAnn['Rubrique_Bodacc']=='B127' || // Toutes formes
|
||
$tabAnn['Rubrique_Bodacc']=='B133') { // RADIATIONS : GEIE
|
||
if (isset($tabData['typeRadiation']) && $tabData['typeRadiation']<>0)
|
||
$typeRad=$tabData['typeRadiation'];
|
||
else
|
||
$typeRad=6700;
|
||
$tabAdresse=$iInsee->structureVoie($tabData['adresseVoie'][0]);
|
||
$tabAdresseSiege=$iInsee->structureVoie($tabData['adresseSiegeVoie'][0]);
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabData['siren'][0],
|
||
'sirenValide'=>$tabData['sirenValide'][0],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'Rubrique'=>'radiations',
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>$tabData['RC'][0],
|
||
'raisonSociale'=>@implode('/',$tabData['raisonSociale']),
|
||
'nomCommercial'=>$tabData['nomCommercial'][0],
|
||
'enseigne'=>$tabData['enseigne'][0],
|
||
'sigle'=>$tabData['sigle'][0],
|
||
'FJ'=>$tabData['FJ'][0],
|
||
|
||
'adresse'=>$tabData['adresseVoie'][0],
|
||
'adrNum'=>$tabAdresse['num'],
|
||
'adrIndRep'=>$tabAdresse['indRep'],
|
||
'adrTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrComp1'=>$tabAdresse['adrComp0'],
|
||
'adrComp2'=>$tabAdresse['adrComp1'],
|
||
|
||
'codePostal'=>$tabData['adresseCP'][0],
|
||
'ville'=>$tabData['adresseVille'][0],
|
||
'adresseSiege'=>$tabData['adresseSiegeVoie'][0],
|
||
|
||
'adrSiegeNum'=>$tabAdresseSiege['num'],
|
||
'adrSiegeIndRep'=>$tabAdresseSiege['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresseSiege['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresseSiege['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresseSiege['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresseSiege['adrComp1'],
|
||
'codePostalSiege'=>$tabData['adresseSiegeCP'][0],
|
||
'villeSiege'=>$tabData['adresseSiegeVille'][0],
|
||
'activite'=>$tabData['activite'][0],
|
||
'commentaires'=>@implode('; ', $tabData['commentaires']),
|
||
'typeEven'=>$typeRad,
|
||
'dateCessationActivite'=>$tabData['dateCessationActivite'],
|
||
'dateInsert'=>$dateInsert);
|
||
//$ret=$iDb->insert('bodacc_radiations', $tabAnnC);
|
||
if ($tabData['dupliquer'][0] && !$reload) {
|
||
$tabAnnDup=$tabAnnC;
|
||
$tabAnnDup['siren']=$tabAnnDup['sirenValide']=0;
|
||
$iDb->insert('bodacc_detail', $tabAnnDup);
|
||
}
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret){
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du BODACC B (radiations) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
}
|
||
elseif (substr($tabAnn['Rubrique_Bodacc'],0,2)=='A8' || // PROCEDURES COLLECTIVES
|
||
substr($tabAnn['Rubrique_Bodacc'],0,2)=='A2' || // PROCEDURES COLLECTIVES
|
||
substr($tabAnn['Rubrique_Bodacc'],0,2)=='A9' ) { // SANCTIONS AUTRES
|
||
//Selarl Malmezat-prat. Adresse 48, Rue Calve, 33000
|
||
$tabMand=findIdMandataire($tabData['Mandataire']);
|
||
$tabMandAdr=$iInsee->structureVoie($tabMand['Adresse']);
|
||
$tabRepr=findIdMandataire($tabData['ReprCreanciers']);
|
||
$tabReprAdr=$iInsee->structureVoie($tabRepr['Adresse']);
|
||
$tabAdmi=findIdMandataire($tabData['administrateur']);
|
||
$tabAdmiAdr=$iInsee->structureVoie($tabAdmi['Adresse']);
|
||
/*
|
||
if ( ($tabData['typeProCol']==1600 || $tabData['typeProCol']==1601) && isset($tabData['dirIGPF']) ) {
|
||
foreach ($tabData['dirIGPF'] as $numDir => $tabDir) {
|
||
$tabDir['num']=$numDir;
|
||
$tabDir['dateEffet']=$tabData['dateJugement'];
|
||
$tabDir['id']=$idAnnRet;
|
||
$tabDir['Rubrique']='procol';
|
||
$tabDir['dateInsert']=$dateInsert;
|
||
|
||
if (!$iDb->insert('bodacc_dirigeants', $tabDir, true) && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du dirigeant BODACC A (procol) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabDir);
|
||
die();
|
||
}
|
||
}
|
||
}*/
|
||
|
||
if (!is_array($tabData['raisonSociale']) || trim($tabData['raisonSociale'][0])=='' )
|
||
$tabData['raisonSociale'][0]='';
|
||
|
||
foreach ($tabData['raisonSociale'] as $n => $raisonSociale) {
|
||
if ($reload && $n>0) {
|
||
echo date ('Y/m/d - H:i:s')." - Insertion des informations manquantes en base pour l'annonce $idAnnRet impossible car plusieurs SIREN : ".EOL;
|
||
print_r($tabData['siren']);
|
||
continue;
|
||
}
|
||
/* if ($tabData['adresseVoie'][$n]=='' && $tabData['adresseCP'][$n]=='' && $tabData['adresseVille'][$n]=='') {
|
||
$tabData['adresseVoie'][$n]=$tabData['adresseVoie'][0];
|
||
$tabData['adresseCP'][$n]= $tabData['adresseCP'][0];
|
||
$tabData['adresseVille'][$n]=$tabData['adresseVille'][0];
|
||
}*/
|
||
$tabAdresse=$iInsee->structureVoie($tabData['adresseVoie'][$n]);
|
||
$tabAdresseSiege=$iInsee->structureVoie($tabData['adresseSiegeVoie'][$n]);
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabData['siren'][$n],
|
||
'sirenValide'=>$tabData['sirenValide'][$n],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'Rubrique'=>'procol',
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>$tabData['RC'][$n],
|
||
'raisonSociale'=>$raisonSociale,
|
||
'nomCommercial'=>$tabData['nomCommercial'][$n],
|
||
'enseigne'=>$tabData['enseigne'][$n],
|
||
'sigle'=>$tabData['sigle'][$n],
|
||
'FJ'=>$tabData['FJ'][$n],
|
||
|
||
'adresse'=>$tabData['adresseVoie'][$n],
|
||
|
||
'adrNum'=>$tabAdresse['num'],
|
||
'adrIndRep'=>$tabAdresse['indRep'],
|
||
'adrTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrComp1'=>$tabAdresse['adrComp0'],
|
||
'adrComp2'=>$tabAdresse['adrComp1'],
|
||
|
||
'codePostal'=>$tabData['adresseCP'][$n],
|
||
'ville'=>$tabData['adresseVille'][$n],
|
||
'adresseSiege'=>$tabData['adresseSiegeVoie'][$n],
|
||
|
||
'adrSiegeNum'=>$tabAdresseSiege['num'],
|
||
'adrSiegeIndRep'=>$tabAdresseSiege['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresseSiege['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresseSiege['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresseSiege['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresseSiege['adrComp1'],
|
||
/* $tabMand=findIdMandataire($tabData['Mandataire']);
|
||
$tabMandAdr=$iInsee->structureVoie($tabMand['Adresse']);
|
||
$tabRepr=findIdMandataire($tabData['ReprCreanciers']);
|
||
$tabReprAdr=$iInsee->structureVoie($tabRepr['Adresse']);
|
||
$tabAdmi=findIdMandataire($tabData['administrateur']);
|
||
$tabAdmiAdr=$iInsee->structureVoie($tabAdmi['Adresse']);*/
|
||
'codePostalSiege'=>$tabData['adresseSiegeCP'][$n],
|
||
'villeSiege'=>$tabData['adresseSiegeVille'][$n],
|
||
'activite'=>$tabData['activite'][$n],
|
||
'publication'=>$tabData['publication'],
|
||
'publicationNom' =>$tabData['publicationNom'],
|
||
'publicationDate'=>$tabData['publicationDate'],
|
||
'typeEven'=>$tabData['typeProCol'],
|
||
'commentaires'=>@implode('; ', $tabData['commentaires']),
|
||
'dateCessationActivite'=>$tabData['dateCessationActivite'],
|
||
'dateCessationPaiement'=>$tabData['dateCessationPaiement'],
|
||
'dateJugement'=>$tabData['dateJugement'],
|
||
'Numero'=>$tabData['Numero'],
|
||
'Mandataire'=>$tabData['Mandataire'],
|
||
'mandNom'=>$tabMand['Nom'],
|
||
'mandRepr'=>$tabMand['repPar'],
|
||
'mandAdresse'=>$tabMand['Adresse'],
|
||
'mandAdrNum'=>$tabMandAdr['num'],
|
||
'mandAdrIndRep'=>$tabMandAdr['indRep'],
|
||
'mandAdrTypVoie'=>$tabMandAdr['typeVoie'],
|
||
'mandAdrLibVoie'=>$tabMandAdr['libVoie'],
|
||
'mandAdrComp'=>$tabMandAdr['adrComp0'],
|
||
'mandCP'=>$tabMand['CP'],
|
||
'mandVille'=>$tabMand['Ville'],
|
||
'jugeCommissaire'=>@implode(EOL, $tabData['jugeCommissaire']),
|
||
//'jugeCommissaireSuppleant'=>@implode("\n", $tabData['jugeCommissaireSuppleant']),
|
||
'ReprCreanciers'=>$tabData['ReprCreanciers'],
|
||
'creaNom'=>$tabRepr['Nom'],
|
||
'creaRepr'=>$tabRepr['repPar'],
|
||
'creaAdresse'=>$tabRepr['Adresse'],
|
||
'creaAdrNum'=>$tabReprAdr['num'],
|
||
'creaAdrIndRep'=>$tabReprAdr['indRep'],
|
||
'creaAdrTypVoie'=>$tabReprAdr['typeVoie'],
|
||
'creaAdrLibVoie'=>$tabReprAdr['libVoie'],
|
||
'creaAdrComp'=>$tabReprAdr['adrComp0'],
|
||
'creaCP'=>$tabRepr['CP'],
|
||
'creaVille'=>$tabRepr['Ville'],
|
||
'administrateur'=>$tabData['administrateur'],
|
||
'admNom'=>$tabAdmi['Nom'],
|
||
'admRepr'=>$tabAdmi['repPar'],
|
||
'admAdresse'=>$tabAdmi['Adresse'],
|
||
'admAdrNum'=>$tabAdmiAdr['num'],
|
||
'admAdrIndRep'=>$tabAdmiAdr['indRep'],
|
||
'admAdrTypVoie'=>$tabAdmiAdr['typeVoie'],
|
||
'admAdrLibVoie'=>$tabAdmiAdr['libVoie'],
|
||
'admAdrComp'=>$tabAdmiAdr['adrComp0'],
|
||
'admCP'=>$tabAdmi['CP'],
|
||
'admVille'=>$tabAdmi['Ville'],
|
||
'perimetre'=>$tabData['perimetre'],
|
||
'dateFinDepotCreances'=>Wdate::period2Days($tabAnn['Bodacc_Date_Parution'],$tabData['delaiDepotCreances']),
|
||
'delaiDepotCreances'=>$tabData['delaiDepotCreances'],
|
||
'dateFinObservation'=>$tabData['dateFinObservation'],
|
||
'FinObservationBodacc'=>$tabData['FinObservationBodacc'],
|
||
'dateInsert'=>$dateInsert);
|
||
//$ret=$iDb->insert('bodacc_procol', $tabAnnC);
|
||
if ($tabData['dupliquer'][$n] && !$reload) {
|
||
$tabAnnDup=$tabAnnC;
|
||
$tabAnnDup['siren']=$tabAnnDup['sirenValide']=0;
|
||
$iDb->insert('bodacc_detail', $tabAnnDup);
|
||
}
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC, true);
|
||
if (!$ret) {
|
||
if ($reload && mysql_errno()==1062) {
|
||
unset($tabAnnC['dateInsert']);
|
||
$ret=$iDb->update('bodacc_detail', $tabAnnC, "id=$idAnnRet AND siren=".$tabData['siren'][$n]);
|
||
echo date ('Y/m/d - H:i:s')." - Insertion des informations manquantes sur le siren ".$tabData['siren'][$n]." en base (annonce $idAnnRet) !".EOL;
|
||
} else {
|
||
while(mysql_errno()==1062) {
|
||
if ($tabAnnC['siren']>1000) $tabAnnC['siren']=0;
|
||
$tabAnnC['siren']++;
|
||
$tabAnnC['sirenValide']=0;
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC, true);
|
||
}
|
||
}
|
||
if (!$ret) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno()." : Insertion des informations du BODACC A (procol) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
elseif ($tabAnn['Bodacc_Code']=='B') { // Autre Bodacc B : MMD
|
||
$roleEntrep='';
|
||
foreach ($tabData['raisonSociale'] as $n => $raisonSociale) {
|
||
if (count($tabData['raisonSociale'])>1) { // S'il y a plusieurs entreprises, nous sommes à priori dans le cas de la location gérance
|
||
if (substr($raisonSociale,0,6)=='/ACHE/') {
|
||
$raisonSociale=substr($raisonSociale,6, strlen($raisonSociale)); $roleEntrep=2800;
|
||
} elseif ($n==0 && ($tabAnn['Rubrique_Bodacc']=='B114' ||
|
||
$tabAnn['Rubrique_Bodacc']=='B115' ||
|
||
$tabAnn['Rubrique_Bodacc']=='B118' ||
|
||
$tabAnn['Rubrique_Bodacc']=='B119' ||
|
||
$tabAnn['Rubrique_Bodacc']=='B122' ||
|
||
$tabAnn['Rubrique_Bodacc']=='B123')) {
|
||
$raisonSociale=substr($raisonSociale,6, strlen($raisonSociale)); $roleEntrep=2800;
|
||
} else {
|
||
/** Si le propriétaire/précédent exploitant de la location gérance n'a pas d'adresse renseignée, on lui donne l'adresse du nouveau qui normalement est la même **/
|
||
if ($tabData['adresseVoie'][$n]=='' && $tabData['adresseCP'][$n]=='' && $tabData['adresseVille'][$n]=='') {
|
||
$tabData['adresseVoie'][$n]=$tabData['adresseVoie'][0];
|
||
$tabData['adresseCP'][$n]= $tabData['adresseCP'][0];
|
||
$tabData['adresseVille'][$n]=$tabData['adresseVille'][0];
|
||
} /** Idem pour l'adresse du siège **/
|
||
if ($tabData['adresseSiegeVoie'][$n]=='' && $tabData['adresseSiegeCP'][$n]=='' && $tabData['adresseSiegeVille'][$n]=='') {
|
||
$tabData['adresseSiegeVoie'][$n]=$tabData['adresseSiegeVille'][0];
|
||
$tabData['adresseSiegeCP'][$n]=$tabData['adresseSiegeVille'][0];
|
||
$tabData['adresseSiegeVille'][$n]=$tabData['adresseSiegeVille'][0];
|
||
}
|
||
if (preg_match("/^Pr(é|e)c(é|e)dents? propri(é|e)taires? exploitant/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? propri(é|e)taires? exploitants?/i", '', $raisonSociale); $roleEntrep=2850;
|
||
}elseif (preg_match("/^Pr(é|e)c(é|e)dents? propri(é|e)taire/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? propri(é|e)taires?/i", '', $raisonSociale); $roleEntrep=2851;
|
||
}elseif (preg_match("/^Pr(é|e)c(é|e)dents? exploitant/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Pr(é|e)c(é|e)dents? exploitants?/i", '', $raisonSociale); $roleEntrep=2860;
|
||
}elseif (preg_match("/^Propri(é|e)taire/i", $raisonSociale)) {
|
||
$raisonSociale=preg_replace("/^Propri(é|e)taires?/i", '', $raisonSociale); $roleEntrep=2851;
|
||
}
|
||
$raisonSociale=trim(str_replace(':','',$raisonSociale));
|
||
}
|
||
} // Gérer sinon les fusions ?
|
||
if (in_array(2318, $tabData['typeMMD']) && count($tabData['typeMMD'])>1)
|
||
$tabData['typeMMD']=array_diff($tabData['typeMMD'], array(2318)); // Présence d'un MMD avec autre Mouvement + Précis, on vire la MMD
|
||
elseif (in_array(2318, $tabData['typeMMD']) && count($tabData['typeMMD'])==0 && $roleEntrep<>'')
|
||
$tabData['typeMMD']=array_diff($tabData['typeMMD'], array(2318)); // Présence d'un MMD sans Mouvement + Précis mais en Location Gérance, on vire MMD
|
||
elseif (count($tabData['typeMMD'])==0 && $roleEntrep=='')
|
||
$tabData['typeMMD']=array(2312); // Auncun MMD et pas de Location Gérance, on ajout MMD Autre
|
||
|
||
if($roleEntrep<>'')
|
||
$strEVEN=$roleEntrep;//.';'.@implode(';', $tabData['typeMMD']);
|
||
else
|
||
$strEVEN=@implode(';', $tabData['typeMMD']);
|
||
|
||
// $tabMand=findIdMandataire($tabData['Mandataire']);
|
||
// $tabRepr=findIdMandataire($tabData['ReprCreanciers']);
|
||
// $tabAdmi=findIdMandataire($tabData['administrateur']);
|
||
$tabAdresse=$iInsee->structureVoie($tabData['adresseVoie'][$n]);
|
||
$tabAdresseSiege=$iInsee->structureVoie($tabData['adresseSiegeVoie'][$n]);
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabData['siren'][$n],
|
||
'sirenValide'=>$tabData['sirenValide'][$n],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'Rubrique'=>'mmd',
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>$tabData['RC'][$n],
|
||
'raisonSociale'=>$raisonSociale,
|
||
'nomCommercial'=>$tabData['nomCommercial'][$n],
|
||
'enseigne'=>$tabData['enseigne'][$n],
|
||
'sigle'=>$tabData['sigle'][$n],
|
||
'nationalite'=>$tabData['nationalite'][$n],
|
||
'FJ'=>$tabData['FJ'][$n],
|
||
'Capital'=>$tabData['Capital']['Montant'],
|
||
'CapitalDev'=>$tabData['Capital']['Devise'],
|
||
'administration'=>@implode('.', $tabData['administration']),
|
||
/* 'typeCreation'=>@implode("\n", $tabData['typeCreation']), */
|
||
'activite'=>$tabData['activite'][$n],
|
||
|
||
'adresse'=>$tabData['adresseVoie'][$n],
|
||
|
||
'adrNum'=>$tabAdresse['num'],
|
||
'adrIndRep'=>$tabAdresse['indRep'],
|
||
'adrTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrComp1'=>$tabAdresse['adrComp0'],
|
||
'adrComp2'=>$tabAdresse['adrComp1'],
|
||
|
||
'codePostal'=>$tabData['adresseCP'][$n],
|
||
'ville'=>$tabData['adresseVille'][$n],
|
||
'adresseSiege'=>$tabData['adresseSiegeVoie'][$n],
|
||
|
||
'adrSiegeNum'=>$tabAdresseSiege['num'],
|
||
'adrSiegeIndRep'=>$tabAdresseSiege['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresseSiege['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresseSiege['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresseSiege['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresseSiege['adrComp1'],
|
||
|
||
'codePostalSiege'=>$tabData['adresseSiegeCP'][$n],
|
||
'villeSiege'=>$tabData['adresseSiegeVille'][$n],
|
||
|
||
'dateCessationActivite'=>$tabData['dateCessationActivite'],
|
||
// 'publication'=>$tabData['publication'],
|
||
// 'typeProCol'=>$tabData['typeProCol'],
|
||
'typeEven'=>$strEVEN,
|
||
'fusion'=>@print_r($tabData['fusion'],true),
|
||
'commentaires'=>@implode('; ', $tabData['commentaires']),
|
||
// 'dateCessationPaiement'=>$tabData['dateCessationPaiement'],
|
||
// 'dateJugement'=>$tabData['dateJugement'],
|
||
// 'Numero'=>$tabData['Numero'],
|
||
// 'Mandataire'=>$tabMand['Nom'].';'.$tabMand['repPar'].';'.$tabMand['Adresse'].';'.$tabMand['CP'].';'.$tabMand['Ville'],
|
||
// 'jugeCommissaire'=>$tabData['jugeCommissaire'],
|
||
// 'ReprCreanciers'=>$tabRepr['Nom'].';'.$tabRepr['repPar'].';'.$tabRepr['Adresse'].';'.$tabRepr['CP'].';'.$tabRepr['Ville'],
|
||
// 'administrateur'=>$tabAdmi['Nom'].';'.$tabAdmi['repPar'].';'.$tabAdmi['Adresse'].';'.$tabAdmi['CP'].';'.$tabAdmi['Ville'],
|
||
// 'dateFinDepotCreances'=>Wdate::period2Days($tabAnn['Bodacc_Date_Parution'],$tabData['delaiDepotCreances']),
|
||
// 'delaiDepotCreances'=>$tabData['delaiDepotCreances'],
|
||
// 'dateFinObservation'=>$tabData['dateFinObservation'],
|
||
// 'FinObservationBodacc'=>$tabData['dateFinObservation'],
|
||
'dateDebutActivite'=>$tabData['dateDebutActivite'],
|
||
'dateEffet'=>$tabData['dateEffet'],
|
||
'dateInsert'=>$dateInsert);
|
||
//$ret=$iDb->insert('bodacc_mmd', $tabAnnC);
|
||
if ($tabData['dupliquer'][$n] && !$reload) {
|
||
$tabAnnDup=$tabAnnC;
|
||
$tabAnnDup['siren']=$tabAnnDup['sirenValide']=0;
|
||
$iDb->insert('bodacc_detail', $tabAnnDup);
|
||
}
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret){
|
||
while(mysql_errno()==1062) {
|
||
if ($tabAnnC['siren']>1000) $tabAnnC['siren']=0;
|
||
$tabAnnC['siren']++;
|
||
$tabAnnC['sirenValide']=0;
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
}
|
||
if (!$ret) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno().
|
||
" : Insertion des informations du BODACC B (MMD) sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
die();
|
||
}
|
||
}
|
||
if (isset($tabData['dateDebutActivite'])) $dateEffet=$tabData['dateDebutActivite'];
|
||
elseif (isset($tabData['dateEffet'])) $dateEffet=$tabData['dateEffet'];
|
||
elseif (isset($tabData['dateCessationActivite'])) $dateEffet=$tabData['dateCessationActivite'];
|
||
else $dateEffet=$tabAnn['Bodacc_Date_Parution'];
|
||
$tabAdministration=$iBodacc->getDirigeants($tabData['administration']);
|
||
foreach ($tabAdministration as $numDir => $tabDir) {
|
||
$tabDir['num']=$numDir;
|
||
$tabDir['dateEffet']=$dateEffet;
|
||
$tabDir['id']=$idAnnRet;
|
||
$tabDir['Rubrique']='mmd';
|
||
$tabDir['dateInsert']=$dateInsert;
|
||
if (!$iDb->insert('bodacc_dirigeants', $tabDir, true) && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion des informations du dirigeant BODACC B sur le siren $siren en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabDir);
|
||
die();
|
||
}
|
||
}
|
||
if (isset($tabData['fusion'])) {
|
||
foreach ($tabData['fusion'] as $t=>$tabFusion) {
|
||
if ($tabFusion['sirenAbs']<>$tabData['sirenValide'][$n]) {
|
||
$tabAdresse=$iInsee->structureVoie($tabFusion['adresseAbs']);
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$tabFusion['sirenAbs'],
|
||
'sirenValide'=>1, // A été validé aupparavant par la détection de SIREN VALIDE
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>'',
|
||
'FJ'=>'',
|
||
'raisonSociale'=>$tabFusion['raisonAbs'],
|
||
'adresse'=>$tabFusion['adresseAbs'],
|
||
'adrNum'=>$tabAdresse['num'],
|
||
'adrIndRep'=>$tabAdresse['indRep'],
|
||
'adrTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrComp1'=>$tabAdresse['adrComp0'],
|
||
'adrComp2'=>$tabAdresse['adrComp1'],
|
||
'codePostal'=>$tabFusion['adresseAbsCP'],
|
||
'ville'=>$tabFusion['adresseAbsVille'],
|
||
'adresseSiege'=>$tabFusion['adresseAbs'],
|
||
'adrSiegeNum'=>$tabAdresse['num'],
|
||
'adrSiegeIndRep'=>$tabAdresse['indRep'],
|
||
'adrSiegeTypVoie'=>$tabAdresse['typeVoie'],
|
||
'adrSiegeLibVoie'=>$tabAdresse['libVoie'],
|
||
'adrSiegeComp1'=>$tabAdresse['adrComp0'],
|
||
'adrSiegeComp2'=>$tabAdresse['adrComp1'],
|
||
'codePostalSiege'=>$tabFusion['adresseAbsCP'],
|
||
'villeSiege'=>$tabFusion['adresseAbsVille'],
|
||
'dateCessationActivite'=>$tabData['dateCessationActivite'],
|
||
'typeEven'=>$tabFusion['codeEvenAbs'],
|
||
'fusion'=>$tabFusion['adresseAbs'],
|
||
'commentaires'=>@implode('; ', $tabData['commentaires']),
|
||
'dateDebutActivite'=>$tabData['dateDebutActivite'],
|
||
'dateEffet'=>$tabData['dateEffet'],
|
||
'dateInsert'=>$dateInsert);
|
||
//$ret=$iDb->insert('bodacc_mmd', $tabAnnC);
|
||
$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno().
|
||
" : Insertion des informations du BODACC B (MMD, Entités absorbées) sur le siren ".$tabFusion['sirenAbs']." en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
print_r($tabData);
|
||
die();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR : Rubrique '".$tabAnn['Bodacc_Code']."' non prévue pour insertion détaillé en base (annonce n°$idAnnRet) !".EOL;
|
||
echo 'tabAnn'.EOL;
|
||
print_r($tabAnn);
|
||
echo 'tabData'.EOL;
|
||
print_r($tabData);
|
||
die();
|
||
}
|
||
if (count($tabData['participations'])>0) {//bodacc_autre
|
||
foreach ($tabData['participations'] as $t=>$sirenParticipation) {
|
||
$tabAnnC=array( 'id'=>$idAnnRet,
|
||
'siren'=>$sirenParticipation,
|
||
'sirenValide'=>1, // A été validé aupparavant
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Tribunal_Code'=>$tabAnn['Tribunal_Code'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'RC'=>'',
|
||
'FJ'=>'',
|
||
'raisonSociale'=>'',
|
||
'adresseSiege'=>'',
|
||
'codePostalSiege'=>'',
|
||
'villeSiege'=>'',
|
||
'typeEven'=>2750,
|
||
'dateInsert'=>$dateInsert);
|
||
$ret=$iDb->insert('bodacc_autre', $tabAnnC);
|
||
//$ret=$iDb->insert('bodacc_detail', $tabAnnC);
|
||
if (!$ret && mysql_errno()<>1062) {
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ". mysql_errno().
|
||
" : Insertion des informations 'autres' du BODACC sur le siren ".$sirenParticipation." en base impossible (annonce $idAnnRet) !".EOL;
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnC);
|
||
print_r($tabData);
|
||
die();
|
||
}
|
||
}
|
||
}
|
||
if ($tabSiren)
|
||
foreach($tabSiren as $itmp => $siren) {
|
||
//echo "tabSiren\n";
|
||
//print_r($tabSiren);
|
||
//echo "siren\n";
|
||
//print_r($siren);die();
|
||
$tabAnnSir=array('id'=>$idAnnRet,
|
||
'siren'=>$siren['num'],
|
||
'sirenValide'=>$siren['valide'],
|
||
'Bodacc_Num'=>$tabAnn['Bodacc_Num'],
|
||
'Bodacc_Date_Parution'=>$tabAnn['Bodacc_Date_Parution'],
|
||
'Num_Annonce'=>$tabAnn['Num_Annonce'],
|
||
'Rubrique_Bodacc'=>$tabAnn['Rubrique_Bodacc'],
|
||
'typeAnnonce'=>$tabAnn['typeAnnonce'],
|
||
'corrNum_Annonce'=>$tabAnn['corrNum_Annonce'],
|
||
'corrBodacc_Date_Parution'=>$tabAnn['corrBodacc_Date_Parution'],
|
||
'corrPage'=>$tabAnn['corrPage'],
|
||
'corrNumParution'=>$tabAnn['corrNumParution'],
|
||
'corrTexteRectificatif'=>$tabAnn['corrTexteRectificatif'],
|
||
'dateInsert'=>$dateInsert);
|
||
$ret=$iDb->insert('bodacc_siren', $tabAnnSir);
|
||
if (!$ret && mysql_errno()<>1062){
|
||
|
||
echo date ('Y/m/d - H:i:s')." - ERREUR ".mysql_errno()." : Insertion du siren $siren en base impossible sur l'annonce $idAnnRet !\n";
|
||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||
print_r($tabAnnSir);
|
||
die();
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
unset($tabAnnonces);
|
||
unset($idann);
|
||
}
|
||
/*echo 'Familles XML non gérées'.EOL;
|
||
print_r(array_unique($tabFamilleNature));
|
||
|
||
echo 'Familles PDF non gérées'.EOL;
|
||
$tabFamilles=array_unique($tabFamilles);
|
||
sort($tabFamilles);
|
||
print_r($tabFamilles);
|
||
*/
|
||
//print_r(array_unique($tabFam));
|
||
|
||
if ($copieWaldec) {
|
||
echo date ('Y/m/d - H:i:s')." - Mise à jour des SIREN du JO Association avec WALDEC...".EOL;
|
||
$nbWaldeked=0;
|
||
// Sens Waldec ==> Siren
|
||
$tabWaldec=array();
|
||
$tmp=$iDb->select('asso', 'Waldec, siren, count(*) AS nbDiff', "Waldec<>'' AND siren>100 GROUP BY Waldec, siren /*HAVING nbDiff=1*/", false, MYSQL_ASSOC);
|
||
foreach ($tmp as $nbWaldec1=>$tabTmp)
|
||
$tabWaldec[$tabTmp['Waldec']]=$tabTmp['siren'];
|
||
$tmp=$iDb->select('asso_bilans', 'Waldec, siren, count(*) AS nbDiff', "Waldec<>'' AND siren>100 GROUP BY Waldec, siren /*HAVING nbDiff=1*/", false, MYSQL_ASSOC);
|
||
foreach ($tmp as $nbWaldec2=>$tabTmp)
|
||
$tabWaldec[$tabTmp['Waldec']]=$tabTmp['siren'];
|
||
$tabWaldec=array_unique($tabWaldec);
|
||
$nbWaldec=$nbWaldec1+$nbWaldec2;
|
||
echo date ('Y/m/d - H:i:s')." - La table SIREN/WALDEC contient $nbWaldec lignes...".EOL;
|
||
|
||
$tmp=$iDb->select('asso', 'id, Waldec', "siren<100 AND Waldec<>''", false, MYSQL_ASSOC);
|
||
foreach ($tmp as $nbWaldec=>$tabTmp) {
|
||
$id=$tabTmp['id'];
|
||
$waldec=$tabTmp['Waldec'];
|
||
if (isset($tabWaldec[$waldec])) {
|
||
$siren=$tabWaldec[$waldec];
|
||
$iDb->update('asso', array('siren'=>$tabWaldec[$tabTmp['Waldec']]), 'id='.$tabTmp['id'].' AND siren<100');
|
||
$nbWaldeked++;
|
||
// echo date ('Y/m/d - H:i:s')." - $nbWaldec : Mise à jour de id=$id, Waldec=$waldec avec siren $siren...".EOL;
|
||
}
|
||
}
|
||
|
||
// Sens Waldec ==> Siren
|
||
$tabWaldec=array();
|
||
$tmp=$iDb->select('asso', 'siren, Waldec, count(*) AS nbDiff', "Waldec<>'' AND siren>100 GROUP BY siren, Waldec HAVING nbDiff=1", false, MYSQL_ASSOC);
|
||
foreach ($tmp as $nbWaldec=>$tabTmp)
|
||
$tabWaldec['_'.$tabTmp['siren']]=$tabTmp['Waldec'];
|
||
$tmp=$iDb->select('asso_bilans', 'siren, Waldec, count(*) AS nbDiff', "Waldec<>'' AND siren>100 GROUP BY siren, Waldec HAVING nbDiff=1", false, MYSQL_ASSOC);
|
||
foreach ($tmp as $nbWaldec=>$tabTmp)
|
||
$tabWaldec[$tabTmp['Waldec']]=$tabTmp['siren'];
|
||
$tabWaldec=array_unique($tabWaldec);
|
||
//echo date ('Y/m/d - H:i:s')." - La table WALDEC/SIREN contient $nbWaldec lignes...".EOL;
|
||
|
||
$tmp=$iDb->select('asso', 'id, siren', "Waldec='' AND siren>100", false, MYSQL_ASSOC);
|
||
foreach ($tmp as $nbWaldec=>$tabTmp) {
|
||
$id=$tabTmp['id'];
|
||
$waldec='_'.$tabTmp['siren'];
|
||
if (isset($tabWaldec[$waldec])) {
|
||
$siren=$tabTmp['siren'];
|
||
$iDb->update('asso', array('Waldec'=>$tabWaldec[$waldec]), "id=$id AND siren=$siren");
|
||
$nbWaldeked++;
|
||
//echo date ('Y/m/d - H:i:s')." - $nbWaldec : Mise à jour de id=$id, Waldec=".$tabWaldec[$waldec]." avec siren $siren ($waldec)...".EOL;
|
||
//die(mysql_error());
|
||
}
|
||
}
|
||
|
||
echo date ('Y/m/d - H:i:s')." - Mise à jour de $nbWaldeked SIREN d'Associations avec WALDEC non sirenées.".EOL;
|
||
$strMailInfo.=date('Y/m/d - H:i:s') ." - Mise à jour de $nbWaldeked SIREN d'Associations avec WALDEC non sirenées.".EOL;
|
||
}
|
||
|
||
|
||
|
||
echo date('Y/m/d - H:i:s') ." - FIN de l'intégration du BODACC.".EOL;
|
||
$strMailInfo.=date('Y/m/d - H:i:s') ." - FIN de l'intégration du BODACC.".EOL;
|
||
sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Chargement des annonces J.O.', $strMailInfo);
|
||
if (strlen($strMailInfo)>60)
|
||
sendMail('production@scores-decisions.com', 'jal42@scores-decisions.com', 'Chargement des annonces J.O.', $strMailInfo);
|
||
|
||
|
||
|
||
//print_r($tabAnnonces);
|
||
//$tabDepLu = array_unique ($tabDepLu);
|
||
/*sort($tabDepLu);
|
||
echo "Liste des départements lu :\n";
|
||
print_r($tabDepLu);
|
||
|
||
$tabPartiesLues = array_unique ($tabPartiesLues);
|
||
sort($tabPartiesLues);
|
||
echo "Liste des Parties lues :\n";
|
||
print_r($tabPartiesLues);
|
||
|
||
$tabRubriquesLues= array_unique ($tabRubriquesLues);
|
||
sort($tabRubriquesLues);
|
||
echo "Liste des rubriques lues :\n";
|
||
print_r($tabRubriquesLues);
|
||
*/
|
||
//print_r($tabAnnonces);
|
||
|
||
//print_r($tabAnnoncesTxt);
|
||
|
||
//print_r($tabFichiers);
|
||
/*
|
||
Associé de fait
|
||
Associés de fait
|
||
Co-indivisaires non exploitants
|
||
Conjoint collaborateur
|
||
Fondé de pouvoir
|
||
Liquidateur de procédure collective
|
||
Locataire-gérant
|
||
Nom d'usage
|
||
Propriétaire du fonds
|
||
*/
|
||
|
||
/*
|
||
class DomDocument2 extends DOMDocument {
|
||
|
||
function getValueFromTag($tagName) {
|
||
$items=$this->getElementsByTagName($tagName);
|
||
foreach ($items as $item) {
|
||
|
||
return utf8_decode($item->nodeValue);
|
||
}
|
||
}
|
||
|
||
}*/
|
||
|
||
function getLibelleDevise($codeDeviseIso) {
|
||
$iDb=new WDB();
|
||
$tmp=$iDb->select('tabDevises', 'devNom', "devIso='$codeDeviseIso'");
|
||
return $tmp[0][0];
|
||
}
|
||
|
||
function afficheListeEven($texte) {
|
||
$iDb=new WDB();
|
||
$texte=addslashes($texte);
|
||
$tmp=$iDb->select('tabEvenements', 'codEven, libEven', "libEven LIKE '%$texte%'");
|
||
foreach ($tmp as $tabTmp)
|
||
echo $tabTmp['codEven'].' : '.$tabTmp['libEven'].EOL;
|
||
echo EOL;
|
||
}
|
||
|
||
function generePhraseBodaccTxt ($str, $libelle='') {
|
||
// Le libellé doit être de la forme "xxxxx :"
|
||
$libelle=trim($libelle);
|
||
$str=trim($str);
|
||
if ($libelle<>'')
|
||
if (substr($libelle,-1)==':')
|
||
$libelle=trim(substr($libelle,0,strlen($libelle)-1)).' : ';
|
||
else
|
||
$libelle=trim($libelle).' : ';
|
||
|
||
// Ensuite on affiche " Libellé : blablabla."
|
||
if ($str<>'')
|
||
if (substr($str,-1)=='.') return " $libelle $str";
|
||
else return " $libelle $str.";
|
||
else
|
||
return '';
|
||
}
|
||
|
||
/** Conversion d'objet DOM sous la forme d'un document XML
|
||
**/
|
||
function ObjectToFile($xmlObject) {
|
||
|
||
// Création d'un nouvel objet document
|
||
$dom = new DomDocument('1.0', 'iso-8859-1');
|
||
|
||
// Création de l'élément racine
|
||
$root = $dom->createElement($xmlObject->root->name);
|
||
$dom->appendChild($root);
|
||
|
||
// appel d'une fonction récursive qui construit l'élément XML
|
||
// à partir de l'objet, en parcourant tout l'arbre de l'objet.
|
||
setElement($dom, $xmlObject->root, $root);
|
||
|
||
// Mise à jour du fichier source original
|
||
$dom->save($xmlObject->source);
|
||
echo $xmlObject->source;
|
||
}
|
||
|
||
/** Parcours d'arbre en profondeur pour la conversion objet vers XML
|
||
**/
|
||
function setElement($dom_document, $object_element, $dom_element) {
|
||
|
||
// récupération de la valeur CDATA de l'élément
|
||
if (isset($object_element->textValue)) {
|
||
$cdata = $dom_document->createTextNode($object_element->textValue);
|
||
$dom_element->appendChild($cdata);
|
||
}
|
||
|
||
// récupération des attributs
|
||
if (isset($object_element->attributes)) {
|
||
foreach($object_element->attributes as $attName=>$attValue) {
|
||
$dom_element->setAttribute($attName, $attValue);
|
||
}
|
||
}
|
||
|
||
// construction des éléments fils, et parcours de l'arbre
|
||
if (isset($object_element->children)) {
|
||
foreach($object_element->children as $childObject) {
|
||
$child = $dom_document->createElement($childObject->name);
|
||
setElement($dom_document, $childObject, $child);
|
||
$dom_element->appendChild($child);
|
||
}
|
||
}
|
||
}
|
||
|
||
?>
|