batch/library/Metier/bodacc/classMBodacc.php

1249 lines
62 KiB
PHP
Raw Normal View History

2013-06-19 09:45:13 +00:00
<?
global $tabNaturesJugements;
$tabNaturesEvenements=array(
md5("Jugement modifiant le plan de cession")=>1408,
md5("Jugement d'ouverture d'une procédure de redressement judiciaire")=>'1200',
md5("Jugement d'ouverture de liquidation judiciaire")=>'1301',
md5("Jugement de clôture pour insuffisance d'actif")=>1503,
md5("Jugement de clôture de la liquidation des biens pour insuffisance d'actif")=>1503,
md5("Dépôt de l'état des créances")=>1204,
md5("Dépôt de l'état des créances Loi de 1985")=>1214,
md5("Jugement de plan de redressement")=>1414,
md5("Jugement de clôture pour extinction du passif")=>1502,
md5("Jugement arrêtant le plan de sauvegarde")=>1101,
md5("Liste des créances nées après le jugement d'ouverture d'une procédure de liquidation judiciaire")=>1206,
md5("Jugement de conversion en liquidation judiciaire")=>1300,
md5("Jugement arrêtant un plan de cession")=>1411,
md5("Jugement prononçant la résolution du plan de cession et la liquidation judiciaire")=>'1305;1511',
md5("Liste des créances nées après le jugement d'ouverture d'une procédure de redressement judiciaire")=>1206,
md5("Dépôt de l'état de collocation")=>1203,
md5("Jugement prononçant la résolution du plan de redressement et la liquidation judiciaire")=>'1305;1512',
md5("Jugement prononçant la résolution du plan de sauvegarde et la liquidation judiciaire")=>'1305;1513',
md5("Jugement de faillite personnelle")=>1600,
md5("Jugement de faillite personnelle Loi de 1985")=>1610,
md5("Jugement d'interdiction de gérer")=>1601,
md5("Jugement d'interdiction de gérer Loi de 1985")=>1611,
md5("Arrêt de la cour d'appel infirmant une décision soumise à publicité")=>1506,
md5("Jugement d'ouverture d'une procédure de sauvegarde")=>1100,
md5("Jugement de reprise de la procédure de liquidation judiciaire")=>1304,
md5("Jugement modifiant le plan de continuation")=>1409,
md5("Dépôt du projet de répartition")=>1208,
md5("Dépôt de l'état des créances et du projet de répartition")=>'1204;1208',
md5("Jugement d'homologation de l'accord")=>1550,
md5("Jugement prononçant la résolution du plan de cession")=>1511,
md5("Jugement de conversion en redressement judiciaire de la procédure de sauvegarde")=>1201,
md5("Jugement de conversion en liquidation judiciaire de la procédure de sauvegarde")=>1307,
md5("Jugement modifiant la date de cessation des paiements")=>1450,
md5("Jugement de clôture de la liquidation des biens pour extinction du passif")=>1502,
md5("Jugement modifiant le plan de redressement")=>1407,
md5("Jugement mettant fin à la procédure de redressement judiciaire")=>1500,
md5("Jugement accordant un délai pour déposer la liste des créances")=>1440,
md5("Jugement modifiant le plan de sauvegarde")=>1407,
md5("Jugement de clôture pour insuffisance d'actif et autorisant la reprise des poursuites individuelles")=>'1503;1605',
md5("Ordonnance statuant sur les contestations du projet de répartition")=>1540,
md5("Jugement de clôture de la procédure de sauvegarde")=>1500,
md5("Jugement mettant fin à la procédure de sauvegarde")=>1500,
md5("Jugement d'extension de liquidation judiciaire")=>1417,
md5("Jugement d'extension d'une procédure de redressement judiciaire")=>1418,
md5("Jugement d'extension d'une procédure de sauvegarde")=>1419,
md5("Rétractation de prononcé de liquidation judiciaire sur tierce opposition")=>1541,
md5("Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition")=>1542,
md5("Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition")=>1543,
md5("Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition")=>1544,
md5("Jugement de désignation des organes de la procédure")=>1215, // v1.5 Avril 2008
md5("Rétractation de jugement d'ouverture sur tierce opposition")=>1545,
md5("Autre rétractation sur tierce opposition")=>1546,
md5("Autre jugement de liquidation des biens")=>1603,
md5("Autre arrêt de la Cour d'Appel")=>1507,
md5("Autre jugement de clôture")=>1500,
md5("Autres avis de dépôt")=>1216,
md5("Arrêts divers")=>1515,
md5("Autre jugement d'ouverture")=>1998,
md5("Autres jugements et ordonnances")=>1998,
md5("Autre jugement prononçant")=>1998,
/**
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Ventes / Cessions
**/
md5("Achat d'un fonds par une personne morale (insertion provisoire)")=>5103,
md5("Achat d'un foncs par une personne morale (insertion provisoire)")=>5103,
md5("Achat d'un fonds par une personne morale.")=>5103, // Ajout le 23/12/2010
md5("Achat d'un établissement principal par une personne physique (immatriculation)")=>5000,
md5("Achat d'un établissement principal par une personne morale lors de l'immatriculation")=>5000,
md5("Autre achat, apport, attribution")=>5900,
md5("Autre achat, appport, attribution")=>5900,
md5("Autre achat, apport, attribution (personne physique)")=>5900,
md5("Autre achat, apport, attribution (personne physque)")=>5900,
md5("Autre achat, apport, atribution (personne morale)")=>5900,
md5("Autre achat, apport, attribution (personne morale)")=>5900,
md5("achat, apport, attribution (personne morale)")=>5900,
md5("Achat d'un fonds par une personne physique (insertion provisoire)")=>5103,
md5("Achat d'un établissement secondaire ou complémentaire par une personne morale")=>5001,
md5("Apport d'un établissement secondaire/complémentaire (personne morale, uniquement)")=>5001,
md5("Achat d'un établissement complémentaire par une personne morale")=>5001,
md5("Achat d'un établissement secondaire ou complémentaire par une personne physique")=>5001,
md5("Mise en activité d'une société suite à achat")=>'2316;5999',
md5("Mise en activité d'une soicété suite à achat")=>'2316;5999',
md5("Achat d'un fonds par le locataire-gérant personne morale")=>5450,
md5("Achat d'un fonds par le locataire-gérant personne physique")=>5450,
md5("Apport d'un établissement principal (immatriculation d'une personne morale, uniquement)")=>5000,
md5("Apport d'un établissement principal (immatriculation d'une personne morale uniquement)")=>5000,
md5("Attribution d'un fonds suite à partage, à licitation (Immatriculation d'une personne physique)")=>5460,
md5("Attribution d'un fonds suite à donation avec délai d'oppositions (Immatriculation d'une personne physique)")=>5460,
md5("Annulation d'avis Vente")=>5999,
md5("Annulation d'avis vente")=>5999,
md5("fonds acquis par achat au prix stipulé de 155 000 euros.")=>5900,
/**
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Créations / Immatriculations
**/
md5("Immatriculation d'une personne physique suite à création d'un établissement principal")=>4000,
md5("Immatriculation d'une personne morale (B, D) sans activité")=>4050,
md5("Immatriculation d'une personne morale (B, C, D) suite à création d'un établissement principal")=>4000,
md5("Immatriculation d'une personne morale (B, C, D suite à création d'un établissement principal)")=>4000,
md5("Immatriculation d'une personne physique suite à transfert de l'établissement principal")=>4250,
md5("Immatriculation d'une personne morale après 1er avis")=>4000,//???????
md5("Immatriculation d'une personne morale suite à transfert de son siège social")=>4250,
md5("Immatriculation d'une personne physique, reprise d'activité après location-gérance")=>4350,
md5("Immatriculation d'une personne morale, établissement principal reçu en location-gérance")=>4355,
md5("Immatriculation d'une personne physique après 1er avis")=>4000,
md5("Immatriculation d'une personne physique, établissement principal reçu en location-gérance")=>4355,
md5("Immatriculation d'une personne physique, établissement principal précédemment exploité par le conjoint")=>4450,
md5("Immatriculation d'une personne physique, établissement précédemment exploité par le conjoint")=>4450,
md5("Transformation d'un GAEC")=>4400,
md5("Autre immatriculation personne morale")=>4000,
md5("Autre immatriculation personne physique")=>4000,
md5("Immatriculation d'une société de droit européen (quelle que soit l'origine du fonds)")=>4600,
md5("Immatriculation avec origine du fonds création")=>4000,
md5("Immatriculation avec orgine du fonds création")=>4000,
md5("Immatriculation avec origine de fonds achat")=>4501,
md5("Immatriculation avec origine du fonds achat")=>4501,
md5("Immatriculation d'une personne physique, établissement principal hérité, reçu par donation")=>4410,
);
$tabTypeAsso=array( '_1' =>array('even'=>8000,'type'=>'Insertion', 'forme'=>'ASS','lib'=>'ASSOCIATION/CREATION'),
'_2' =>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASS','lib'=>'ASSOCIATION/MODIFICATION'),
'_3' =>array('even'=>8090,'type'=>'Insertion', 'forme'=>'ASS','lib'=>'ASSOCIATION/DISSOLUTION'),
'_4' =>array('even'=>8000,'type'=>'Insertion', 'forme'=>'FON','lib'=>'FONDATION/CREATION'),
'_5' =>array('even'=>8079,'type'=>'Insertion', 'forme'=>'FON','lib'=>'FONDATION/MODIFICATION'),
'_6' =>array('even'=>8090,'type'=>'Insertion', 'forme'=>'FON','lib'=>'FONDATION/DISSOLUTION'),
'_7' =>array('even'=>8085,'type'=>'Insertion', 'forme'=>'ASS','lib'=>'DECISION DE JUSTICE'),
'_11' =>array('even'=>8000,'type'=>'Rectificatif', 'forme'=>'ASS','lib'=>'ASSOCIATION/CREATION/RECTIFICATIF'),
'_22' =>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'ASS','lib'=>'ASSOCIATION/MODIFICATION/RECTIFICATIF'),
'_33' =>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'ASS','lib'=>'ASSOCIATION/DISSOLUTION/RECTIFICATIF'),
'_44' =>array('even'=>8000,'type'=>'Rectificatif', 'forme'=>'FON','lib'=>'FONDATION/CREATION/RECTIFICATIF'),
'_55' =>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'FON','lib'=>'FONDATION/MODIFICATION/RECTIFICATIF'),
'_66' =>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'FON','lib'=>'FONDATION/DISSOLUTION/RECTIFICATIF'),
'_101'=>array('even'=>8000,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/CREATION'),
'_102'=>array('even'=>8000,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/CREATION/RECTIFICATIF'),
'_103'=>array('even'=>8000,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/CREATION/ANNULATION'),
'_111'=>array('even'=>8000,'type'=>'Suppression', 'forme'=>'ASS','lib'=>'ASSOCIATION/CREATION/ANNULATION'),
'_222'=>array('even'=>8079,'type'=>'Suppression', 'forme'=>'ASS','lib'=>'ASSOCIATION/MODIFICATION/ANNULATION'),
'_333'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'ASS','lib'=>'ASSOCIATION/DISSOLUTION/ANNULATION'),
'_444'=>array('even'=>8000,'type'=>'Suppression', 'forme'=>'FON','lib'=>'FONDATION/CREATION/ANNULATION'),
'_555'=>array('even'=>8079,'type'=>'Suppression', 'forme'=>'FON','lib'=>'FONDATION/MODIFICATION/ANNULATION'),
'_666'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'FON','lib'=>'FONDATION/DISSOLUTION/ANNULATION'),
'_201'=>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION'),
'_202'=>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/RECTIFICATIF'),
'_301'=>array('even'=>8090,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION'),
'_302'=>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/RECTIFICATIF'),
'_303'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/ANNULATION'),
'_8AC'=>array('even'=>8000,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/CREATION/ANNULATION'),
'_8AD'=>array('even'=>8000,'type'=>'?', 'forme'=>'ASL','lib'=>'ASL/CREATION/DISSOLUTION'),
'_8AM'=>array('even'=>8000,'type'=>'?', 'forme'=>'ASL','lib'=>'ASL/CREATION/MODIFICATION'),
'_8C' =>array('even'=>8000,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/CREATION'),
'_8CR'=>array('even'=>8000,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/CREATION/RECTIFICATIF'),
'_8D' =>array('even'=>8090,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION'),
'_8DR'=>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/RECTIFICATIF'),
'_8M' =>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION'),
'_8RM'=>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/RECTIFICATIF'),
'_900'=>array('even'=>8000,'type'=>'Insertion', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/CREATION'), // Création de fonds de dotation
'_901'=>array('even'=>8000,'type'=>'Rectificatif', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/CREATION/RECTIFICATIF'), // Rectificatif de création de fonds de dotation
'_902'=>array('even'=>8000,'type'=>'Suppression', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/CREATION/ANNULATION'), // Annulation de création de fonds de dotation
'_903'=>array('even'=>8079,'type'=>'Insertion', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/MODIFICATION'), // Modification de fonds de dotation
'_904'=>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/MODIFICATION/RECTIFICATIF'), // Rectificatif de modification de fonds de dotation
'_905'=>array('even'=>8079,'type'=>'Suppression', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/MODIFICATION/ANNULATION'), // Annulation de modification de fonds de dotation
'_906'=>array('even'=>8090,'type'=>'Insertion', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/DISSOLUTION'), // Dissolution de fonds de dotation
'_907'=>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/DISSOLUTION/RECTIFICATIF'), // Rectificatif de dissolution de fonds de dotation
'_908'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/DISSOLUTION/ANNULATION'), // Annulation de dissolution de fonds de dotation
'_909'=>array('even'=>8080,'type'=>'Insertion', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/SUSPENSION'), // Avis de suspension d'activité
'_910'=>array('even'=>8080,'type'=>'Rectificatif', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/SUSPENSION/RECTIFICATIF'), // Rectificatif d'avis de suspension d'activité
'_911'=>array('even'=>8080,'type'=>'Suppression', 'forme'=>'FOD','lib'=>'FONDS_DOTATION/SUSPENSION/ANNULATION'), // Annulation d'avis de suspension d'activité
/*
_8CA Annulation creation ASL
_8DA Annulation dissolution ASL
_8MA Annulation modif ASL
_8MR Rectif modif ASL
*/
);
class MBodacc {
private static $tabAccents = array( '[A'=>'Á', //5B41
'^A'=>'Â', //5E41
'`A'=>'À', //6041
']A'=>'Ä', //5D41
'[a'=>'á', //5B61
'^a'=>'â', //5E61
'`a'=>'à', //6061
']a'=>'ä', //5D61
//'AE'=>'Æ', //4145 // Penser à les retransformer pour les vieux systèmes
//'ae'=>'æ', //6165 // Penser à les retransformer pour les vieux systèmes
'|C'=>'Ç', //7C43
'|c'=>'ç', //7C63
'[E'=>'É', //5B45
'^E'=>'Ê', //5E45
'`E'=>'È', //6045
']E'=>'Ë', //5D45
'[e'=>'é', //5B65
'^e'=>'ê', //5E65
'`e'=>'è', //6065
']e'=>'ë', //5D65
'[I'=>'Í', //5B49
'^I'=>'Î', //5E49
'`I'=>'Ì', //6049
']I'=>'Ï', //5D49
'[i'=>'í', //5B69
'^i'=>'î', //5E69
'`i'=>'ì', //6069
']i'=>'ï', //5D69
'[O'=>'Ó', //5B4F
'^O'=>'Ô', //5E4F
'`O'=>'Ò', //604F
']O'=>'Ö', //5D4F
'[o'=>'ó', //5B6F
'^o'=>'ô', //5E6F
'`o'=>'ò', //606F
']o'=>'ö', //5D6F
//'OE'=>'.', //4F45 // Penser à les retransformer pour les vieux systèmes
//'oe'=>'.', // Penser à les retransformer pour les vieux systèmes
'[U'=>'Ú', //5B55
'^U'=>'Û', //5E55
'`U'=>'Ù', //6055
']U'=>'Ü', //5D55
'[u'=>'ú', //5B75
'`u'=>'ù', //6075
'^u'=>'û', //5E75
']u'=>'ü', //5D75
'[Y'=>'Ý', //5B59
'[y'=>'ý', //5B79
);
private static $tabBalises=array( '00'=>'Texte',
'01'=>'Identifiant (NOJO) de l.annonce',
'02'=>'Publication (R1)',
'03'=>'Partie du BODACC et département (R2)',
'04'=>'Tribunal (R3)',
'05'=>'Rubrique au sein du BODACC (R4)',
'06'=>'Numéro de parution',
'07'=>'Numéro d.annonce dans la parution',
'14'=>'R.C.',
'15'=>'SIREN',
'16'=>'Raison sociale',
'17'=>'Activité (Ajout activité ?)',
'18'=>'PDG / CP (?)',
'19'=>'Enseigne / Nom Commercial (?)',
'20'=>'Date',
'22'=>'Forme juridique',
'23'=>'Capital (?)',
'24'=>'Bénéficiaire / Raison sociale (différence avec 16?)',
'25'=>'Sigle',
'26'=>'Objet / Commentaire (a exploiter !) (?)',
'27'=>'Syndic (a vérifier sur les annonces si pas anciennes annonces ?)',
'29'=>'Nom Commercial (?)',
'30'=>'Commentaire adresse',
'31'=>'Rue',
'32'=>'Localité',
'33'=>'Commune',
'35'=>'Conjoint (?)',
'36'=>'Code postal',
'37'=>'Additif (?)',
'40'=>'Texte rectificatif (?)',
'41'=>'Numéro annonce (?)',
'42'=>'Date de parution (?)',
'43'=>'Page (?)',
'44'=>'Numéro de parution (?)',
'70'=>'Numéro annonce',
'71'=>'Date de parution',
'72'=>'Page',
'73'=>'Numéro de parution',
'74'=>'Texte rectificatif/à supprimer',
'75'=>'Numéro annonce',
'76'=>'Numéro annonce',
);
/*
private static $tabEvenements=array(
'1100'=>'Ouverture sauvegarde',
'1101'=>'Jugement arrêtant plan de sauvegarde',
'1200'=>'RJ',
'1201'=>'Conversion sauvegarde en RJ',
'1202'=>'Renouvellement de la période d\'observation',
'1203'=>'Avis de dépôt de l\'état de collocation',
'1204'=>'Avis de dépôt de l\'état des créances',
'1205'=>'Avis de dépôt de l\'état des créances complémentaires',
'1206'=>'Avis de dépôt de l\'état des créances nées après jugements',
'1207'=>'Règlements amiables',
'1208'=>'Avis de dépôt du projet de répartition',
'1209'=>'Règlement judiciaire',
'1210'=>'Production titres créance',
'1300'=>'Conversion RJ en LJ',
'1301'=>'Ouverture LJ',
'1302'=>'Ouverture LJ simplifiée',
'1303'=>'Ouverture LJ sur résolution du plan',
'1304'=>'Réouverture LJ',
'1305'=>'LJ',
'1306'=>'LJ simplifiée',
'1307'=>'Conversion sauvegarde en LJ',
'1308'=>'Fin du régime de LJS',
'1309'=>'Conversion ouverture LJ en LJ simplifiée',
'1310'=>'Procédure d\'insolvabilité Européenne',
'1400'=>'Modification de plan',
'1401'=>'Modification du plan de cession',
'1402'=>'Modification du plan de continuation',
'1403'=>'Nommination d\'un administrateur judiciaire',
'1404'=>'Nommination d\'un mandataire judiciaire',
'1405'=>'Nommination d\'un représentant des créanciers',
'1406'=>'Remplacement du commissaire à l\'exécution du plan',
'1407'=>'Suite règlement/liquidation',
'1408'=>'Arrêt du plan de cession',
'1409'=>'Arrêt du plan de cession partielle',
'1410'=>'Arrêt du plan de continuation',
'1411'=>'Nommination d\'un juge commissaire',
'1500'=>'Clôture de la procédure',
'1501'=>'Clôture de la procédure après cession totale',
'1502'=>'Clôture de la procédure pour extinction du passif',
'1503'=>'Clôture de la procédure pour insuffisance d\'actif',
'1504'=>'Clôture sauvegarde pour absence de projet de plan',
'1505'=>'Appel de jugement',
'1506'=>'Infirmation Jugement',
'1507'=>'Extraits d\'arrêt de la cour d\'appel',
'1600'=>'Faillite personnelle',
'1601'=>'Interdiction de gérer',
'1602'=>'Jugement de réhabilitation',
'1603'=>'Liquidation des biens',
);*/
private static $tabRubriques=array(
'A101'=>'21 ventes et cessions (RCS A non inscrit)',
'A102'=>'22 ventes et cessions (RCS B, C et D non inscrit)',
'A103'=>'13 Créations d\'établissements (RCS A, PP)',
'A104'=>'14 Créations d\'établissements (RCS B, Ste)',
'A105'=>'15 Créations d\'établissements (RCS C, GIE ?)',
'A106'=>'16 Créations d\'établissements (RCS D, Sté Civile)',
'A107'=>'17 création d\'étab.second. ....... Pers Phys. ', //
'A108'=>'18 création d\'étab.second. ....... Société ', //
'A109'=>'19 création d\'étab.second. ....... Sté Civile ', //
'A124'=>'24 ventes et cessions (RCS A non inscrit)',
'A125'=>'25 ventes et cessions (RCS B, C et D non inscrit)',
'A126'=>'13 création d\'étab.+1 PP .......... Pers Phys. ', //
'A131'=>'15 Créations d\'établissements (G.Europ.IE)', //
'A136'=>'35 rectificatif ', //
'A137'=>'35 additif', //
'A138'=>'35 rectificatif supp. ', //
'A205'=>'51 reglement judiciaire ........... PP et Sté ', //
'A209'=>'63 LB faillite personnelle ........ Pers Phys.', //
'A210'=>'61 liquidation des biens .......... PP et Sté ', //
'A215'=>'71 suite reglemt/liquid. .......... PP et Sté ',
'A220'=>'77 Production titres créance ...... PP et Sté ', //
'A225'=>'78 Dépôt état des créances vérifiées PP et Sté ', //
'A228'=>'79 Cloture insuf.actif ......... PP et Sté ', //
'A236'=>'35 rectificatif ', //
'A237'=>'35 additif', //
'A238'=>'35 rectificatif supp.', //
'A401'=>'80 Banqueroute & Infractions ...... Pers Phys.', // ---
'A436'=>'35 rectificatif ', //
'A437'=>'35 additif', //
'A438'=>'35 rectificatif supp. ', //
'A701'=>'73 Susp provis poursuites ......... toutes formes', //
'A736'=>'35 rectificatif ', //
'A737'=>'35 additif', //
'A738'=>'35 rectificatif supp. ', //
'A8X1'=>'60 redressement & liqu.judiciaire.. toutes formes', //
'A801'=>'52 redressement judiciaire ........ toutes formes',
'A802'=>'62 ouverture liquidation judiciaire toutes formes',
'A803'=>'74 Appels jug. ouverture .......... toutes formes', //
'A804'=>'62 liquidation judiciaire ........ toutes formes',
'A805'=>'74 Appels jug. LB ................. toutes formes', //
'A806'=>'75 Arret plan de continuation...... toutes formes',
'A807'=>'75 Modif plan de continuation...... toutes formes',
'A808'=>'75 Arret plan de cession .......... toutes formes',
'A809'=>'75 Modif plan de cession .......... toutes formes',
'A810'=>'76 Cloture extinction Passif ...... toutes formes',
'A811'=>'79 Cloture insuf.Actif ............ toutes formes',
'A812'=>'79 Cloture après cession totale ... toutes formes',
'A813'=>'63 faillite pers. pp ou gerant .... toutes formes',
'A814'=>'64 interdiction de gerer .......... toutes formes',
'A815'=>'78 Dépot Créances ................ toutes formes',
'A816'=>'78 Dépot Créances nées ap jug ..... toutes formes',
'A817'=>'78 Dépot Cr.compl.nées ap jug ..... toutes formes',
'A818'=>'78 Dépot état Collocation ......... toutes formes',
'A819'=>'75 Modification plan diverse ...... toutes formes',
'A820'=>'53 Règlements amiables ............ Exploit agric',
'A821'=>'74 Appels jug. LB ................. toutes formes',
'A822'=>'56 Procédure insolvabilité......... toutes formes', //
'A823'=>' Ordonnance statuant sur les contestations',
'A824'=>'xx Dépôt du projet de répartition', //
'A836'=>'35 rectificatif ', //
'A837'=>'35 additif', //
'A838'=>'35 rectificatif supp. ', //
'A900'=>'Arrêt Conseil d\'Etat ou Conseil Supérieur des CAC',
'B1X1'=>'41 Dissolution .............. toutes formes', //
'B110'=>'31 mod.mut. diverses .............. A Pers Phys.',
'B111'=>'32 mod mut. diverses .............. B Société',
'B112'=>'33 mod mut. diverses .............. C GIE ',
'B113'=>'34 mod mut. diverses .............. D Sté civile',
'B114'=>'37 loc. gérance recue ............. Pers Phys.', //
'B115'=>'37 loc. gérance recue ............. Société', //
'B116'=>'40 radiation ...................... Pers Phys.',
'B117'=>'40 radiation ...................... Société',
'B118'=>'37 Location gérance reçue ...... Pers Physique',
'B119'=>'37 Location gérance reçue ...... Société',
'B120'=>'30 confirmation Ets pr. ou sec..... Société',
'B121'=>'30 confirmation Ets pr. ou sec..... Pers Phys.',
'B122'=>'38 loc.gérance donnée ............. Pers Phys.', //
'B123'=>'38 loc.gérance donnée ............. Société', //
'B127'=>'40 radiation d\'office ............. toutes formes ', //
'B128'=>'39 mention d\'office............. toutes formes ', //
'B129'=>'39 transfert entre tribunaux ...... Pers Phys.',
'B130'=>'39 transfert entre tribunaux ...... Société',
'B132'=>'33 mod mut. diverses .............. GEIE',
'B133'=>'40 radiation ...................... GEIE', //
'B134'=>'33 mod mut. diverses trf siège..... GEIE', //
'B136'=>'35 rectificatif ', //
'B137'=>'35 additif', //
'B138'=>'35 rectificatif supp. ', //
'C301'=>'91 dépot des comptes annuels ...... Société', //
'C331'=>'91 dépot des comptes annuels ...... Société',
'C336'=>'35 rectificatif ', //
'C337'=>'35 additif', //
'C338'=>'35 rectificatif supp. ', //
);
private $tabTribunaux = array();
private $tabFctDir = array();
private $tabDevises = array();
private $tabEvenements=array();
private $regExFonction = '';
private $tabDirigeants = array(
'pr.sidents? directeur g.n.ral'=>1301,
'P\.-D\.G\.'=>1301,
'pr.sidents? du conseil d\'administration assumant la direction général'=>1302,
'pr.sidents? du conseil d\'administration et administrateur'=>1303,
'pr.sidents? du conseil d\'administration et directeur général'=>1304,
'pr.sidents? du conseil d\'administration, directeur général et administrateur'=>1305,
'Administrateurs? délégués?'=>101,
'administrateurs? du G\.?I\.?E\.?'=>102,
'Administrateurs? et membres?'=>103,
'Administrateurs? et membres? du G\.?I\.?E\.?'=>104,
'Administrateurs? et présidents?'=>105,
'administrateurs? membres? engageants? le G\.?I\.?E\.?'=>106,
'Administrateurs? uniques?'=>107,
'Administrateurs?'=>100,
'Co.?g.rants? associ.s? ind.finiment responsables?'=>401,
'Co.?g.rants? associ.s?'=>402,
'Co.?g.rants? non associ.s?'=>403,
'Co.?g.rants? non statutaires?'=>404,
'Co.?g.rants? pouvant engager la soci.t.'=>405,
'Co.?g.rants? statutaires'=>406,
'Co.?g.rants?'=>400,
'Nouveaux? g.rants?'=>901,
'G.rants? et directeurs? techniques?'=>902,
'g.rants? et associ.s? en nom collectif'=>903,
'g.rants? associ.s? en nom collectif'=>903,
'g.rants? et associ.s? en nom'=>904,
'g.rants? associ.s? en nom'=>904,
'g..ants? (?:et )associ.s? ind.finiment (?:et solidairement )responsables?'=>905,
'g.rants? (?:et )associ.s? uniques?'=>906,
'g.rants? (?:et )associ.s?'=>907,
// gérant associé
'g.rants? associ.s? majoritaires?'=>908,
'g.rants? associ.s? minoritaires?'=>909,
'g.rants? associ.s? tenus? ind.finiment et solidairement des dettes sociales'=>910,
'g.rants? majoritaire'=>911,
'g.rants? non associ.s?'=>912,
'g.rants? non statutaires?'=>913,
'g.rants? pouvant engager seuls la soci.t.'=>914,
'g.rants? pouvant engager la soci.t.'=>915,
'g.rants? salari.s?'=>916,
'g.rants? statutaires? associ.s?'=>917,
'g.rants? statutaires?'=>918,
'g.rants? et administrateurs?'=>919,
'G.rants? techniques?'=>920,
'anciens? g.rants?'=>921,
'g.rant\(e\)'=>900,
'g.rants?'=>900,
'associ.s? commandit.s? g.rants?'=>201,
'associ.s? commandit.s?'=>202,
'Associ.s? d\'une soci.t. civile'=>203,
'Associ.s? de soci.t. civile'=>204,
//Associés de société civile
'associ.s? en nom'=>205,
'Associ.s? exploitants?'=>206,
'Associ.s? non exploitants?'=>207,
'Associ.s? non g.rants?'=>208,
'Associ.s? g.rants?'=>209,
'Associ.s? ind.finiment et solidairement responsables?'=>210,
'Associ.s? ind.finiment responsables?'=>211,
'Associés?'=>200,
'Co.?commissaires? aux comptes suppl.ants?'=>301,
'Co.?commissaires? aux comptes titulaires?'=>302,
'Commissaires? aux comptes suppl.ants?'=>303,
'Commissaires? aux comptes titulaires?'=>300,
'Conjoints? Collaborateurs?'=>500,
'Contr.leurs? de gestion et des comptes'=>601,
'contr.leurs? de gestion du G\.?I\.?E\.?'=>602,
'Contr.leurs? de gestion'=>603,
'Contr.leurs? des comptes titulaires?'=>604,
'contr.leurs? des comptes du G\.?I\.?E\.?'=>605,
'Contr.leurs? des comptes et de gestion'=>606,
'Contr.leurs? des comptes et membre du G\.?I\.?E\.?'=>607,
'Contr.leurs? des comptes'=>608,
'Contr.leurs'=>600,
'Directeurs? général?u?x? adjoints?'=>701,
'Directeurs? général?u?x? délégués? et administrateurs?'=>702,
'Directeurs? général?u?x? délégués? et membres? du comité de surveillance'=>703,
'Directeurs? général?u?x? délégués?'=>704,
'Directeurs? général?u?x? et administrateurs?'=>705,
'Directeurs? général?u?x? et membres? du directoire'=>706,
'directeurs? général?u?x? uniques? du directoire'=>707,
'directeurs? général?u?x? uniques?'=>708,
'directeurs? général?u?x?'=>709,
'directeurs? gérants?'=>710,
'Directeurs? techniques?'=>711,
'Directeurs? des transports'=>712,
'Directeurs?'=>700,
'dirigeants? à l\'étranger et en France'=>801,
'Dirigeants? à l\'étranger'=>802,
'dirigeants? en France et à l\'étranger'=>803,
'dirigeants? en France'=>804,//805 autre dirigeant
'Dirigeants?'=>800,
'mandataires? ad hoc'=>1101,
'mandataires? général'=>1102,
'mandataires? généraux'=>1102,
'Mandataires?'=>1100,
'Membres? du G\.?I\.?E\.?'=>1201,
'membres? du groupement'=>1202,
'membres? et administrateurs?'=>1203,
'Membres? du comité de direction'=>1204,
'Membres? du comité de surveillance'=>1205,
'Membres? du conseil de direction'=>1206,
'Membres? du conseil de surveillance'=>1207,
'Membres? du directoire'=>1208,
'Membres?'=>1200,
'fond.s? de pouvoir'=>1000,
'Personnes? ayant le pouvoir d\'engager à titre habituel la société vis-à-vis des tiers'=>1001,
'Personnes? ayant pouvoir d\'engager à titre habituel la société vis-à-vis des tiers'=>1001,
'personnes? ayant le pouvoir d\'engager la société en France'=>1002,
'personnes? ayant pouvoir d\'engager la société en France'=>1002,
'Personnes? ayant le pouvoir d\'engager la société'=>1003,
'Personnes? ayant pouvoir d\'engager la société'=>1003,
'Personnes? ayant le pouvoir de diriger et gérer'=>1004,
'Personnes? ayant pouvoir de diriger et gérer'=>1004,
'personnes? pouvant engager à titre habituel l\'assujetti'=>1005,
'Personnes?'=>1006,
'pr.sidents? du conseil d\'administration'=>1306,
'pr.sidents? du conseil de surveillance'=>1307,
'pr.sidents? du directoire'=>1308,
'pr.sidents? du G\.?I\.?E\.?'=>1309,
'pr.sidents? et membres? du conseil de surveillance'=>1310,
'Pr.sidents? et membres? du directoire'=>1311,
'Pr.sidents? et pr.sidents? du comité de direction'=>1312,
'pr.sidents? et pr.sidents? du comité de surveillance'=>1313,
'Pr.sidents? et administrateurs?'=>1314,
'Pr.sidents?'=>1300,
'repr.sentants? de soci.t. .trang.re'=>1401,
'repr.sentants? tant en France qu\'à l\'.tranger'=>1402,
'Repr.sentants? à l\'.tranger'=>1403,
'repr.sentants? l.gal?a?x? en France'=>1404,
'Repr.sentants? l.gal?a?x?'=>1405,
'Repr.sentants? permanents?'=>1405,
'Repr.sentants?'=>1400,
'co.?responsables? en France'=>1501,
'responsables? pour la France'=>1502,
'responsables? tant en France qu\'à l\'étranger'=>1503,
'Responsables? technique'=>1504,
'responsables? à l\'.tranger'=>1505,
'Responsables? de la soci.t. en France'=>1506,
'Responsables? en France'=>1507,
'responsables? l.gal en France'=>1508,
'responsables? en France'=>1508,
'Responsables?'=>1500,
'Vice-pr.sidents? du conseil d\'administration'=>1801,
'vice-pr.sidents? du conseil de surveillance'=>1802,
'Vice-pr.sidents? et administrateurs? priv.s?'=>1803,
'Vice-pr.sidents? et administrateurs?'=>1804,
'Vice-pr.sidents? et membres? du conseil de surveillance'=>1805,
'Vice-pr.sidents?'=>1800,
'Vice-secr.taires?'=>1601,
'Vice-tr.soriers?'=>1701,
'Tr.soriers?'=>1700,
'Secr.taires? du conseil d\'administration'=>1602,
'Secr.taires? du conseil de surveillance'=>1603,
'Secr.taires?'=>1600,
'Liquidateurs?'=>1900,
);
public function __construct() {
/** Charge toute la table des tribunaux pour ne pas lancer systématiquement des requètes sur le serveur MySQL
** lors des intégrations de Bodacc
**/
//echo "MBodacc::__construct()\n";
$this->tabTribunaux=$this->getTabTribunaux();
$this->tabFctDir=$this->getTabFctDir();
$this->tabEvenements=$this->getTabEvenements();
$this->tabDevises=$this->getTabDevises();
$this->regExFonction=implode(')|(', array_keys($this->tabDirigeants));
}
/** Converti les accents au format TLS du Bodacc
** @param string Ligne de texte avec accents au format TLS (sans balise Bodacc)
** @return string Ligne de texte avec les accents normaux
**/
public function convertAccents($texteBodacc) {
return strtr($texteBodacc, self::$tabAccents);
}
/** Vérifie si la balise passée en paramètre est valide
** @param string Balise Bodacc
** @return bool
**/
public function isBaliseBodacc($balise) {
return array_key_exists($balise, self::$tabBalises);
}
/** Initialisation du tableau privé des tribunaux **/
private function getTabTribunaux() {
$iDb=new WDB();
$rep=$iDb->select('tribunaux', 'triCode, triNom, triCP, triSiret', "triCode IS NOT NULL");
$tabTribunaux=array();
foreach($rep as $k=>$trib) {
$dep=substr($trib['triCP'],0,2)*1;
if ($dep==97 || $dep==98) $dep=substr($trib['triCP'],0,3)*1;
$tabTmp=array($trib['triCode']=>array('nom'=>$trib['triNom'],'siret'=>$trib['triSiret'],'dep'=>$dep));
$tabTribunaux=array_merge($tabTribunaux, $tabTmp);
}
return $tabTribunaux;
}
/** Initialisation du tableau privé des codes fonctions de direction **/
private function getTabFctDir() {
$iDb=new WDB();
$rep=$iDb->select('bodacc_fonctions', 'codeFct, libelle', '1');
$tabRet=array();
foreach($rep as $tabFct)
$tabRet[$tabFct['codeFct']*1]=$tabFct['libelle'];
return $tabRet;
}
/** Retourne le libellé d'une fonction de direction **/
function getFctDir($codeFonction) {
return $this->tabFctDir[$codeFonction];
}
/** Initialisation du tableau privé des tribunaux **/
public function getTribunauxParCommune($codeInseeCommune) {
$iDb=new WDB();
$rep=$iDb->select('tribunaux t, tribunauxInsee i', 't.triId, t.triIdSup, i.CodeInsee, t.triCode, t.triType, t.triNom, t.triCP, t.triTel, t.triFax, t.triWeb, t.triMail, t.triSiret, t.triAdrNum, t.triAdrIndRep, t.triAdrTypeVoie, t.triAdrVoie, t.triAdrComp, t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire, t.triNumGreffe', "i.CodeInsee='$codeInseeCommune' AND i.triId=t.triId ORDER BY t.triNumGreffe DESC, t.triId ASC", false, MYSQL_ASSOC);
$tabTribunaux=array();
foreach($rep as $k=>$trib) {
$tabTribunaux[]=$trib;
}
// print_r($tabTribunaux);
// die();
return $tabTribunaux;
}
/** Retourne les tribunaux par Département **/
public function getTribunauxParDep($dep) {
$iDb=new WDB();
if ($dep<96)
$rep=$iDb->select('tribunaux t', 't.triId, t.triIdSup, t.triCode, t.triType, t.triNom, t.triCP, t.triTel, t.triFax, t.triWeb, t.triMail, t.triSiret, t.triAdrNum, t.triAdrIndRep, t.triAdrTypeVoie, t.triAdrVoie, t.triAdrComp, t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire, t.triNumGreffe', "t.triCP BETWEEN '".$dep."000' AND '".$dep."999' ORDER BY t.triType ASC", false, MYSQL_ASSOC);
else
$rep=$iDb->select('tribunaux t', 't.triId, t.triIdSup, t.triCode, t.triType, t.triNom, t.triCP, t.triTel, t.triFax, t.triWeb, t.triMail, t.triSiret, t.triAdrNum, t.triAdrIndRep, t.triAdrTypeVoie, t.triAdrVoie, t.triAdrComp, t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire, t.triNumGreffe', "t.triCP BETWEEN '".$dep."00' AND '".$dep."99' ORDER BY t.triType ASC", false, MYSQL_ASSOC);
$tabTribunaux=array();
foreach($rep as $k=>$trib) {
$tabTribunaux[]=$trib;
}
return $tabTribunaux;
}
/** Donne la cours d'appel d'un tribunal par son code **/
public function getTribunalIdCA($codeTribunal) {
$iDb=new WDB();
$rep=$iDb->select('tribunaux', 'triIdSup', "triCode='$codeTribunal'");
return $rep[0][0];
}
public function getListeTribunaux() {
return $this->tabTribunaux;
}
/** Initialisation du tableau privé des évènements **/
private function getTabEvenements() {
$iDb=new WDB();
$rep=$iDb->select('tabEvenements', 'codEven, libEven, Bodacc_Code, Rubrique, version, lienEtab', '1', false, MYSQL_ASSOC);
$tabRet=array();
foreach($rep as $k=>$even) {
//$tabTmp=array($trib['codEven']=>$trib['libEven']);
$tabRet[$even['codEven']]=array('libEven'=>$even['libEven'],
'Bodacc_Code'=>$even['Bodacc_Code'],
'Rubrique'=>$even['Rubrique'],
'Version'=>$even['version'],
'LienEtab'=>$even['lienEtab'],
);
}
//echo "<!--".print_r($tabRet)."-->";
return $tabRet;
}
/** Initialisation du tableau privé des devises du Bodacc **/
private function getTabDevises() {
$iDb=new WDB();
$rep=$iDb->select('bodacc_devises', 'libDeviseBodacc, devIso', '1', false, MYSQL_ASSOC);
$tabDevises=array();
foreach($rep as $k=>$trib) {
$tabTmp=array($trib['libDeviseBodacc']=>$trib['devIso']);
$tabDevises=array_merge($tabDevises, $tabTmp);
}
return $tabDevises;
}
/** Initialisation du tableau privé des devises du Bodacc **/
/*
private function getTabDirigeants() {
$iDb=new WDB();
$rep=$iDb->select('bodacc_dirigeants', 'libDeviseBodacc, devIso', '1');
$tabDevises=array();
foreach($rep as $k=>$trib) {
$tabTmp=array($trib['libDeviseBodacc']=>$trib['devIso']);
$tabDevises=array_merge($tabDevises, $tabTmp);
}
return $tabDevises;
}*/
/** Vérifie si le code du Tribunal BODACC est connu
** @param string Code du Tribunal au BODACC
** @return bool
**/
public function isTribunal($codeBodaccDuTribunal) {
$codeBodaccDuTribunal=trim($codeBodaccDuTribunal);
return @array_key_exists($codeBodaccDuTribunal, $this->tabTribunaux);
}
/** Retorne le libellé du code du Tribunal BODACC
** @param string Code du Tribunal au BODACC
** @return string Libellé du Tribunal
**/
public function getTribunalNom($codeBodaccDuTribunal) {
$codeBodaccDuTribunal=trim($codeBodaccDuTribunal);
return $this->tabTribunaux[$codeBodaccDuTribunal]['nom'];
}
public function getTribunalDep($codeBodaccDuTribunal) {
$codeBodaccDuTribunal=trim($codeBodaccDuTribunal);
return $this->tabTribunaux[$codeBodaccDuTribunal]['dep'];
}
public function getTribunalSiret($codeBodaccDuTribunal) {
$codeBodaccDuTribunal=trim($codeBodaccDuTribunal);
return $this->tabTribunaux[$codeBodaccDuTribunal]['siret'];
}
public function getTribunalCode($libelleDuTribunal, $dep=0) {
$libelleDuTribunal=preg_replace('/[0-9]/',' ', str_replace("\r\n",' ', strtoupper($libelleDuTribunal)));
$libelleDuTribunal=str_replace("\n",' ', $libelleDuTribunal);
$libelleDuTribunal=strtr( $libelleDuTribunal,
array(
"TRIBUNAL DE COMM'APPELERCE"=>'TC', // BUG DU BODACC 2008-A093-3146
'TRIBUNAL DE COMMERCE'=>'TC',
'TRIBUNAL DE GRANDE INSTANCE'=>'TGI',
'TRIBUNAL D\'INSTANCE'=>'TI',
'TRIBUNAL MIXTE DE COMMERCE'=>'TMX',
'TRIBUNAL DE PREMIERE INSTANCE'=>'TPI',
'TRIBUNAL SUPÉRIEUR D\'APPEL'=>'TSA',
' D\''=>' ', ' DE '=>' ',
'GREFFE DU'=>'', '-'=>' ',
'Ç'=>'C', 'É'=>'E', 'Î'=>'I', 'Â'=>'A', 'È'=>'E', 'Ô'=>'O', 'Ê'=>'E',
' DU MANS'=>' LE MANS',
' DU CREUSOT'=>' LE CREUSOT',
' DU HAVRE'=>' LE HAVRE',
' DU '=>' ', 'PUY'=>'PUY EN VELAY',
'ALÈS'=>'ALES',
'.'=>' ',
)
);
$libelleDuTribunal=trim(preg_replace('/ +/',' ', $libelleDuTribunal));
if (''.$dep=='2A' || ''.$dep=='2B') $dep=20;
else $dep=$dep*1;
foreach ($this->tabTribunaux as $code=>$tribunal) {
if ( $dep<>0 && ($tribunal['dep'])*1==$dep ) {
if ( str_replace('TGIcc', 'TGI', strtr($tribunal['nom'],array('-'=>' ',' DE LA REUNION'=>'')))==$libelleDuTribunal ) {
return $code;
} elseif ( str_replace('TIcc', 'TI', strtr($tribunal['nom'],array('-'=>' ',' DE LA REUNION'=>'')))==$libelleDuTribunal ) {
return $code;
} elseif (preg_match('/^PREFECTURE/i',$libelleDuTribunal) && preg_match('/^PREFECTURE/i',$tribunal['nom'])) {
return $code;
} elseif (preg_match('/^SOUS.PREFECTURE/i',$libelleDuTribunal) && preg_match('/^SOUS.PREFECTURE/i',$tribunal['nom'])) {
$sprefEnBase=trim(preg_replace('/^SOUS.PREFECTURE (DE|DU|D\')/i','',$tribunal['nom']));
$sprefParam =trim(strtr(strtr(preg_replace('/^SOUS.PREFECTURE/i','',$libelleDuTribunal),array('SAINT '=>'ST ', 'SAINTE '=>'STE ', 'BASSIN ARCACHON'=>'ARCACHON', ' (DRÔME)'=>'')),'ÀÂÈÎÔ','AAEIO'));
if($sprefEnBase==$sprefParam)
return $code;
// echo "Pas trouvé $sprefParam ($dep) par rapport à $sprefEnBase en base.".EOL;
//Pas trouvé SAINT QUENTIN (2) par rapport à ST QUENTIN !
} elseif ( $dep==13 && $tribunal['nom']=='TGI TARASCON' && $libelleDuTribunal=='TGI TARASCON SUR RHONE')
return $code;
elseif ( $dep==13 && $tribunal['nom']=='TC TARASCON' && $libelleDuTribunal=='TC TARASCON SUR RHONE')
return $code;
} elseif ( $dep==0 && str_replace('TGIcc', 'TGI', strtr($tribunal['nom'],array('-'=>' ',' DE LA REUNION'=>'')))==$libelleDuTribunal )
return $code;
elseif ( $dep==978 && str_replace('TGIcc', 'TGI', strtr($tribunal['nom'],array('-'=>' ',' DE LA REUNION'=>'')))==$libelleDuTribunal )
return $code;
elseif ( $dep==971 && str_replace('TGIcc', 'TGI', strtr($tribunal['nom'],array('-'=>' ',' DE LA REUNION'=>'')))==$libelleDuTribunal )
return $code;
elseif ( $dep==974 && $libelleDuTribunal=='TMX SAINT PIERRE LA REUNION')
return $code;
elseif ( $dep==975 && $libelleDuTribunal=='TGI SAINT PIERRE')
return $code;
elseif ( ($dep==95 || $dep==975) &&
($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE SAINT PIERRE ET MIQUELON' || $libelleDuTribunal=='TPI SAINT PIERRE ET MIQUELON')
)
return $code;
elseif ( ($dep==971 || $dep==985 || $dep==976) &&
($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE MAMOUDZOU' || $libelleDuTribunal=='TPI MAMOUDZOU')
)
return $code;
elseif ( ($dep==971 || $dep==985 || $dep==976) &&
($libelleDuTribunal=='TRIBUNAL DE GRANDE INSTANCE DE MAMOUDZOU' || $libelleDuTribunal=='TGI MAMOUDZOU')
)
return $code;
/*
elseif ($dep==13 && $libelleDuTribunal=='TGI TARASCON SUR RHONE')
return $code;
*/
/*else
echo "Pas trouvé $libelleDuTribunal ($dep) par rapport à ".$tribunal['nom'].' en base !'.EOL;
*/
}
//echo "Pas trouvé $libelleDuTribunal ($dep) par rapport à ".$tribunal['nom'].' en base !'.EOL;
//echo "Pas trouvé $sprefParam ($dep) par rapport à $sprefEnBase en base !".EOL;
return false;
}
/** Vérifie si le code du Tribunal BODACC est connu
** @param string Code du Tribunal au BODACC
** @return bool
**/
public function isCodeEvenement($codeEven) {
$code=$codeEven*1;
if ($code==0) return false;
return array_key_exists($code, $this->tabEvenements);
}
/** Retourne le libellé de l'évènement BODACC codifié par S&D
** @param string Code de l'évènement BODACC
** @return string Libellé de l'évènement
**/
public function getEvenement($codeEven) {
$code=((int)$codeEven)*1;
if ($code==0) return false;
return @$this->tabEvenements[$code]['libEven'];
}
/** Retourne le niveau de version du code évènement BODACC codifié par S&D
** @param string Code de l'évènement BODACC
** @return integer Niveau de version (12, 13, 14, ...) correspondant à 1.2, 1.3 ou 1.4 pour les clients !!!
**/
public function getVersionEvenement($codeEven) {
$code=((int)$codeEven)*1;
if ($code==0) return false;
return @$this->tabEvenements[$code]['Version'];
}
/** Retourne le libellé du Chapitre de l'évènement BODACC (comptes, creations, mmd, procol, radiations, ventes)
** @param string Code de l'évènement BODACC
** @return string Libellé du chapitre (comptes, creations, mmd, procol, radiations, ventes)
**/
public function getChapitreEvenement($codeEven) {
$code=((int)$codeEven)*1;
if ($code==0) return false;
return @$this->tabEvenements[$code]['Rubrique'];
}
/** Retourne le code de l'édition du BODACC (A, B ou C)
** @param string Code de l'évènement BODACC
** @return string Libellé de l'édition (A, B ou C)
**/
public function getEditionEvenement($codeEven) {
$code=$codeEven*1;
if ($code==0) return false;
return @$this->tabEvenements[$code]['Bodacc_Code'];
}
/** Retourne si la porté de l'évènement est relative à l'établissement uniquement
** @param $codeEven Code de l'évènement BODACC
** @return bool
**/
public function isEvenementEtab($codeEven) {
$code=$codeEven*1;
if ($code==0) return false;
return @$this->tabEvenements[$code]['LienEtab'];
}
/** Vérifie si une devise texte du Bodacc est connu
** @param string Devise textuelle au BODACC (YENS, EUROS, etc...)
** @return bool
**/
public function isDeviseBodacc($strDevise) {
return array_key_exists($strDevise, $this->tabDevises);
}
/** Retoune le code ISO 4217 d'une devise texte du Bodacc
** @param string Devise textuelle au BODACC (YENS, EUROS, etc...)
** @return string Code ISO 4217 de la devise
**/
public function getDeviseBodacc($strDevise) {
return $this->tabDevises[$strDevise];
}
/** Insert le libellé de devise textuel du Bodacc
** @param string Devise textuelle au BODACC (YENS, EUROS, etc...)
** @param string Devise ISO
** @return bool
**/
public function addDeviseBodacc($strDevise, $deviseIso) {
$iDb=new WDB();
if (!$iDb->insert('bodacc_devises', array( 'libDeviseBodacc'=>$strDevise,
'devIso'=>$deviseIso,
'dateInsert'=>date('YmdHis')),true))
return false;
// On réinitialise le tableau des devises du Bodacc
$this->tabDevises=$this->getTabDevises();
return true;
}
/** Vérifie si le code rubrique de l'annonce au Bodacc est connu
** @param string Code rubrique de l'annonce
** @return bool
**/
public function isRubriqueBodacc($codeRubriqueBodacc) {
//return array_key_exists($balise, self::$tabBalises);
return array_key_exists($codeRubriqueBodacc, self::$tabRubriques);
}
/** Retourne le code rubrique de l'annonce au Bodacc
** @param string Code rubrique de l'annonce
** @return string Libellé de la rubrique au BODACC
**/
public function getLibRubriqueBodacc($codeRubriqueBodacc) {
return $this->tabRubriques[$codeRubriqueBodacc];
}
/** Retourne le code évènement de l'annonce en provenance du Bodacc XML
**
** @param string $libJugementXML Libellé de la rubrique au Bodacc XML
** @return string
**/
public function getCodeNatureEvenement($libEvenXML) {
global $tabNaturesEvenements;
$codeEven=@$tabNaturesEvenements[md5($libEvenXML)]*1;
if ($codeEven>0) return $codeEven;
else return 0;
}
public function getDirigeants($strAdministration) {
$tabRet=array();
$strFonctions=$this->regExFonction;
$tabNoms=array();
if (is_array($strAdministration))
$strAdministration=implode('. ', $strAdministration);
$strAdministration=trim($strAdministration);
$strAdministration=str_ireplace('Nom d\'usage :', 'Nom d\'usage =', trim($strAdministration));
if ($strAdministration=='') return $tabRet;
$tabAdministration=explode(':', $strAdministration);
//file_put_contents('coucou.log',print_r($tabAdministration, 1), FILE_APPEND);
$tabFonctions=$tabNoms=$tabCodeFct=$tabOldFct=array();
/**
* On boucle sur chaque ligne qui doit contenir NOM PRENOM suivi de la fonction de la ligne suivante
* La première ligne ne contient pas de NOM PRENOM car il s'agit de la 1ère ligne
*/
foreach ($tabAdministration as $i=>$ligne) {
/*
file_put_contents('coucou.log','Ligne : '.$ligne."\n", FILE_APPEND);
preg_match("/(.*)gérants?(.*)$/i", $ligne, $matches);
file_put_contents('coucou.log','Test : '.print_r($matches, 1), FILE_APPEND);
preg_match("/(.*)g.rants?(.*)$/iu", $ligne, $matches);
file_put_contents('coucou.log','Test : '.print_r($matches, 1), FILE_APPEND);
*/
/** On recherche la fonction et son code fonction de la ligne */
foreach ($this->tabDirigeants as $fonction=>$numFct) {
//file_put_contents('coucou.log','Fonction : '.$fonction, FILE_APPEND);
//@todo : provisoire table bdd en utf8
if (preg_match("/(.*)$fonction(.*)$/iu", $ligne, $matches)) {
//file_put_contents('coucou.log',"Matched \n", FILE_APPEND);
$tabCodeFct[$i]=$numFct;
$tabFonctions[$i]=@preg_replace("/($strFonctions)/i", '', $tabAdministration[$i+1]);
if(@preg_match("/(partant|ancien|suppression|cha.g|d.part|d.mis(si|is)on|r.vocation)/i", $tabAdministration[$i+1]))
$tabOldFct[$i]=1;
else
$tabOldFct[$i]=0;
break;
}
//file_put_contents('coucou.log',"\n", FILE_APPEND);
}
} //file_put_contents('coucou.log',print_r($tabFonctions, 1), FILE_APPEND);
/** On boucle sur chaque fonction trouvée et on extrait les noms, prénoms **/
foreach ($tabFonctions as $i=>$ligne) {//$ligne
$numFonction=$tabCodeFct[$i];
$oldFonction=$tabOldFct[$i];
$ligne=trim($ligne);
/** Chaque Noms pour une même focntion doit être séparée par " et " ou ";" */
$strNoms=str_replace(' et ', ';', $ligne);
$tabNoms=explode(';', $strNoms);
$raisonSociale=$nom=$prenom=$usage='';
foreach ($tabNoms as $noms) {
if (preg_match("/^(.*)\((.*)\).*\((.*)\)/i", $noms, $matches)) {
//Cas type NOM (prenom) (Nom usage : XXXX)
$nom=trim(str_replace(':', '', $matches[1]));
if (preg_match("/(.*)repr.sent.e?(.*)/i", $nom, $matches2)) {
$raisonSociale=$matches2[1];
$nom=trim(str_replace('par ', '', $matches2[2]));
}
$prenom=trim(str_replace('par ', '', $matches[2]));
$usage=trim(str_ireplace('Nom d\'usage =', '', $matches[3]));
} elseif (preg_match("/^(.*)\((.*)\)/i", $noms, $matches)) {
$nom=trim(str_replace(':', '', $matches[1]));
if (preg_match("/(.*)repr.sent.e?(.*)/i", $nom, $matches2)) {
$raisonSociale=$matches2[1];
$nom=trim(str_replace('par ', '', $matches2[2]));
}
$prenom=trim($matches[2]);
$usage='';
//Cas type NOM (prenom)
} elseif (preg_match("/^(.*)/i", $noms, $matches)) {
$tabNomPrenom=$this->getNomPrenomGenre(trim(str_replace(':', '', $matches[1])));
$nom=$tabNomPrenom['Nom'];
$prenom=$tabNomPrenom['Prenoms'];
$usage='';
} else
die("Cas non gérée pour cette structure de noms : '$noms'");
/** @todo Il manque le cas de repr par pour le STE ??? **/
$tabRet[]=array('fonction'=>$numFonction, 'rs'=>trim(str_replace(',','',$raisonSociale)), 'nom'=>$nom, 'prenom'=>$prenom, 'nomUsage'=>$usage, 'depart'=>$oldFonction);
}
}
//print_r($tabRet);
//$saisie = fgets(STDIN);
return $tabRet;
}
/** Détermine les NOMs et PRENOMs dans une chaine de caractère
**/
function getNomPrenomGenre($strNomPrenom) {
$iDb=new WDB('npaipp');
$noms=$prenoms=$genre='';
$tabMots=preg_split('/( +|\.+)/', $strNomPrenom);
//print_r($tabMots);
foreach ($tabMots as $i=>$prenom) {
$tabPrenoms=$iDb->select('pp_prenoms', 'prenom, genre, mixte, nbTot',
"prenom='".addslashes($prenom)."' AND nbTot>100 ORDER BY nbTot DESC",
false, MYSQL_ASSOC);
if (count($tabPrenoms)>0) {
$tabPrenom=$tabPrenoms[0];
if ($i==0) // C'est plutôt le nom de famille au début de la chaîne
$noms.=$prenom.' ';
else {
$prenoms.=$prenom.', ';
if ($genre=='' && $tabPrenom['genre']==1 && $tabPrenom['mixte']==0)
$genre='M';
elseif ($genre=='' && $tabPrenom['genre']==2 && $tabPrenom['mixte']==0)
$genre='F';
}
} else
// Ce n'est pas un prénom mais un nom de famille
$noms.=$prenom.' ';
}
return array('Nom'=>trim($noms), 'Prenoms'=>preg_replace('/,$/','',trim($prenoms)), 'Genre'=>$genre);
}
function getNumPageAnnonce($bodaccCode, $annee, $num) {
$tabRet=array();
$iDb=new WDB();
$bodacc=$iDb->select('bodacc',
'Bodacc_Code, Bodacc_Annee_Parution, Bodacc_Num, Num_Annonce, Tribunal_Dept, Tribunal_Code, Rubrique_Bodacc, length(annonce) as Long',
"Bodacc_Code='$bodaccCode' AND Bodacc_Annee_Parution=$annee AND Bodacc_Num=$num");
foreach ($bodacc as $k=>$ann) {
$tabRet[$k]=array( 'BodaccCode'=>$ann['Bodacc_Code'],
'AnneeParution'=>$ann['Bodacc_Annee_Parution'],
'BodaccNum'=>$ann['Bodacc_Num'],
'NumAnnonce'=>$ann['Num_Annonce'],
'Departement'=>$ann['Tribunal_Dept'],
'Tribunal'=>$ann['Tribunal_Code'],
'Rubrique'=>$ann['Rubrique_Bodacc'],
'nbCar'=>$ann['Long'],
);
}
return $tabRet;
}
/** Vérifie si la date du jugement correspond à une date de jugements civils pour une date donnée
** @param string $tribunal Code BODACC du TGIcc
** @param date $dateJug Date du jugement
** @param int $jourJug Jour de la semaine 1=Lundi à 5=Vendredi
** @param int $jjJug Jour du jugement dans le mois
** @return bool
**/
function isAudienceCivile($tribunal, $dateJug, $jourJug, $jjJug, $texteAnnonce) {
//echo "Tribunal=$tribunal, Date='$dateJug', Jour de la semaine='$jourJug', Jour du mois='$jjJug'".EOL;
$tribunal=trim($tribunal);
$droitLocal=false;
switch ($tribunal) { // Date des audiences civiles droit local
case 'METZG': // Le mercredi
case 'MULHOG': // Le mercredi
$droitLocal=true;
if ($jourJug==3) {
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du mercredi !".EOL;
return 1;
}
break;
case 'THIONG': // Le jeudi à 9h
$droitLocal=true;
if ($jourJug==4) {
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du jeudi !".EOL;
return 1;
}
break;
case 'SARREG': // Les 1er, 2ème et 4ème mardi
$droitLocal=true;
if ($jourJug==2 && $jjJug<15 && $jjJug>21) {
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du mardi !".EOL;
return 1;
}
break;
case 'STRASG': // ?
$droitLocal=true;
//echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles de Strasbourg !".EOL;
return 0;
break;
case 'SAVERG': // Le mardi et 2ème, 3ème et 4ème vendredi
$droitLocal=true;
if ($jourJug==2 || ($jourJug==5 && $jjJug>7)) {
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du vendredi !".EOL;
return 1;
}
case 'COLMAG': // ?
$droitLocal=true;
//echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles de Colmar !".EOL;
return 0;
break;
}
if ($droitLocal && preg_match("/insolvabilit.{0,3}notoire/i", $texteAnnonce))
return 1;
return 0;
}
function getJALparDep($dep) {
$tabRet=array();
$iDb=new WDB();
$rep=$iDb->select('tabJAL', 'id, dep, nomJal, siteWeb, email, adresse, cp, ville, tel, fax, parution, aboAnnuel, infos',
"dep=$dep", false, MYSQL_ASSOC);
foreach($rep as $k=>$jal) {
$tabRet[]=$jal;
}
return $tabRet;
}
function getListeJalCollecte() {
$tabRet=array();
$iDb=new WDB();
$rep=$iDb->select('tabJAL', 'id, nomJal', 'sedDateAbo<>0 GROUP BY nomJal ORDER BY nomJal ASC', false, MYSQL_ASSOC);
foreach($rep as $k=>$jal) {
$tabRet['_'.$jal['id']]=$jal['nomJal'];
}
return $tabRet;
}
function getActiviteReelle($siren, $fj) {
$iDb=new WDB();
$strEvenVtLg=" AND Rubrique<>'ventes' AND typeEven NOT LIKE '%2700%' AND typeEven NOT LIKE '%2701%' AND typeEven NOT LIKE '%2702%' AND typeEven NOT LIKE '%2703%' AND typeEven NOT LIKE '%2710%' AND typeEven NOT LIKE '%2720%' AND typeEven NOT LIKE '%2721%' AND typeEven NOT LIKE '%2725%' AND typeEven NOT LIKE '%2730%' AND typeEven NOT LIKE '%2740%' AND typeEven NOT LIKE '%2750%' AND typeEven NOT LIKE '%2800%' AND typeEven NOT LIKE '%2840%' AND typeEven NOT LIKE '%2850%' AND typeEven NOT LIKE '%2851%' AND typeEven NOT LIKE '%2860%' AND typeEven NOT LIKE '%2870%' AND typeEven NOT LIKE '%2875%' AND typeEven NOT LIKE '%2880%' AND typeEven NOT LIKE '%2881%' AND typeEven NOT LIKE '%2885%' AND typeEven NOT LIKE '%2890%' AND typeEven NOT LIKE '%2891%' AND typeEven NOT LIKE '%2892%' ";
/** Recherche de l'activité réelle **/
$bodacc=$iDb->select( 'bodacc_detail', 'Activite', "siren=$siren AND Activite<>'' AND Activite NOT LIKE 'non precis%' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", false, MYSQL_ASSOC);
$annCap=@$bodacc[0];
if ($fj<7000 || $fj>7999)
$tabRet['Activite']=trim(/*preg_replace("/Adjonction.{1,7}activit(?:e|é)(?:.|)\:", '', */$annCap['Activite']);//);
if ($tabRet['Activite']=='' && trim($tab['activite'])<>'')
$tabRet['Activite']=trim($tab['activite']);
elseif ($tabRet['Activite']=='' && ($fj>90 && $fj<94 ||
$fj>9000 && $fj<9400) ) {
$siretMin=(''.$siren.'00000')*1;
$siretMax=(''.$siren.'99999')*1;
$bodacc=$iDb->select( 'asso', 'Assoc_Web, Assoc_Mail, Assoc_Objet, Assoc_NObjet', "siren=$siren AND (Assoc_Objet<>'' OR Assoc_NObjet<>'') ORDER BY Date_Parution DESC LIMIT 0,1", false, MYSQL_ASSOC);
$annCap=@$bodacc[0];
$tabRet['Activite']=trim($annCap['Assoc_NObjet']);
if ($tabRet['Activite']=='') $tabRet['Activite']=trim($annCap['Assoc_Objet']);
if ($tabRet['Web']=='') $tabRet['Web']=trim($annCap['Assoc_Web']);
if ($tabRet['Mail']=='') $tabRet['Mail']=trim($annCap['Assoc_Mail']);
} elseif ($tabRet['Activite']=='' && ($fj<7000 || $fj>7999)) {
$bodaccHisto=$iDb->select( 'historiques.entrep e, historiques.texte x',
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt',
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19890101 AND 20041231 AND x.annonceTxt LIKE '%ctivit%' GROUP BY e.ANBASE ORDER BY e.DATE DESC", false, MYSQL_ASSOC);
if (count($bodaccHisto)>0) {
foreach ($bodaccHisto as $idx=>$ann) {
if ($tabCodeTri<>'' && $tabCodeTri<>@$ann['CODTRI']) $tabCodeTri=@$ann['CODTRI'];
if ( ($ann['CODEVE']<20) ||
($ann['CODEVE']>=30 && $ann['CODEVE']<42) ||
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
if (preg_match('/(.*)Activit(?:e|é)(?:.|)\:(.*)(?:Adresse(?:.*|)|Commentaires?|Administration|Etablissement principal|Date d\'effet|Date.de.d.but d.activit.|Capital|Nom commercial)(?:.|)\:/Uis', $ann['annonceTxt'], $matches))
if (strpos(substr($matches[1],-20),'cess') === false &&
strpos(substr($matches[1],-20),'date') === false) {
$tabRet['Activite']=$matches[2];
break;
}
}
}
}
}
return $tabRet['Activite'];
}
function getCodeFormeJur($strFJ) {
global $tabCjBodacc;
if (count($tabCjBodacc)<1)
require_once 'Metier/bodacc/configMBodacc.php';
$strFJ=strtoupper(trim(preg_replace('/[^a-z]/i','',$strFJ)));
return @$tabCjBodacc[$strFJ];
}
}
?>