Compare commits

...

216 Commits
1.0 ... 1.1

Author SHA1 Message Date
Michael RICOIS
f113672901 New user 2015-09-15 08:58:51 +00:00
Michael RICOIS
3b594e5fa1 Geocode : Meilleur selection 2015-09-08 15:27:53 +00:00
Michael RICOIS
a96ccfa6a3 Update Libs 2015-09-01 09:49:45 +00:00
Michael RICOIS
e3d07e3d4f Dossier autoload 2015-07-22 12:09:15 +00:00
Michael RICOIS
a69bc80c1a Update librairie Metier 2015-07-22 12:00:11 +00:00
Michael RICOIS
986a952e0a Classmap 2015-07-22 11:59:45 +00:00
Michael RICOIS
33dc9f0d74 Libraries Update 2015-07-10 08:42:07 +00:00
Michael RICOIS
f447dcaadc Update libraries 2015-06-30 09:39:47 +00:00
Michael RICOIS
99adc83c4c Update Librairies Metier 2015-06-22 13:53:34 +00:00
Michael RICOIS
19e032a49f Library Update 2015-06-10 09:32:03 +00:00
Michael RICOIS
7cf5fcc969 New WDB 2015-04-29 09:55:07 +00:00
Michael RICOIS
0e29030930 Correction retour privilèges 2015-04-29 09:50:32 +00:00
Michael RICOIS
e00fbd8e12 Import lib Metier : correct typo 2015-01-26 14:37:03 +00:00
Michael RICOIS
a7b2f74323 Mise à jour des librairies Framework legacy 2015-01-21 08:11:14 +00:00
Michael RICOIS
cf3933a7ab Mise à jour des librairies Metiers 2015-01-21 08:09:33 +00:00
Michael RICOIS
0f0a248f4e Upgrade Zend to version 1.12.10 2015-01-21 07:59:39 +00:00
Michael RICOIS
db29799b8b Following the update code from server 2014-11-06 15:51:45 +00:00
Michael RICOIS
d481c4f5d4 Mise à jour classe Metier 2014-10-14 15:59:03 +00:00
Michael RICOIS
26d69d03dd Upgrade Zend Framework to version 1.12.8 2014-09-17 07:02:50 +00:00
Michael RICOIS
835aaa4c9d Upgrade Zend Framework to version 1.12.8 2014-09-17 06:57:06 +00:00
Michael RICOIS
ceafbb024a Validation NIC 2014-06-09 10:03:03 +00:00
Michael RICOIS
857e670164 Insert db in several contructors 2014-06-02 08:49:19 +00:00
Michael RICOIS
e4274a0daa Add date to log 2014-05-29 16:03:32 +00:00
Michael RICOIS
9db5dc2128 Remove old 2014-05-28 20:10:54 +00:00
Michael RICOIS
da70a68b6f Insert db in several contructors 2014-05-27 20:58:12 +00:00
Michael RICOIS
14d4dd99a4 Insert db in classMMap contructor 2014-05-27 13:18:02 +00:00
Michael RICOIS
e225e6c336 Update 2014-05-27 12:56:14 +00:00
Michael RICOIS
300e4bd3c9 issue #0001956 : Code Rivoli / Fantoir au bon format 2014-05-12 12:47:06 +00:00
Michael RICOIS
727edd82dd Mise à jour des librairies Metier 2014-05-12 11:54:17 +00:00
Michael RICOIS
3505371a14 issue #0001952 : Affichage du code des éléments 2014-05-12 10:54:32 +00:00
Michael RICOIS
a14022b977 Remove key db 2014-04-24 09:58:02 +00:00
Michael RICOIS
ef774b522e Update class Metier 2014-04-22 13:57:12 +00:00
Michael RICOIS
dc5cbc9ffe id de commande 2014-04-17 13:47:34 +00:00
Michael RICOIS
5adc68641c id de commande 2014-04-17 13:47:03 +00:00
Michael RICOIS
411b7a579c TelOrder 2014-04-17 13:39:00 +00:00
Michael RICOIS
de9dcbca53 Groupe 2014-04-16 15:21:30 +00:00
Michael RICOIS
18965841d6 Nic telephone TelOrder 2014-04-15 08:43:22 +00:00
Michael RICOIS
d32445ed71 Référencement clé LienHead 2014-04-14 14:39:49 +00:00
Michael RICOIS
f94d25d7bb Optimisation 2014-04-14 14:30:45 +00:00
Michael RICOIS
51f6d0a690 Specify Db 2014-04-14 14:05:48 +00:00
Michael RICOIS
e1f9d043a6 Update Tete de groupe 2014-04-14 14:01:14 +00:00
Michael RICOIS
6c2ca119f6 Error 2014-04-10 15:00:54 +00:00
Michael RICOIS
7268cf15b8 Telephone + optimisation bdd 2014-04-10 14:20:22 +00:00
Michael RICOIS
49a2b41735 Set database 2014-04-09 08:34:27 +00:00
Michael RICOIS
e5815d84f8 Use only one database 2014-04-09 08:13:19 +00:00
Michael RICOIS
ff8f1d865a Optimisation bdd 2014-04-08 15:48:55 +00:00
Michael RICOIS
fe1cb4fe89 Test nouvelle classMInsee 2014-04-08 15:34:28 +00:00
Michael RICOIS
27a30b33eb Open only one connection 2014-04-07 15:05:07 +00:00
Michael RICOIS
3ce297dc98 Add php script executable 2014-04-07 07:47:50 +00:00
Michael RICOIS
71f83561d3 Database 2014-04-04 14:40:55 +00:00
Michael RICOIS
28ad3cdfb6 Metier Library upgrade 2014-04-04 13:15:08 +00:00
Michael RICOIS
9d2b99d147 Metier Library upgrade 2014-04-03 14:37:03 +00:00
Michael RICOIS
f4e03c5bc7 revert 2014-04-01 18:35:08 +00:00
Michael RICOIS
c2298b0679 Nic siege si nic absent 2014-03-27 14:28:12 +00:00
Michael RICOIS
23fd0606b9 Librairies Metier : upgrade 2014-03-13 14:33:41 +00:00
Michael RICOIS
4669f48118 Annonce TXT 2014-03-13 13:21:26 +00:00
Michael RICOIS
e06d7570a2 Remove unuse file 2014-03-13 13:09:53 +00:00
Michael RICOIS
c44551d968 Ne pas écraser le nic fournit dans le fichier entrant, et ajout colonne "nic du siege" pour controle en automatique. 2014-01-15 10:34:19 +00:00
Michael RICOIS
60ac783758 Remove sendMail 2013-12-17 10:16:19 +00:00
Michael RICOIS
40e5f20397 Update Bootstrap to version 3.0.3 2013-12-17 09:56:59 +00:00
Michael RICOIS
ea76c2dfd9 Update Metier libraries 2013-12-17 09:54:44 +00:00
Michael RICOIS
1391d77641 Format plus détaillé actionnaire 2013-12-12 16:18:57 +00:00
Michael RICOIS
26ef12a99d Correction chemin script enrichissement 2013-10-29 14:02:41 +00:00
Michael RICOIS
7b0d69e7dc Delete files 2013-10-29 13:51:47 +00:00
Michael RICOIS
9751f545c5 Configuration 2013-10-29 13:47:37 +00:00
Michael RICOIS
0b38f0d7ce Javascript et gestion des profils 2013-10-29 10:25:57 +00:00
Michael RICOIS
ead8a5ca94 Update structure 2013-10-29 06:54:05 +00:00
Michael RICOIS
5537e0d270 New bootstrap library 2013-10-28 19:35:17 +00:00
Michael RICOIS
5cd4cad4bd New IP for Business Database 2013-10-28 14:27:50 +00:00
Michael RICOIS
40e002dc86 Suppression profil 2013-10-11 12:51:54 +00:00
Michael RICOIS
7c064101ab Suppression profil 2013-10-11 12:51:33 +00:00
Michael RICOIS
dabd2fe935 Suppression profil 2013-10-11 12:48:30 +00:00
Michael RICOIS
4f70869ecf Changement IP machine 2013-10-10 08:48:42 +00:00
Michael RICOIS
6e7393aa22 Ajout des NACEs 2013-09-11 13:40:45 +00:00
Michael RICOIS
62c0f08418 Update dico 2013-09-11 11:58:08 +00:00
Michael RICOIS
dde9a1ed9a Correction AdresseNormaliseInsee 2013-09-09 15:55:43 +00:00
Michael RICOIS
172ddaff7e Remove db 2013-09-09 15:03:03 +00:00
Michael RICOIS
8933adfd26 Mise à jour des classes Metier 2013-09-09 15:01:52 +00:00
Michael RICOIS
ab1319e527 Mise à jour des librairies Metier 2013-09-05 13:45:23 +00:00
Michael RICOIS
87728a54b5 Correction L5_DISTSP 2013-09-05 13:44:00 +00:00
Michael RICOIS
d4541249f2 Db pour enrichissement 2013-06-12 13:54:37 +00:00
Michael RICOIS
c1ec8f36a9 Suppression sendMail pour l'enrichissement 2013-06-12 13:42:47 +00:00
Michael RICOIS
2c52358c4a Nouvelle version des librairies métiers, issue #0001508 2013-06-07 14:26:35 +00:00
Michael RICOIS
0c08a1facc Remove mysql_insert.log 2013-06-04 08:58:12 +00:00
Michael RICOIS
de5fc859cf change path 2013-05-14 13:03:45 +00:00
Michael RICOIS
f8ff8285f5 Use the config path 2013-05-13 13:45:28 +00:00
Michael RICOIS
677390d46a Add directory separator 2013-05-13 13:38:23 +00:00
Michael RICOIS
5bb31b0723 Use the config path 2013-05-13 13:33:19 +00:00
Michael RICOIS
7196ac3ec1 database access with VmApps 2013-05-03 14:31:01 +00:00
Michael RICOIS
6e990cd6dc database access with VmApps 2013-05-03 14:27:37 +00:00
Michael RICOIS
ae6680881e php copy function 2013-05-03 13:44:15 +00:00
Michael RICOIS
42d02a2771 /home/vhosts 2013-05-03 13:33:08 +00:00
Michael RICOIS
a239830d6f /home/vhosts 2013-05-03 13:26:06 +00:00
Michael RICOIS
7d10c4fb07 new server - new config 2013-05-03 13:06:11 +00:00
Michael RICOIS
bc6933ec2b issue #0001616 : Création clé AdresseNormaliseeInsee pour l'enrichissement d'adresse normalisé uniquement Insee 2013-04-25 09:13:57 +00:00
Michael RICOIS
b865936904 Upgrade Class Metier 2013-04-25 08:26:51 +00:00
Michael RICOIS
ede1ffdaa5 Ajout données 2013-04-19 14:49:02 +00:00
Michael RICOIS
ee7501b5b5 Ajout insee 2013-03-29 15:57:53 +00:00
Michael RICOIS
3b5a52500e Suppression element en attente de profil 2013-03-15 10:12:55 +00:00
Michael RICOIS
ccedc6e981 Correction init ligne 2013-03-14 15:35:06 +00:00
Michael RICOIS
a029f4384f Init file information by default 2013-03-11 09:08:53 +00:00
Michael RICOIS
50b3a33518 Correction retour actionnaire/participation 2013-03-08 14:28:35 +00:00
Michael RICOIS
b33918bf93 Correction actionnaires 2013-02-20 14:56:03 +00:00
Michael RICOIS
d0e385ddf2 Correction actionnaires 2013-02-20 14:53:53 +00:00
Michael RICOIS
c8108cfe18 Correction multiligne 2013-02-20 10:17:50 +00:00
Michael RICOIS
0eb3862689 config 2013-02-20 09:41:16 +00:00
Michael RICOIS
cfa827aba1 config 2013-02-20 09:39:17 +00:00
Michael RICOIS
e473d586d3 Add participations 2013-02-20 09:35:36 +00:00
Michael RICOIS
e9386b670b Correction 2013-02-20 09:25:48 +00:00
Michael RICOIS
db52a51fd2 Résolution dépendance BDD 2013-02-19 15:05:16 +00:00
Michael RICOIS
1bf4300ad1 New database config for crontab 2013-02-19 13:55:53 +00:00
Michael RICOIS
4059e0dd19 actionnaires multiligne, ajout des models et controle.... 2013-02-19 13:53:38 +00:00
Michael RICOIS
eebdaa2303 actionnaires multiligne 2013-02-19 10:28:36 +00:00
Michael RICOIS
5a0f828033 Maj classMLiens 2013-02-18 20:29:19 +00:00
Michael RICOIS
dd681582f0 Protection item 2013-02-18 19:51:07 +00:00
Michael RICOIS
5ce405e224 issue #0001545 : Correction selection bdd 2013-02-15 10:17:53 +00:00
Michael RICOIS
c8b13a3d42 issue #0001545 : Correction retour tabData 2013-02-14 16:56:01 +00:00
Michael RICOIS
40d88bbd5e issue #0001545 : ADR_COM, SIEGE, GPS 2013-02-14 16:03:40 +00:00
Michael RICOIS
337d1e9a9a Ajout element d'aide 2013-02-05 14:09:10 +00:00
Michael RICOIS
f91591c0f3 Défintion element idSd 2013-02-05 13:25:09 +00:00
Michael RICOIS
2a61170f24 Remove sendmail 2013-01-29 18:09:36 +00:00
Michael RICOIS
5efbedfe4e Remove sendmail 2013-01-29 18:09:12 +00:00
Michael RICOIS
3604efd03f Debug 2013-01-29 17:00:20 +00:00
Michael RICOIS
c91db4ab11 Debug 2013-01-29 16:58:51 +00:00
Michael RICOIS
deb045b9b7 Debug 2013-01-29 16:56:12 +00:00
Michael RICOIS
1c1ee832bc Debug 2013-01-29 16:54:15 +00:00
Michael RICOIS
cbc199daa5 Debug 2013-01-29 16:52:16 +00:00
Michael RICOIS
9720b470cc Debug 2013-01-29 16:51:42 +00:00
Michael RICOIS
a453b60ddf Debug 2013-01-29 16:51:04 +00:00
Michael RICOIS
3ae5309c72 Debug 2013-01-29 16:50:23 +00:00
Michael RICOIS
cf1c6383f4 Debug 2013-01-29 16:49:28 +00:00
Michael RICOIS
b9f75c61e1 Debug 2013-01-29 16:48:31 +00:00
Michael RICOIS
7edac18c75 Debug 2013-01-29 16:47:42 +00:00
Michael RICOIS
31327f2f0d Debug 2013-01-29 16:46:31 +00:00
Michael RICOIS
3638f96834 Debug 2013-01-29 16:40:03 +00:00
Michael RICOIS
7b271d0ac3 Debug 2013-01-29 16:37:38 +00:00
Michael RICOIS
61c3f4f358 Debug 2013-01-29 16:29:28 +00:00
Michael RICOIS
28b5aa402c Debug 2013-01-29 16:28:42 +00:00
Michael RICOIS
aa0449aec1 Debug 2013-01-29 16:24:35 +00:00
Michael RICOIS
8e6676d6f1 Debug 2013-01-29 16:22:48 +00:00
Michael RICOIS
32d98f192b Debug 2013-01-29 16:18:02 +00:00
Michael RICOIS
fd812275c0 Correction 2013-01-29 16:17:08 +00:00
Michael RICOIS
aca3830df0 Debug 2013-01-29 16:13:44 +00:00
Michael RICOIS
5119e5e67b Debug 2013-01-29 16:12:25 +00:00
Michael RICOIS
a12a7ab759 Debug 2013-01-29 16:08:53 +00:00
Michael RICOIS
32a15a581f Debug 2013-01-29 16:01:39 +00:00
Michael RICOIS
38270bf738 Debug 2013-01-29 15:57:53 +00:00
Michael RICOIS
5511a535f4 Debug 2013-01-29 15:54:53 +00:00
Michael RICOIS
e797f4e79a isset 2013-01-29 15:49:55 +00:00
Michael RICOIS
8683b0a200 Replace isset 2013-01-29 15:49:17 +00:00
Michael RICOIS
bf1a4c2d07 debug 2013-01-29 15:37:05 +00:00
Michael RICOIS
7123955dd7 debug 2013-01-29 15:36:02 +00:00
Michael RICOIS
59f167ea82 debug 2013-01-29 15:32:37 +00:00
Michael RICOIS
333a1e7d4c debug 2013-01-29 15:30:56 +00:00
Michael RICOIS
4a92b1b7e8 Mise à niveau classe Métier 2013-01-29 15:30:34 +00:00
Michael RICOIS
52abcbbbbb Libellé 2013-01-29 15:19:43 +00:00
Michael RICOIS
4656c46482 Libellé 2013-01-29 15:17:56 +00:00
Michael RICOIS
26050119b1 Libellé 2013-01-29 15:15:47 +00:00
Michael RICOIS
e52e3814d8 Libellé 2013-01-29 15:13:33 +00:00
Michael RICOIS
2e0d38bfb3 Libellé 2013-01-29 15:12:56 +00:00
Michael RICOIS
83378249bd Libellé 2013-01-29 15:10:48 +00:00
Michael RICOIS
6f18be3aa4 Libellé 2013-01-29 15:07:55 +00:00
Michael RICOIS
ea6862b8c1 Libellé 2013-01-29 15:05:14 +00:00
Michael RICOIS
a3bf3e2ef7 Libellé 2013-01-29 14:58:40 +00:00
Michael RICOIS
62292f17bc Libellé 2013-01-29 14:58:01 +00:00
Michael RICOIS
c019b9a8dd Libellé 2013-01-29 14:52:40 +00:00
Michael RICOIS
1f94f5de48 Debug enregistrement profil 2013-01-29 14:28:12 +00:00
Michael RICOIS
3d9fc23707 js 2013-01-29 14:17:39 +00:00
Michael RICOIS
a2ed7c038b js 2013-01-29 14:12:52 +00:00
Michael RICOIS
c4684b7c5e js 2013-01-29 14:11:20 +00:00
Michael RICOIS
d37b8b74f3 Debug enregistrement profil 2013-01-29 14:08:45 +00:00
Michael RICOIS
700499dd47 Debug enregistrement profil 2013-01-29 14:01:59 +00:00
Michael RICOIS
fd589a5708 Privileges sans valeur 2013-01-29 13:50:23 +00:00
Michael RICOIS
79775bc0dc Ajout des tables génériques 2013-01-29 13:36:15 +00:00
Michael RICOIS
16dc7de766 Correction chemin de config 2013-01-29 13:09:15 +00:00
Michael RICOIS
74774b2696 Intégration des tables statiques 2013-01-29 13:04:36 +00:00
Michael RICOIS
e14c56a220 Modification libellé + privilege 2013-01-29 11:09:51 +00:00
Michael RICOIS
d8cd599d24 delete config file configuration.ini 2013-01-28 17:31:29 +00:00
Michael RICOIS
4005d8fb67 Correction following jquery upgrade 2013-01-25 16:29:24 +00:00
Michael RICOIS
02ae8008b3 Upgrade Javascript library Jquery and Jquery-UI 2013-01-25 16:13:00 +00:00
Michael RICOIS
11b2313c8d issue #0001517 : Correction affichage 2013-01-25 16:03:09 +00:00
Michael RICOIS
1f27920764 issue #0001517 : Correction affichage 2013-01-25 15:28:57 +00:00
Michael RICOIS
c012b6f02f issue #0001517 : Affichage explication données, colonnes en sortie,.... 2013-01-25 15:23:46 +00:00
Michael RICOIS
f602c4ccff issue #0001350 : Prise en compte des doublons (validé) 2013-01-25 11:21:11 +00:00
Michael RICOIS
8b3a2e6311 issue #0001350 : Prise en compte des doublons (test) 2013-01-25 11:16:20 +00:00
Michael RICOIS
4a4798cf49 issue #0001350 : Typo 2013-01-25 08:02:52 +00:00
Michael RICOIS
d2b17e2ff7 issue #0001350 : Init doublon 2013-01-25 08:02:02 +00:00
Michael RICOIS
96ba8525d6 issue #0001350 : Typo 2013-01-25 08:00:50 +00:00
Michael RICOIS
609c98cc11 issue #0001350 : Typo 2013-01-25 07:59:37 +00:00
Michael RICOIS
748d9e17dc issue #0001350 : Init doublon 2013-01-25 07:58:46 +00:00
Michael RICOIS
01306f5a1c issue #0001350 : Style 2013-01-25 07:56:22 +00:00
Michael RICOIS
0f3992270e issue #0001350 : Dédoublonnage sans aucun test 2013-01-25 07:54:11 +00:00
Michael RICOIS
7d5546e0d9 Ajout d'une aide 2013-01-22 15:00:20 +00:00
Michael RICOIS
38d1536d01 Ajout d'une aide 2013-01-22 14:59:30 +00:00
Michael RICOIS
bf82895a6a Meilleur sélection du siege (siege=2) 2013-01-22 07:17:48 +00:00
Michael RICOIS
508f42d941 Data type equality 2013-01-22 07:15:39 +00:00
Michael RICOIS
8f6620af04 Data type equality 2013-01-22 07:11:58 +00:00
Michael RICOIS
e52006a29d Modification condition pour l'affichage des fichiers clients 2013-01-21 15:54:53 +00:00
Michael RICOIS
3d4644a732 issue #0001500 : Ajout de la date de calcul de l'indiScore 2013-01-18 14:20:46 +00:00
Michael RICOIS
e8d1f01811 Intégration des modifications du WebService v1.0 2012-12-28 17:00:29 +00:00
Michael RICOIS
543a04387d Update Zend Framework to version 1.12.1 2012-12-20 21:22:25 +00:00
Michael RICOIS
9381565f3e Suppression debuggage 2012-12-05 16:21:57 +00:00
Michael RICOIS
da908028cc Retour getAssoc 2012-12-05 16:18:48 +00:00
Michael RICOIS
8de12160a6 Maj Class Insee 2012-12-05 16:18:30 +00:00
Michael RICOIS
84dc130503 SiretSuc debug 2012-12-05 15:59:03 +00:00
Michael RICOIS
56a58cbe21 SiretSuc 2012-12-05 15:06:06 +00:00
Michael RICOIS
8fbd4f9d22 Protection chaine caractère 2012-12-05 13:59:34 +00:00
Michael RICOIS
f402466a20 Debug 2012-12-05 13:58:19 +00:00
Michael RICOIS
0b1bfe2ca7 Sélection du client 2012-12-04 16:40:37 +00:00
Michael RICOIS
b2721a01fd Correction affichage 2012-12-04 16:38:33 +00:00
Michael RICOIS
58727502d1 Correction dateStart 2012-12-04 16:37:28 +00:00
Michael RICOIS
f559f69d1c Nouvelle présentation des fichiers 2012-12-04 16:36:12 +00:00
Michael RICOIS
81be70c43f Position 2012-11-21 14:26:19 +00:00
Michael RICOIS
93e9bd7481 key 2012-11-21 14:25:46 +00:00
Michael RICOIS
e191a62e7c firebug 2012-11-21 14:21:54 +00:00
Michael RICOIS
353da52a47 Debug name 2012-11-21 14:20:07 +00:00
3572 changed files with 653718 additions and 186451 deletions

View File

@ -1,63 +1,100 @@
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
//Initialisation global des paramètres de vue
protected function _initConfig()
{
$config = new Zend_Config($this->getOptions());
Zend_Registry::set('config', $config);
return $config;
}
//Initialisation global des paramètres de vue
protected function _initViewSettings()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->setEncoding('UTF-8');
$view->doctype('XHTML1_STRICT');
$view->doctype('HTML5');
$view->headMeta()
->appendHttpEquiv('viewport', 'width=device-width, initial-scale=1.0')
->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
->appendHttpEquiv('Content-Language', 'fr-FR');
$view->headTitle()->setSeparator(' - ');
->appendHttpEquiv('Content-Language', 'fr-FR');
$view->headLink()
->appendStylesheet('/styles/reset.css', 'all')
->appendStylesheet('/styles/main.css', 'all')
->appendStylesheet('/jqueryui/jquery-ui.css', 'all');
->appendStylesheet('/libs/bootstrap-v3.0.3/css/bootstrap.min.css', 'all');
$view->headScript()
->appendFile('/scripts/jquery.js', 'text/javascript')
->appendFile('/scripts/jquery-ui.js', 'text/javascript')
->appendFile('/scripts/enrichissement.js', 'text/javascript');
->appendFile('/libs/html5shiv.js', 'text/javascript', array('conditional' => 'lt IE 9'))
->appendFile('/libs/respond.min.js', 'text/javascript', array('conditional' => 'lt IE 9'));
$view->inlineScript()
->appendFile('/libs/jquery-2.0.3.min.js', 'text/javascript')
->appendFile('/libs/bootstrap-v3.0.3/js/bootstrap.min.js', 'text/javascript')
->appendFile('/libs/ui-1.10.3/jquery-ui.min.js', 'text/javascript')
->appendFile('/themes/default/js/enrichissement.js', 'text/javascript');
$view->headTitle()->setSeparator(' - ');
$view->headTitle('Enrichissement de fichier');
}
protected function _initDb()
{
$dbConfig = new Zend_Config_Ini(APPLICATION_PATH . '/configs/configuration.ini', 'databases');
try {
$db = Zend_Db::factory($dbConfig->db);
Zend_Db_Table::setDefaultAdapter ($db);
} catch ( Exception $e ) {
exit ( $e->getMessage() );
}
Zend_Registry::set('db', $db);
}
//Initialisation global des paramètres de log
protected function _initLogging()
{
//Firebug
$writer = new Zend_Log_Writer_Firebug();
if(APPLICATION_ENV=='production') {
$writer->setEnabled(false);
}
$logger = new Zend_Log($writer);
Zend_Registry::set('firebug', $logger);
}
protected function _initDb()
{
$c = new Zend_Config($this->getOptions());
try {
$db = Zend_Db::factory($c->resources->db);
$db->getConnection();
} catch ( Exception $e ) {
if (APPLICATION_ENV == 'development') {
echo '<pre>'; print_r($e); echo '</pre>';
} else {
echo "Le service rencontre actuellement un problème technique.";
}
exit;
}
/**
* Set the default adapter to use with all model
*/
Zend_Db_Table::setDefaultAdapter($db);
/**
* Set Firebug Database profiler
*/
if (APPLICATION_ENV == 'development') {
$profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
$profiler->setEnabled(true);
$db->setProfiler($profiler);
}
return $db;
}
protected function _initCache()
{
//MetadataCache pour la base de données
$frontendOptions = array(
'lifetime' => 14400,
'automatic_serialization' => true
);
$backendOptions = array();
$cache = Zend_Cache::factory('Core','Apc', $frontendOptions, $backendOptions);
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
//Cache pour les données de la base à stocker
if ( APPLICATION_ENV!='development' ) {
//MetadataCache pour la base de données
$frontendOptions = array(
'lifetime' => 14400,
'automatic_serialization' => true
);
$backendOptions = array();
$cache = Zend_Cache::factory('Core','Apc', $frontendOptions, $backendOptions);
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
}
}
}

View File

@ -1,27 +0,0 @@
[production]
phpSettings.date.timezone = "Europe/Paris"
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
autoloaderNamespaces[] = "Application_"
resources.layout.layout = "main"
resources.layout.layoutPath = APPLICATION_PATH "/views"
resources.view.basePath = APPLICATION_PATH "/views"
[staging : production]
resources.frontController.params.displayExceptions = 0
phpSettings.soap.wsdl_cache_enabled = 0
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
phpSettings.soap.wsdl_cache_enabled = 0
resources.frontController.params.displayExceptions = 1
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

View File

@ -1,7 +1,7 @@
<?php
// Base de données de S&D
define('MYSQL_HOST', '88.190.14.56');
define('MYSQL_HOST', '195.154.170.169');
define('MYSQL_PORT', '53336');
define('MYSQL_USER', 'wsuser');
define('MYSQL_PASS', 'wspass2012');

View File

@ -0,0 +1,8 @@
<?php
/** Dossiers locaux pour les documents a telecharger (PDF kbis, marques, etc...) **/
define('DOC_WEB_LOCAL', realpath('C:/Users/mricois/www/data/enrichissement/').'/');
define('DOC_WEB_URL', '/data/');
/** LOGGING **/
define('LOG_PATH', realpath('C:/Users/mricois/www/data/enrichissement/log/'));

View File

@ -0,0 +1,104 @@
<?php
class DoublonController extends Zend_Controller_Action
{
public function indexAction()
{
}
public function fileformAction()
{
$this->view->headScript()->appendFile('/themes/default/js/jquery.form.js', 'text/javascript');
$this->view->headScript()->appendFile('/themes/default/js/jqueryprogressbar.js', 'text/javascript');
$this->view->assign('filesize', ini_get('upload_max_filesize'));
}
public function fileuploadAction()
{
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$request = $this->getRequest();
$c = Zend_Registry::get('config');
$path = realpath($c->profil->path->data).'/doublon';
if(!file_exists($path)) mkdir($path);
if ( isset($_FILES) && count($_FILES)==1 ){
$n = $_FILES['fichier']['name'];
$s = $_FILES['fichier']['size'];
$tmp_name = $_FILES['fichier']['tmp_name'];
$extValide = array('csv');
$extension = strrchr($n,'.');
$extension = substr($extension,1);
//Vérifier l'extension du fichier
if(!in_array($extension, $extValide)){
echo "Extension de fichier incorrect !";
} elseif (move_uploaded_file($tmp_name, $path.'/'.$idClient.'-'.$name.'.'.$extension)){
echo "Fichier envoyé, <a href=\"".
$this->view->url(array(
'controller' => 'envoi',
'action' => 'checkfile',
'file' => $idClient.'-'.$name.'.'.$extension,
))
."\">Vérifier le format</a>";
} else {
echo "Erreur : ".$_FILES['fichier']['error'];
}
}
}
/**
* Etat de progression de l'upload du fichier
*/
public function fileprogressAction()
{
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$request = $this->getRequest();
$key = $request->getParam('key', '');
if (!empty($key)) {
//$rep sera égal à false si la clef n'existe pas dans le cache apc
$rep = apc_fetch('upload_'.$key);
echo json_encode($rep);
}
}
public function checkfileAction()
{
$request = $this->getRequest();
$file = $request->getParam('file');
$c = Zend_Registry::get('config');
$pathIn = $c->profil->path->data.'/doublon';
$pathOut = $c->profil->path->data.'/doublon';
if(!file_exists($pathOut)) mkdir($pathOut);
//Vérifier le format du fichier
require_once 'Scores/Enrichissement.php';
$data = new Enrichissement();
$result = $data->checkFileEntete($pathIn.'/'.$file);
if ($result===FALSE)
{
$this->view->assign('errors',array("Impossible de lire le fichier !"));
//Supprimer le fichier
unlink($pathIn.'/'.$file);
}
elseif (is_array($result))
{
$this->view->assign('errors',$result);
//Supprimer le fichier
unlink($pathIn.'/'.$file);
}
elseif (is_int($result))
{
$this->view->assign('nb', $result);
}
}
}

View File

@ -1,6 +0,0 @@
<?php
class EnrichissementController extends Zend_Controller_Action
{
}

View File

@ -4,8 +4,7 @@ class EnvoiController extends Zend_Controller_Action
public function init()
{
$this->view->headScript()->appendFile('/scripts/enrichissement.js', 'text/javascript');
$this->view->headLink()->appendStylesheet('/styles/enrichissement.css');
$this->view->headLink()->appendStylesheet('/themes/default/css/enrichissement.css');
}
/**
@ -15,21 +14,13 @@ class EnvoiController extends Zend_Controller_Action
public function fileformAction()
{
$this->view->headScript()->appendFile('/scripts/jquery.form.js', 'text/javascript');
$this->view->headScript()->appendFile('/scripts/jqueryprogressbar.js', 'text/javascript');
$this->view->inlineScript()->appendFile('/themes/default/js/jquery.form.js', 'text/javascript');
$this->view->inlineScript()->appendFile('/themes/default/js/jqueryprogressbar.js', 'text/javascript');
$this->view->assign('filesize', ini_get('upload_max_filesize'));
//Récupérer les clients
$dbConfig = array(
'host' => MYSQL_HOST,
'port' => MYSQL_PORT,
'username' => MYSQL_USER,
'password' => MYSQL_PASS,
'dbname' => MYSQL_DEFAULT_DB,
'driver_options' => array(MYSQLI_INIT_COMMAND => 'SET NAMES UTF8;'),
//'driver_options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;')
);
$sqlmetier = Zend_Db::factory('Mysqli', $dbConfig);
$c = Zend_Registry::get('config');
$sqlmetier = Zend_Db::factory($c->profil->db->jo);
$sql = $sqlmetier->select()
->from('sdv1.clients', array('id', 'nom'))
->where("actif = 'Oui'");
@ -52,8 +43,8 @@ class EnvoiController extends Zend_Controller_Action
}
else
{
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/configuration.ini', 'path');
$path = realpath($config->data).'/validation';
$c = Zend_Registry::get('config');
$path = realpath($c->profil->path->data).'/validation';
if(!file_exists($path)) mkdir($path);
if ( isset($_FILES) && count($_FILES)==1 ){
@ -104,10 +95,10 @@ class EnvoiController extends Zend_Controller_Action
$request = $this->getRequest();
$file = $request->getParam('file');
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/configuration.ini', 'path');
$c = Zend_Registry::get('config');
$pathIn = $config->data.'/validation';
$pathOut = $config->data.'/clients';
$pathIn =$c->profil->path->data.'/validation';
$pathOut = $c->profil->path->data.'/clients';
if(!file_exists($pathOut)) mkdir($pathOut);
//Vérifier le format du fichier

View File

@ -4,12 +4,16 @@ class IndexController extends Zend_Controller_Action
public function indexAction()
{
//Liste des profils
$request = $this->getRequest();
$idClient = $request->getParam('idClient', null);
$this->view->assign('idClient', $idClient);
//Liste des profils
$profilM = new Application_Model_Profil();
$sql = $profilM->select();
$this->view->assign('listProfil', $profilM->fetchAll($sql));
$commandesM = new Application_Model_Commandes($db);
$commandesM = new Application_Model_Commandes();
//Liste des fichiers en attente de profil
$sql = $commandesM->select()->where('idProfil = ?', 0);
@ -24,9 +28,26 @@ class IndexController extends Zend_Controller_Action
//Liste des enrichissements terminé
$sql = $commandesM->select()
->where("dateStop != '0000-00-00 00:00:00'")
->where("error = ''");
->where("error = ''")
->order('dateStart DESC');
if ( null != $idClient ) {
$sql->where('fichier LIKE "'.$idClient.'-%"');
} else {
$sql->limit(5);
}
$this->view->assign('fileFinish', $commandesM->fetchAll($sql));
//Récupérer les clients
$c = Zend_Registry::get('config');
$sqlmetier = Zend_Db::factory($c->profil->db->jo);
$sql = $sqlmetier->select()
->from('sdv1.clients', array('id', 'nom'))
->where("actif = 'Oui'");
$clients = $sqlmetier->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
$this->view->assign('clients', $clients);
}
@ -55,7 +76,8 @@ class IndexController extends Zend_Controller_Action
$request = $this->getRequest();
$file = $request->getParam('file', '');
$content_type = 'application/csv-tab-delimited-table';
$path = '/sites/dataenrichissement/export/';
$c = Zend_Registry::get('config');
$path = $c->profil->path->data . DIRECTORY_SEPARATOR . 'export' . DIRECTORY_SEPARATOR;
//Envoi du fichier sur la sortie standard
if ( file_exists($path.$file) ) {
header('Content-Transfer-Encoding: none');
@ -68,10 +90,19 @@ class IndexController extends Zend_Controller_Action
ini_set('zlib.output_compression', '0');
echo file_get_contents($path.$file);
} else {
echo 'Impossible de charger le fichier.';
echo "Impossible de charger le fichier. ($path$file)";
}
}
public function delAction()
{
$request = $this->getRequest();
$idfile = $request->getParam('idfile');
$commandesM = new Application_Model_Commandes($db);
$commandesM->delete('id='.$idfile);
$this->redirect('/');
}
public function restartAction()
{
$request = $this->getRequest();

View File

@ -4,9 +4,7 @@ class ProfilController extends Zend_Controller_Action
public function indexAction()
{
$db = Zend_Registry::get('db');
$profilM = new Application_Model_Profil($db);
$profilM = new Application_Model_Profil();
$sql = $profilM->select()->order('reference ASC');
$rows = $profilM->fetchAll($sql);
$this->view->assign('profils', $rows);
@ -35,8 +33,11 @@ class ProfilController extends Zend_Controller_Action
public function createAction()
{
$this->view->inlineScript()->appendFile('/themes/default/js/profil.js', 'text/javascript');
$request = $this->getRequest();
$id = $request->getParam('id', null);
$doublon = array();
require_once 'Scores/Enrichissement.php';
$data = new Enrichissement();
@ -45,6 +46,9 @@ class ProfilController extends Zend_Controller_Action
$profilM = new Application_Model_Profil();
$profil = $profilM->find($id);
$criteres = json_decode($profil->current()->criteres, true);
if( $profil->current()->doublon!='' ) {
$doublon = json_decode($profil->current()->doublon, true);
}
$tmp = array();
foreach ($criteres as $critere) {
$values = false;
@ -53,14 +57,24 @@ class ProfilController extends Zend_Controller_Action
$values = $matches[2];
}
$tmp[$critere] = array(
'lib' => $data->getDicoLib($critere),
$pos = strpos($critere, '(');
if ($pos === false){
$key = $critere;
} else {
$key = substr($critere, 0, $pos);
}
Zend_Registry::get('firebug')->info($key);
$tmp[$key] = array(
'lib' => $data->getDicoLib($key),
'values' => $values,
);
}
$this->view->assign('criteres', $tmp);
$this->view->assign('reference', $profil->current()->reference);
}
$this->view->assign('doublon', $doublon);
$this->view->assign('id', $id);
$this->view->assign('edit', true);
$this->view->assign('elements', $data->getDico());
@ -75,27 +89,34 @@ class ProfilController extends Zend_Controller_Action
$request = $this->getRequest();
$reference = $request->getParam('reference');
$criteres = $request->getParam('criteres');
$doublon = $request->getParam('doublon');
$db = Zend_Registry::get('db');
$profilM = new Application_Model_Profil($db);
$profilM = new Application_Model_Profil();
$data = array(
'reference' => $reference,
'criteres' => json_encode($criteres),
'doublon' => ($doublon!='') ? json_encode($doublon) : '',
);
$id = $request->getParam('id', null);
if ( $id != null ) {
if ( $profilM->update($data, 'id='.$id) ){
echo '';
} else {
echo 'Erreur';
}
try {
$result = $profilM->update($data, 'id='.$id);
} catch (Zend_Db_Adapter_Exception $e) {
Zend_Registry::get('firebug')->info($e->getMessage());
}
} else {
if ( $profilM->insert($data) ){
echo '';
} else {
echo 'Erreur';
}
try {
$result = $profilM->insert($data);
} catch (Zend_Db_Adapter_Exception $e) {
Zend_Registry::get('firebug')->info($e->getMessage());
}
}
if ( $result!=0 ){
echo '';
} else {
echo 'Erreur';
}
}
@ -108,9 +129,7 @@ class ProfilController extends Zend_Controller_Action
$idprofil = $request->getParam('idprofil');
$idfile = $request->getParam('idfile');
$db = Zend_Registry::get('db');
$commandesM = new Application_Model_Commandes($db);
$commandesM = new Application_Model_Commandes();
$data = array(
'idProfil' => $idprofil,
@ -123,4 +142,33 @@ class ProfilController extends Zend_Controller_Action
}
}
public function deleteAction()
{
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$request = $this->getRequest();
$idfile = $request->getParam('idfile');
$commandesM = new Application_Model_Commandes();
$commandesM->delete("id=$idfile");
$this->redirect('/');
}
public function helpAction()
{
$this->_helper->layout()->disableLayout();
$request = $this->getRequest();
$key = $request->getParam('key');
require_once 'Scores/Enrichissement.php';
$dico = new Enrichissement();
$this->view->assign('key', $key);
$this->view->assign('lib', $dico->getDicoLib($key));
$this->view->assign('help', $dico->getDicoHelp($key));
$this->view->assign('columns', $dico->getDicoColumns($key));
}
}

View File

@ -0,0 +1,5 @@
<?php
class Application_Model_JoLiens extends Zend_Db_Table_Abstract
{
protected $_name = 'liens2';
}

View File

@ -0,0 +1,5 @@
<?php
class Application_Model_JoLiensDoc extends Zend_Db_Table_Abstract
{
protected $_name = 'liensDoc';
}

View File

@ -0,0 +1,15 @@
<?php
class Application_Model_JoLiensRef extends Zend_Db_Table_Abstract
{
protected $_name = 'liensRef';
public function insert(array $data)
{
// Ajout d'un timestamp
if (empty($data['dateInsert'])) {
$data['dateInsert'] = date('YmdHis');
}
return parent::insert($data);
}
}

View File

@ -0,0 +1,5 @@
<?php
class Application_Model_JoTabPays extends Zend_Db_Table_Abstract
{
protected $_name = 'tabPays';
}

View File

@ -0,0 +1,5 @@
<?php
class Application_Model_Sdv1TabIdLocal extends Zend_Db_Table_Abstract
{
protected $_name = 'tabIdLocal';
}

View File

@ -0,0 +1,22 @@
<?php echo $this->doctype(); ?>
<html>
<head>
<?php echo $this->headMeta(); ?>
<?php echo $this->headTitle(); ?>
<?php echo $this->headStyle(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headScript(); ?>
</head>
<body>
<div id="wrap">
<?php echo $this->render('header.phtml') ?>
<div class="container">
<?php echo $this->layout()->content; ?>
</div>
</div>
<?php echo $this->inlineScript(); ?>
</body>
</html>

View File

@ -1,20 +0,0 @@
<?php echo $this->doctype();?>
<html>
<head>
<?php echo $this->headMeta();?>
<?php echo $this->headTitle();?>
<?php echo $this->headStyle();?>
<?php echo $this->headLink();?>
<?php echo $this->headScript();?>
</head>
<body>
<div id="global">
<div id="header">
<?php echo $this->render('header.phtml') ?>
</div>
<div id="content">
<?php echo $this->layout()->content;?>
</div>
</div>
</body>
</html>

View File

@ -1,5 +1,12 @@
<h1>Enrichissement</h1>
<h2>Aide</h2>
<p>
Caractéristiques du fichier à charger : <br/>
Les colonnes "siren" et "nic" sont obligatoire, avec "ref" en facultatif.<br/>
Le séparateur utilisé est la virgule (,).
</p>
<p>
<a href="<?=$this->url(array('controller'=>'envoi', 'action'=>'fileform'))?>">Envoi d'un fichier CSV</a>
</p>
@ -10,9 +17,9 @@
<h2>En attente de profil</h2>
<div>
<?php if (count($this->fileAttenteProfil)) {?>
<table>
<table class="table table-striped">
<thead>
<tr><th>Fichier</th><th>Profil</th></tr>
<tr><th>Fichier</th><th>Profil</th><th>Action</th></tr>
</thead>
<tbody>
<?php foreach($this->fileAttenteProfil as $file) {?>
@ -28,6 +35,7 @@
</select>
<a class="setprofil" href="<?=$this->url(array('controller'=>'profil', 'action'=>'set', 'idfile'=>$file->id))?>">Ok</a>
</td>
<td><a class="delprofil" href="<?=$this->url(array('controller'=>'profil','action'=>'delete','idfile'=>$file->id))?>">Supprimer</a></td>
</tr>
<?php }?>
</tbody>
@ -40,11 +48,12 @@
<h2>Enrichissements en cours</h2>
<div>
<?php if (count($this->fileEnCours)) {?>
<table>
<table class="table table-striped">
<thead>
<tr>
<th>Fichier</th>
<th>Date Ajout</th>
<th>Ajout</th>
<th>Départ</th>
<th>Lignes Traités</th>
<th>Lignes Total</th>
<th>Message d'erreur</th>
@ -56,6 +65,7 @@
<tr id="<?=$file->id?>" class="encours">
<td><?=$file->fichier?></td>
<td><?=$file->dateAdded?></td>
<td><?=$file->dateStart?></td>
<td class="ligne"><?=$file->nbLigneT?></td>
<td><?=$file->nbLigne?></td>
<td><?=$file->error?></td>
@ -76,17 +86,32 @@
<h2>Enrichissements terminés</h2>
<div>
<?php if (count($this->fileFinish)) {?>
<form method="post" action="./">
<label>Client</label>
<select name="idClient">
<option value="">-</option>
<?php foreach ($this->clients as $client) {?>
<?php $select = ''; if ( null!=$this->idClient && $client->id == $this->idClient) { $select = ' selected'; }?>
<option value="<?=$client->id?>"<?=$select?>><?=$client->nom?></option>
<?php }?>
</select>
<input type="submit" name="submit" value="Selection" />
</form>
</div>
<table>
<div>
<?php if (count($this->fileFinish)) {?>
<table class="table table-striped">
<thead>
<tr><th>Fichier</th><th>Date</th><th>Date Fin</th><th>Lignes total</th><th>Fichier enrichi</th></tr>
<tr><th>#</th><th>Fichier</th><th>Ajout</th><th>Départ</th><th>Fin</th><th>Lignes total</th><th>Fichier enrichi</th></tr>
</thead>
<tbody>
<?php foreach($this->fileFinish as $file) {?>
<tr>
<td><?=$file->id?></td>
<td><?=$file->fichier?></td>
<td><?=$file->dateAdded?></td>
<td><?=$file->dateStart?></td>
<td><?=$file->dateStop?></td>
<td><?=$file->nbLigneT?></td>
<td>
@ -101,3 +126,4 @@
<p>Vide</p>
<?php }?>
</div>
</div>

View File

@ -1,78 +1,79 @@
<style>
div#entete {
width:45%;
float:left;
border:1px solid #bebebe;
height:500px;
overflow:auto;
margin:5px 0;
}
div#entete li {
background-color:#4D90FE;
border-top:2px solid #ffffff;
border-bottom:2px solid #ffffff;
line-height:20px;
font-weight:bold;
color:#000000;
margin-left:30px;
padding:5px 10px;
}
div#dico {
width:45%;
height:500px;
float:right;
border:1px solid #bebebe;
overflow:auto;
margin:5px 0;
}
div#dico li {
list-style-type:none;
padding:5px 10px;
background-color:#4D90FE;
border-top:2px solid #ffffff;
border-bottom:2px solid #ffffff;
line-height:20px;
font-weight:bold;
color:#000000;
}
input[type="text"] {
border:1px solid;
}
div#dico .panel-body {
height:500px;
overflow:auto;
}
div#dico .panel-body, div#entete .panel-body {
padding:0;
}
</style>
<div id="entete">
<h1 class="ui-widget-header">Entete</h1>
<div class="ui-widget-content">
<ol>
<?php if (count($this->criteres)==0) {?>
<span class="placeholder">Placer les elements ici</span>
<?php } else {?>
<?php foreach($this->criteres as $key => $element) {?>
<li id="<?=$key?>">
<?php if (isset($element['lib'])) { echo $element['lib']; } else { echo $key; }?>
<?php if (isset($element['values']) && $element['values']!==false ) {
echo "<input type=\"text\" name=\"".$key."\" value=\"".$element['values']."\"/>"; }?>
</li>
<?php }?>
<?php }?>
</ol>
</div>
<div class="row">
<div class="col-md-4">
<div class="panel panel-default" id="entete">
<div class="panel-heading">
<h3 class="panel-title">Entete</h3>
</div>
<div class="panel-body">
<div class="ui-widget-content">
<ul class="list-group">
<?php if (count($this->criteres)==0) {?>
<span class="placeholder">Placer les elements ici</span>
<?php } else {?>
<?php foreach($this->criteres as $key => $element) {?>
<li class="list-group-item" id="<?=$key?>">
<?php if (isset($element['lib'])) { echo $element['lib']; } else { echo $key; }?>
<?php if (isset($element['values']) && $element['values']!==false ) {
echo "<input type=\"text\" name=\"".$key."\" value=\"".$element['values']."\"/>"; }?>
</li>
<?php }?>
<?php }?>
</ol>
</div>
</div>
</div>
</div>
<div id="dico">
<h1 class="ui-widget-header">Elements disponibles</h1>
<ul>
<?php foreach($this->elements as $key => $element) {?>
<li id="<?=$key?>">
<?php if (isset($element['lib'])) { echo $element['lib']; } else { echo $key; }?>
<?php if (isset($element['values'])) { echo "<input type=\"text\" name=\"".$key."\" value=\"\"/>"; }?>
</li>
<?php }?>
</ul>
<div class="col-md-4">
<div class="panel panel-default" id="dico">
<div class="panel-heading">
<h3 class="panel-title">Elements disponibles</h3>
</div>
<div class="panel-body">
<ul class="list-group">
<?php foreach($this->elements as $key => $element) {?>
<li class="list-group-item" id="<?=$key?>">
<?php if (isset($element['lib'])) { echo $element['lib']; } else { echo $key; }?>
<?php if (isset($element['values'])) { echo "<input type=\"text\" name=\"".$key."\" value=\"\"/>"; }?>
</li>
<?php }?>
</ul>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Aide</h3>
</div>
<div class="panel-body" id="help"></div>
</div>
</div>
</div>
<div>
Clé de dédoublonnage : <br/>
<input type="checkbox" name="doublon" value="siret" <?php if(in_array('siret', $this->doublon)) echo ' checked';?>/> SIRET<br/>
<input type="checkbox" name="doublon" value="siren" <?php if(in_array('siren', $this->doublon)) echo ' checked';?>/> SIREN<br/>
<input type="checkbox" name="doublon" value="nic" <?php if(in_array('nic', $this->doublon)) echo ' checked';?>/> NIC<br/>
<input type="checkbox" name="doublon" value="ref" <?php if(in_array('ref', $this->doublon)) echo ' checked';?>/> REF<br/>
</div>
<div style="clear:both;">
@ -84,63 +85,3 @@ Référence <input type="text" name="profil" value="<?=$this->reference?>" />
<a id="save" href="<?=$this->url(array('controller'=>'profil', 'action'=>'save'))?>">Sauvegarder</a>
<?php }?>
</div>
<script>
$(function() {
$("#dico li").draggable({
appendTo: "body",
helper: "clone"
});
$("#entete ol").droppable({
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
accept: ":not(.ui-sortable-helper)",
drop: function( e, ui ) {
e.preventDefault();
$( this ).find( ".placeholder" ).remove();
var id = ui.draggable.attr('id');
$('<li id="'+id+'"></li>').html( ui.draggable.html() ).appendTo( this );
}
}).sortable({
items: "li:not(.placeholder)",
sort: function() {
$( this ).removeClass( "ui-state-default" );
}
});
$("#entete").delegate("a.delete","click", function(e){
e.preventDefault();
$(this).parent().remove();
});
$("#entete ol").delegate("li" , "hover", function(e) {
e.preventDefault();
if (e.type === 'mouseenter') {
var html = $(this).html();
$(this).html(html+'<a href="#" style="float:right;" class="delete">Supprimer</a>');
} else {
$( this ).find( ".delete" ).remove();
}
});
$('#save').click(function(e){
e.preventDefault();
var url = $(this).attr('href');
var list = new Array();
$('#entete ol li').each(function(index){
var id = $(this).attr('id');
if($('input[name='+id+']', this).length>0){
id = id + '(' + $('input[name='+id+']', this).val() + ')';
}
list.push(id);
});
var ref = $('input[name=profil]').val();
if (ref!='') {
$.post(url, { reference: ref, criteres: list }, function(data){
if (data!='Erreur'){ window.location.href = '/'; }
}, 'json');
}
});
});
</script>

View File

@ -0,0 +1,13 @@
<p>Element : <?=$this->lib?></p>
<p>Key : <?=$this->key?>
<p><?=$this->help?></p>
<br/>
<p>Colonnes de sortie</p>
<ul>
<?php if ( $this->columns!==false && count($this->columns)>0 ) {?>
<?php foreach ( $this->columns as $code => $lib ) {?>
<li><?=$code?> : <?=$lib?></li>
<?php }?>
<?php }?>
</ul>

View File

@ -1,7 +1,7 @@
<div>
<h2>Gestion des profils</h2>
<?php if (count($this->profils)>0) {?>
<table>
<table class="table">
<thead>
<tr>
<th>Référence</th>

File diff suppressed because it is too large Load Diff

248
bin/classmap_generator.php Normal file
View File

@ -0,0 +1,248 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Loader
* @subpackage Exception
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Generate class maps for use with autoloading.
*
* Usage:
* --help|-h Get usage message
* --library|-l [ <string> ] Library to parse; if none provided, assumes
* current directory
* --output|-o [ <string> ] Where to write autoload file; if not provided,
* assumes "autoload_classmap.php" in library directory
* --append|-a Append to autoload file if it exists
* --overwrite|-w Whether or not to overwrite existing autoload
* file
* --ignore|-i [ <string> ] Comma-separated namespaces to ignore
*/
$libPath = dirname(__FILE__) . '/../library';
if (!is_dir($libPath)) {
// Try to load StandardAutoloader from include_path
if (false === include('Zend/Loader/StandardAutoloader.php')) {
echo "Unable to locate autoloader via include_path; aborting" . PHP_EOL;
exit(2);
}
} else {
// Try to load StandardAutoloader from library
if (false === include(dirname(__FILE__) . '/../library/Zend/Loader/StandardAutoloader.php')) {
echo "Unable to locate autoloader via library; aborting" . PHP_EOL;
exit(2);
}
}
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath($libPath),
get_include_path(),
)));
$libraryPath = getcwd();
// Setup autoloading
$loader = new Zend_Loader_StandardAutoloader(array('autoregister_zf' => true));
$loader->setFallbackAutoloader(true);
$loader->register();
$rules = array(
'help|h' => 'Get usage message',
'library|l-s' => 'Library to parse; if none provided, assumes current directory',
'output|o-s' => 'Where to write autoload file; if not provided, assumes "autoload_classmap.php" in library directory',
'append|a' => 'Append to autoload file if it exists',
'overwrite|w' => 'Whether or not to overwrite existing autoload file',
'ignore|i-s' => 'Comma-separated namespaces to ignore',
);
try {
$opts = new Zend_Console_Getopt($rules);
$opts->parse();
} catch (Zend_Console_Getopt_Exception $e) {
echo $e->getUsageMessage();
exit(2);
}
if ($opts->getOption('h')) {
echo $opts->getUsageMessage();
exit(0);
}
$ignoreNamespaces = array();
if (isset($opts->i)) {
$ignoreNamespaces = explode(',', $opts->i);
}
$relativePathForClassmap = '';
if (isset($opts->l)) {
if (!is_dir($opts->l)) {
echo 'Invalid library directory provided' . PHP_EOL
. PHP_EOL;
echo $opts->getUsageMessage();
exit(2);
}
$libraryPath = $opts->l;
}
$libraryPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath($libraryPath));
$usingStdout = false;
$appending = $opts->getOption('a');
$output = $libraryPath . '/autoload_classmap.php';
if (isset($opts->o)) {
$output = $opts->o;
if ('-' == $output) {
$output = STDOUT;
$usingStdout = true;
} elseif (is_dir($output)) {
echo 'Invalid output file provided' . PHP_EOL
. PHP_EOL;
echo $opts->getUsageMessage();
exit(2);
} elseif (!is_writeable(dirname($output))) {
echo "Cannot write to '$output'; aborting." . PHP_EOL
. PHP_EOL
. $opts->getUsageMessage();
exit(2);
} elseif (file_exists($output) && !$opts->getOption('w') && !$appending) {
echo "Autoload file already exists at '$output'," . PHP_EOL
. "but 'overwrite' or 'appending' flag was not specified; aborting." . PHP_EOL
. PHP_EOL
. $opts->getUsageMessage();
exit(2);
} else {
// We need to add the $libraryPath into the relative path that is created in the classmap file.
$classmapPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath(dirname($output)));
// Simple case: $libraryPathCompare is in $classmapPathCompare
if (strpos($libraryPath, $classmapPath) === 0) {
$relativePathForClassmap = substr($libraryPath, strlen($classmapPath) + 1) . '/';
} else {
$libraryPathParts = explode('/', $libraryPath);
$classmapPathParts = explode('/', $classmapPath);
// Find the common part
$count = count($classmapPathParts);
for ($i = 0; $i < $count; $i++) {
if (!isset($libraryPathParts[$i]) || $libraryPathParts[$i] != $classmapPathParts[$i]) {
// Common part end
break;
}
}
// Add parent dirs for the subdirs of classmap
$relativePathForClassmap = str_repeat('../', $count - $i);
// Add library subdirs
$count = count($libraryPathParts);
for (; $i < $count; $i++) {
$relativePathForClassmap .= $libraryPathParts[$i] . '/';
}
}
}
}
if (!$usingStdout) {
if ($appending) {
echo "Appending to class file map '$output' for library in '$libraryPath'..." . PHP_EOL;
} else {
echo "Creating class file map for library in '$libraryPath'..." . PHP_EOL;
}
}
// Get the ClassFileLocator, and pass it the library path
$l = new Zend_File_ClassFileLocator($libraryPath);
// Iterate over each element in the path, and create a map of
// classname => filename, where the filename is relative to the library path
$map = new stdClass;
foreach ($l as $file) {
$filename = str_replace($libraryPath . '/', '', str_replace(DIRECTORY_SEPARATOR, '/', $file->getPath()) . '/' . $file->getFilename());
// Add in relative path to library
$filename = $relativePathForClassmap . $filename;
foreach ($file->getClasses() as $class) {
foreach ($ignoreNamespaces as $ignoreNs) {
if ($ignoreNs == substr($class, 0, strlen($ignoreNs))) {
continue 2;
}
}
$map->{$class} = $filename;
}
}
if ($appending) {
$content = var_export((array) $map, true) . ';';
// Prefix with dirname(__FILE__); modify the generated content
$content = preg_replace("#(=> ')#", "=> dirname(__FILE__) . '/", $content);
// Fix \' strings from injected DIRECTORY_SEPARATOR usage in iterator_apply op
$content = str_replace("\\'", "'", $content);
// Convert to an array and remove the first "array("
$content = explode("\n", $content);
array_shift($content);
// Load existing class map file and remove the closing "bracket ");" from it
$existing = file($output, FILE_IGNORE_NEW_LINES);
array_pop($existing);
// Merge
$content = implode("\n", array_merge($existing, $content));
} else {
// Create a file with the class/file map.
// Stupid syntax highlighters make separating < from PHP declaration necessary
$content = '<' . "?php\n"
. "// Generated by ZF's ./bin/classmap_generator.php\n"
. 'return ' . var_export((array) $map, true) . ';';
// Prefix with dirname(__FILE__); modify the generated content
$content = preg_replace("#(=> ')#", "=> dirname(__FILE__) . '/", $content);
// Fix \' strings from injected DIRECTORY_SEPARATOR usage in iterator_apply op
$content = str_replace("\\'", "'", $content);
}
// Remove unnecessary double-backslashes
$content = str_replace('\\\\', '\\', $content);
// Exchange "array (" width "array("
$content = str_replace('array (', 'array(', $content);
// Align "=>" operators to match coding standard
preg_match_all('(\n\s+([^=]+)=>)', $content, $matches, PREG_SET_ORDER);
$maxWidth = 0;
foreach ($matches as $match) {
$maxWidth = max($maxWidth, strlen($match[1]));
}
$content = preg_replace('(\n\s+([^=]+)=>)e', "'\n \\1' . str_repeat(' ', " . $maxWidth . " - strlen('\\1')) . '=>'", $content);
// Make the file end by EOL
$content = rtrim($content, "\n") . "\n";
// Write the contents to disk
file_put_contents($output, $content);
if (!$usingStdout) {
echo "Wrote classmap file to '" . realpath($output) . "'" . PHP_EOL;
}

44
bin/zf.bat Normal file
View File

@ -0,0 +1,44 @@
@ECHO off
REM Zend Framework
REM
REM LICENSE
REM
REM This source file is subject to the new BSD license that is bundled
REM with this package in the file LICENSE.txt.
REM It is also available through the world-wide-web at this URL:
REM http://framework.zend.com/license/new-bsd
REM If you did not receive a copy of the license and are unable to
REM obtain it through the world-wide-web, please send an email
REM to license@zend.com so we can send you a copy immediately.
REM
REM Zend
REM Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
REM http://framework.zend.com/license/new-bsd New BSD License
REM Test to see if this was installed via pear
SET ZTMPZTMPZTMPZ=@ph
SET TMPZTMPZTMP=%ZTMPZTMPZTMPZ%p_bin@
REM below @php_bin@
FOR %%x IN ("@php_bin@") DO (if %%x=="%TMPZTMPZTMP%" GOTO :NON_PEAR_INSTALLED)
GOTO PEAR_INSTALLED
:NON_PEAR_INSTALLED
REM Assume php.exe is executable, and that zf.php will reside in the
REM same file as this one
SET PHP_BIN=php.exe
SET PHP_DIR=%~dp0
GOTO RUN
:PEAR_INSTALLED
REM Assume this was installed via PEAR and use replacements php_bin & php_dir
SET PHP_BIN=@php_bin@
SET PHP_DIR=@php_dir@
GOTO RUN
:RUN
SET ZF_SCRIPT=%PHP_DIR%\zf.php
"%PHP_BIN%" -d safe_mode=Off -f "%ZF_SCRIPT%" -- %*

624
bin/zf.php Normal file
View File

@ -0,0 +1,624 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Tool
* @subpackage Framework
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* ZF
*
* @category Zend
* @package Zend_Tool
* @subpackage Framework
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class ZF
{
/**
* @var bool
*/
protected $_clientLoaded = false;
/**
* @var string
*/
protected $_mode = 'runTool';
/**
* @var array of messages
*/
protected $_messages = array();
/**
* @var string
*/
protected $_homeDirectory = null;
/**
* @var string
*/
protected $_storageDirectory = null;
/**
* @var string
*/
protected $_configFile = null;
/**
* main()
*
* @return void
*/
public static function main()
{
$zf = new self();
$zf->bootstrap();
$zf->run();
}
/**
* bootstrap()
*
* @return ZF
*/
public function bootstrap()
{
// detect settings
$this->_mode = $this->_detectMode();
$this->_homeDirectory = $this->_detectHomeDirectory();
$this->_storageDirectory = $this->_detectStorageDirectory();
$this->_configFile = $this->_detectConfigFile();
// setup
$this->_setupPHPRuntime();
$this->_setupToolRuntime();
}
/**
* run()
*
* @return ZF
*/
public function run()
{
switch ($this->_mode) {
case 'runError':
$this->_runError();
$this->_runInfo();
break;
case 'runSetup':
if ($this->_runSetup() === false) {
$this->_runInfo();
}
break;
case 'runInfo':
$this->_runInfo();
break;
case 'runTool':
default:
$this->_runTool();
break;
}
return $this;
}
/**
* _detectMode()
*
* @return ZF
*/
protected function _detectMode()
{
$arguments = $_SERVER['argv'];
$mode = 'runTool';
if (!isset($arguments[0])) {
return $mode;
}
if ($arguments[0] == $_SERVER['PHP_SELF']) {
$this->_executable = array_shift($arguments);
}
if (!isset($arguments[0])) {
return $mode;
}
if ($arguments[0] == '--setup') {
$mode = 'runSetup';
} elseif ($arguments[0] == '--info') {
$mode = 'runInfo';
}
return $mode;
}
/**
* _detectHomeDirectory() - detect the home directory in a variety of different places
*
* @param bool $mustExist Should the returned value already exist in the file system
* @param bool $returnMessages Should it log messages for output later
* @return string
*/
protected function _detectHomeDirectory($mustExist = true, $returnMessages = true)
{
$homeDirectory = null;
$homeDirectory = getenv('ZF_HOME'); // check env var ZF_HOME
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable ZF_HOME with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
$homeDirectory = getenv('HOME'); // HOME environment variable
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable HOME with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
$homeDirectory = getenv('HOMEPATH');
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable HOMEPATH with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
$homeDirectory = getenv('USERPROFILE');
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable USERPROFILE with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
return false;
}
/**
* _detectStorageDirectory() - Detect where the storage directory is from a variaty of possiblities
*
* @param bool $mustExist Should the returned value already exist in the file system
* @param bool $returnMessages Should it log messages for output later
* @return string
*/
protected function _detectStorageDirectory($mustExist = true, $returnMessages = true)
{
$storageDirectory = false;
$storageDirectory = getenv('ZF_STORAGE_DIR');
if ($storageDirectory) {
$this->_logMessage('Storage directory path found in environment variable ZF_STORAGE_DIR with value ' . $storageDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($storageDirectory))) {
return $storageDirectory;
} else {
$this->_logMessage('Storage directory does not exist at ' . $storageDirectory, $returnMessages);
}
}
$homeDirectory = ($this->_homeDirectory) ? $this->_homeDirectory : $this->_detectHomeDirectory(true, false);
if ($homeDirectory) {
$storageDirectory = $homeDirectory . '/.zf/';
$this->_logMessage('Storage directory assumed in home directory at location ' . $storageDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($storageDirectory))) {
return $storageDirectory;
} else {
$this->_logMessage('Storage directory does not exist at ' . $storageDirectory, $returnMessages);
}
}
return false;
}
/**
* _detectConfigFile() - Detect config file location from a variety of possibilities
*
* @param bool $mustExist Should the returned value already exist in the file system
* @param bool $returnMessages Should it log messages for output later
* @return string
*/
protected function _detectConfigFile($mustExist = true, $returnMessages = true)
{
$configFile = null;
$configFile = getenv('ZF_CONFIG_FILE');
if ($configFile) {
$this->_logMessage('Config file found environment variable ZF_CONFIG_FILE at ' . $configFile, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($configFile))) {
return $configFile;
} else {
$this->_logMessage('Config file does not exist at ' . $configFile, $returnMessages);
}
}
$homeDirectory = ($this->_homeDirectory) ? $this->_homeDirectory : $this->_detectHomeDirectory(true, false);
if ($homeDirectory) {
$configFile = $homeDirectory . '/.zf.ini';
$this->_logMessage('Config file assumed in home directory at location ' . $configFile, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($configFile))) {
return $configFile;
} else {
$this->_logMessage('Config file does not exist at ' . $configFile, $returnMessages);
}
}
$storageDirectory = ($this->_storageDirectory) ? $this->_storageDirectory : $this->_detectStorageDirectory(true, false);
if ($storageDirectory) {
$configFile = $storageDirectory . '/zf.ini';
$this->_logMessage('Config file assumed in storage directory at location ' . $configFile, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($configFile))) {
return $configFile;
} else {
$this->_logMessage('Config file does not exist at ' . $configFile, $returnMessages);
}
}
return false;
}
/**
* _setupPHPRuntime() - parse the config file if it exists for php ini values to set
*
* @return void
*/
protected function _setupPHPRuntime()
{
// set php runtime settings
ini_set('display_errors', true);
// support the changing of the current working directory, necessary for some providers
$cwd = getenv('ZEND_TOOL_CURRENT_WORKING_DIRECTORY');
if ($cwd != '' && realpath($cwd)) {
chdir($cwd);
}
if (!$this->_configFile) {
return;
}
$zfINISettings = parse_ini_file($this->_configFile);
$phpINISettings = ini_get_all();
foreach ($zfINISettings as $zfINIKey => $zfINIValue) {
if (substr($zfINIKey, 0, 4) === 'php.') {
$phpINIKey = substr($zfINIKey, 4);
if (array_key_exists($phpINIKey, $phpINISettings)) {
ini_set($phpINIKey, $zfINIValue);
}
}
}
}
/**
* _setupToolRuntime() - setup the tools include_path and load the proper framwork parts that
* enable Zend_Tool to work.
*
* @return void
*/
protected function _setupToolRuntime()
{
$includePathPrepend = getenv('ZEND_TOOL_INCLUDE_PATH_PREPEND');
$includePathFull = getenv('ZEND_TOOL_INCLUDE_PATH');
// check if the user has not provided anything
if (!($includePathPrepend || $includePathFull)) {
if ($this->_tryClientLoad()) {
return;
}
}
// if ZF is not in the include_path, but relative to this file, put it in the include_path
if ($includePathPrepend || $includePathFull) {
if (isset($includePathPrepend) && ($includePathPrepend !== false)) {
set_include_path($includePathPrepend . PATH_SEPARATOR . get_include_path());
} elseif (isset($includePathFull) && ($includePathFull !== false)) {
set_include_path($includePathFull);
}
}
if ($this->_tryClientLoad()) {
return;
}
$zfIncludePath['relativePath'] = dirname(__FILE__) . '/../library/';
if (file_exists($zfIncludePath['relativePath'] . 'Zend/Tool/Framework/Client/Console.php')) {
set_include_path(realpath($zfIncludePath['relativePath']) . PATH_SEPARATOR . get_include_path());
}
if (!$this->_tryClientLoad()) {
$this->_mode = 'runError';
return;
}
}
/**
* _tryClientLoad() - Attempt to load the Zend_Tool_Framework_Client_Console to enable the tool to run.
*
* This method will return false if its not loaded to allow the consumer to alter the environment in such
* a way that it can be called again to try loading the proper file/class.
*
* @return bool if the client is actuall loaded or not
*/
protected function _tryClientLoad()
{
$this->_clientLoaded = false;
$fh = @fopen('Zend/Tool/Framework/Client/Console.php', 'r', true);
if (!$fh) {
return $this->_clientLoaded; // false
} else {
fclose($fh);
unset($fh);
include 'Zend/Tool/Framework/Client/Console.php';
$this->_clientLoaded = class_exists('Zend_Tool_Framework_Client_Console');
}
return $this->_clientLoaded;
}
/**
* _runError() - Output the error screen that tells the user that the tool was not setup
* in a sane way
*
* @return void
*/
protected function _runError()
{
echo <<<EOS
***************************** ZF ERROR ********************************
In order to run the zf command, you need to ensure that Zend Framework
is inside your include_path. There are a variety of ways that you can
ensure that this zf command line tool knows where the Zend Framework
library is on your system, but not all of them can be described here.
The easiest way to get the zf command running is to give it the include
path via an environment variable ZEND_TOOL_INCLUDE_PATH or
ZEND_TOOL_INCLUDE_PATH_PREPEND with the proper include path to use,
then run the command "zf --setup". This command is designed to create
a storage location for your user, as well as create the zf.ini file
that the zf command will consult in order to run properly on your
system.
Example you would run:
$ ZEND_TOOL_INCLUDE_PATH=/path/to/library zf --setup
Your are encourged to read more in the link that follows.
EOS;
}
/**
* _runInfo() - this command will produce information about the setup of this script and
* Zend_Tool
*
* @return void
*/
protected function _runInfo()
{
echo 'Zend_Tool & CLI Setup Information' . PHP_EOL
. '(available via the command line "zf --info")'
. PHP_EOL;
echo ' * ' . implode(PHP_EOL . ' * ', $this->_messages) . PHP_EOL;
echo PHP_EOL;
echo 'To change the setup of this tool, run: "zf --setup"';
echo PHP_EOL;
}
/**
* _runSetup() - parse the request to see which setup command to run
*
* @return void
*/
protected function _runSetup()
{
$setupCommand = (isset($_SERVER['argv'][2])) ? $_SERVER['argv'][2] : null;
switch ($setupCommand) {
case 'storage-directory':
$this->_runSetupStorageDirectory();
break;
case 'config-file':
$this->_runSetupConfigFile();
break;
default:
$this->_runSetupMoreInfo();
break;
}
}
/**
* _runSetupStorageDirectory() - if the storage directory does not exist, create it
*
* @return void
*/
protected function _runSetupStorageDirectory()
{
$storageDirectory = $this->_detectStorageDirectory(false, false);
if (file_exists($storageDirectory)) {
echo 'Directory already exists at ' . $storageDirectory . PHP_EOL
. 'Cannot create storage directory.';
return;
}
mkdir($storageDirectory);
echo 'Storage directory created at ' . $storageDirectory . PHP_EOL;
}
/**
* _runSetupConfigFile()
*
* @return void
*/
protected function _runSetupConfigFile()
{
$configFile = $this->_detectConfigFile(false, false);
if (file_exists($configFile)) {
echo 'File already exists at ' . $configFile . PHP_EOL
. 'Cannot write new config file.';
return;
}
$includePath = get_include_path();
$contents = 'php.include_path = "' . $includePath . '"';
file_put_contents($configFile, $contents);
$iniValues = ini_get_all();
if ($iniValues['include_path']['global_value'] != $iniValues['include_path']['local_value']) {
echo 'NOTE: the php include_path to be used with the tool has been written' . PHP_EOL
. 'to the config file, using ZEND_TOOL_INCLUDE_PATH (or other include_path setters)' . PHP_EOL
. 'is no longer necessary.' . PHP_EOL . PHP_EOL;
}
echo 'Config file written to ' . $configFile . PHP_EOL;
}
/**
* _runSetupMoreInfo() - return more information about what can be setup, and what is setup
*
* @return void
*/
protected function _runSetupMoreInfo()
{
$homeDirectory = $this->_detectHomeDirectory(false, false);
$storageDirectory = $this->_detectStorageDirectory(false, false);
$configFile = $this->_detectConfigFile(false, false);
echo <<<EOS
ZF Command Line Tool - Setup
----------------------------
Current Paths (Existing or not):
Home Directory: {$homeDirectory}
Storage Directory: {$storageDirectory}
Config File: {$configFile}
Important Environment Variables:
ZF_HOME
- the directory this tool will look for a home directory
- directory must exist
ZF_STORAGE_DIR
- where this tool will look for a storage directory
- directory must exist
ZF_CONFIG_FILE
- where this tool will look for a configuration file
ZF_TOOL_INCLUDE_PATH
- set the include_path for this tool to use this value
ZF_TOOL_INCLUDE_PATH_PREPEND
- prepend the current php.ini include_path with this value
Search Order:
Home Directory:
- ZF_HOME, then HOME (*nix), then HOMEPATH (windows)
Storage Directory:
- ZF_STORAGE_DIR, then {home}/.zf/
Config File:
- ZF_CONFIG_FILE, then {home}/.zf.ini, then {home}/zf.ini,
then {storage}/zf.ini
Commands:
zf --setup storage-directory
- setup the storage directory, directory will be created
zf --setup config-file
- create the config file with some default values
EOS;
}
/**
* _runTool() - This is where the magic happens, dispatch Zend_Tool
*
* @return void
*/
protected function _runTool()
{
$configOptions = array();
if (isset($this->_configFile) && $this->_configFile) {
$configOptions['configOptions']['configFilepath'] = $this->_configFile;
}
if (isset($this->_storageDirectory) && $this->_storageDirectory) {
$configOptions['storageOptions']['directory'] = $this->_storageDirectory;
}
// ensure that zf.php loads the Zend_Tool_Project features
$configOptions['classesToLoad'] = 'Zend_Tool_Project_Provider_Manifest';
$console = new Zend_Tool_Framework_Client_Console($configOptions);
$console->dispatch();
}
/**
* _logMessage() - Internal method used to log setup and information messages.
*
* @param string $message
* @param bool $storeMessage
* @return void
*/
protected function _logMessage($message, $storeMessage = true)
{
if (!$storeMessage) {
return;
}
$this->_messages[] = $message;
}
}
if (!getenv('ZF_NO_MAIN')) {
ZF::main();
}

45
bin/zf.sh Normal file
View File

@ -0,0 +1,45 @@
#!/bin/sh
#############################################################################
# Zend Framework
#
# LICENSE
#
# This source file is subject to the new BSD license that is bundled
# with this package in the file LICENSE.txt.
# It is also available through the world-wide-web at this URL:
# http://framework.zend.com/license/new-bsd
# If you did not receive a copy of the license and are unable to
# obtain it through the world-wide-web, please send an email
# to license@zend.com so we can send you a copy immediately.
#
# Zend
# Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
# http://framework.zend.com/license/new-bsd New BSD License
#############################################################################
# find php: pear first, command -v second, straight up php lastly
if test "@php_bin@" != '@'php_bin'@'; then
PHP_BIN="@php_bin@"
elif command -v php 1>/dev/null 2>/dev/null; then
PHP_BIN=`command -v php`
else
PHP_BIN=php
fi
# find zf.php: pear first, same directory 2nd,
if test "@php_dir@" != '@'php_dir'@'; then
PHP_DIR="@php_dir@"
else
SELF_LINK="$0"
SELF_LINK_TMP="$(readlink "$SELF_LINK")"
while test -n "$SELF_LINK_TMP"; do
SELF_LINK="$SELF_LINK_TMP"
SELF_LINK_TMP="$(readlink "$SELF_LINK")"
done
PHP_DIR="$(dirname "$SELF_LINK")"
fi
"$PHP_BIN" -d safe_mode=Off -f "$PHP_DIR/zf.php" -- "$@"

View File

@ -1,75 +0,0 @@
#!/usr/bin/php
<?php
// Paramètres
if ( $argc < 1 || in_array($argv[1], array('--help', '-help', '-h', '-?')) ) {
?>
Installation
Avec les options --help, -help, -h, et -?, vous obtiendrez cette aide.
Utilisation : <?php echo $argv[0]; ?> [action]
action :
--install : Configuration
<?php
exit;
}
$action = $argv[1];
$hostname = exec('echo $(hostname)');
$wwwroot = realpath(dirname(__FILE__).'/../../');
switch ($action)
{
case '--install':
writeConfig();
changePermission();
break;
}
/**
* Vérfie si l'utilisateur est ROOT
*/
function isRoot()
{
$uid = exec('echo $(id -u)');
if ((int) $uid == 0){
return true;
} else {
return false;
}
}
function changePermission()
{
passthru('chown -R www-data: '.realpath(dirname(__FILE__).'/../'));
passthru('chmod -R +x '.realpath(dirname(__FILE__).'/../batch/').'/*.php');
}
function changePrimarySymlink()
{
global $wwwroot;
passthru('rm '.$wwwroot.'/webservice');
passthru('ln -s '.realpath(dirname(__FILE__).'/../').' '.$wwwroot.'/webservice');
}
function writeConfig()
{
global $hostname;
$arrayConfig = array(
'mysql.php',
'stockage.php',
);
foreach($arrayConfig as $config) {
passthru('cp -v '.
realpath(dirname(__FILE__)).'/'.$hostname.'/'.$config.' ' .
realpath(dirname(__FILE__)).'/'.$config);
}
passthru('cp -v '.
realpath(dirname(__FILE__)).'/'.$hostname.'/configuration.ini'.' '.
realpath(dirname(__FILE__)).'/../application/configs/configuration.ini');
}

View File

@ -1,22 +0,0 @@
[server]
name = sdsrvdev01
[databases]
db.adapter=mysqli
db.params.host=127.0.0.1
db.params.username=root
db.params.password=password
db.params.dbname=enrichissement
db.params.driver_options.MYSQLI_INIT_COMMAND = "SET NAMES utf8"
[mail]
method = smtp
smpt_port =
smtp_host = smtp.free.fr
support = mricois@scores-decisions.com
supportdev = mricois@scores-decisions.com
contact = mricois@scores-decisions.com
production = mricois@scores-decisions.com
[path]
data = "d:\www\dataenrichissement"

View File

@ -1,22 +0,0 @@
[server]
name = sdsrvdev01
[databases]
db.adapter=mysqli
db.params.host=127.0.0.1
db.params.username=enrichissement
db.params.password=aY5EWvtMmXrqKwK8
db.params.dbname=enrichissement
db.params.driver_options.MYSQLI_INIT_COMMAND = "SET NAMES utf8"
[mail]
method = smtp
smpt_port =
smtp_host = smtp.free.fr
support = mricois@scores-decisions.com
supportdev = mricois@scores-decisions.com
contact = mricois@scores-decisions.com
production = mricois@scores-decisions.com
[path]
data = "/sites/dataenrichissement"

View File

@ -1,8 +0,0 @@
<?php
/** Dossiers locaux pour les documents a telecharger (PDF kbis, marques, etc...) **/
define('DOC_WEB_LOCAL', realpath('d:/www/dataenrichissement/').'/');
define('DOC_WEB_URL', '/data/');
/** LOGGING **/
define('LOG_PATH', realpath('d:/www/dataenrichissement/log/'));

View File

@ -0,0 +1,6 @@
<?php
class Metier_Common_Chiffre
{
}

View File

@ -0,0 +1,7 @@
<?php
class Metier_Common_Date
{
}

View File

@ -0,0 +1,6 @@
<?php
class Metier_Common_Debug
{
}

View File

@ -0,0 +1,7 @@
<?php
class Metier_Common_Ftp
{
}

View File

@ -0,0 +1,6 @@
<?php
class Metier_Common_Mail
{
}

View File

@ -0,0 +1,6 @@
<?php
class Metier_Common_Mysql
{
}

View File

@ -0,0 +1,7 @@
<?php
class Metier_Common_String
{
}

View File

@ -0,0 +1,7 @@
<?php
class Metier_Common_Utils
{
}

View File

@ -0,0 +1,276 @@
<?php
return array(
"$" => "USD",
"DOLLAR" => "USD",
"DOLLARS" => "USD",
"DOLLARS US" => "USD",
"DOLLAR DES ETATS-UNIS" => "USD",
"DOLLARS CANADIENS" => "CAD",
"BRR" => "BRR",
"BRL" => "BRL",
"EURO" => "EUR",
"RÉIS" => "BRL",
"F" => "FRF",
"FRANCS CFA" => "CFA",
"CNY" => "CNY",
"YUAN" => "CNY",
"YUAN REN MIN BI" => "CNY",
"COURONNES TCHÈQUES (RÉPUBLIQUE TCHÈQUE" => "CZK",
"ARIARYS" => "MGA",
"KMF" => "KMF",
"MGA ARIARY" => "MGA",
"MUR" => "MUR",
"ROUPIES MAURICIENNES" => "MUR",
"MURS" => "MUR",
"ROL" => "ROL",
"RON" => "RON",
"FS" => "CHF",
"CHF" => "CHF",
"FRANC SUISSE" => "CHF",
"FRANCS SUISSES" => "CHF",
"YENS" => "JPY",
"DKK" => "DKK",
"COURONNES DANOISES" => "DKK",
"COURONNES NORVÉGIENNES" => "NOK",
"GBP" => "GBP",
"LIVRE STERLING" => "GBP",
"LIVRES STERLING" => "GBP",
"LIVRES STERLINGS" => "GBP",
"ROUBLES BIÉLORUSSES" => "RUB",
"ROUBLES" => "RUB",
"DOLLARS TAIWAN" => "TWD",
"HKD" => "HKD",
"DIRHAMS" => "MAD",
"DINARS TUNISIENS" => "TND",
"FCFA" => "CFA",
"FRANCS BELGES" => "BEF",
"ROUPIE INDIENNE" => "INR",
"DOLLARS HONG KONG" => "HKD",
"RIALS IRANIENS" => "IRR",
"DOLLARS HONG-KONG" => "HKD",
"ECU" => "EUR",
"YUANS" => "CNY",
"DM" => "DEM",
"LEI" => "RON",
"TND" => "TND",
"WON" => "KRW",
"DINAR TUNISIEN" => "TND",
"WONS" => "KRW",
"DIRHAMS MAROCAINS" => "MAD",
"FB" => "BEF",
"CRUZEIROS" => "BRL",
"REALS" => "BRL",
"COURONNES ISLANDAISES" => "ISK",
"DOLLARS AUSTRALIENS" => "AUD",
"DINARS" => "TND",
"RIYAL SAOUDIEN" => "SAR",
"LIVRES SYRIENNES" => "SYP",
"YEN" => "JPY",
"COURONNES SUÉDOISES" => "SEK",
"LIVRES TURQUES" => "TRY",
"SHEKELS" => "ILS",
"FRANC BELGE" => "BEF",
"DOLLAR HONG KONG" => "HKD",
"DOLLARS SINGAPOUR" => "SGD",
"ZLOTY" => "PLN",
"LEVS" => "BGN",
"OUGUIYA" => "MRO",
"ROUPIES INDIENNES" => "INR",
"RIEL" => "KHR",
"COURONNES DANNOISES" => "DKK",
"INR" => "INR",
"ROUPIES DES SEYCHELLES" => "SCR",
"$ CANADIENS" => "CAD",
"LIVRE STERLI" => "GBP",
"NOK" => "NOK",
"LIVRES LIBANAISES" => "LBP",
"RUR" => "RUB",
"USD" => "USD",
"CHS" => "CHE",
"SKK" => "SKK",
"DINAR TUNISI" => "TND",
"PESOS COLOMBIENS" => "COP",
"JIAS" => "CNY",
"DINARS ALGÉRIENS" => "DZD",
"RIELS" => "KHR",
"CLP" => "CLP",
"DINAR ALGÉRIEN" => "DZD",
"RANDS" => "ZAR",
"LEU" => "RON",
"LIVRES CYPRIOTES" => "CYP",
"MAD" => "MAD",
"JPY" => "JPY",
"PNL" => "PLN",
"DOLLARS NÉO-ZÉLANDAIS" => "NZD",
"DOLLAR US" => "USD",
"CYP" => "CYP",
"DIRHAM" => "MAD",
"ZRN" => "ZRN",
"RIYALS SAOUDIENS" => "SAR",
"ZLOTYS" => "PLN",
"FRANCS MALGACHE" => "MGF",
"BAHTS" => "THB",
"SHILLINGS KENYANS" => "KES",
"FRANC COMORIEN" => "KMF",
"KRW" => "KRW",
"$ HONG-KONG" => "HKD",
"COURONNES TCHÈQUES" => "CZK",
"FRANCS CFA-BE" => "XAF",
"DIRHAMS DES E A U" => "AED",
"DOLLAR AUSTRALIEN" => "AUD",
"F, SOIT" => "FRF",
"F SOIT" => "FRF",
"FRANC FRANÇAIS" => "FRF",
"FRANCS GUINÉENS" => "GNF",
"$ US" => "USD",
"REAL" => "BRL",
"LBP" => "LBP",
"TRL" => "TRY",
"RIYAL YÉMÉNITES" => "YER",
"ARIARY" => "MGA",
"PESOS PHILIPPINS" => "PHP",
"KRD" => "DKK",
"WONS CORÉE DU SUD" => "KRW",
"DOLLAR HONG-KONG" => "HKD",
"BAHT" => "THB",
"PESOS CUBAINS" => "CUC",
"DÔNGS" => "VND",
"DINARS JORDANIENS" => "JOD",
"LIVRES ÉGYPTIENNES" => "EGP",
"MALTAISES" => "MTL",
"NOUVEAUX DOLLARS TAÏWAN" => "TWD",
"$ TAIWA" => "TWD",
"F CFA" => "XAF",
"SGD" => "SGD",
"$ SINGAPOUR" => "SGD",
"YUANS RENMINBI" => "CNY",
"DIRHAMS DES EMIRATS ARABES UNIS" => "AED",
"LIVRE TURQUE" => "TRY",
"ERUOS" => "EUR",
"DOLLARS DES ETATS-UNIS" => "USD",
"SCHILLING" => "ATS",
"BIRRS" => "ETB",
"DOLLAR CANADIEN" => "CAD",
"LIVRES CYPRIOBES" => "CYP",
"EUROS (PLANCHER ET" => "EUR",
"FRANCS MALGACHES" => "MGF",
"LEVA" => "BGN",
"DINARDS JORDANIENS" => "JOD",
"PES" => "PHP",
"PESETAS" => "ESP",
"DINARDS" => "DZD",
"NOUVEAUX DOLLARS TAÏWANAIS" => "TWD",
"FRANC" => "FRF",
"COURONNE DANOISE" => "DKK",
"F SUISSES" => "CHF",
"F (SOIT" => "FRF",
"EUROS, COMPRENANT LA CLIENTÈLE ET L'ACHA" => "EUR",
"EUROS, EN CE COMPRIS UN FONDS SIS RÉSIDE" => "EUR",
"F SYMBOLIQUE" => "FRF",
"RIALS" => "IRR",
"EUROS, À L'EXCLUSION DU DROIT AU BAIL DE" => "EUR",
"DH" => "MAD",
"EUROS, CRÉATION L'AUTRE BRANCHE ACTIVITÉ" => "EUR",
"LEI ROUMAIN" => "RON",
"HGK" => "HKD",
"EUROS, ÉTANT PRÉCISÉ QUE LE CÉDANT A CON" => "EUR",
"DZD" => "DZD",
"DON" => "VND",
"EUROS, EN CE COMPRIS LA BRANCHE ACTIVITÉ" => "EUR",
"LEV" => "RON",
"EUROS, AVEC UN DEUXIÈME FONDS SIS À CHEF" => "EUR",
"DÉCEMBRE" => "EUR",
"CEDIS" => "GHS",
"EUROS ; EN CE COMPRIS L'ÉTABLISSEMENT CO" => "EUR",
"EUROS, À L'EXCEPTION LA BOUCHERIE" => "EUR",
"Y" => "JPY",
"EUROS DES ÉLÉMENTS LA BRANCHE ACTIVITÉ >" => "EUR",
"ROUTE BISCHWILLER À SCHILTIGHEIM" => "EUR",
"AVENUE COLMAR, STRASBOURG" => "EUR",
"$ CAN" => "CAD",
"EUUROS" => "EUR",
"EUROS, À L'EXCLUSION L'ACTIVITÉ FABRICAT" => "EUR",
"BRC" => "BRL",
"EUROS ET CRÉATION LA BRANCHE ACTIVITÉ SN" => "EUR",
"EUROS ET CRÉATION LA BRANCHE ACTIVITÉ GL" => "EUR",
"EUROS, ET CRÉATION LA BRANCHE ACTIVITÉ I" => "EUR",
"EGP" => "EGP",
"COURONNE SUE" => "SEK",
"LIVRES" => "GBP",
"EUROS, À L'EXCLUSION LA BRANCHE VENTE AU" => "EUR",
"SOLS" => "PEN",
"EUROS, SOIT LA BRANCHE ACTIVITÉ GROS UV" => "EUR",
"BATHS" => "THB",
"MRO" => "MRO",
"EUROS, À L'EXCLUSION TOUS LES ÉLÉMENTS L" => "EUR",
"PESOS" => "ARS",
"YANS" => "CNY",
"MGF" => "MGF",
"EUROS, CONJOINTEMENT AVEC MME CHERUBINI" => "EUR",
"EUROS, CONSTITUANT UNE BRANCHE COMPLÈTE" => "EUR",
"EUROS, À L'EXCLUSION LA BRANCHE ACTIVITÉ" => "EUR",
"FRANCS SUISSE" => "CHF",
"FL" => "LUF",
"DOLLARS DES CARAÏBES" => "DOP",
"DOLLARS HO" => "HKD",
"EUROS, RÉSULTANT UN PROJET APPORT AUX TE" => "EUR",
"HU" => "HUF",
"EUROS, INCLUANT LES BRANCHES DES FONDS C" => "EUR",
"EUROS, À L'EXCEPTION LA BRANCHE ACTIVITÉ" => "EUR",
"EUROS. ACQUISITION ET ADJONCTION DES NOM" => "EUR",
"BHD" => "TND",
"EUOS" => "EUR",
"TWD" => "TWD",
"RL" => "IRR",
"FRANCS" => "FRF",
"FRF" => "FRF",
"EUROS ; CRÉATION LA BRANCHE ACTIVITÉ VEN" => "EUR",
"EUROS ET CRÉATION LA BRANCHE ACTIVITÉ CA" => "EUR",
"FRANCS FRANCAIS" => "FRF",
"EOROS" => "EUR",
"UROS" => "EUR",
"EUROS - LES OPPOSITIONS SERONT RECUES CH" => "EUR",
"EUROS - JOURNAL PUBLICATEUR : PETITES AF" => "EUR",
"EUROS, SAUF POUR LA BRANCHE JEUX GRATTAG" => "EUR",
"EU" => "EUR",
"EUROS - JOURNAL : LES PETITES AFFICHES D" => "EUR",
"EUROS - JOURNAL ANNONCES LÉGALES : LES A" => "EUR",
"EUORS" => "EUR",
"FRANCS FRANÇAIS. RADIATION PERSONNE PHYS" => "FRF",
"EUROS - JOURNAL PUBLICITE : LES AFFICHES" => "EUR",
"EUROS - JOURNAL PUBLICATEUR LES PETITES" => "EUR",
"EUROS, ANNONCE PARU DANS LES PETITES AFF" => "EUR",
"EUROSO - JOURNAL ANNONCES LES PETITES AF" => "EUR",
"EUROS. LE RECTIFICATIF PORTE SUR LE LIEU" => "EUR",
"EUROS. L'ENTRÉE EN JOUISSANCE EST FIXÉE" => "EUR",
"EUROS. LES OPPOSITIONS SERONT REÇUES POU" => "EUR",
"EUROS ; ACQUIS PAR APPORT PARTIEL ACTIF" => "EUR",
"EUROS JOURNAL ANNONCES LEGALES LES PETIT" => "EUR",
" LIVRES STERLING - PASSIF TRANSMIS :" => "GBP",
"EUROS, PARUTION DANS LES PETITES AFFICHE" => "EUR",
"EUROS - JOURNAL ANNONCES LEGALES LES PET" => "EUR",
"EUROS; LES OPPOSITIONS SERONT REÇU AU SI" => "EUR",
"EUROS - JOURNAL ANNONCES LÉGALES : LES P" => "EUR",
"FRF;F" => "FRF",
"EUROS - PUBLICATION : LES AFFICHES PARIS" => "EUR",
" " => "EUR",
"E" => "EUR",
"EUR (ACQUISITION UNE BRANCHE ACTIVI TÉ)" => "EUR",
"EUROS. VENDEUR : SARL LE TAILLEUR CHEMIS" => "EUR",
"EUROS, PRECEDENT PROPRIÉTAIRE ETURICHEPA" => "EUR",
"£, PASSIF TRANSMIS" => "GBP",
"EUROS LES OPPOSITIONS SERONT REÇUES CHEZ" => "EUR",
"EUROS. ACTIVITÉ : BRANCHE ACTIVITÉ TRANS" => "EUR",
"EUROS ; ACHAT LA CLIENTèLE RELATIVE à L'" => "EUR",
"'" => "EUR",
"EUROS. PUBLICATION : LES PETITES AFFICHE" => "EUR",
"EUROS MADAME BUTON FRANCOIS RCS LA ROCHE" => "EUR",
"EUROS (BRANCHE ACTIVITé)" => "EUR",
"EUROS, LA SOCIéTé GF BATIMENTS A CéDé à" => "EUR",
"USD (SOIT" => "USD",
"EUROS (ACQUISITION UNE BRANCHE ACTIVITé" => "EUR",
"EUROS CONCERNANT L'ACQUISITION UNE BRANC" => "EUR",
"E POUR" => "EUR",
"EUROS, FONDS ACQUIS SIS à LA RICHE (" => "EUR",
"EUROS, OPPOSITIONS PAR ACTE EXTRA JUDICI" => "EUR",
);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,313 @@
<?php
return array(
'1' => "Directeur",
'2' => "Directeur Contentieux",
'3' => "Directeur Recouvrement",
'4' => "Directeur Crédit",
'5' => "Directeur Recherche et Développement",
'6' => "Directeur de la Qualité",
'7' => "Directeur d'Exploitation",
'8' => "Directeur d'Agence/Etablissement",
'9' => "Directeur de la Production",
'10' => "Directeur Commercial",
'11' => "Directeur Financier (DAF)",
'12' => "Directeur Juridique",
'13' => "Directeur des Ressources Humaines DRH",
'14' => "Directeur Informatique",
'15' => "Directeur Administratif",
'16' => "Directeur des Achats",
'17' => "Directeur Marketing",
'18' => "Directeur de la communication",
'19' => "Directeur Technique",
'31' => "Responsable",
'32' => "Responsable Contentieux",
'33' => "Responsable Recouvrement",
'34' => "Responsable Crédit",
'35' => "Responsable Recherche et Développement",
'36' => "Responsable de la Qualité",
'37' => "Responsable d'Exploitation",
'38' => "Responsable d'Agence/Etablissement",
'39' => "Responsable de la Production",
'40' => "Responsable Commercial",
'41' => "Responsable Financier",
'42' => "Responsable Juridique",
'43' => "Responsable des Ressources Humaines RRH",
'44' => "Responsable Informatique",
'45' => "Responsable Administratif",
'46' => "Responsable des Achats",
'47' => "Responsable Marketing",
'48' => "Responsable de la communication",
'49' => "Responsable Technique",
'50' => "Expert comptable",
'55' => "Comptable",
'60' => "Chargé d'affaires",
'61' => "Conducteur de Travaux",
'62' => "Chef de projets",
'63' => "Consultant",
'79' => "Assistant(e) de direction",
'80' => "Avocat",
'81' => "Commissaire-priseur",
'85' => "Agent commercial",
'90' => "Représentant du personnel",
'91' => "Représentant du Comité d'Entreprise",
'92' => "Scrutateur",
'100' => "Administrateur",
'101' => "Administrateur délégué",
'102' => "administrateur de GIE",
'103' => "Administrateur et membre",
'104' => "Administrateur et membre du GIE",
'105' => "Administrateur et président",
'106' => "Administrateur membre engageant le GIE",
'107' => "Administrateur unique",
'108' => "Administrateur provisoire",
'109' => "Administrateur et Directeur",
'200' => "Associé",
'201' => "Associé commandité gérant",
'202' => "Associé commandité",
'203' => "Associé de société civile",
'205' => "Associé en nom",
'206' => "Associé exploitant",
'207' => "Associé non exploitant",
'208' => "Associé non gérant",
'209' => "Associé gérant",
'210' => "Associé Indéfiniment et solidairement responsable",
'211' => "Associé indéfiniment responsable",
'212' => "Associé en nue propriété (avec usufruitier)",
'213' => "Associé unique",
'214' => "Co-Associé",
'215' => "Associé Commanditaire",
'250' => "Propriétaire",
'300' => "Commissaire aux comptes titulaire",
'301' => "Co-commissaire aux comptes suppléant",
'302' => "Co-commissaire aux comptes titulaire",
'303' => "Commissaire aux comptes suppléant",
'304' => "Commissaire aux comptes",
'305' => "Co-commissaire aux comptes",
'400' => "Co-gérant",
'401' => "Co-gérant associé Indéfiniment responsable",
'402' => "Co-gérant associé",
'403' => "Co-gérant non associé",
'404' => "Co-gérant non statutaire",
'405' => "Co-gérant pouvant engager la société",
'406' => "Co-gérant statutaires",
'500' => "Conjoint Collaborateur",
'600' => "Contrôleur",
'601' => "Contrôleur de gestion et des comptes",
'602' => "Contrôleur de gestion du GIE",
'603' => "Contrôleur de gestion",
'604' => "Contrôleur des comptes titulaire",
'605' => "Contrôleur des comptes du GIE",
'606' => "Contrôleur des comptes et de gestion",
'607' => "Contrôleur des comptes et membre du GIE",
'608' => "Contrôleur des comptes",
'700' => "Directeur",
'701' => "Directeur général adjoint",
'702' => "Directeur général délégué et administrateur",
'703' => "Directeur général délégué et membre du comité de surveillance",
'704' => "Directeur général délégué",
'705' => "Directeur général et administrateur",
'706' => "Directeur général et membre du directoire",
'707' => "Directeur général unique du directoire",
'708' => "Directeur général unique",
'709' => "Directeur général",
'710' => "Directeur gérant",
'711' => "Directeur technique",
'712' => "Directeur des transports",
'713' => "Directeur général non administrateur",
'800' => "Dirigeant",
'801' => "Dirigeant à l'étranger et en France",
'802' => "Dirigeant à l'étranger",
'803' => "Dirigeant en France et à l'étranger",
'804' => "Dirigeant en France",
'805' => "Dirigeant",
'900' => "Gérant",
'901' => "Nouveau gérant",
'902' => "Gérant et directeur technique",
'903' => "Gérant associé en nom collectif",
'904' => "Gérant associé en nom",
'905' => "Gérant associé indéfiniment responsable",
'906' => "Gérant associé unique",
'907' => "Gérant associé",
'908' => "Gérant associé majoritaire",
'909' => "Gérant associé minoritaire",
'910' => "Gérant associé tenu indéfiniment et solidairement des dettes sociales",
'911' => "Gérant majoritaire",
'912' => "Gérant non associé",
'913' => "Gérant non statutaire",
'914' => "Gérant pouvant engager la société",
'915' => "Gérant salarié",
'916' => "Gérant statutaire associé",
'917' => "Gérant statutaire",
'918' => "Gérant et administrateur",
'919' => "Gérant technique",
'920' => "Ancien gérant",
'921' => "Gérante",
'923' => "Gérant co-associé",
'924' => "Gérant unique",
'925' => "Premier Gérant",
'926' => "Gérant de fait",
'1000' => "Fondé de pouvoir",
'1001' => "Personne ayant pouvoir d'engager à titre habituel la société vis-à-vis des tiers",
'1002' => "Personne ayant pouvoir d'engager la société en France",
'1003' => "Personne ayant pouvoir d'engager la société",
'1004' => "Personne ayant pouvoir de diriger et gérer",
'1005' => "Personne pouvant engager à titre habituel l'assujetti",
'1006' => "Personne",
'1050' => "Personne Physique",
'1070' => "Exploitant",
'1080' => "Fondateur",
'1081' => "Co-fondateur",
'1090' => "Gérant affaire personnelle",
'1100' => "Mandataire",
'1101' => "Mandataire ad hoc",
'1102' => "Mandataire général",
'1200' => "Membre",
'1201' => "Membre du GIE",
'1202' => "Membre du groupement",
'1203' => "Membre et administrateur",
'1204' => "Membre du comité de direction",
'1205' => "Membre du comité de surveillance",
'1206' => "Membre du conseil de direction",
'1207' => "Membre du conseil de surveillance",
'1208' => "Membre du directoire",
'1209' => "Membre du conseil exécutif",
'1210' => "Membre du conseil de gestion",
'1211' => "Membre du conseil d'administration",
'1230' => "Membre du Comité d'Orientation",
'1232' => "Membre du conseil de famille",
'1300' => "Président",
'1301' => "Président directeur général",
'1302' => "Président du conseil d'administration assumant la direction général",
'1303' => "Président du conseil d'administration et administrateur",
'1304' => "Président du conseil d'administration et directeur général",
'1305' => "Président du conseil d'administration, directeur général et administrateur",
'1306' => "Président du conseil d'administration",
'1307' => "Président du conseil de surveillance",
'1308' => "Président du directoire",
'1309' => "Président du GIE",
'1310' => "Président et membre du conseil de surveillance",
'1311' => "Président et membre du directoire",
'1312' => "Président et président du comité de direction",
'1313' => "Président et président du comité de surveillance",
'1314' => "Président et administrateur",
'1315' => "Président et associé",
'1316' => "Président et associé unique",
'1317' => "Président directeur général et administrateur",
'1318' => "Président non associé",
'1320' => "Président d'honneur",
'1330' => "Président du Comité d'Orientation",
'1331' => "Président du comité de direction",
'1332' => "Président du Conseil de famille",
'1400' => "Représentant",
'1401' => "Représentant de société étrangère",
'1402' => "Représentant tant en France qu'à l'étranger",
'1403' => "Représentant à l'étranger",
'1404' => "Représentant légal en France",
'1405' => "Représentant légal",
'1406' => "Représentant permanent",
'1500' => "Responsable",
'1501' => "Co-responsable en France",
'1502' => "Responsable pour la France",
'1503' => "Responsable tant en France qu'à l'étranger",
'1504' => "Responsable technique",
'1505' => "Responsable à l'étranger",
'1506' => "Responsable de la société en France",
'1507' => "Responsable en France",
'1508' => "Responsable légal en France",
'1600' => "Secrétaire",
'1601' => "Vice-secrétaire",
'1602' => "Secrétaire du conseil d'administration",
'1603' => "Secrétaire du conseil de surveillance",
'1610' => "Secrétaire général",
'1650' => "Gouverneur",
'1651' => "Sous Gouverneur",
'1700' => "Trésorier",
'1701' => "Vice-trésorier",
'1800' => "Vice-président",
'1801' => "Vice-président du conseil d'administration",
'1802' => "vice-président du conseil de surveillance",
'1803' => "Vice-président et administrateur privé",
'1804' => "Vice-président et administrateur",
'1805' => "Vice-président et membre du conseil de surveillance",
'1806' => "Vice-président du directoire",
'1900' => "Liquidateur (amiable)",
'1950' => "Greffier",
'2000' => "Maire",
'2001' => "Premier Adjoint",
'2002' => "Adjoint 3eme Age/Handicapes",
'2003' => "Adjoint Affaires Culturelles",
'2004' => "Adjoint Affaires Economiques",
'2005' => "Adjoint Affaires Générales",
'2006' => "Adjoint Affaires Sociales",
'2007' => "Adjoint Agriculture",
'2008' => "Adjoint Commerce/Artisanat",
'2009' => "Adjoint Communication",
'2010' => "Adjoint Emploi/Insertion",
'2011' => "Adjoint Environnement",
'2012' => "Adjoint Finances/Budget",
'2013' => "Adjoint Intercommunalité",
'2014' => "Adjoint Jeunesse",
'2015' => "Adjoint Logement",
'2016' => "Adjoint Patrimoine",
'2017' => "Adjoint Personnel",
'2018' => "Adjoint Petite Enfance",
'2019' => "Adjoint Politique de la Ville/Logement",
'2020' => "Adjoint Relations Internationales",
'2021' => "Adjoint Santé/Prévention",
'2022' => "Adjoint ServicesTechniques",
'2023' => "Adjoint Sport",
'2024' => "Adjoint Spécial",
'2025' => "Adjoint Sécurité/Prévention",
'2026' => "Adjoint TIC",
'2027' => "Adjoint Tourisme",
'2028' => "Adjoint Transports/Mobilité Urbaine",
'2029' => "Adjoint Urbanisme",
'2030' => "Adjoint Vie Associative",
'2031' => "Adjoint Vie des Quartiers",
'2032' => "Adjoint Voirie",
'2050' => "Secrétariat du Maire",
'2051' => "Premier conseiller",
'2052' => "Conseiller",
'2053' => "Conseiller Communautaire Délégué",
'2054' => "Conseiller Municipal",
'2055' => "Conseiller Municipal Délégué",
'2056' => "Directeur de Cabinet",
'2060' => "Dir/Resp Affaires Juridiques",
'2061' => "Dir/Resp Emploi/Insertion/Urbanisme",
'2062' => "Dir/Resp Petite Enfance/Environnement",
'2063' => "Dir/Resp Ressources Humaines",
'2064' => "Dir/Resp Services Financiers",
'2065' => "Dir/Resp Services Techniques/Transports",
'2066' => "Dir/Resp Technique",
'2067' => "Dir/Resp Urbanisme/Habitat/Voirie",
'2068' => "Directeur 3e Age/Handicapés/Cadre Vie/Esp. Ver",
'2069' => "Directeur Achats",
'2070' => "Directeur Affaires Culturelles/Com. Interne",
'2071' => "Directeur Affaires Economiques",
'2072' => "Directeur Affaires Générales",
'2073' => "Directeur Affaires Sociales/Tourisme",
'2074' => "Directeur Architecture",
'2075' => "Directeur Bibliothèque Municipale",
'2076' => "Directeur Communication",
'2077' => "Directeur Eaux et Services Concédés",
'2078' => "Directeur Enseignement/Affaires Scolaires",
'2079' => "Directeur Espaces Verts",
'2080' => "Directeur Grands Projets",
'2081' => "Directeur Général Adjoint des Services",
'2082' => "Directeur Général des Services",
'2083' => "Directeur Général et Administrateur",
'2084' => "Directeur Informatique",
'2085' => "Directeur Jeunesse/Enseignement",
'2086' => "Directeur Nettoiement/Ordures Ménagères",
'2087' => "Directeur Politique de la Ville",
'2088' => "Directeur Prévention/Sécurité",
'2089' => "Directeur Prévention/Sécurité/Environnement",
'2090' => "Directeur Rel. Internationales",
'2091' => "Directeur Rel. Internationales/Action Culturel",
'2092' => "Directeur Santé",
'2093' => "Directeur Sports/Emploi/Recrutement",
'2094' => "Directeur Tourisme",
'2095' => "Directeur Transports/Mobilité Urbaine",
'2096' => "Directeur Voirie",
'2100' => "Président de section",
);

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +1,41 @@
<?
class MBalo {
function getLibEven($strEven) {
<?php
class MBalo
{
public function getLibEven($strEven)
{
$even=9015;
$strEven=trim($strEven);
if (preg_match("/AUTRES OP.RATIONS . Décisions prises par des assemblées d'obligataires et homologation de résolutions/i", $strEven)) $even=9001;
elseif (preg_match("/AUTRES OP.RATIONS . Désignation de teneurs? de comptes de titres nominatifs/i", $strEven)) $even=9002;
elseif (preg_match("/AUTRES OP.RATIONS . Fusions et scissions/i", $strEven)) $even=9003;
elseif (preg_match("/AUTRES OP.RATIONS . Liquidations/i", $strEven)) $even=9004;
elseif (preg_match("/AUTRES OP.RATIONS . Offre de remboursement d'obligations/i", $strEven)) $even=9005;
elseif (preg_match("/AUTRES OP.RATIONS . Réduction de capital/i", $strEven)) $even=9006;
elseif (preg_match("/AUTRES OP.RATIONS . Regroupement d'actions/i", $strEven)) $even=9007;
elseif (preg_match("/AUTRES OP.RATIONS/i", $strEven)) $even=9000;
elseif (preg_match("/BULLETIN OFFICIEL de l'AMF/i", $strEven)) $even=9010;
elseif (preg_match("/BULLETIN OFFICIEL du CMF/i", $strEven)) $even=9011;
elseif (preg_match("/CONVOCATIONS . Assemblées? d'actionnaires et de porteurs de parts/i", $strEven)) $even=9020;
elseif (preg_match("/CONVOCATIONS . Assemblées? d'obligataires ou de porteurs de titres d'emprunt/i", $strEven)) $even=9021;
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de certificats d'investissement/i", $strEven)) $even=9022;
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de parts de fondateur/i", $strEven)) $even=9023;
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de titres participatifs/i", $strEven)) $even=9024;
elseif (preg_match("/MISSIONS ET COTATIONS - Organismes internationaux - Bons, obligations et autres titres/i", $strEven)) $even=9030;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Actions et parts/i", $strEven)) $even=9031;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Bons d'options? sur titres et sur indices/i", $strEven)) $even=9032;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Bons, obligations et autres titres/i", $strEven)) $even=9033;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs européennes . Actions et parts/i", $strEven)) $even=9034;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Actions et parts/i", $strEven)) $even=9035;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Bons d'options? sur titres et sur indices/i", $strEven)) $even=9036;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Bons, obligations et autres titres/i", $strEven)) $even=9037;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Certificats d'investissement/i", $strEven)) $even=9038;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Entreprises d'assurances et organismes de retraites/i", $strEven)) $even=9040;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles/i", $strEven)) $even=9041;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Chiffres d'affaires)/i", $strEven)) $even=9042;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (comptes annuels)/i", $strEven)) $even=9045;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Tableaux d'activités et résultats)/i", $strEven)) $even=9044;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Chiffres d'affaires et situations trimestrielles)/i", $strEven))$even=9043;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Comptes intermédiaires)/i", $strEven)) $even=9046;
if (preg_match("/AUTRES OP.RATIONS . Décisions prises par des assemblées d'obligataires et homologation de résolutions/iu", $strEven)) $even=9001;
elseif (preg_match("/AUTRES OP.RATIONS . Désignation de teneurs? de comptes de titres nominatifs/iu", $strEven)) $even=9002;
elseif (preg_match("/AUTRES OP.RATIONS . Fusions et scissions/iu", $strEven)) $even=9003;
elseif (preg_match("/AUTRES OP.RATIONS . Liquidations/iu", $strEven)) $even=9004;
elseif (preg_match("/AUTRES OP.RATIONS . Offre de remboursement d'obligations/iu", $strEven)) $even=9005;
elseif (preg_match("/AUTRES OP.RATIONS . Réduction de capital/iu", $strEven)) $even=9006;
elseif (preg_match("/AUTRES OP.RATIONS . Regroupement d'actions/iu", $strEven)) $even=9007;
elseif (preg_match("/AUTRES OP.RATIONS/iu", $strEven)) $even=9000;
elseif (preg_match("/BULLETIN OFFICIEL de l'AMF/iu", $strEven)) $even=9010;
elseif (preg_match("/BULLETIN OFFICIEL du CMF/iu", $strEven)) $even=9011;
elseif (preg_match("/CONVOCATIONS . Assemblées? d'actionnaires et de porteurs de parts/iu", $strEven)) $even=9020;
elseif (preg_match("/CONVOCATIONS . Assemblées? d'obligataires ou de porteurs de titres d'emprunt/iu", $strEven)) $even=9021;
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de certificats d'investissement/iu", $strEven)) $even=9022;
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de parts de fondateur/iu", $strEven)) $even=9023;
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de titres participatifs/iu", $strEven)) $even=9024;
elseif (preg_match("/MISSIONS ET COTATIONS - Organismes internationaux - Bons, obligations et autres titres/iu", $strEven)) $even=9030;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Actions et parts/iu", $strEven)) $even=9031;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Bons d'options? sur titres et sur indices/iu", $strEven)) $even=9032;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Bons, obligations et autres titres/iu", $strEven)) $even=9033;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs européennes . Actions et parts/iu", $strEven)) $even=9034;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Actions et parts/iu", $strEven)) $even=9035;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Bons d'options? sur titres et sur indices/iu", $strEven)) $even=9036;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Bons, obligations et autres titres/iu", $strEven)) $even=9037;
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Certificats d'investissement/iu", $strEven)) $even=9038;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Entreprises d'assurances et organismes de retraites/iu", $strEven)) $even=9040;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles/iu", $strEven)) $even=9041;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Chiffres d'affaires)/iu", $strEven)) $even=9042;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (comptes annuels)/iu", $strEven)) $even=9045;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Tableaux d'activités et résultats)/iu", $strEven)) $even=9044;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Chiffres d'affaires et situations trimestrielles)/iu", $strEven))$even=9043;
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Comptes intermédiaires)/iu", $strEven)) $even=9046;
//else/*if (preg_match("/AVIS DIVERS/i", $strEven))*/ $even=9015;
return $even;
@ -42,9 +43,10 @@ class MBalo {
}
class MBoamp {
function getCodEvenSd($codEvenBoamp, $strEvenBoamp='') {
class MBoamp
{
public function getCodEvenSd($codEvenBoamp, $strEvenBoamp='')
{
$codEvenBoamp=str_replace('R','',$codEvenBoamp)*1;
switch ($codEvenBoamp) {
case 10: $libEvenSd='Annulation'; break;
@ -76,7 +78,8 @@ class MBoamp {
return substr('95'.$codEvenBoamp.'00',0,4)*1;
}
function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='') {
public function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='')
{
return $this->getCodEvenSd($codEvenBoamp, $strEvenBoamp);
}

File diff suppressed because it is too large Load Diff

View File

@ -1,302 +0,0 @@
<?php
class ICotation {
var $reTrtAuto;
var $tabBilan;
var $tabNotation;
var $tabLibActivite;
var $tabActivite;
var $tabR;
function ICotation ($tabBilan, $retraitementAutomatique=true) {
$this->reTrtAuto = $retraitementAutomatique;
$this->tabBilan = $tabBilan;
include ('paramCotation.inc');
}
function calculProvisionsPourRisque () {
if ( !$this->reTrtAuto )
return $this->tabBilan['DP'] + $this->tabBilan['DQ'] - $this->tabBilan['X04'];
else
return (1/2*$this->tabBilan['DP'])+(1/2*$this->tabBilan['DQ']);
}
function calculEBE () {
return $this->tabBilan['FC'] + $this->tabBilan['FF'] + $this->tabBilan['FI'] + $this->tabBilan['FOB']
+ $this->tabBilan['FM'] + $this->tabBilan['FN'] - $this->tabBilan['FC'] + $this->tabBilan['FC']
- ( $this->tabBilan['FS'] + $this->tabBilan['FT'] + $this->tabBilan['FU'] + $this->tabBilan['FV'] )
- ( $this->tabBilan['FW'] - $this->tabBilan['HP'] - $this->tabBilan['HQ'] - $this->tabBilan['HP2'] - $this->tabBilan['HQ2'] )
- $this->tabBilan['FX'] - ( $this->tabBilan['FY'] + $this->tabBilan['FZ'] ) + ( $this->tabBilan['FO'] - $this->tabBilan['FOB'] ) ;
}
function calculChiffreAffaires () {
return $this->tabBilan['FC']
+ $this->tabBilan['FF']
+ $this->tabBilan['FI']
+ $this->tabBilan['FO']
- $this->tabBilan['FOB'] ;
}
function calculMargeCommerciale () {
return $this->tabBilan['FC'] - ( $this->tabBilan['FS'] + $this->tabBilan['FT'] ) ;
}
function calculProduction () {
return $this->tabBilan['FF'] + $this->tabBilan['FI'] + $this->tabBilan['FM'] + $this->tabBilan['FN'] ;
}
function calculValeurAjoutee () {
return $this->calculMargeCommerciale() + $this->calculProduction()
- ( $this->tabBilan['FU'] + $this->tabBilan['FV'] + $this->tabBilan['FW'] ) ;
}
function calculEBEnonCASA () {
return $this->calculValeurAjoutee() + $this->tabBilan['FO'] - $this->tabBilan['FX'] - ( $this->tabBilan['FY'] + $this->tabBilan['FZ'] ) ;
}
function calculFondsPropresNetsCorriges() {
return $this->tabBilan['DA'] + $this->tabBilan['DC'] + $this->tabBilan['DB'] + $this->tabBilan['DD'] + $this->tabBilan['DE'] + $this->tabBilan['DF'] + $this->tabBilan['DG'] + $this->tabBilan['DK'] - (1/3*$this->tabBilan['X01'])
+ $this->tabBilan['DH'] + $this->tabBilan['DI'] + $this->tabBilan['DJ']
- $this->tabBilan['CL'] - $this->tabBilan['AB'] + $this->tabBilan['AC'] - $this->tabBilan['AA'] - $this->tabBilan['CB'] + $this->tabBilan['CC'] - $this->tabBilan['X02'] - $this->tabBilan['CM'] - $this->tabBilan['CN']
+ $this->tabBilan['DM'] + $this->tabBilan['DN']
- $this->tabBilan['X03'] + $this->calculProvisionsPourRisque() - $this->tabBilan['RAD'] ;
}
function calculDettesFinancieresBancairesBrutes () {
return $this->tabBilan['DS'] - $this->tabBilan['CM1'] + $this->tabBilan['EI'] - $this->tabBilan['CM2']
+ $this->tabBilan['DT'] - $this->tabBilan['CM3'] + $this->tabBilan['DU'] - $this->tabBilan['EH']
+ (3/4*$this->tabBilan['YQ']) + (2/3*$this->tabBilan['YR'])
+ (3/4*$this->tabBilan['YQ2']) + (2/3*$this->tabBilan['YR2'])
+ $this->tabBilan['DV'] - $this->tabBilan['EI'] - $this->tabBilan['DVI1'] - $this->tabBilan['CM2']
+ $this->tabBilan['YS'] + $this->tabBilan['X08']
+ $this->tabBilan['EH'] + $this->tabBilan['VI1'] - ( $this->tabBilan['X20'] + $this->tabBilan['X21'] ) ;
}
function noteCapitalisation () {
if ( !$this->reTrtAuto ) {
$autresDettesExploit = $this->tabBilan['EA'] - $this->tabBilan['EAVI1'] - $this->tabBilan['EAB'] + $this->tabBilan['EB'] + $this->tabBilan['X01'] + $this->tabBilan['X04'] ;
$dettesFiscalesSociales = $this->tabBilan['DY'] - $this->tabBilan['DYA'];
} else {
$autresDettesExploit = $this->tabBilan['EA'] - $this->tabBilan['EAVI1'] - $this->tabBilan['EAB'] + $this->tabBilan['EB'] + $this->tabBilan['X01'] + 2/3*((1/2*$this->tabBilan['DP'])+(1/2*$this->tabBilan['DQ']));
$dettesFiscalesSociales = $this->tabBilan['DY'] + 1/3*((1/2*$this->tabBilan['DP'])+(1/2*$this->tabBilan['DQ'])) - $this->tabBilan['DYA'] ;
}
$numerateur = $this->calculFondsPropresNetsCorriges();
$denominateur = $numerateur + $this->tabBilan['DS'] - $this->tabBilan['CM1'] + $this->tabBilan['EI'] - $this->tabBilan['CM2'] + $this->tabBilan['DU'] - $this->tabBilan['EH']
+ $this->tabBilan['DV'] - $this->tabBilan['DVI1'] - $this->tabBilan['EI'] + $this->tabBilan['DT'] - $this->tabBilan['CM3'] + 3/4*$this->tabBilan['YQ'] + 2/3*$this->tabBilan['YR']
+ 3/4*$this->tabBilan['YQ2'] + 2/3*$this->tabBilan['YR2']
+ $this->tabBilan['DW'] + $this->tabBilan['DX'] + $dettesFiscalesSociales
+ $autresDettesExploit + $this->tabBilan['DZ'] + $this->tabBilan['DIA'] + $this->tabBilan['ED'] + $this->tabBilan['EAB'] + $this->tabBilan['DYA']
+ $this->tabBilan['EH'] + $this->tabBilan['YS'] + $this->tabBilan['VI1'];
// + $this->tabBilan['X08']
// - $this->tabBilan['X20'] + $this->tabBilan['YS'] - $this->tabBilan['X08'];
if ($denominateur==0)
return array('NUMERATEUR'=>$numerateur*100,'DENOMINATEUR'=>$denominateur,'NOTE'=>0);
return array('NUMERATEUR'=>$numerateur* 100,'DENOMINATEUR'=>$denominateur,'NOTE'=>($numerateur* 100)/$denominateur);
}
function noteLevierEndettement () {
$numerateur = $this->calculDettesFinancieresBancairesBrutes();
$denominateur = $this->calculFondsPropresNetsCorriges();
if ($denominateur==0)
return array('NUMERATEUR'=>$numerateur,'DENOMINATEUR'=>$denominateur,'NOTE'=>0);
return array('NUMERATEUR'=>$numerateur,'DENOMINATEUR'=>$denominateur,'NOTE'=>$numerateur/$denominateur);
}
function noteCapaciteRemboursement () {
$numerateur = $this->calculDettesFinancieresBancairesBrutes();
$denominateur = $this->calculEBE();
if ($denominateur==0)
return array('NUMERATEUR'=>$numerateur,'DENOMINATEUR'=>$denominateur,'NOTE'=>0);
return array('NUMERATEUR'=>$numerateur,'DENOMINATEUR'=>$denominateur,'NOTE'=>$numerateur/$denominateur);
}
function noteCouvChargesFi () {
$numerateur = $this->calculEBE();
$denominateur = $this->tabBilan['GR'] + ( 1/4*$this->tabBilan['HP'] + 1/3*$this->tabBilan['HQ'] )
+ ( 1/4*$this->tabBilan['HP2'] + 1/3*$this->tabBilan['HQ2'] )
+ $this->tabBilan['GS']
+ $this->tabBilan['GT']
- $this->tabBilan['GJ']
- $this->tabBilan['GK']
- $this->tabBilan['GL']
- $this->tabBilan['GN']
- $this->tabBilan['GO']
- $this->tabBilan['GH']
+ $this->tabBilan['GI'] ;
if ($denominateur==0)
return array('NUMERATEUR'=>$numerateur,'DENOMINATEUR'=>$denominateur,'NOTE'=>0);
return array('NUMERATEUR'=>$numerateur,'DENOMINATEUR'=>$denominateur,'NOTE'=>$numerateur/$denominateur);
}
function noteTresorerie () {
$numerateur = $this->tabBilan['CD'] - $this->tabBilan['CE'] + $this->tabBilan['CF'] - $this->tabBilan['CG']
- $this->tabBilan['EH'] - ( $this->tabBilan['YS'] + $this->tabBilan['X08'] ) ;
$denominateur = $this->calculChiffreAffaires();
if ($denominateur==0)
return array('NUMERATEUR'=>$numerateur*360,'DENOMINATEUR'=>$denominateur,'NOTE'=>0);
return array('NUMERATEUR'=>$numerateur*360,'DENOMINATEUR'=>$denominateur,'NOTE'=>$numerateur*360/$denominateur);
}
function noteMargeExploitation () {
$numerateur = $this->calculEBE();
$denominateur = $this->calculChiffreAffaires();
if ($denominateur==0)
return array('NUMERATEUR'=>$numerateur*100,'DENOMINATEUR'=>$denominateur,'NOTE'=>0);
return array('NUMERATEUR'=>$numerateur*100,'DENOMINATEUR'=>$denominateur,'NOTE'=>$numerateur*100/$denominateur);
}
function getSecteurActivite($naf) {
$nbSecteurs=count($this->tabActivite);
while (strlen($naf) > 1)
{
for ($i=1; $i<$nbSecteurs; $i++)
{
for ($j=0; isset($this->tabActivite[$i][$j]); $j++)
{
if ($this->tabActivite[$i][$j]==$naf)
// echo 'NAF '.$naf.' TROUVÉ !<br>';
return $i;
}
}
// echo 'NAF '.$naf.' non trouvé !<br>';
$naf=substr($naf,0,strlen($naf)-1);
}
return 17; // Secteur d'activité par défaut si non trouvé
}
function getBorne($note, $borne, $secteur) {
// print_array($this->tabR[$borne][$secteur],0);
for ($j=0; $j<10; $j++)
{
$tabMinMax=explode(':',$this->tabR[$borne][$secteur][$j]);
if ($tabMinMax[0]!='') $min=$tabMinMax[0];
else $min=-1E99;
if ($tabMinMax[1]!='') $max=$tabMinMax[1];
else $max=1E99;
if ( ( $note>$min && $note<=$max ) )
{
// echo "TROUVE ++++ $note > ".$tabMinMax[0]." et $note <= ". $tabMinMax[1].'<br/>';
if ($j==0) return 3;
elseif ($j<4) return $j+4;
else return $j*2+1;
}
// echo "NOK $note < ".$tabMinMax[0]." ou $note > ". $tabMinMax[1].'<br/>';
}
return 3; // On retourne la plus basse note par défaut
}
function getNoteBorne($note, $borne, $secteur, $numerateur, $denominateur) {
$noteBorneBrute=$this->getBorne($note, $borne, $secteur);
switch($borne)
{
case 1:
if ($numerateur<0) return 3;
else return $noteBorneBrute;
break;
case 2:
if ($numerateur==0) return 19;
else return $noteBorneBrute;
break;
case 3:
if ($numerateur==0 && $denominateur>0) return 19;
elseif ($denominateur<0) return 3;
else return $noteBorneBrute;
break;
case 4:
if ($note<0) return 19;
else return $noteBorneBrute;
break;
default:
return $noteBorneBrute;
break;
}
}
function getNotationFin ($coteMoy) {
if( $coteMoy > 18.5 )
return 'A';
elseif( $coteMoy > 16 )
return 'B+';
elseif( $coteMoy > 14 )
return 'B';
elseif( $coteMoy > 12.5 )
return 'C+';
elseif( $coteMoy > 11 )
return 'C';
elseif( $coteMoy > 10 )
return 'C-';
elseif( $coteMoy > 9 )
return 'D+';
elseif( $coteMoy > 8 )
return 'D';
elseif( $coteMoy > 7 )
return 'D-';
elseif( $coteMoy > 6 )
return 'E+';
elseif( $coteMoy > 4.5 )
return 'E';
elseif( $coteMoy > 3 )
return 'E-';
else
return 'E--';
}
function getInfosNotation ($notation, $csv=false) {
if ($csv) {
$str =$this->tabNotation[$notation][1].';'.
$this->tabNotation[$notation][2].';'.
$this->tabNotation[$notation][3].';'.
$this->tabNotation[$notation][4].';';
return $str;
} else {
$str ='Notation : '. $this->tabNotation[$notation][0]."\r\n";
$str.='Equivalence BDF : '. $this->tabNotation[$notation][1]."\r\n";
$str.='Grades Moody\'s : '. $this->tabNotation[$notation][2]."\r\n";
$str.='Grades S&P : '. $this->tabNotation[$notation][3]."\r\n";
$str.='Probabilité de défaillance : '. $this->tabNotation[$notation][4]." %\r\n";
return $str;
}
}
}

View File

@ -1,47 +0,0 @@
<?
function isinPoidsLettre($lettre) {
$ascii=ord($lettre);
if ($ascii>64 && $ascii<91 )
/* En ASCII : A=65 et Z=90
En ISIN... A=10 et Z=35 */
return ($ascii-55);
return false;
}
/** Test si un code ISIN donné est valable à partir de son algo de contrôle.
** @param string $isin Code ISIN à vérifier
** @return bool
**/
function isValidIsin($isin) {
$pays=substr($isin, 0,2);
$nsin=''.substr($isin, 2,9);
$clef=substr($isin,11,1)*1;
$calcul=''.isinPoidsLettre($pays[0]).isinPoidsLettre($pays[1]).$nsin;
//echo "Etape 1 = $calcul".EOL;
$sommeImpair=$sommePair=0;
for ($impair=0; $impair<12; $impair=$impair+2) {
$strImpair=''.$calcul[$impair]*2;
if (isset($strImpair[1])) $reste=$strImpair[1]*1;
else $reste=0;
$sommeImpair+=$strImpair[0]*1+$reste;
}
for ($pair=1; $pair<12; $pair=$pair+2)
$sommePair+=$calcul[$pair]*1;
$totalcalcul=$sommeImpair+$sommePair;
//echo "Etape 3 = $sommeImpair + $sommePair = $totalcalcul".EOL;
$dizSuperieur=ceil($totalcalcul/10)*10;
$delta=$dizSuperieur-$totalcalcul;
//echo "Etape 4 = $dizSuperieur - $totalcalcul = $delta".EOL;
if ($delta==$clef) return true;
return false;
}
?>

View File

@ -1,339 +0,0 @@
<?
/** Parse une page Html et retourne son contenu dans un tableau :
** "code" => Code réponse Serveur
** "header" => Headers du serveur
** "body" => Page HTML
**/
function parse_response($this_response) {
// Split response into header and body sections
list($response_headers, $response_body) = explode("\r\n\r\n", $this_response, 2);
$response_header_lines = explode("\r\n", $response_headers);
// First line of headers is the HTTP response code
$http_response_line = array_shift($response_header_lines);
if(preg_match('@^HTTP/[0-9]\.[0-9] ([0-9]{3})@',$http_response_line, $matches)) { $response_code = $matches[1]; }
// put the rest of the headers in an array
$response_header_array = array();
$nbRMID=0;
foreach($response_header_lines as $header_line)
{
list($header,$value) = explode(': ', $header_line, 2);
if ($header=='Set-cookie' && substr($value,0,5)=='RMID=' && $nbRMID<5)//{
$nbRMID++;
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
else
$response_header_array[$header] .= $value."\n";
}
return array('code' => $response_code, 'header' => $response_header_array, 'body' => $response_body);
}
/** Récupère une page HTML en fonction des paramètres :
** $url Url distante de la page à récupérer
** $strCookies Chaine de caractère contenant les cookies
** $postData Tableau des données à passer en POST uniquement
** $referer Referer à indiquer lors de l'appel de la page
** $debug Activer le débogage (True/False)
**
** ... et retourne son contenu dans un tableau :
** "code" => Code réponse Serveur
** "header" => Headers du serveur
** "body" => Page HTML
**/
function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $host='') {
$ch = curl_init();
if ($host=='')
$this_header = array('Host: '. HOST_INSEE);
else
$this_header = array('Host: '. $host);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
//curl_setopt($ch, CURLOPT_PROXY, '10.142.10.254:80');
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
$user_agent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_REFERER, $referer);
// Add each cookie that has been returned in the response
// If cookies need to be added/deleted or value changed, then add code here
if ($strCookies!='') {
//die('"'.$strCookies.'"');
//echo $strCookies."\r\n";
$cookies = explode("\n", $strCookies);
// Create the basic header
foreach($cookies as $this_cookie) {
if (trim($this_cookie)<>'')
array_push($this_header, 'Cookie: '.$this_cookie);
}
}
if ($postData!='') {
if (is_array($postData))
$post_data=$postData;
$o="";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".utf8_encode($v)."&";
}
$post_data=substr($o,0,-1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//if in_array('',$this_header
/*array_push($this_header, "Content-type: application/x-www-form-urlencoded");
array_push($this_header, "Content-Length: 44");*/
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $this_header);
//print_r($this_header);
$page=curl_exec($ch);
$response = parse_response($page);
if ($debug){
$url2=str_replace('http://', '', $url);
$url2=str_replace('/', '_', $url2);
$url2=str_replace('?', '(param)', $url2);
$url2=str_replace('&', '(et)', $url2);
$fp=fopen('/var/www/_includes/partenaires/insee/'. date('Ymd-His') .'-'. microtime_float(true) .'-'. $url2 . '.html', 'a');
fwrite($fp, $url."\r\n");
fwrite($fp, $page);
fclose($fp);
//echo strip_tags(html_entity_decode($response['body']), '<td>');
}
//print_r(curl_getinfo($ch));
curl_close($ch);
return $response;
}
function rechercheTelephone($raisonSociale='', $adresse='', $localite='', $departement='', $activite='') {
$response1=getUrl(SITE_PJ.'pj.cgi?', '', '', '', true, HOST_PJ);
//print_r($response1['header']['Set-cookie']);
$pageHtml=$response1['body'];
$SESSION_ID=getTextInHtml($pageHtml, '<input type="hidden" name="SESSION_ID" value="', ' value="', '">');
$VID=getTextInHtml($pageHtml, '<input type="hidden" name="VID" value="', ' value="', '">');
$e_cookie=getTextInHtml($pageHtml, '<noscript><img ALT="" src="http://e.pagesjaunes.fr/m/web/', 'src="', '" BORDER=0 width=1 height=1></noscript>');
$response=getUrl(SITE_PJ.'files/look2002/FR/commun/pji.css', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl(SITE_PJ.'files/look2002/FR/commun/pji_PJ.css', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl(SITE_PJ.'files/look2002/FR/commun/script_open.js', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl(SITE_PJ.'files/look2002/FR/commun/alerte.js', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl(SITE_PJ.'files/look2002/FR/commun/script_VED.js', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl(SITE_PJ.'sitecrm/popup.js', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://sbx.pagesjaunes.fr/RealMedia/ads/Creatives/OasDefault/AUTOPROMO_PJ_banniere_activite/hotel_pj.swf?clickTAG=http://sbx.pagesjaunes.fr/RealMedia/ads/click_lx.ads/www.pagesjaunes.fr/GENERAL/GENERAL/PJ/1238513556/Top/OasDefault/AUTOPROMO_PJ_banniere_activite/hotel_pj.html/61633130323433353434346339306330?', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl(SITE_PJ.'files/look2002/FR/commun/script_VED.js', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://sbx.pagesjaunes.fr/RealMedia/ads/Creatives/OasDefault/EDITO_HOME_RIGHT/anim_HP_v2-04-2006.swf', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://sbx.pagesjaunes.fr/RealMedia/ads/Creatives/OasDefault/EDITO_HOME_RIGHT/visuels_webcam.swf', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://sbx.pagesjaunes.fr/RealMedia/ads/Creatives/OasDefault/EDITO_HOME_RIGHT/visuels_photo.swf', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://sbx.pagesjaunes.fr/RealMedia/ads/Creatives/OasDefault/EDITO_HOME_RIGHT/visuels_trafic.swf', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://sbx.pagesjaunes.fr/RealMedia/ads/Creatives/OasDefault/Edito_webcams/new_04-2006.jpg', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response=getUrl('http://e.pagesjaunes.fr/js/m.js', '', '', SITE_PJ.'pj.cgi?', false, HOST_PJ);
$response2=getUrl($e_cookie, $response1['header']['Set-cookie'], '', SITE_PJ, true, HOST_PJ);
$cookies=$response1['header']['Set-cookie'] . $response2['header']['Set-Cookie'];
$input_image=$VALID_ARR=$NUM_RUE=$NEW_DEPARTEMENT=$OBJ_GEO='';
// Requête d'interrogation
$postData=array(
'ACTIVITE_VALIDATED_ASCII'=>'',
'ID_THEME_SDE'=>'',
'LISTE_RUB_AVEC_THEME'=>'',
'input_image'=>$input_image,
'FRM_ACTIVITE'=>$activite,
'FRM_NOM'=>$raisonSociale,
'FRM_ADRESSE'=>$adresse,
'FRM_LOCALITE'=>$localite,
'FRM_DEPARTEMENT'=>$departement,
'JF_INSCRIPTIONS_REQ.x'=>'25',
'JF_INSCRIPTIONS_REQ.y'=>'4',
'faire'=>'decode_input_image',
'DEFAULT_ACTION'=>'jf_inscriptions_req',
'SESSION_ID'=>$SESSION_ID,
'VID'=>$VID,
'INFO_VILLE'=>'non',
'CODE_LOC_INFO_VILLE'=>'00000000',
'IV_ACTIVATION'=>'oui',
'lang'=>'FR',
'pays'=>'FR',
'srv'=>'PJ',
'TYPE_RECHERCHE'=>'ZZZ');
//print_r($postData);//die();
sleep(1);
$response=getUrl(SITE_PJ, $cookies, $postData, SITE_PJ, true, HOST_PJ);
$pageHtml=$response['body'];
if (count($tabNT=getTabListeNonTrouve($pageHtml))>0)
{
// Pas de réponses pour ces critères
// Il faut élargir la recherche !
$tabNTk=array_keys($tabNT);
$input_image=$tabNT[0];
$DEFAULT_ACTION='inscriptions_req';
$NEW_DEPARTEMENT=getTextInHtml($pageHtml, '<input type="hidden" name="NEW_DEPARTEMENT" value="', 'value="', '">');
$OBJ_GEO=getTextInHtml($pageHtml, '<input type=hidden name=OBJ_GEO value="', 'value="', '">');
}
elseif (count($tabGU=getTabListeGU($pageHtml))>0)
{
// Plusieurs Adresses possibles pour l'adresse donnée
// print_r($tabGU);
$input_image=getBonneAdresse($adresse, $tabGU);
$DEFAULT_ACTION='jf_inscriptions_req';
$VALID_ARR=getTextInHtml($pageHtml, '<input type=hidden name=VALID_ARR value="', 'value="', '">');
$NUM_RUE=getTextInHtml($pageHtml, '<input type=hidden name=NUM_RUE value="', 'value="', '">');
}
if ($input_image<>'') {
$CODE_LOC_INFO_VILLE=getTextInHtml($pageHtml, '<input type="hidden" name="CODE_LOC_INFO_VILLE" value="', 'value="', '">');
$postData=array(
'GEO_DEP'=>'', // New
'faire'=>'decode_input_image',
'DEFAULT_ACTION'=>$DEFAULT_ACTION,
'input_image'=>$input_image,// diff
'SESSION_ID'=>$SESSION_ID,
'VID'=>$VID,
'INFO_VILLE'=>'oui', // non dans la recherche préc.
'CODE_LOC_INFO_VILLE'=>$CODE_LOC_INFO_VILLE, // diff
'IV_ACTIVATION'=>'oui',
'lang'=>'FR',
'pays'=>'FR',
'srv'=>'PJ',
'TYPE_RECHERCHE'=>'CLOC', // ZZZ
'SAV_ADRESSE'=>$adresse, //
'SAV_LOCALITE'=>$localite, // New
'SAV_DEPARTEMENT'=>$departement, //
'FRM_NOM'=>$raisonSociale,
'FRM_ADRESSE'=>$adresse,
'FRM_LOCALITE'=>$localite,
'FRM_DEPARTEMENT'=>$departement,
'FRM_TYPE_PUB'=>'TOUS',
'RP_FORM'=>'',
'VALID_LOC'=>$CODE_LOC_INFO_VILLE,
'VALID_ARR'=>$VALID_ARR,
'NUM_RUE'=>$NUM_RUE,
'test_flash'=>'',
'ESPLUS'=>'',
'NEW_DEPARTEMENT'=>$NEW_DEPARTEMENT,
'OBJ_GEO'=>$OBJ_GEO,
);
print_r($postData);
sleep(1);
$response=getUrl(SITE_PJ, $cookies, $postData, SITE_PJ, true, HOST_PJ);
$pageHtml=$response['body'];
}
$nbReponses=trim(getTextInHtml($pageHtml, '<tr><td align="left" class=txtrequetetotal valign=middle nowrap><b>', '<b>', 'r&eacute;ponse(s)</b></td>'));
$tabRep=getTabResponses($pageHtml);
if (count($tabRep)==$nbReponses)
return $tabRep;
else
return false;
}
function getTabResponses($pageHtml) {
$tabRepTmp=explode ('class=fdinscr', $pageHtml);
$tabRep=array();
foreach($tabRepTmp as $key => $value)
{
if ($key>0) {
$raisonSociale=getTextInHtml($value, 'class=fdrsinscr', '<b>', '</b>');
$ligneAdresse=html_entity_decode(getTextInHtml($value, '<td align="left" class=txtinscr ><b>', '<b>', '|'));
$tabligneAdresse=explode('<br>', $ligneAdresse);
$ligneAdresse1=strip_tags($tabligneAdresse[0]);
$ligneAdresse2=strip_tags($tabligneAdresse[1]);
$dispoPlan =(bool)(strpos($value, '<b>Plan</b>'));
$dispoIti =(bool)(strpos($value, '<b>Itin&eacute;raire</b>'));
$dispoPhoto =(bool)(strpos($value, '<b>Photo</b>'));
$dispoWeb =(bool)(strpos($value, '<b>Site</b></a>&nbsp;&nbsp;&nbsp;'));
$lienWeb=getTextInHtml($value, '<a target="_blank" href="http://www.pagesjaunes.fr/CGI/MOD?', 'href="', '" ');
$page=getUrl($lienWeb, '', '', '', true);
$lienWeb=$page['header']['Location'];
/*echo "Enreg n°$key : RS='$raisonSociale'\r\n";
echo "Enreg n°$key : Adresse1='$ligneAdresse1'\r\n";
echo "Enreg n°$key : Adresse2='$ligneAdresse2'\r\n";
echo "Enreg n°$key : Plan ?='$dispoPlan'\r\n";
echo "Enreg n°$key : Itineraire ?='$dispoIti'\r\n";
echo "Enreg n°$key : Photo ?='$dispoPhoto'\r\n";
echo "Enreg n°$key : Web ?='$dispoWeb'\r\n";
echo "Enreg n°$key : Site WEB='$lienWeb'\r\n\r\n";*/
array_push($tabRep, array( 'raisonSociale' =>$raisonSociale,
'AdresseLigne1' =>$ligneAdresse1,
'AdresseLigne2' =>$ligneAdresse2,
'Dispo_Plan' =>$dispoPlan,
'Dispo_Iti' =>$dispoIti,
'Dispo_Photo' =>$dispoPhoto,
'Dispo_Web' =>$dispoWeb,
'LienWeb' =>$lienWeb));
}
}
return $tabRep;
}
function getBonneAdresse($adresse, $tabGU) {
// tableau de mots à vérifier
$words = array_keys($tabGU);
// aucune distance de trouvée pour le moment
$shortest = -1;
// boucle sur les des mots pour trouver le plus près
foreach ($words as $word) {
// calcule la distance avec le mot mis en entrée,
// et le mot courant
$lev = levenshtein($adresse, $word);
// cherche une correspondance exacte
if ($lev == 0) {
// le mot le plus près est celui-ci (correspondance exacte)
$closest = $word;
$shortest = 0;
// on sort de la boucle ; nous avons trouvé une correspondance exacte
break;
}
// Si la distance est plus petite que la prochaine distance trouvée
// OU, si le prochain mot le plus près n'a pas encore été trouvé
if ($lev <= $shortest || $shortest < 0) {
// définission du mot le plus près ainsi que la distance
$closest = $word;
$shortest = $lev;
}
}
/*
echo "Mot entré : $adresse\n";
if ($shortest == 0) {
echo "Correspondance exacte trouvée : $closest\n";
} else {
echo "Vous voulez dire : $closest ?\n";
}*/
return $tabGU[$closest];
}
?>

View File

@ -1,548 +0,0 @@
<?
class Insee {
}
function getDataEtablissement($pageHtml)
{
global $libelleErreur;
$responseSiege=$pageHtml;
$tabRet=array();
// On recherche si on est sur un établissement siège ou secondaire
$pos=strpos($pageHtml, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche Etablissement</B>');
if ($pos>0)
$tabRet['typeEtablissement']='secondaire';
$pos=strpos($pageHtml, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche siège</B>');
if ($pos>0)
$tabRet['typeEtablissement']='siège';
// Recherche Dernière MAJ / Activité
$pos=strpos($responseSiege, '<font face="Arial" size="2">(dernière mise à jour :');
if ($pos>0) {
$tabRet['dateMAJ']=substr($responseSiege, $pos+51, 10);
$tabRet['dateAbsActivite']='';
$tabRet['active']='O';
} else {
$tabRet['active']='N';
$tabRet['dateMAJ']='';
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité notée&nbsp;le&nbsp;:&nbsp;');
if ($pos>0) $tabRet['dateAbsActivite']=substr($responseSiege, $pos+78, 10);
else {
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité');
if ($pos>0) $tabRet['dateAbsActivite']='';
}
}
$pos=strpos($responseSiege, ' size="-1"> <B>n°&nbsp;SIRET&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
$tabRet['siret']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+97, 32)));
$pos=strpos($responseSiege, 'size="-1"> <B>Date&nbsp;de&nbsp;création&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
if ($pos>0) {
$posFin=strpos($responseSiege, '</font>', $pos+109);
$tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109))));
}
else $tabRet['dateCreation']='';
$pos=strpos($responseSiege, ' size="-1"> <B>Raison sociale et Enseigne&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$len=127;
if ($pos==0){
$pos=strpos($responseSiege, ' size="-1"> <B>Raison sociale et Enseigne&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$len=122;
if ($pos==0){
$pos=strpos($responseSiege, ' size="-1"> <B>Raison sociale et Enseigne&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$len=126;
$libelleErreur='Informations INSEE non diffusables';
}
}
if ($libelleErreur=='') {
//LARGE*DOMINIQUE MICHEL/ <BR>GERANT SARL BIMAGIQUE &nbsp;</font>
$posFin=strpos($responseSiege, '</font>', $pos+$len);
$raisonSocialeStr=trim(substr($responseSiege, $pos+$len, $posFin-($pos+$len)));
$raisonSocialeTabLigne=explode('<BR>', $raisonSocialeStr);
$tabRet['raisonSociale']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0])));
$tabRet['Enseigne']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1])));
$pos=strpos($responseSiege, ' size="-1"> <B>Activité&nbsp;principale&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$tabRet['NafCode']=substr($responseSiege, $pos+120, 4);
$tabRet['NafLib']=trim(substr($responseSiege, $pos+137, 70));
$pos=strpos($responseSiege, ' size="-1"> <B>Adresse&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$posFin=strpos($responseSiege, '</font>', $pos+103);
$AdresseStr=substr($responseSiege, $pos+103, $posFin-($pos+103));
$AdresseTabLigne=explode('<BR>', $AdresseStr);//'
$tabRet['AdresseLigne1']=str_replace('&nbsp;', '/', $AdresseTabLigne[0]);
$tabRet['AdresseLigne2']=str_replace('&nbsp;', '/', $AdresseTabLigne[1]);
$tabRet['AdresseLigne3']=str_replace('&nbsp;', '/', $AdresseTabLigne[2]);
/*
$AdresseNum=$AdresseTabLigne1[0];
$AdresseVoi=$AdresseTabLigne1[1];
$AdresseRue=$AdresseTabLigne1[2];
$AdresseCP=$AdresseTabLigne2[0];
$AdresseVille=$AdresseTabLigne2[1];
*/
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise&nbsp;est&nbsp;connue&nbsp;au&nbsp;répertoire&nbsp;comme&nbsp;');
if ($pos>0) {
$posFin=strpos($responseSiege, '</b>', $pos+106);
$tabRet['etatJuridique']=html_entity_decode(substr($responseSiege, $pos+106, $posFin-($pos+106)));
$tabRet['dateEtatJuridique']='';
} else {
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise&nbsp;est&nbsp;cessée&nbsp;le&nbsp;:&nbsp;');
$tabRet['dateEtatJuridique']=substr($responseSiege, $pos+86, 10);
$tabRet['etatJuridique']='cessée';
}
//echo 'GetDataEtab="'.$libelleErreur."\"\r\n";
return $tabRet;
}
}
function getDataEntreprise($pageHtml)
{
global $libelleErreur;
$responseEntreprise=$pageHtml;
$tabRet=array();
if ($libelleErreur=='') {
$pos=strpos($responseEntreprise, 'size="-1"> <B>Date&nbsp;de&nbsp;création&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
if ($pos>0)
$tabRet['dateCreationEntrep']=substr($responseEntreprise, $pos+109, 10);
else
$tabRet['dateCreationEntrep']='';
// Raison sociale et Sigle
$pos=strpos($responseEntreprise, ' size="-1"> <B>Raison sociale et Sigle&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$posFin=strpos($responseEntreprise, '</font>', $pos+123);
$raisonSocialeStr=trim(substr($responseEntreprise, $pos+123, $posFin-($pos+123)));
$raisonSocialeTabLigne=explode('<BR>', $raisonSocialeStr);
$tabRet['raisonSocialeEntrep']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0])));
$tabRet['sigle']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1])));
// Activité prinicpale Entrep
$pos=strpos($responseEntreprise, ' size="-1"> <B>Activité&nbsp;principale&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$tabRet['NafCodeEntrep']=substr($responseEntreprise, $pos+120, 4);
$tabRet['NafLibEntrep']=trim(substr($responseEntreprise, $pos+137, 70));
// Forme Juridique
$pos=strpos($responseEntreprise, ' size="-1"> <B>Forme&nbsp;juridique&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$tabRet['FJCodeEntrep']=substr($responseEntreprise, $pos+116, 4);
$tabRet['FJLibEntrep']=trim(substr($responseEntreprise, $pos+133, 70));
// Nb Etab Actifs
$pos=strpos($responseEntreprise, ' size="-1"> <B>Nb&nbsp;établissements&nbsp;actifs&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
$posFin=strpos($responseEntreprise, '</font>', $pos+118);
$tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(substr($responseEntreprise, $pos+118, $posFin-($pos+118)))));
}
return $tabRet;
}
/*
* parseHtml.php
* Author: Carlos Costa Jordao
* Email: carlosjordao@yahoo.com
*
* My notation of variables:
* i_ = integer, ex: i_count
* a_ = array, a_html
* b_ = boolean,
* s_ = string
*
* What it does:
* - parses a html string and get the tags
* - exceptions: html tags like <br> <hr> </a>, etc
* - At the end, the array will look like this:
* ["IMG"][0]["SRC"] = "xxx"
* ["IMG"][1]["SRC"] = "xxx"
* ["IMG"][1]["ALT"] = "xxx"
* ["A"][0]["HREF"] = "xxx"
*
*/
function parseHtml( $s_str )
{
$i_indicatorL = 0;
$i_indicatorR = 0;
$s_tagOption = '';
$i_arrayCounter = 0;
$a_html = array();
// Search for a tag in string
while( is_int(($i_indicatorL=strpos($s_str,'<',$i_indicatorR))) ) {
// Get everything into tag...
$i_indicatorL++;
$i_indicatorR = strpos($s_str,'>', $i_indicatorL);
$s_temp = substr($s_str, $i_indicatorL, ($i_indicatorR-$i_indicatorL) );
$a_tag = explode( ' ', $s_temp );
// Here we get the tag's name
list( ,$s_tagName,, ) = each($a_tag);
$s_tagName = strtoupper($s_tagName);
// Well, I am not interesting in <br>, </font> or anything else like that...
// So, this is false for tags without options.
$b_boolOptions = is_array(($s_tagOption=each($a_tag))) && $s_tagOption[1];
if( $b_boolOptions ) {
// Without this, we will mess up the array
$i_arrayCounter = (int)count($a_html[$s_tagName]);
// get the tag options, like src="htt://". Here, s_tagTokOption is 'src' and s_tagTokValue is '"http://"'
do {
$s_tagTokOption = strtoupper(strtok($s_tagOption[1], "="));
$s_tagTokValue = trim(strtok("="));
$a_html[$s_tagName][$i_arrayCounter][$s_tagTokOption] =
$s_tagTokValue;
$b_boolOptions = is_array(($s_tagOption=each($a_tag))) &&
$s_tagOption[1];
} while( $b_boolOptions );
}
}
return $a_html;
}
function getDataEntrepriseRNCS($pageHtml) {
global $libelleErreur;
$tabRet=array();
// Liste et liens vers les Bilans
$tabRet['tabListeBilans']=getTabListeBilans($pageHtml);
$tabRet['raisonSociale']=getTextInHtml($pageHtml, '<td align="left" valign="top"><span class="boldred"><br>', '<br>', '</span>');
$tabRet['RCS']=getTextInHtml($pageHtml, '<span class="textarial">RCS ', 'RCS ', '</span>', true);
$tabRet['activite']=getTextInHtml($pageHtml, '<td width="185" align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Activit&eacute;</td>', 'class="basictext">', '</td>');
$tabRet['adresseSiege']=getTextInHtml($pageHtml, '<td align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Si&egrave;ge
social</td>', 'class="basictext">', '</td>');
print_r($tabRet);
die();
// Capital social
// Chiffre d'affaires
// Date CA
// Effectif
// Forme Juridique
// Nationalité
// Activité
// Siège social
/*
<tr>
<td bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Si&egrave;ge
social</td>
<td bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td align="left" valign="top" bgcolor="#EBF0F5" class="basictext">75 Avenue la Grande Armee<br>
75116 PARIS 16 </td>
</tr>
</table>
<div align="center"><img src="../images/degrade580grey.jpg" width="580" height="12"><br>
<br>
</div>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top"><img src="../images/arrowsmallblue.gif" width="9" height="10"><span class="boldtextarialblue15">Renseignements
juridiques</span></td>
<td>&nbsp;</td>
</tr>
</table>
<table width="580" border="0" align="center" cellpadding="1" cellspacing="2">
<tr align="left" valign="top">
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="185" bgcolor="#FFFFFF" class="boldtextarial">Forme
juridique</td>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="385" bgcolor="#EBF0F5" class="basictext">SA à conseil d'administration</td>
</tr>
<tr align="left" valign="top">
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="185" bgcolor="#FFFFFF" class="boldtextarial">Capital social</td>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="385" bgcolor="#EBF0F5" class="basictext">171.285.000,00
EURO</td>
</tr>
<tr align="left" valign="top">
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="185" bgcolor="#FFFFFF" class="boldtextarial">Nationalit&eacute;</td>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td bgcolor="#EBF0F5" class="basictext">France</td>
</tr>
</table>
<div align="center"><img src="../images/degrade580grey.jpg" width="580" height="12"><br>
<br>
</div>
<div align="center">
<table width="588" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="210" align="left" valign="top"><img src="../images/arrowsmallblue.gif" width="9" height="10"><span class="boldtextarialblue15">Chiffres
cl&eacute;s</span></td>
<td width="378" align="left" valign="top" class="smalltext">au 31-12-2004</td>
</tr>
</table>
<table width="580" border="0" align="center" cellpadding="1" cellspacing="2">
<tr>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="185" align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Chiffre
d'affaires</td>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="385" align="left" valign="top" bgcolor="#EBF0F5" class="basictext">18.049.000.000
EU</td>
</tr>
<tr>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="185" align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Effectif</td>
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
<td width="385" align="left" valign="top" bgcolor="#EBF0F5" class="basictext">De 5150 à 5720</td>
</tr>
</table>
<div align="center"><img src="../images/degrade580grey.jpg" width="580" height="12"><br>
<br>
<br>
</div>
</div>
<table width="600" border="0" cellspacing="2" cellpadding="0">*/
return $tabRet;
}
function getDataEcoCoface($pageHtml) {
global $libelleErreur;
$tabRet=array();
// SIREN
$pos=strpos($pageHtml, '<b><font class="nota">La forme juridique ou la date de création trop récente de l\'entreprise ne nous permettant pas d\'obtenir suffisamment d\'informations, nous vous offrons ce produit.</font></b>');
if ($pos>0) {
$tabRet['infoEco']='OUI';
$tabRet['societeInactive']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Société inactive</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$strCapital=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Capital &nbsp (', '(', '</tr><tr>');
$tabTmp=explode('</td>', $strCapital);
$tabRet['capital_source']=str_replace(')', '', $tabTmp[0]);
$tabTmp=explode('&nbsp', $tabTmp[1]);
$tabRet['capital_montant']=str_replace(chr(160), '', trim(strip_tags($tabTmp[0])));
$tabRet['capital_devise']=trim(strip_tags($tabTmp[1]));
$tabRet['dateCreation']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Date de création</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$tabRet['formeJuridique']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Forme juridique</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$tabRet['cotationBourse']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Cotation en bourse</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$tabRet['effectifSociete']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Effectif société</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$tabRet['activite']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Activité</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$tabRet['sigle']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Sigle</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
$tabRet['enseigne']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Enseigne</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
// Dirigeants
$strDir=@getTextInHtml($pageHtml, '<td class="tabtot">IDENTITE</td>', '<td>&nbsp;</td>', '</table>');
$tabDir=explode('</tr>', $strDir);
$nbDir=1;
foreach ($tabDir as $key => $dir)
{
$tabTmp=explode('<td bgcolor="#FFF3DE" class="tabval" > ', $dir);
$typeDir=trim(strip_tags($tabTmp[0]));
$nomDir=trim(strip_tags($tabTmp[1]));
if ($typeDir<>'' && $typeDir<>'Date de création' && $typeDir<>'Forme juridique' && $typeDir<>'Cotation en bourse'
&& $typeDir<>'Effectif société' && $typeDir<>'Société inactive' && $typeDir<>'Activité'
&& $typeDir<>'Sigle' && $typeDir<>'Enseigne'
&& substr($typeDir, 0, 8) <>'Capital ' )
{
//$tabDir['Produits'].=$produit.'/';
//$produit=str_replace(' ','_',$produit);
$tabRet['Dirigeant'.$nbDir.'Type']=trim($typeDir);
$tabTmp=explode('&nbsp', $nomDir);
$tabRet['Dirigeant'.$nbDir.'Genre']=trim($tabTmp[0]);
$tabRet['Dirigeant'.$nbDir.'Prenom']=trim($tabTmp[1]);
$tabRet['Dirigeant'.$nbDir.'Nom']=trim($tabTmp[2]);
$nbDir++;
}
}
$tabRet['NbDirigeants']=$nbDir-1;
// Liens Financiers
$strTmp=@getTextInHtml($pageHtml, '<td class="tabtot">LIENS FINANCIERS</td>', '<td>&nbsp;</td>', '</table>');
if (strpos($strTmp, 'Néant')>0)
$tabRet['LiensFinanciers']='Néant';
else
$tabRet['LiensFinanciers']='Présence liens';
// ELEMENTS FINANCIERS
$strTmp=@getTextInHtml($pageHtml, '<td class="tabtot">ELEMENTS FINANCIERS</td>', '<td>&nbsp;</td>', '</table>');
if (strpos($strTmp, 'Néant')>0)
$tabRet['ElementsFinanciers']='Néant';
else
$tabRet['ElementsFinanciers']='Présence El.Fi.';
}
else
$tabRet['infoEco']='NON';
//echo $pageHtml;
//print_r($tabRet);
//die();
return $tabRet;
}
function getDataEntrepriseCoface($pageHtml) {
global $libelleErreur;
$tabRet=array();
// SIREN
$tabRet['siren']=@getTextInHtml($pageHtml, 'portail/entreprise_identite/identite.asp?nsiren=', '?nsiren=', '&IMPRESSION=OUI');
//$tabRet['siren']=@getTextInHtml($pageHtml, '<a href="http://www.coface.fr" target="_blank">&nbsp;Qui sommes nous&nbsp;</a>-<a href="javascript:;" onClick="MM_openBrWindow(\'../mod_cofacescrl/part_recherche.asp?nscrl=18452&metier=ALL&geo=ALL&idnav=168d25840396c5f38f4
$tabRet['nscrl']=@getTextInHtml($pageHtml, 'Plan du site&nbsp;</a>-<a href="http://www.coface.fr" target="_blank">&nbsp;Qui sommes nous&nbsp;</a>-<a href="javascript:;" onClick="MM_openBrWindow(\'../mod_cofacescrl/part_recherche.asp?nscrl=', '?nscrl=', '&metier=ALL&geo=ALL&idnav=');
// Raison Sociale, Adresse et lien vers Géoloc
$strRS_Adr=@getTextInHtml($pageHtml, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne"> <b> Raison sociale<br>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval"><b>', '</b></td>');
$tabRS_Adr=explode('<br>', $strRS_Adr);
$tabRet['raisonSociale']=trim($tabRS_Adr[0]);
$tabRS_Adr1=explode('&nbsp;', $tabRS_Adr[1]);
$tabRet['AdresseLigne1']=trim($tabRS_Adr1[0]);
$tabRet['AdresseLigne2']=trim($tabRS_Adr1[1]);
$tabRS_Adr1=explode('&nbsp;', $tabRS_Adr[2]);
$tabRet['codePostal']=trim($tabRS_Adr1[0]);
$tabRet['ville']=trim($tabRS_Adr1[1]);
$tabRet['UrlGeoLoc']=@getTextInHtml($pageHtml, '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval"><a href="javascript:;" onClick="MM_openBrWindow(\'', 'onClick="MM_openBrWindow(\'', '\',\'Planfax');
// Téléphone / Fax
$strTelFax=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '</td>');
$tabTelFax=explode('<br>', $strTelFax);
$tabRet['tel']=trim($tabTelFax[0]);
$tabRet['fax']=trim($tabTelFax[1]);
// Adresse Internet / Email
$strInet=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne"><b>Adresse internet <br>', '<td bgcolor="#FFF3DE" class="tabval"><a class="tabval" HREF="', '</a></td>');
$tabInet=explode('<br>', $strInet);
$tabRet['web']=trim( @getTextInHtml($tabInet[0], ' target="_new">', '>', '</a>') );
$tabRet['mail']=trim( @getTextInHtml($tabInet[1], ' href="mailto:', ':', '">') );
// Bourse
$strBourse=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne"> <b>'."\r\n".' Code Sicovam<br>', '<td bgcolor="#FFF3DE" class="tabval">', '</td>');
$tabBourse=explode('<br>', $strBourse);
$tabRet['bourse_isin']=trim($tabBourse[0]);
$tabRet['bourse_marche']=trim($tabBourse[1]);
$tabRet['bourse_ville']=trim($tabBourse[2]);
// Activité
$tabRet['activite']=trim(str_replace('&nbsp;', ' ', @getTextInHtml($pageHtml, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')));
// Produits disponibles
$strDispos=@getTextInHtml($pageHtml, '<table border="0" cellpadding="0" cellspacing="0" width="98%"><tr><td class="normal"><b>Produits disponibles</b></td></tr><tr><td bgcolor="#E1D0B6"><img src="../images/vide.gif" border="0" height="1"><br></td></tr><tr><td><img src="../images/vide.gif" border="0" height="5"><br></td></tr></table>', '<table border="0" cellpadding="5" cellspacing="0" width="100%">', '</table>');
$tabDispos=explode('<td align="left" width="25%"', $strDispos);
$tabRet['Produits']='';
foreach ($tabDispos as $key => $produit)
{
$produit=trim(str_replace('>', '', str_replace('nowrap>', '', strip_tags($produit))));
if ($produit<>'' && $produit<>'&nbsp;') {
$tabRet['Produits'].=$produit.'/';
$produit=str_replace(' ','_',$produit);
$tabRet['Produit_'.$produit]='Oui';
}
}
// print_r($tabRet);
// die();
return $tabRet;
}
function getTabListeBilans($pageHtml) {
$tabUrl=array();
$deb=$fin=0;
while( is_int(($deb=strpos($pageHtml,'<a href="http://www.societe.com/cgi-bin/bilan?bil=',$fin))) ) {
$deb=$deb+9;
$fin = strpos($pageHtml,'</a>', $deb);
$s_temp = substr($pageHtml, $deb, ($fin-$deb));
//echo $s_temp."\r\n";
$a_temp = explode('" class="basic">', $s_temp);
$tabUrl[$a_temp[1]]=$a_temp[0];
}
return $tabUrl;
}
function getTabListeGU($pageHtml) {
$tabGU=array();
$deb=$fin=0;
/* <tr><td><img alt="" src="b.gi onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);"><a class=txt9px href="javascript:ChoixGeo('CP_PDR_SUP_LOC_REQ')">Lancer la recherche dans toute la localit&eacute;</td></tr>
<tr><td><img src="b.gif" alt="" border=0></td><td align="left" onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);"><a class=txt9px href="javascript:ChoixGeo('CP_INSCRIPTIONS_REQ')">Lancer la recherche sans l&#39;adresse</td></tr>
*/
while( is_int(($deb=strpos($pageHtml,'<td onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);"><a class="txt9px" href="javascript:ChoixGeo(\'',$fin))) ) {
$deb=$deb+122;
$fin = strpos($pageHtml,'</td></tr>', $deb);
$s_temp = substr($pageHtml, $deb, ($fin-$deb));
//echo $s_temp."\r\n";
$a_temp = explode('\')">', $s_temp);
$tabGU[$a_temp[1]]=$a_temp[0];
}
return $tabGU;
}
function getTabListeNonTrouve($pageHtml) {
$tabGU=array();
$deb=$fin=0;
/* onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);"><a class=txt9px href="javascript:ChoixGeo('CP_PDR_SUP_LOC_REQ')">Lancer la recherche dans toute la localit&eacute;</td></tr>
onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);"><a class=txt9px href="javascript:ChoixGeo('CP_INSCRIPTIONS_REQ')">Lancer la recherche sans l&#39;adresse</td></tr>
*/
while( is_int(($deb=strpos($pageHtml,'onMouseOver="javascript:mOvr(this);" onMouseOut="javascript:mOut(this);"><a class=txt9px href="javascript:ChoixGeo(\'',$fin))) ) {
$deb=$deb+116;
$fin = strpos($pageHtml,'</td></tr>', $deb);
$s_temp = substr($pageHtml, $deb, ($fin-$deb));
//echo $s_temp."\r\n";
$a_temp = explode('\')">', $s_temp);
$tabGU[$a_temp[1]]=$a_temp[0];
}
return $tabGU;
}
/** Recherche un texte dans une page HTML
**
**/
function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=false, $include_strEnd=false, $ltrim=true, $rtrim=true, &$fin, $nbOcc=1) {
$tabRet=array();
$deb=$nbOccTrouve=0;
while( is_int(($deb=strpos($pageHtml,$strToFind,$fin))) ) {
$deb++;
$deb2 = strpos($pageHtml,$strDeb, $deb);
$fin = strpos($pageHtml,$strEnd, $deb2);
if (!$include_strDeb)
$deb2+=strlen($strDeb);
$s_temp = substr($pageHtml, $deb2, ($fin-$deb2));
if ($ltrim) $s_temp=ltrim($s_temp);
if ($rtrim) $s_temp=rtrim($s_temp);
if ($nbOcc==1) return $s_temp;
//echo $s_temp."\r\n";
//$a_temp = explode('" class="basic">', $s_temp);
$tabUrl[$nbOccTrouve]=$s_temp;
$nbOccTrouve++;
if ($nbOcc==$nbOccTrouve) {
// echo "j'ai trouvé le nb demandé, je sort\r\n";
break;
};
}
return $tabUrl;
/*<span class="mongrasvert">
<li>Le type de voie a été modifié<br>
<li>L'orthographe du mot directeur a été modifiée<br>
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
*/
}
?>

View File

@ -1,89 +0,0 @@
<?
//include('fonctions.php');
//include('insee.class.php');
define('HOST_NORMAD', 'www.normad.fr');
define('SITE_NORMAD', 'http://'. HOST_NORMAD .'/');
//$normad2=new Normad('SCI BRYGE', 'Kervegant', '', '', '', '29', 'SCAER');
class Normad {
/** Normalise l'adresse postale donnée en paramètre. Seule la ligne 1 qui devrait comporter la Raison Sociale ou le nom de l'expéditeur reste inchangée !
** @param $adrL1 Obligatoirement le Nom ou la Raison Sociale du destinataire
** @param $adrL2 Normalisation = Appart.,Bâtiment...
** @param $adrL3 Normalisation = Résidence,Cité...
** @param $adrL4 Normalisation = Num./Bis/Type voie/Nom voie
** @param $adrL5 Normalisation = BP,TSA,Lieu-dit...
** @param $codPos Code Postal (ou département)
** @param $ville Ville (orthographe correcte si possible si pas de CP)
** @return array
**/
function Normad ($adrL1, $adrL2, $adrL3, $adrL4, $adrL5, $codPos, $ville) {
$adrL1 =substr(trim($adrL1) , 0, 40);
$adrL2 =substr(trim($adrL2) , 0, 40);
$adrL3 =substr(trim($adrL3) , 0, 40);
$adrL4 =substr(trim($adrL4) , 0, 40);
$adrL5 =substr(trim($adrL5) , 0, 40);
$codPos=substr(trim($codPos), 0, 5);
$ville =substr(trim($ville) , 0, 33);
$postData=array( 'ad1'=>$adrL2, //htmlentities($adrL2),
'ad2'=>$adrL3, //htmlentities($adrL3),
'ad3'=>$adrL4, //htmlentities($adrL4),
'ad4'=>$adrL5, //htmlentities($adrL5),
'cod'=>$codPos,
'loc'=>htmlentities($ville),
'hiddenField'=>'GEN',);
$tabHtml=getUrl(SITE_NORMAD.'traiter_adresse.php', '', $postData, SITE_NORMAD.'validez.php', true, HOST_NORMAD);
$page=$tabHtml['body'];
$posInHtml=0;
$tabRet=array();
$retour=trim(str_replace(chr(173), '', getTextInHtml($page, '<td colspan=2><font face="Arial" size="2" color="#3F5A80"><b>', '<b>', '</b></font>', false, true, true, true, $posInHtml)));
$retour=explode('[*', $retour);
$tabRet['retour_code']=str_replace(']','',$retour[1]);
$tabRet['retour_libelle']=trim($retour[0]);
$tabRet['retour_messages']=getTextInHtml($page, '<li>', 'i>', '<br>', false, false, true, true, $posInHtml, 0);
// Récupération des Lignes d'adresse
$tabRet['ligne1']=$adrL1;
$tabRet['ligne2']=getTextInHtml($page, '<td class="gris2"><span class=grasnoir>Adresse en sortie :</span>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
$tabRet['ligne3']=getTextInHtml($page, '<td class=pet align=right nowrap> Volet 2 : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
$tabRet['ligne4']=getTextInHtml($page, '<td class=pet align=right nowrap> Volet ', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
$tabRet['ligne5']=getTextInHtml($page, '<td class=pet align=right nowrap> Volet 4 : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
$tabRet['CP']=getTextInHtml($page, '<td class=pet align=right nowrap> CP : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
$tabRet['ville']=getTextInHtml($page, '<td class=pet align=right nowrap> Localité : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
$tabRet['ligne6']=$tabRet['CP'] .' '. $tabRet['ville'];
// Découpage de la rue
$tabRet['voie_num']=getTextInHtml($page, '<span class=pet>Numéro ', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
$tabRet['voie_btq']=getTextInHtml($page, '<span class=pet>Bis/Ter/Quater/...', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
$tabRet['voie_type']=getTextInHtml($page, '<span class=pet>Type', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
$tabRet['voie_denom']=getTextInHtml($page, '<span class=pet>Dénomination', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
$tabRet['voie_motDir']=getTextInHtml($page, 'directeur :</span> ', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
$tabRet['voie_matric']=getTextInHtml($page, '<span class=pet>Matricule voie :</span>', '</span>', '<br>', false, true, true, true, $posInHtml);
$tabRet['code_insee_commune']=getTextInHtml($page, '<span class=pet>Code INSEE commune :</span>', '</span>', '<br>', false, true, true, true, $posInHtml);
print_r($tabRet);
//echo "$voie_num\r\n$voie_btq\r\n$voie_type\r\n$voie_denom\r\n$voie_motDir\r\n$voie_matric\r\n$code_insee_commune\r\n";
}
/*
<td class="gris2" valign=top><span class=grasnoir>Détails :</span><br>
00441644 <br>
28074 <br>
<br>
<br>
</td>
</tr>
</table>
<hr size=1>
</td>
</tr>
<tr>
<td colspan=3><p class="gris2" align="justify">&nbsp; </p>
<p class="mongrasvert" align="right"> R&eacute;f&eacute;rentiels
d'avril 2006 </p>
*/
} ?>

View File

@ -1,170 +0,0 @@
<?PHP
$this->tabNotation['A+']=array('Exceptionnel', 'A3++', 'Aaa' ,'AAA' ,'0.001');
$this->tabNotation['A'] =array('Excellent', 'A3+', 'Aa1 Aa2 Aa3' ,'AA+ AA AA-' ,'0.01');
$this->tabNotation['B+']=array('Très bon', '3++', 'A1' ,'A+' ,'0.02');
$this->tabNotation['B'] =array('Bon', '3+', 'A2 A3' ,'A A-' ,'0.04');
$this->tabNotation['C+']=array('Assez bon', '3', 'Baa1' ,'BBB+' ,'0.15');
$this->tabNotation['C'] =array('Acceptable', '3', 'Baa2' ,'BBB' ,'0.30');
$this->tabNotation['C-']=array('Moyen', '3', 'Baa3' ,'BBB-' ,'0.60');
$this->tabNotation['D+']=array('Passable', '4+', 'Ba1' ,'BB+' ,'0.90');
$this->tabNotation['D'] =array('Médiocre', '4', 'Ba2' ,'BB' ,'1.25');
$this->tabNotation['D-']=array('Très médiocre', '4', 'Ba3' ,'BB-' ,'1.60');
$this->tabNotation['E+']=array('Mauvais (sous surveillance)', '5', 'B1 B2 B3', 'B+ B B-', '5.00');
$this->tabNotation['E'] =array('Très mauvais (sensible, sans incident)', '6', 'Caa', 'CCC', '14.00');
$this->tabNotation['E-']=array('Très mauvais (sensible avec incidents)', '8', 'Ca C', 'CC C', '17.00');
$this->tabNotation['F'] =array('En défaut, hors procédures judiciaires (douteux)', '8 9', 'D', 'D', 'Défaut');
$this->tabNotation['Z'] =array('En défaut, avec procédures judiciaires ou contentieuses (douteux)', 'P', '', '', 'Défaut');
$this->tabLibActivite[0]='';
$this->tabLibActivite[15]='Industries Alimentaires : Collecte Appro';
$this->tabLibActivite[3]='Industries Alimentaires : Collecte et 1ère transformation';
$this->tabLibActivite[5]='Industries Alimentaires : Eaux de vie et Champagne';
$this->tabLibActivite[2]='Industries Alimentaires : Autres activités';
$this->tabLibActivite[6]='Industries extractives / Production Distribution : Énergie Eau';
$this->tabLibActivite[7]='Construction - BTP';
$this->tabLibActivite[1]='Industries Manufacturières';
$this->tabLibActivite[8]='Négoce';
$this->tabLibActivite[4]='Commerce de Gros';
$this->tabLibActivite[9]='Commerce Distribution';
$this->tabLibActivite[10]='Grande Distribution';
$this->tabLibActivite[12]='Transports';
$this->tabLibActivite[13]='Media Technologie de l\'information';
$this->tabLibActivite[14]='Services';
$this->tabLibActivite[11]='Hôtellerie et Loisirs / Activités immobilières';
$this->tabLibActivite[16]='Banques. Assurances. Activités financières';
$this->tabLibActivite[17]='Agriculture. Sylviculture. Pêche. Aquaculture';
$this->tabActivite[15]=array('512A');
$this->tabActivite[3]=array('151A','151C','152','153E','155','157','159G','159J','159N','159Q');
$this->tabActivite[5]=array('159A','159F');
$this->tabActivite[2]=array('151E','151F','153A','153C','153F','154','156','158','159B','159D','159L','159S','159T');
$this->tabActivite[6]=array('11','10','12','13','14','401','402','403','410');
$this->tabActivite[7]=array('451','452','453','454','455');
$this->tabActivite[1]=array('251','252','241','242','243','245','246','247','261','262','263','264','265','266','267','268','244','297','300','311','312','313','314','315','316','321','322','323','17','18','19','20','21','271','272','273','274','275','281','282','283','284','285','286','287','291','292','293','294','295','296','341','342','343','353','351','352','354','355','223','331','332','333','334','335','361','362','363','364','365','366','231','232','233','222','371','372');
$this->tabActivite[8]=array();
$this->tabActivite[4]=array('511A','511N','511P','512C','512E','512G','512J','513','511C','515A','515C','511E','511G','511J','511L','511R','511T','511U','514','515E','515F','515H','515J','515L','515N','515Q','516','517');
$this->tabActivite[9]=array('501','502','503','504','505','521A','521B','521C','521J','522','523','524A','524C','524E','524F','524H','524J','524L','524N','524R','524T','524U','524V','524W','524X','524Y','524Z','525','526');
$this->tabActivite[10]=array('521D','521E','521F','521H','524P');
$this->tabActivite[12]=array('621','622','623','611','612','602','603','631','632','634','634B','634C','634A','641');
$this->tabActivite[13]=array('221','722','721','723','724','725','726','924','642','922','921');
$this->tabActivite[14]=array('703','712E','711','712A','713','714','712C','741A','741C','741E','741G','742','743','741J','744','745','746','747','748','900','633','801','802','803','804','851','852','853','930','911','912','913','527','950');
$this->tabActivite[11]=array('923','925','926','927','551','552','553','554','555','702');
$this->tabActivite[16]=array('651','660','672','652E','652A','652C','652F','671');
$this->tabActivite[17]=array('751','990','752','990','701');
$this->tabR[1][0]=array();
$this->tabR[1][1]=array('0:15.5','15.5:21.7','21.7:25','25:29.1','29.1:33.4','33.4:37','37:40','40:42.6','42.6:44.9','44.9:100');
$this->tabR[1][2]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
$this->tabR[1][3]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
$this->tabR[1][4]=array('0:8.7','8.7:12.8','12.8:15','15:17.7','17.7:20.6','20.6:23','23:25','25:26.7','26.7:28.3','28.3:100');
$this->tabR[1][5]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
$this->tabR[1][6]=array('0:20.5','20.5:26.7','26.7:30','30:34.1','34.1:38.4','38.4:42','42:45','45:47.6','47.6:49.9','49.9:100');
$this->tabR[1][7]=array('0:13.7','13.7:17.8','17.8:20','20:22.7','22.7:25.6','25.6:28','28:30','30:31.7','31.7:33.3','33.3:100');
$this->tabR[1][8]=array('0:3.7','3.7:7.8','7.8:10','10:12.7','12.7:15.6','15.6:18','18:20','20:21.7','21.7:23.3','23.3:100');
$this->tabR[1][9]=array('0:13.7','13.7:17.8','17.8:20','20:22.7','22.7:25.6','25.6:28','28:30','30:31.7','31.7:33.3','33.3:100');
$this->tabR[1][10]=array('0:5.7','5.7:9.8','9.8:12','12:14.7','14.7:17.6','17.6:20','20:22','22:23.7','23.7:25.3','25.3:100');
$this->tabR[1][11]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
$this->tabR[1][12]=array('0:13.7','13.7:17.8','17.8:20','20:22.7','22.7:25.6','25.6:28','28:30','30:31.7','31.7:33.3','33.3:100');
$this->tabR[1][13]=array('0:23.7','23.7:27.8','27.8:30','30:32.7','32.7:35.6','35.6:38','38:40','40:41.7','41.7:43.3','43.3:100');
$this->tabR[1][14]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
$this->tabR[1][15]=array('0:15.5','15.5:21.7','21.7:25','25:29.1','29.1:33.4','33.4:37','37:40','40:42.6','42.6:44.9','44.9:100');
$this->tabR[1][16]=array('0:6.8','6.8:8.9','8.9:10','10:11.4','11.4:12.8','12.8:14','14:15','15:15.9','15.9:16.6','16.6:100');
$this->tabR[1][17]=array('0:18.7','18.7:22.8','22.8:25','25:27.7','27.7:30.6','30.6:33','33:35','35:36.7','36.7:38.3','38.3:100');
$this->tabR[2][0]=array();
$this->tabR[2][1]=array('1.8:','1.6:1.8','1.5:1.6','1.4:1,5','1.2:1.4','1.0:1.2','0.9:1.0','0.8:0,9','0.7:0,8','0:0.7');
$this->tabR[2][2]=array('2.2:','1.9:2.2','1.8:1.9','1.6:1.8','1.4:1.6','1.2:1.4','1.0:1.2','0.9:1.0','0.7:0.9','0:0.7');
$this->tabR[2][3]=array('2.2:','1.9:2.2','1.8:1.9','1.6:1.8','1.4:1.6','1.2:1.4','1.0:1.2','0.9:1.0','0.7:0.9','0:0.7');
$this->tabR[2][4]=array('3.0:','2.7:3.0','2.5:2.7','2.3:2.5','2.0:2.3','1.7:2.0','1.5:1.7','1.3:1.5','1.1:1.3','0:1.1');
$this->tabR[2][5]=array('2.6:','2.4:2.6','2.2:2.4','2.0:2.2','1.7:2.0','1.5:1.7','1.3:1.5','1.1:1.3','1.0:1.1','0:1');
$this->tabR[2][6]=array('1.7:','1.6:1.7','1.5:1.6','1.4:1.5','1.2:1.4','1.1:1.2','1.0:1.1','0.9:1.0','0.8:0.9','0:0.8');
$this->tabR[2][7]=array('1.5:','1.4:1.5','1.3:1.4','1.1:1.3','1.0:1.2','0.9:1.0','0.8:0.9','0.7:0.8','0.6:0.7','0:0.6');
$this->tabR[2][8]=array('10.1:','8.8:10.1','8:8.8','7:8','5.8:7','4.8:5.8','4:4.8','3.3:4','2.8:3.3','0:2.8');
$this->tabR[2][9]=array('3:','2.7:3','2.5:2.7','2.3:2.5','2:2.3','1.7:2','1.5:1.7','1.3:1.5','1.1:1.3','0:1.1');
$this->tabR[2][10]=array('3.8:','3.3:3.8','3.0:3.3','2.6:3.0','2.2:2.6','1.8:2.2','1.5:1.8','1.2:1.5','1.0:1.2','0:1');
$this->tabR[2][11]=array('2.3:','2.1:2.3','2:2.1','1.8:2','1.6:1.8','1.5:1.6','1.3:1.5','1.2:1.3','1:1.2','0:1');
$this->tabR[2][12]=array('2.3:','2.1:2.3','2:2.1','1.8:2','1.6:1.8','1.5:1.6','1.3:1.5','1.2:1.3','1:1.2','0:1');
$this->tabR[2][13]=array('1.8:','1.6:1.8','1.5:1.6','1.4:1.5','1.2:1.4','1:1.2','0.9:1','0.8:0.9','0.7:0.8','0:0.7');
$this->tabR[2][14]=array('1.8:','1.6:1.8','1.5:1.6','1.4:1.5','1.2:1.4','1:1.2','0.9:1','0.8:0.9','0.7:0.8','0:0.7');
$this->tabR[2][15]=array('2.2:','1.9:2.2','1.7:1.9','1.5:1.7','1.2:1.5','1.0:1.2','0.8:1.0','0.7:0.8','0.5:0.7','0:0.5');
$this->tabR[2][16]=array('10.1:','8.8:10.1','8:8.8','7:8','5.8:7','4.8:5.8','4:4.8','3.3:4','2.8:3.3','0:2.8');
$this->tabR[2][17]=array('2.2:','1.9:2.2','1.8:1.9','1.6:1.8','1.4:1.6','1.2:1.4','1:1.2','0.9:1','0.7:0.9','0:0.7');
$this->tabR[3][0]=array();
$this->tabR[3][1]=array('4.4:','4:4.4','3.8:4','3.5:3.8','3.1:3.5','2.8:3.1','2.5:2.8','2.2:2.5','2:2.2','0:2');
$this->tabR[3][2]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[3][3]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[3][4]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[3][5]=array('8.6:','7.9:8.6','7.5:7.9','6.9:7.5','6.2:6.9','5.6:6.2','5:5.6','4.5:5','4:4.5','0:4');
$this->tabR[3][6]=array('4.4:','4:4.4','3.8:4','3.5:3.8','3.1:3.5','2.8:3.1','2.5:2.8','2.2:2.5','2:2.2','0:2');
$this->tabR[3][7]=array('4.4:','4:4.4','3.8:4','3.5:3.8','3.1:3.5','2.8:3.1','2.5:2.8','2.2:2.5','2:2.2','0:2');
$this->tabR[3][8]=array('10.9:','9.7:10.9','9:9.7','8:9','6.8:8','5.8:6.8','5:5.8','4.3:5','3.7:4.3','0:3.7');
$this->tabR[3][9]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[3][10]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[3][11]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[3][12]=array('5.9:','5.4:5.9','5:5.4','4.5:5','3.9:4.5','3.4:3.9','3:3.4','2.6:3','2.3:2.6','0:2.3');
$this->tabR[3][13]=array('4.2:','3.8:4.2','3.5:3.8','3.1:3.5','2.7:3.1','2.3:2.7','2:2.3','1.7:2','1.5:1.7','0:1.5');
$this->tabR[3][14]=array('4.2:','3.8:4.2','3.5:3.8','3.1:3.5','2.7:3.1','2.3:2.7','2:2.3','1.7:2','1.5:1.7','0:1.5');
$this->tabR[3][15]=array('6.9:','6.3:6.9','6.0:6.3','5.5:6.0','5.0:5.5','4.5:5.0','4.0:4.5','3.6:4.0','3.2:3.6','0:3.2');
$this->tabR[3][16]=array('10.9:','9.7:10.9','9:9.7','8:9','6.8:8','5.8:6.8','5:5.8','4.3:5','3.7:4.3','0:3.7');
$this->tabR[3][17]=array('5.2:','4.7:5.2','4.5:4.7','4.1:4.5','3.7:4.1','3.3:3.7','3:3.3','2.7:3','2.4:2.7','0:2.4');
$this->tabR[4][0]=array();
$this->tabR[4][1]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][2]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][3]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][4]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][5]=array('0:1.36','1.36:1.44','1.44:1.5','1.5:1.58','1.58:1.71','1.71:1.85','1.85:2','2:2.16','2.16:2.33','2.33:');
$this->tabR[4][6]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][7]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][8]=array('0:1.1','1.1:1.2','1.2:1.3','1.3:1.4','1.4:1.6','1.6:1.8','1.8:2','2:2.2','2.2:2.5','2.5:');
$this->tabR[4][9]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][10]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][11]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][12]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[4][13]=array('0:2.4','2.4:2.7','2.7:3','3:3.4','3.4:4.1','4.1:5','5:6','6:7.2','7.2:8.7','8.7:');
$this->tabR[4][14]=array('0:2.4','2.4:2.7','2.7:3','3:3.4','3.4:4.1','4.1:5','5:6','6:7.2','7.2:8.7','8.7:');
$this->tabR[4][15]=array('0:2.9','2.9:3.4','3.4:3.7','3.7:4.3','4.3:5.2','5.2:6.2','6.2:7.5','7.5:9.1','9.1:10.9','10.9:');
$this->tabR[4][16]=array('0:1.1','1.1:1.2','1.2:1.3','1.3:1.4','1.4:1.6','1.6:1.8','1.8:2','2:2.2','2.2:2.5','2.5:');
$this->tabR[4][17]=array('0:2','2:2.3','2.3:2.5','2.5:2.9','2.9:3.5','3.5:4.2','4.2:5','5:6','6:7.2','7.2:');
$this->tabR[5][0]=array();
$this->tabR[5][1]=array('-99:-40','-40:-34','-34:-30','-30:-24','-24:-16','-16:-8','-8:0','0:8.1','8.1:16.1','16.1:');
$this->tabR[5][2]=array('-99:-40','-40:-34','-34:-30','-30:-24','-24:-16','-16:-8','-8:0','0:8.1','8.1:16.1','16.1:');
$this->tabR[5][3]=array('-99:-40','-40:-34','-34:-30','-30:-24','-24:-16','-16:-8','-8:0','0:8.1','8.1:16.1','16.1:');
$this->tabR[5][4]=array('-99:-16.7','-16.7:-12.7','-12.7:-10','-10:-6','-6:-0.7','-0.7:4.7','4.7:10','10:15.3','15.3:20.7','20.7:');
$this->tabR[5][5]=array('-999:-420','-420:-384','-384:-360','-360:-324','-324:-276','-276:-228','-228:-180','-180:-132','-132:-84','-84:');
$this->tabR[5][6]=array('-99:-40','-40:-34','-34:-30','-30:-24','-24:-16','-16:-8','-8:0','0:8.1','8.1:16.1','16.1:');
$this->tabR[5][7]=array('-99:-30','-30:-24','-24:-20','-20:-14','-14:-6','-6:2','2:10','10:18','18:26','26:');
$this->tabR[5][8]=array('-99:-41.7','-41.7:-34.7','-34.7:-30','-30:-23','-23:-13.7','-13.7:-4.3','-4.3:5','5:14.3','14.3:23.7','23.7:');
$this->tabR[5][9]=array('-99:-16.7','-16.7:-12.7','-12.7:-10','-10:-6','-6:-0.7','-0.7:4.7','4.7:10','10:15.3','15.3:20.7','20.7:');
$this->tabR[5][10]=array('-99:-5','-5:-2','-2:0','0:3','3:7','7:11','11:15','15:19','19:23','23:');
$this->tabR[5][11]=array('-99:-6.7','-6.7:-2.7','-2.7:0','0:4','4:9.3','9.3:14.7','14.7:20','20:25.3','25.3:30.7','30.7:');
$this->tabR[5][12]=array('-99:-6.7','-6.7:-2.7','-2.7:0','0:4','4:9.3','9.3:14.7','14.7:20','20:25.3','25.3:30.7','30.7:');
$this->tabR[5][13]=array('-99:-6.7','-6.7:-2.7','-2.7:0','0:4','4:9.3','9.3:14.7','14.7:20','20:25.3','25.3:30.7','30.7:');
$this->tabR[5][14]=array('-99:-6.7','-6.7:-2.7','-2.7:0','0:4','4:9.3','9.3:14.7','14.7:20','20:25.3','25.3:30.7','30.7:');
$this->tabR[5][15]=array('-99:-38.3','-38.3:-36.3','-36.3:-35.0','-35:-33','-33.0:-30','-30:-27.7','-27.7:-25.0','-25.0:-22.3','-22.3:-19.7','-19.7:');
$this->tabR[5][16]=array('-99:-41.7','-41.7:-34.7','-34.7:-30','-30:-23','-23:-13.7','-13.7:-4.3','-4.3:5','5:14.3','14.3:23.7','23.7:');
$this->tabR[5][17]=array(':-58.3','-58.3:53.3','-53.3:-50','-50:-45','-45:-38.3','-38.3:-31.7','-31.7:-25','-25:-18.3','-18.3:-11.7','-11.7:');
$this->tabR[6][0]=array();
$this->tabR[6][1]=array('0:6','6:6.6','6.6:7','7:7.6','7.6:8.4','8.4:9.2','9.2:10','10:10.8','10.8:11.6','11.6:');
$this->tabR[6][2]=array('0:6','6:6.6','6.6:7','7:7.6','7.6:8.4','8.4:9.2','9.2:10','10:10.8','10.8:11.6','11.6:');
$this->tabR[6][3]=array('0:1.5','1.5:2.1','2.1:2.5','2.5:3.1','3.1:3.9','3.9:4.7','4.7:5.5','5.5:6.3','6.3:7.1','7.1:');
$this->tabR[6][4]=array('0:1.8','1.8:2.2','2.2:2.5','2.5:2.9','2.9:3.4','3.4:4','4:4.5','4.5:5','5:5.6','5.6:');
$this->tabR[6][5]=array('0:6.7','6.7:7.5','7.5:8','8:8.8','8.8:9.9','9.9:10.9','10.9:12','12:13.1','13.1:14.1','14.1:');
$this->tabR[6][6]=array('0:7.7','7.7:8.5','8.5:9','9:9.8','9.8:10.9','10.9:11.9','11.9:13','13:14.1','14.1:15.1','15.1:');
$this->tabR[6][7]=array('0:3','3:3.6','3.6:4','4:4.6','4.6:5.4','5.4:6.2','6.2:7','7:7.8','7.8:8.6','8.6:');
$this->tabR[6][8]=array('0:1.3','1.3:1.7','1.7:2','2:2.4','2.4:2.9','2.9:3.5','3.5:4','4:4.5','4.5:5.1','5.1:');
$this->tabR[6][9]=array('0:1.8','1.8:2.2','2.2:2.5','2.5:2.9','2.9:3.4','3.4:4','4:4.5','4.5:5','5:5.6','5.6:');
$this->tabR[6][10]=array('0:1.3','1.3:1.7','1.7:2','2:2.4','2.4:2.9','2.9:3.5','3.5:4','4:4.5','4.5:5.1','5.1:');
$this->tabR[6][11]=array('0:8.3','8.3:9.3','9.3:10','10:11','11:12.3','12.3:13.7','13.7:15','15:16.3','16.3:17.7','17.7:');
$this->tabR[6][12]=array('0:4.7','4.7:5.5','5.5:6','6:6.8','6.8:7.9','7.9:8.9','8.9:10','10:11.1','11.1:12.1','12.1:');
$this->tabR[6][13]=array('0:3','3:4.8','4.8:6','6:7.8','7.8:10.2','10.2:12.6','12.6:15','15:17.4','17.4:19.8','19.8:');
$this->tabR[6][14]=array('0:3','3:4.8','4.8:6','6:7.8','7.8:10.2','10.2:12.6','12.6:15','15:17.4','17.4:19.8','19.8:');
$this->tabR[6][15]=array('0:2','2:2.3','2.3:2.5','2.5:2.8','2.8:3.2','3.2:3.6','3.6:4.0','4.0:4.4','4.4:4.8','4.8:');
$this->tabR[6][16]=array('0:1.7','1.7:1.9','1.9:2','2:2.2','2.2:2.5','2.5:2.7','2.7:3','3:3.3','3.3:3.5','3.5:');
$this->tabR[6][17]=array('0:4.7','4.7:5.5','5.5:6','6:6.8','6.8:7.9','7.9:8.9','8.9:10','10:11.1','11.1:12.1','12.1:');
?>

View File

@ -1,9 +0,0 @@
<?
class Rncs {
function Rncs () {}
}
?>

View File

@ -1,795 +0,0 @@
<?php
require_once 'framework/common/chiffres.php';
require_once 'framework/common/dates.php';
require_once 'Metier/bodacc/classMBodacc.php';
require_once 'Metier/insee/classMInsee.php';
require_once 'Metier/partenaires/classMRncs.php';
require_once 'Metier/partenaires/classMBilans.php';
require_once 'Metier/partenaires/classMBourse.php';
require_once 'Metier/partenaires/classMLiens.php';
require_once 'Metier/scores/classMFinancier.php';
require_once 'Metier/scores/classMSolvabilite.php';
require_once 'Metier/scores/classMScores.php';
require_once 'Metier/partenaires/classMTva.php';
require_once 'Metier/partenaires/classMMap.php';
require_once 'Metier/partenaires/classMGreffes.php';
require_once 'Metier/partenaires/classMPrivileges.php';
require_once 'Metier/tmp/configMRatios.php';
require_once 'framework/mail/sendMail.php';
global $tabEvenSolib;
global $tabEven2SO;
global $tabEven2RO;
$tabEvenSolib=array(1=>'CR',
11=>'CR',
13=>'CR',
14=>'CR',
15=>'CR',
16=>'CR',
17=>'CR',
18=>'CR',
19=>'CR',
2=>'VT',
21=>'VT',
22=>'VT',
24=>'VT',
25=>'VT',
3=>'CE',
31=>'ME',
32=>'ME',
33=>'ME',
34=>'ME',
35=>'Rec',
36=>'MAF',
37=>'LG',
38=>'LG',
39=>'MD',
4=>'RD',
41=>'DIS',
42=>'FLG',
51=>'RJ',
52=>'RJ',
53=>'RA',
56=>'PIE',
57=>'SAUVJ',
58=>'SAUVP',
59=>'RR',
6=>'R&L',
61=>'LB',
62=>'LJ',
63=>'FP',
64=>'INT',
65=>'LQ',
69=>'RL',
7=>'Suite',
71=>'SRJ',
72=>'SRLJ',
73=>'SP',
74=>'AP',
75=>'MP',
76=>'EP',
77=>'PRO',
78=>'DC',
79=>'CIA',
8=>'INFR',
91=>'DC',
92=>'CP',
);
$tabEven2SO=array( // PROCOL
1010=>92, // Déclaration de cessation de paiement
1050=>7, // Homologation de la conciliation
1055=>7, // Résolution de la conciliation
1100=>57, // Jugement de sauvegarde
1101=>58, // Plan de sauvegarde
1200=>52, // Redressement Judiciaire
1201=>52, // Conversion sauvegarde en Redressement Judiciaire
1202=>75, // Renouv. Periode Observation
1203=>78, // Avis de dépot de l'état de collocation
1204=>78, // Dépôt des créances
1205=>78,
1206=>78,
1207=>53, // Règlemement amiable
1208=>78,
1209=>51, // Règlement Judiciaire
1210=>77, // Production
1211=>52, // Redressement Judiciaire par extension au(x) gérant(s)
1212=>69, // Rectif ou Annul.LJ
1214=>78, // Avis de dépôt de l'état des créances (Loi de 1985)
1215=>7, // Jugement de désignation des organes de la procédure
1216=>78, // Autre avis de dépôt
1300=>62, // Conversion Redressement Judiciaire en Liquidation
1301=>62, // Ouverture Liquidation Judiciaire
1302=>66, // Ouverture Liquidation Judiciaire Simplifiée
1303=>62, // Ouverture Liquidation Judiciaire sur résolution
1304=>62, // Réouverture Liquidation Judiciaire
1305=>62, // Liquidation Judiciaire
1306=>66, // Liquidation Judiciaire simplifiée
1307=>62, // Conversion sauvegarde en Liquidation Judiciaire
1308=>62, // Fin du régime de Liquidation Judiciaire Simplifiée
1309=>62, // Conversion Liquidation Judiciaire en Liquidation
1310=>56, // Procédure d'Insolvabilité Européenne
1311=>62, // Liquidation Judiciaire par extension au(x) gérants
1312=>62, // Liquidation Judiciaire avec continuation d'exploitation
1313=>62, // Liquidation Judiciaire sans remise des accessoires
1346=>7, // Procédure d'insolvabilité (Règlement 1346/2000 du Conseil Européen)
1400=>7, // Nomination d'un administrateur judiciaire
1401=>7, // Nomination d'un mandataire judiciaire
1402=>7, // Nomination d'un représentant des créanciers
1403=>7, // Nominnation/Remplacement de commissaire à l'exécution du plan
1404=>7, // Prolongement de la mission du commissaire à l'exécution du plan
1405=>7, // Nomination d'un juge commissaire
1406=>7, // Changement de SYNDIC
1407=>75, // Modif. de Plan
1408=>75, // Modification du plan de cession
1409=>75, // Modif. de de continuation
1410=>75, // Suite de jugement/règlement/liquidation
1411=>75, // Arrêt du plan de cession
1412=>75, // Arrêt du plan de cession partielle
1413=>75, // Arrêt du plan de continuation
1414=>75, // Arrêt du plan de redressement
1415=>75, // Prolongement du plan cession
1416=>75, // Jugement constatant la bonne exécution du plan
1417=>62, // Jugement d'extension de liquidation judiciaire
1418=>52, // Jugement d'extension d'une procédure de redressement judiciaire
1419=>57, // Jugement d'extension d'une procédure de sauvegarde
1420=>7, // Nomination d'un liquidateur judiciaire
1421=>7, // Jugement prorogeant le plan de redressement
1425=>7, // Plan de cession avec location gérance
1430=>7, // Jugement autorisant la poursuite d'activité
1431=>7, // Jugement de cessation partielle d'activité
1435=>7, // Suspension de l'exécution provisoire
1436=>7, // Suspension provisoire des poursuites
1440=>7, // Jugement accordant un délai pour déposer la liste des créances
1445=>7, // Concordat
1450=>92, //Cessation paiement
1455=>7, // Jugement arrêtant le plan d'apurement du passif
1460=>7, // Homologation du plan
1470=>7, // Fin de mission d'administrateur judiciaire
1480=>7, // Jugement ordonnant la jonction des procédures
1500=>79, // Clôture de la procédure
1501=>79, // Clôture de la procédure après cession totale
1502=>76, // Clôture de la procédure pour extinction du passif
1503=>79, // Cloture insuf.Actif
1504=>79, // Clôture sauvegarde pour absence de projet de plan
1505=>74, // Appel de jugement
1506=>59, // Rectif ou Annulation RJ
1507=>74, // Appel de jugement
1508=>7, // Extinction du plan de sauvegarde
1509=>7, // Extinction du plan de redressement
1510=>74, // Rejet du plan
1511=>7, // Résolution du plan de cession
1512=>7, // Résolution du plan de continuation
1513=>7, // Résolution du plan de sauvegarde
1515=>74, // Arrêt divers
1517=>59, // Rectification d'une erreur matérielle
1520=>7, // Ordonnance
1525=>74, // Appel du ministère public
1530=>7, // Jugement constatant l'impécuniosité de la procédure de liquidation
1540=>7, // Ordonnance statuant sur les contestations du projet de répartition
1541=>74, // Rétractation de prononcé de liquidation judiciaire sur tierce opposition
1542=>74, // Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition
1543=>74, // Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition
1544=>74, // Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition
1545=>74, // Rétractation de jugement d'ouverture sur tierce opposition
1546=>74, // Autre rétractation sur tierce opposition
1550=>7, // Suites de jugements
1580=>7, // Jugement prononçant la continuation de l'activité par apurement du passif
1600=>63, // Faillite personnelle
1601=>64, // Interdiction de gérer
1602=>7, // Jugement de réhabilitation
1603=>61, // Liquidation de Biens
1604=>8, // Banqueroute
1605=>7, // Jugement autorisant la reprise des poursuites individuelles
1610=>8, // Faillite personnelle (Loi de 1985)
1611=>8, // Interdiction de gérer (Loi de 1985)
1620=>7, // Jugement condamnant le dirigeant en comblement du passif
1650=>8, // Rétablissement Personnel
1700=>7, // Décision soumise à publicité
1900=>8, // Interdiction temporaire d'exercice de la profession de CAC
1901=>8, // Radiation de la liste des CAC
1999=>7, // Autre procédure collective
// MMD
2000=>4, // Mention d'office
2100=>39, // Chg.Capital/Cess.apport de parts
2101=>39, // Chg.Capital/Cess.apport de parts
2102=>39, // Chg.Capital/Cess.apport de parts
2200=>4, // Cessation d'activité
2201=>4, // Cessation d'activité temporaire
2202=>41, // Dissolution
2203=>41, // Dissolution de la société
2204=>41, // Cessation d'activité avec dissolution
2205=>4, // Fermeture du fonds
2206=>39, // Mise en sommeil de la société
2207=>39, // Suppression d'une branche d'activité
2208=>39, // Suppression de l'établissement principal
2209=>39, // Vente du fonds
2210=>39, // Déclaration de dissolution par l'associé unique.
2211=>39, // Clôture de la liquidation
2212=>39, // Liquidation amiable
2300=>39, // Changement d'Adresse
2301=>39, // Modification de l'adresse du siège
2302=>39, // Modification de l'enseigne
2303=>39, // Modification de la date de clôture de l'exercice
2304=>39, // Modification de la date de début d'activité
2305=>39, // Modification de la dénomination
2306=>39, // Modification de la durée de la société
2307=>39, // Modification de la forme juridique
2308=>39, // Modification du nom
2309=>39, // Modification du nom commercial
2310=>39, // Modification du pseudonyme
2311=>39, // Modification sur l'exploitation
2312=>39, // Modification(s) diverse(s)
2313=>39, // Modification de l'activité
2314=>39, // Poursuite de l'activité
2315=>39, // Modification de l'administration
2316=>39, // Mise en activité de la société
2317=>39, // Modification du sigle
2318=>39, // Modifications diverses
2319=>39, // Poursuite de l'activité malgré la perte de plus de...
2320=>39, // Reconsitution de l'actif net
2321=>39, // Reconsitution de la moitié de l'actif net
2350=>39, // Déclaration des associés (loi du 1er février 2005)
2401=>39, // Changement de régime matrimonial
2402=>39, // Changement de régime matrimonial (divorce)
2403=>39, // Changement de régime matrimonial (mariage)
2404=>39, // Changement de régime matrimonial (veuvage)
2405=>39, // Changement de régime matrimonial (contrat de maria...
2406=>39, // Reprise du fonds par le conjoint
2407=>39, // Mention du conjoint collaborateur
2408=>39, // Radiation du conjoint collaborateur
2500=>3, // Confirmation établissement principal ou secondaire
2510=>39, // L'établissement secondaire devient principal
2520=>39, // Extension de l'établissement principal
2600=>39, // Décès
2610=>39, // Décision de l'unique actionnaire
2620=>39, // Transmission universelle du patrimoine
2630=>39, // Donation/Partage
2635=>39, // Cession de parts
2639=>39, // Nantissement de parts sociales
2640=>39, // Changement de domicile personnel
2650=>39, // Changement de nationalité
2660=>39, // Réalisation de l'apport partiel d'actif
2661=>39, // Apport partiel
2700=>39, // Fusion/Absorption (entitée absorbante)
2701=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2702=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2703=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2710=>39, // Projet de fusion (entitée absorbante)
2720=>39, // Fusion/Absorption (entitée absorbée)
2721=>39, // Fusion/Absorption (entitée absorbée non identifiée...
2725=>39, // Fusion/Absorption
2726=>39, // Projet de Fusion/Absorption
2730=>39, // Projet de fusion (entitée absorbée)
2740=>39, // Scission
2750=>39, // Société participation
2800=>37, // Location gérance reçue
2840=>38, // Location/Gérance
2850=>38, // Location gérance donnée : Précédent propriétaire e...
2851=>38, // Location gérance donnée : Précédent propriétaire
2860=>38, // Location gérance donnée : Précédent exploitant
2870=>38, // Location gérance donnée
2875=>38, // Gérance/Mandat
2880=>38, // Renouvellement de location gérance
2881=>38, // Changement de location gérance
2885=>42, // Fin de location gérance
2890=>38, // Location gérance relative à une branche
2891=>39, // Location gérance relative à un établissement
2892=>39, // Location gérance relative à un fond
2900=>32, // Transfert d'établissement
2901=>32, // Transfert de siège
2902=>32, // Transfert du fonds
2903=>32, // Projet de transfert du siège
2904=>32, // Transfert du siège à l'étranger
2950=>32, // Création de fonds
2980=>32, // Transfert entre tribunaux
// DEPOTS DES COMPTES
3100=>91,
3200=>91,
3300=>91,
3999=>91,
// CREATIONS
4000=>1, // Création d'entreprise
4050=>1, // Création d'entreprise sans activité
4100=>1, // Création d'entreprise sans établissement
4200=>17, // Création d'établissement
4250=>17, // Création suite à transfert
4300=>17, // Création suite à reprise d'activité
4350=>1, // Création suite à fin de location-gérance
4355=>1, // Création suite à prise en location-gérance
4360=>1, // Reprise d'activité par suite de la résolution de v
4400=>1, // Création suite à changement de FJ
4410=>1, // Création suite à héritage ou donation
4450=>1, // Création suite à reprise par le conjoint
4500=>17, // Fonds acquis dans le cadre d'une PC
4501=>17, // Fonds acquis par achat
4502=>17, // Fonds acquis par apport
4600=>1, // Immatriculation d'une société de droit européen
4999=>1, // Création
// ventes !!!
5500=>2, // Entreprise réalisant la vente
5501=>2, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5502=>2, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5503=>2, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5510=>2, // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>2, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
5650=>2,
5700=>2, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
5999=>2,
// RADIATIONS
6000=>4, //Radiation pour cause de clôture de la liquidation (amiable/simplifié/général)
6001=>4, //Radiation pour cause de clôture de la liquidation amiable
6002=>4, //Radiation pour cause de clôture de la liquidation judiciaire pour IA
6003=>4, //Radiation pour cause de clôture de la liquidation judiciaire
6004=>4, //Radiation pour cause de clôture de la liquidation judiciaire simplifié
6005=>4, //Radiation pour clôture du plan de cession
6100=>4, //Radiation pour cause de décès
6200=>4, //Radiation pour cause de mention d'office
6201=>4, //Radiation pour cause de cessation d'activité
6300=>4, //Radiation pour cause de non-exercice
6400=>4, //Radiation pour cause de transfert
6500=>4, //Radiation pour cause de jugement de clôture du plan de cession
6600=>4, //Radiation d'un établissement
6700=>4, //Radiation
);
$tabEven2RO=array( 2305=>'a',
2308=>'a', // Chg de dénomination(RS,Ens,Sigle)
2309=>'a', // Modification du nom commercial BODB mmd 12 0000-00-00 00:00:00
2310=>'a', // Modification du pseudonyme
2300=>'b', // Changement d'Adresse
2301=>'b',
2900=>'b', // Transfert d'établissement
2901=>'b', // Transfert de siège
2902=>'b', // Transfert du fonds
2903=>'b', // Projet de transfert du siège
2904=>'b', // Transfert du siège à l'étranger
2950=>'b', // Création de fonds
2980=>'b', // Transfert entre tribunaux
2101=>'c', // Chg.Capital/Cess.apport de parts
2315=>'d', // Changement de Dirigeants
2313=>'e', // Mod Act/obj.soc./Cess./Mise somm.
2307=>'f', // Changement de Forme juridique
2318=>'g', // Opération sur Participations
2725=>'h', // Fusion Absorption
2318=>'i', // Mod.garantie financière/Caution
2401=>'j', // Changement de régime matrimonial
2319=>'k', // Non dissolution anticipée
2318=>'l', // Non dissolution anticipée
2318=>'m', // Dissolution anticipée (ou non)
2303=>'n', // Mod.date cloture exercice social
5500=>'V', // Entreprise réalisant la vente
5501=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5502=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5503=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5510=>'V', // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>'V',
5650=>'V',
5700=>'A', // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
1411=>'F', // Arrêt du plan de cession
1408=>'G', // Modification du plan de cession
1409=>'N', // Modification du plan de continuation
1414=>'M', // Arrêt du plan de redressement
);
function exporte($txt, $lon, $sep='') {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
}
function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFichierOut='', $optionFicheId='S') {
$message='';
$iDb=new WDB();
$iBodacc=new MBodacc();
$iInsee=new MInsee();
$iRncs=new MRncs();
global $tabEvenSolib;
global $tabEven2SO;
global $tabEven2RO;
$tabLignes=file($nomFichierIn);
//print_r($tabLignes);
//die();
$ligne001=$ligne100=$ligne104=$ligne999=0;
if ($nomFichierOut=='') $nomFichierOut=$nomFichierIn.'.bil';
$fp=fopen($nomFichierOut, 'w');
$dateJ=date('Ymd');
$ecrireLignePre=false;
/** Codes/Variables à gérer **/
$depPar=0;
$SOSTAE='';
$typeFicheId='I'; // Fiche Identifiant
$optExtInsee=$optScore=false;
/** Type de fiche Id **/
if (strpos($optionFicheId, 'S')==true) $typeFicheId='S'; // Fiche Standard
elseif (strpos($optionFicheId, 'C')==true) $typeFicheId='C'; // Fiche Complète
if (strpos($optionFicheId, 'E')==true) $optExtInsee=true; // Option Extension INSEE
if (strpos($optionFicheId, 'N')==true) $optScore=true; // Option Score
foreach ($tabLignes as $i=>$ligne) {
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
$ligne001++;
break;
case 100: // Structure Bodacc
case 999: // Fin
$strTxt=wordwrap($txtAnn, 39, EOL);
$tabTxt=explode(EOL, $strTxt);
foreach($tabTxt as $j=>$txt) {
$SOSEQ++;
if($j%16==0) {
// Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$typEnr=9;
if ($j==0) $ligneTXT =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
else $ligneTXT.=EOL.initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$ligneTXT.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$ligneTXT.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$ligneTXT.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$ligneTXT.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$ligneTXT.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$ligneTXT.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$ligneTXT.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$ligneTXT.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$ligneTXT.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$ligneTXT.=exporte('TXT', 3); // Structure identité
$ligneTXT.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$ligneTXT.=exporte($ref, 30); // Réf. Client
$ligneTXT.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$ligneTXT.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$ligneTXT.=initstr($datePar, 8, '0', ALIGN_RIGHT); // Date de parution
$ligneTXT.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
$ligneTXT.=exporte($codeEve, 2); //
$ligneTXT.=initstr($depPar, 2, '0', ALIGN_RIGHT);
$ligneTXT.=initstr($numAnn, 6, '0', ALIGN_RIGHT);
$ligneTXT.=exporte($codeRol, 1); //
$ligneTXT.=exporte('T', 1);
}
$ligneTXT.=exporte($txt, 40);
}
$codeEve=$codeRol='';
$ligneOut=$ligneID.EOL.$ligneANN.EOL.$ligneTXT;
if ($ligne100>1) $ecrireLignePre=true;
if($typeLigne==999) {
$ligne999++;
break;
}
$nann = trim(substr($ligne, 3 , 10 ))*1; // N° d'annonce
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$tabIdentite=@$iInsee->getIdentiteEntreprise($siren);
$nic = trim(substr($ligne, 22, 5 ))*1; // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= substr($ligne, 31 , 8 )*1; // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$numRC = trim(substr($ligne,95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$rs = trim(substr($ligne,104, 150 )); // Raison sociale de l'entreprise
$nomCom = trim(substr($ligne,254, 100 )); // Nom Commerciale
$ens = trim(substr($ligne,354, 100 )); // Enseigne
$fj = trim(substr($ligne,484, 4 ))*1; // FJ
$fjLib = trim(substr($ligne,488, 90 )); // FJ libellé
$capMnt = trim(substr($ligne,578, 15 )); // Capital
$capDev = trim(substr($ligne,593, 3 )); // Capital Devise
$adrNum = trim(substr($ligne,596, 4 )); //
$adrBtq = trim(substr($ligne,600, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,601, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,606, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,656, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,706, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,746, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,751, 45 )); // FJ libellé
if ($adrCP==0) {
$adrNum = trim(substr($ligne,796, 4 )); // FJ libellé
$adrBtq = trim(substr($ligne,800, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,801, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,806, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,856, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,906, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,946, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,951, 45 )); // FJ libellé
}
$even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven='';
foreach ($even as $codeEven)
if ($codeEven<>0) {
if (@$codeEve=='') $codeEve=$tabEven2SO[$codeEven];
if (@$codeRol=='') $codeRol=$tabEven2RO[$codeEven];
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
$catEven=$iBodacc->getChapitreEvenement($codeEven);
}
else
$txtEven.='';
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
$dateCess= substr($ligne, 1136, 8 )*1; // Date de cessat° des paiements
$dateJuge= substr($ligne, 1144, 8 )*1; // Date de jugement
$dateEffet=substr($ligne, 1161, 8 )*1; // Date d'effet
if ($dateEffet*1==0) $dateEffet=$dateJuge;
$vteMnt=trim(substr($ligne, 1169, 15 ))*1; // Montant de la vente
$vteDev=substr($ligne, 1184, 3 ); // Devise de la vente
if ($nic*1==0) $nic=$tabIdentite['Nic'];
$SONABO=$numeroAbonneBil;
if ($tabIdentite['Actif']==1) $SOORIG=1;
elseif (!isset($tabIdentite['Actif'])) $SOORIG=3;
elseif ($tabIdentite['Actif']==0 && ($tabIdentite['EntActiveRCS']==1||$tabIdentite['EtabActifRCS']==1)) $SOORIG=7;
elseif ($tabIdentite['Actif']==0 && $tabIdentite['EntActiveRCS']==0 && $tabIdentite['EtabActifRCS']==0) $SOORIG=9;
else $SOORIG=8;
if ($tabIdentite['Civilite']==1) $SOTSEX='M';
elseif ($tabIdentite['Civilite']==2) $SOTSEX='F';
else $SOTSEX='';
$SONUME=''.preg_replace('/^0+/','', $tabIdentite['Source']).$tabIdentite['SourceId'];
$SONUS='000000000';
$SOSEQ=1;
if ($adrCP==0) {
$adrNum = $tabIdentite['AdresseNum'];
$adrBtq = $tabIdentite['AdresseBtq'];
$adrVoi = $tabIdentite['AdresseVoie'];
$adrLib = $tabIdentite['AdresseRue'];
$adrL2 = $tabIdentite['Adresse2'];
$adrL3 = '';
$adrCP = $tabIdentite['CP'];
$adrVil = $tabIdentite['Ville'];
}
$typEnr=1;
$DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence dans le groupe
$DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Date d'envoi de l'info
$DBILS2.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$DBILS2.=exporte('ID', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client
//($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT)
$DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$DBILS2.=exporte('', 1); // D=Siren douteux
$DBILS2.=exporte('', 9); // Témoin de MAJ
$DBILS2.=exporte($rs, 60); //
$DBILS2.=exporte(substr($rs,60),30); //
$DBILS2.=exporte($tabIdentite['Sigle'], 30); // Vide !
$DBILS2.=exporte($ens, 60); //
$DBILS2.=initstr($adrNum, 4, '0', ALIGN_RIGHT); //
$DBILS2.=exporte($adrBtq, 1); //
$DBILS2.=exporte(preg_replace('/ +/',' ',$adrVoi.' '.$adrLib), 33); //
$DBILS2.=exporte($adrVil, 32); //
$DBILS2.=initstr($adrCP, 5, '0', ALIGN_RIGHT); //
$DBILS2.=exporte(preg_replace('/ +/',' ',$adrL2.' '.$adrL3), 30); //
$DBILS2.=initstr($tabIdentite['DateCreaEn'], 8, '0', ALIGN_RIGHT); // Date créa ENT
$DBILS2.=exporte($tabIdentite['Siege'], 1); // Statut de l'établissement
$DBILS2.=initstr($tabIdentite['FJ'], 4, 0, ALIGN_RIGHT);
$DBILS2.=exporte($SOTSEX, 1); // Sexe M/F
$DBILS2.=initstr($tabIdentite['NbEtab']*1, 4, 0, ALIGN_RIGHT);
$DBILS2.=exporte($SOSTAE, 4); // NAF4 ENT
$DBILS2.=exporte('', 4); // Famille ENT
$DBILS2.=exporte($SOSTAE, 4); // NAF4 ETAB
$DBILS2.=exporte('', 4); // Famille ETAB
$DBILS2.=exporte('', 1); // Indicateur Procol
$DBILS2.=exporte('', 2); // Code monnaie
$DBILS2.=initstr(0, 13, '0', ALIGN_RIGHT); // Montant du capital
$DBILS2.=exporte('', 7); // Effectif
$DBILS2.=exporte('', 9); // Num RC
$DBILS2.=initstr(strtr($tabIdentite['Tel'],array('.'=>'','+'=>'00',' '=>'','-'=>'','/'=>'')), 10, '0', ALIGN_RIGHT);
$DBILS2.=initstr(strtr($tabIdentite['Fax'],array('.'=>'','+'=>'00',' '=>'','-'=>'','/'=>'')), 10, '0', ALIGN_RIGHT);
//5630Z5630Z RUE 00000000 00000000 2901929019
$DBILS2.=exporte($tabIdentite['Web'], 40);
$DBILS2.=exporte('', 3); // Qualité du dirigeant
$DBILS2.=exporte('', 60); // NOM, Prénom du dirigeant
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Date Naiss Diri
// $DBILS2.=exporte('', 79);
$DBILS2.=exporte('', 35); // Lieu de Naissance
if ($optScore) {
$tabTmp=$iDb->select('scores_surveillance',
'siren, actif, procol, indiScore, indiScore20, encours, indiScoreDate, dateBilan, indiScorePre, indiScore20Pre, encoursPre, indiScoreDatePre, sourceModif, nbModifs, dateUpdate',
"siren=$siren AND indiScoreDate>0", false, MYSQL_ASSOC);
if (@$tabTmp[0]['siren']*1==$siren) {
echo "$siren, parution Annonce le $datePar, calcul le ".@$tabTmp[0]['dateUpdate'].EOL;
$tabScore=$tabTmp[0];
$note=$tabScore['indiScore20'];
$encours=round($tabScore['encours']/1000);
} else {
echo "$siren, parution Annonce le $datePar, pas de calcul !".EOL;
$tabScore=@calculIndiScore($siren, $nic, false, 0, false);
$note=$tabScore['Indiscore20'];
$encours=round($tabScore['encours']/1000);
}
$encoursDev='EUR';
} else
$note=$encours=$encoursDev='';
$DBILS2.=initstr($note, 2, '0', ALIGN_RIGHT); //37 Note sur 20
$DBILS2.=initstr($encours, 7, '0', ALIGN_RIGHT); //44 Encours KE KF
$DBILS2.=exporte('', 1); //45 Code paiement
$DBILS2.=exporte('', 1); //46 Code situfi
$DBILS2.=exporte('', 1); //47 Code Avis
$DBILS2.=exporte($encoursDev,3); //47 Encours de la devise
$DBILS2.=exporte('', 6); // Code Sicovam
$DBILS2.=exporte('', 2); // Type de marché RM, CT, SM, HC, MO, NM, ML, AL, MR
$DBILS2.=exporte('', 12); // Code ISIN
$DBILS2.=exporte('', 9); // Filler Bil anciennement sur 83, 32 puis 9
$DBILS2.=exporte($tabIdentite['NafEnt'], 5);
$DBILS2.=exporte($tabIdentite['NafEtab'], 5);//
$DBILS2.=exporte('', 18); //60 Filler
$DBILS2.=exporte('', 4); // Filler RUE ?
$DBILS2.=exporte('', 5); // Nic source cible de l'étab
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Date de MAJ du capital
$DBILS2.=exporte('', 3); // Monnaie d'origine du capital
$DBILS2.=exporte('', 3); // Monnaie de livraison du capital (fin de l'ancien filler)
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Date de création de l'établissement
$DBILS2.=exporte('', 1); // Origine création
$DBILS2.=exporte('', 2); // Tr Eff Ent
$DBILS2.=exporte('', 2); // Tr Eff Etab
$DBILS2.=exporte('', 2); // NAP 40 Entrep
$DBILS2.=exporte('', 2); // NAP 40 Etab
$DBILS2.=exporte('', 5); // Act Artisanale Etab
$DBILS2.=exporte('', 1); // Modalité activité entrep
$DBILS2.=exporte('', 1); // Modalité activité etab
$DBILS2.=exporte('', 2); // Code Région Entrep
$DBILS2.=exporte('', 2); // Code Région Etab
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département du siège
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département de l'étab
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte('', 1); // Dept Outre Mer
$DBILS2.=exporte('', 1); // Arrondissement
$DBILS2.=exporte('', 1); // Canton Dom ?
$DBILS2.=exporte('', 2); // Canton
$DBILS2.=exporte('', 8); // Code Ilot
$DBILS2.=exporte('', 2); // ZEMET
$DBILS2.=exporte('', 2); // Tranche Comm Etab
$DBILS2.=exporte('', 2); // Dept Unite urbaine
$DBILS2.=exporte('', 1); // Taille UU
$DBILS2.=exporte('', 2); // UU etab
$DBILS2.=exporte('', 5); // Code rivoli
$DBILS2.=exporte('', 2); // PPale région entrep
$DBILS2.=exporte('', 1); // Code monoreg
$DBILS2.=exporte('', 1); // Code monoact
$DBILS2.=exporte('', 1); // Code tranche CA
$DBILS2.=exporte('', 1); // Tranche part CA export
$DBILS2.=exporte('', 1); // RECME
$DBILS2.=exporte('', 1); // Ordinarité
$DBILS2.=exporte('', 2); // Code nature étab
$DBILS2.=exporte('', 2); // Sigularité étab
$ligneID=$DBILS2;
$ligne100++;
$cor='';
if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
case 'R': $cor='Rectificatif'.$cor; break;
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri);
$SOSEQ++;
if ($bodacc=='A') $SOJAL='001';
elseif ($bodacc=='B') $SOJAL='200';
elseif ($bodacc=='C') $SOJAL='300';
else $SOJAL='999';
$DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=exporte('9', 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$DBILS2.=exporte('ANN', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client
//($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT)
$DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$DBILS2.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$DBILS2.=initstr($datePar, 8, '0', ALIGN_RIGHT); // Date de parution
$DBILS2.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
if ($codeEve=='') {
$message.="Siren : $siren, Bodacc $bodacc, code évènement non géré : '$codeEven'".EOL;
/*$nann = trim(substr($ligne, 3 , 10 ))*1; // N° d'annonce
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$tabIdentite=@$iInsee->getIdentiteEntreprise($siren);
$nic = trim(substr($ligne, 22, 5 ))*1; // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
= substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= substr($ligne, 31 , 8 )*1; // Date de parution du Bodacc Format AAAAMMJJ
$numAnn*/
sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID (ERREUR)", $message);
return $message;
}
$DBILS2.=exporte($codeEve, 2); //
$DBILS2.=initstr($depPar, 2, '0', ALIGN_RIGHT);
$DBILS2.=initstr($numAnn, 6, '0', ALIGN_RIGHT);
$DBILS2.=exporte($codeRol, 1); //
$DBILS2.=exporte($tabEvenSolib[$codeEve], 5);
$DBILS2.=exporte($codeTri, 6); //
$DBILS2.=exporte($numPar, 3); //
$DBILS2.=initstr($dateJuge, 8, '0', ALIGN_RIGHT); // Date de jugement
$DBILS2.=initstr($dateEffet, 8, '0', ALIGN_RIGHT); // Date d'effet
$DBILS2.=initstr($dateCess, 8, '0', ALIGN_RIGHT); // Date de cessat° des paiements
$DBILS2.=exporte($vteDev, 2); // Devise de la vente
$DBILS2.=initstr($vteMnt, 11, '0', ALIGN_RIGHT); // Montant de la vente
$DBILS2.=exporte('', 33); // Particularité
$DBILS2.=exporte('', 4); // Code rubrique du Bodacc A1xx
$DBILS2.=exporte('', 6); // Code lib injecté
$tabJuge=$iRncs->getIntervenants($siren);
foreach ($tabJuge as $iDepot=>$depot) {
$DBILS2.=exporte($depot['admid'], 5); // Mot clé Nom
$DBILS2.=exporte($depot['admtype'], 1); // Type officier ministeriel
$DBILS2.=initstr($depot['admid'], 7, '0', ALIGN_RIGHT); // Code Bil
$DBILS2.=exporte($depot['admnom'], 30); // Nom syndic
$DBILS2.=initstr($depot['admadrNum'], 4, '0', ALIGN_RIGHT); // N° rue
$DBILS2.=exporte($depot['admadrInd'], 1); // Bis
$DBILS2.=exporte($depot['admadrType'], 3); // Type Voie
$DBILS2.=exporte($depot['admadrVoie'], 33); // Lib Voie
$DBILS2.=exporte($depot['admadr2'], 32); // Lieu
$DBILS2.=exporte($depot['admadrCP'], 5); // CP
$DBILS2.=exporte($depot['admadrVille'], 32); // Ville
$DBILS2.=exporte('', 10); // Tel
if ($iDepot==1) break;
}
$ligneANN=$DBILS2;
$txtAnn='';
//if ($ligne100>1) $ecrireLignePre=true;
break;
case 104: // Annonce
$ligne104++;
$txtAnn=trim($txtAnn.' '.trim(substr($ligne, 89 , 1910))); // Texte Annonce
break;
default: // Ligne non gérée
break;
}
if ($ecrireLignePre) {
fwrite($fp, $ligneOut.EOL);
$ecrireLignePre=false;
}
}
fclose($fp);
return true;
}

View File

@ -0,0 +1,282 @@
<?php
return array(
1000 => "Entrepreneur Individuel à Responsabilité Limité",
1100 => "Artisan Commerçant",
1200 => "Commerçant",
1300 => "Artisan",
1400 => "Officier public ou ministériel",
1500 => "Profession libérale",
1600 => "Exploitant agricole",
1700 => "Agent commercial",
1800 => "Associé Gérant de société",
1900 => "(Autre) personne physique",
2100 => "Indivision",
2110 => "Indivision entre personnes physiques",
2120 => "Indivision avec personne morale",
2200 => "Société créée de fait",
2210 => "Société créée de fait entre personnes physiques",
2220 => "Société créée de fait avec personne morale",
2300 => "Société en participation",
2310 => "Société en participation entre personnes physiques",
2320 => "Société en participation avec personne morale",
2385 => "Société en participation de professions libérales",
2400 => "Fiducie",
2700 => "Paroisse hors zone concordataire",
2900 => "Autre groupement de droit privé non doté de la personnalité morale",
3110 => "Représentation ou agence commerciale d'état ou organisme public étranger immatriculé au RCS",
3120 => "Société étrangère immatriculée au RCS",
3205 => "Organisation internationale",
3210 => "État collectivité ou établissement public étranger",
3220 => "Société étrangère non immatriculée au RCS",
3290 => "(Autre) personne morale de droit étranger",
4110 => "Établissement public national à caractère industriel ou commercial doté d'un comptable public",
4120 => "Établissement public national à caractère industriel ou commercial non doté d'un comptable public",
4130 => "Exploitant public",
4140 => "Établissement public local à caractère industriel ou commercial",
4150 => "Régie d'une collectivité locale à caractère industriel ou commercial",
4160 => "Institution Banque de France",
5191 => "Société de caution mutuelle",
5192 => "Société coopérative de banque populaire",
5193 => "Caisse de crédit maritime mutuel",
5194 => "Caisse (fédérale) de crédit mutuel",
5195 => "Association coopérative inscrite (droit local Alsace Moselle)",
5196 => "Caisse d'épargne et de prévoyance à forme coopérative",
5202 => "Société en nom collectif",
5203 => "Société en nom collectif coopérative",
5306 => "Société en commandite simple",
5307 => "Société en commandite simple coopérative",
5308 => "Société en commandite par actions",
5309 => "Société en commandite par actions coopérative",
5370 => "Société de Participations Financières de Profession Libérale Société en commandite par actions",
5385 => "Société d'exercice libéral en commandite par action",
5410 => "SARL nationale",
5415 => "SARL d'économie mixte",
5422 => "SARL immobilière pour le commerce et l'industrie (SICOMI)",
5426 => "Société immobilière de gestion",
5430 => "Safer en SARL",
5431 => "SARL mixte d'intérêt agricole",
5432 => "SARL d'intérêt collectif agricole",
5442 => "SARL d'attribution",
5443 => "SARL coopérative de construction",
5451 => "SARL coopérative de consommation",
5453 => "SARL coopérative artisanale",
5454 => "SARL coopérative d'intérêt maritime",
5455 => "SARL coopérative de transports",
5458 => "SARL coopérative ouvrière de production",
5459 => "SARL union de sociétés coopératives",
5460 => "Autre SARL coopérative",
5470 => "Société de Participations Financières de Profession Libérale en SARL",
5485 => "Société d'exercice libéral à responsabilité limitée",
5488 => "Entreprise Unipersonnelle à Responsabilité Limitée",
5498 => "SARL unipersonnelle",
5499 => "Autre société à responsabilité limitée",
5505 => "SA à participation ouvrière à conseil d'administration",
5510 => "SA nationale à conseil d'administration",
5515 => "SA d'économie mixte à conseil d'administration",
5520 => "Société d'investissement à capital variable (SICAV) à conseil d'administration",
5522 => "Société anonyme immobilière pour le commerce et l'industrie (SICOMI) à conseil d'administration",
5525 => "Société anonyme immobilière d'investissement à conseil d'administration",
5530 => "Safer anonyme à conseil d'administration",
5531 => "Société anonyme mixte d'intérêt agricole (SMIA) à conseil d'administration",
5532 => "Société anonyme mixte d'intérêt collectif agricole (SICA) à conseil d'administration",
5542 => "Société anonyme d'attribution à conseil d'administration",
5543 => "Société anonyme coopérative de construction à conseil d'administration",
5546 => "SA de HLM à conseil d'administration",
5547 => "SA coopérative de production de HLM à conseil d'administration",
5548 => "SA de crédit immobilier à conseil d'administration",
5551 => "SA coopérative de consommation à conseil d'administration",
5552 => "SA coopérative de commerçants détaillants à conseil d'administration",
5553 => "SA coopérative artisanale à conseil d'administration",
5554 => "SA coopérative (d'intérêt) maritime à conseil d'administration",
5555 => "SA coopérative de transports à conseil d'administration",
5558 => "SA coopérative ouvrière de production (SCOP) à conseil d'administration",
5559 => "SA union de sociétés coopératives à conseil d'administration",
5560 => "Autre SA coopérative à conseil d'administration",
5570 => "Société de Participations Financières de Profession Libérale en SA à conseil d'administration",
5585 => "Société d'exercice libéral à forme anonyme à conseil d'administration",
5599 => "Autre SA à conseil d'administration",
5605 => "SA à participation ouvrière à directoire",
5610 => "SA nationale à directoire",
5615 => "SA d'économie mixte à directoire",
5620 => "Société d'investissement à capital variable (SICAV) à directoire",
5622 => "Société immobilière pour le commerce et l'industrie (SICOMI) anonyme à directoire",
5625 => "Société immobilière d'investissement anonyme à directoire",
5630 => "Safer anonyme à directoire",
5631 => "Société anonyme mixte d'intérêt agricole",
5632 => "Société anonyme d'intérêt collectif agricole",
5642 => "Société anonyme d'attribution à directoire",
5643 => "Société anonyme coopérative de construction à directoire",
5646 => "Société anonyme de HLM à directoire",
5647 => "Société coopérative de production de HLM anonyme à directoire",
5648 => "SA de crédit immobilier à directoire",
5651 => "SA coopérative de consommation à directoire",
5652 => "SA coopérative de commerçants détaillants à directoire",
5653 => "SA coopérative artisanale à directoire",
5654 => "SA coopérative (d'intérêt) maritime à directoire",
5655 => "SA coopérative de transport à directoire",
5658 => "SA coopérative ouvrière de production (SCOP) à directoire",
5659 => "SA union de sociétés coopératives à directoire",
5660 => "(Autre) SA coopérative à directoire",
5670 => "Société de Participations Financières de Profession Libérale en SA à Directoire",
5685 => "Société d'exercice libéral à forme anonyme à directoire",
5699 => "Autre SA à directoire",
5710 => "Société par actions simplifiée",
5720 => "Société par actions simplifiée à associé unique ou société par actions simplifiée unipersonnelle",
5770 => "Société de Participations Financières de Profession Libérale en SAS",
5785 => "Société dexercice libéral par action simplifiée",
5800 => "Société européenne",
6100 => "Caisse dépargne et de prévoyance",
6200 => "Groupement d'intérêt économique",
6210 => "Groupement européen dintérêt économique",
6220 => "Groupement dintérêt économique",
6316 => "Coopérative dutilisation de matériel agricole en commun",
6317 => "Société coopérative agricole",
6318 => "Union de sociétés coopératives agricoles",
6411 => "Société dassurance mutuelle",
6412 => "Société mutuelle d'assurance",
6413 => "Union de sociétés mutuelles d'assurances",
6414 => "Autre société non commerciale d'assurance",
6511 => "Société Interprofessionnelle de Soins Ambulatoires",
6521 => "Société civile de placement collectif immobilier",
6532 => "Société civile dintérêt collectif agricole",
6533 => "Groupement agricole dexploitation en commun",
6534 => "Groupement foncier agricole",
6535 => "Groupement agricole foncier",
6536 => "Groupement forestier",
6537 => "Groupement pastoral",
6538 => "Groupement foncier rural",
6539 => "Société civile foncière",
6540 => "Société civile immobilière",
6541 => "Société civile immobilière de construction vente",
6542 => "Société civile dattribution",
6543 => "Société civile coopérative de construction",
6544 => "Société immobilière d'accession progressive à la propriété",
6551 => "Société civile coopérative de consommation",
6554 => "Société civile coopérative (dintérêt) maritime",
6558 => "Société civile coopérative entre médecins",
6560 => "Autre société civile coopérative",
6561 => "SCP davocats",
6562 => "SCP davocats aux conseil",
6563 => "SCP davoués dappel",
6564 => "SCP d'huissiers",
6565 => "SCP de notaires",
6566 => "SCP de commissaires-priseurs",
6567 => "SCP de greffiers de tribunal de commerce",
6568 => "SCP de conseils juridiques",
6569 => "SCP de commissaires aux comptes",
6571 => "SCP de médecins",
6572 => "SCP de dentistes",
6573 => "SCP dinfirmiers",
6574 => "SCP de masseurs kinésithérapeutes",
6575 => "SCP de directeurs de laboratoire danalyse médicale",
6576 => "SCP de vétérinaires",
6577 => "SCP de géomètres-experts",
6578 => "SCP darchitectes",
6585 => "(Autres) Société Civile professionnelle",
6588 => "Société civile laitière",
6589 => "Société civile de moyens",
6595 => "Caisse (locale) de crédit mutuel",
6596 => "Caisse de crédit agricole mutuel",
6597 => "Société civile dexploitation agricole",
6598 => "Exploitation agricole à responsabilité limitée",
6599 => "Autre société civile",
6901 => "Autres personnes de droit privé inscrites au registre du commerce et des sociétés",
7111 => "Autorité constitutionnelle",
7112 => "Autorité administrative indépendante",
7113 => "Ministère",
7120 => "Service central dun ministère",
7130 => "Service du ministère des Postes et Télécommunications",
7150 => "Service du ministère de la Défense",
7160 => "Service déconcentré à compétence nation. Dun ministère (hors Défense)",
7171 => "Service déconcentré de lÉtat à compétence (inter) régionale",
7172 => "Service déconcentré de lÉtat à compétence (inter) départementale",
7179 => "(Autre) Service déconcentré de lÉtat à compétence territoriale",
7190 => "Ecole nationale non dotée de la personnalité morale",
7210 => "Commune et commune nouvelle",
7220 => "Département",
7225 => "Collectivité et territoire d'Outre Mer",
7229 => "(Autre) Collectivité territoriale",
7230 => "Région",
7312 => "Commune associée et commune déléguée",
7313 => "Section de commune",
7314 => "Ensemble urbain",
7321 => "Association syndicale autorisée",
7322 => "Association foncière urbaine",
7323 => "Association foncière de remembrement",
7331 => "Établissement public local denseignement",
7340 => "Pôle métropolitain",
7341 => "Secteur de commune",
7342 => "District urbain",
7343 => "Communauté urbaine",
7344 => "Métropole",
7345 => "Syndicat intercommunal à vocation multiple",
7346 => "Communauté de communes",
7347 => "Communauté de villes",
7348 => "Communauté d'agglomération",
7349 => "Autre établissement public local de coopération non spécialisé ou entente",
7351 => "Institution interdépartemental ou entente",
7352 => "Institution interrégionale ou entente",
7353 => "Syndicat intercommunal à vocation unique",
7354 => "Syndicat mixte communal",
7355 => "Autre syndicat mixte",
7356 => "Commission syndicale pour la gestion des biens indivis des communes",
7361 => "Centre communal d'action sociale",
7362 => "Caisse des écoles",
7363 => "Caisse de crédit municipal",
7364 => "Établissement d'hospitalisation",
7365 => "Syndicat inter hospitalier",
7366 => "Établissement public local social et médico-social",
7371 => "Office public d'habitation à loyer modéré",
7372 => "Service départemental d'incendie",
7373 => "Établissement public local culturel",
7378 => "Régie d'une collectivité locale à caractère administratif",
7379 => "(Autre) Établissement public administratif local",
7381 => "Organisme consulaire",
7382 => "Établissement public national ayant fonction d'administration centrale",
7383 => "Établissement public national à caractère scientifique culturel et professionnel",
7384 => "Autre établissement public national d'enseignement",
7385 => "Autre établissement public national administratif à compétence territoriale limitée",
7389 => "Établissement public national à caractère administratif",
7410 => "Groupement d'intérêt public",
7430 => "Établissement public des cultes d'Alsace-Lorraine",
7450 => "Etablissement public administratif, cercle et foyer dans les armées",
7470 => "Groupement de coopération sanitaire à gestion publique",
7490 => "Autre personne morale de droit administratif",
7510 => "Service d'une collectivité locale à comptabilité distincte",
7520 => "Régie d'une collectivité locale non dotée de la personnalité morale",
8110 => "Régime général de la sécurité sociale",
8120 => "Régime spécial de sécurité sociale",
8130 => "Institution de retraite complémentaire",
8140 => "Mutualité sociale agricole",
8150 => "Régime maladie des non-salariés non agricoles",
8160 => "Régime vieillesse ne dépendant pas du régime général de la sécurité sociale",
8170 => "Régime d'assurance chômage",
8190 => "Autre régime de prévoyance sociale",
8210 => "Mutuelle",
8250 => "Assurance mutuelle agricole",
8290 => "Autre organisme mutualiste",
8310 => "Comité central d'entreprise",
8311 => "Comité d'établissement",
8410 => "Syndicat de salariés",
8420 => "Syndicat patronal",
8450 => "Ordre professionnel ou assimilé",
8470 => "Centre technique industriel ou comité professionnel du développement économique",
8490 => "Autre organisme professionnel",
8510 => "Institution de prévoyance",
8520 => "Institution de retraite supplémentaire ",
9110 => "Syndicat de copropriété",
9150 => "Association syndicale libre",
9210 => "Association non déclarée",
9220 => "Association déclarée",
9221 => "Association déclarée \"entreprises d'insertion par l'économique\"",
9222 => "Association intermédiaire",
9223 => "Groupement d'employeurs",
9224 => "Association d'avocats à responsabilité professionnelle individuelle",
9230 => "Association déclarée reconnue d'utilité publique",
9240 => "Congrégation",
9260 => "Association de droit local",
9300 => "Fondation",
9900 => "Autre personne morale de droit privé",
9970 => "Groupement de coopération sanitaire à gestion privée",
6500 => "",
);

View File

@ -0,0 +1,747 @@
<?php
return array(
'0111Z' => "A111",
'0112Z' => "A112",
'0113Z' => "A113",
'0114Z' => "A114",
'0115Z' => "A115",
'0116Z' => "A116",
'0119Z' => "A119",
'0121Z' => "A121",
'0122Z' => "A122",
'0123Z' => "A123",
'0124Z' => "A124",
'0125Z' => "A125",
'0126Z' => "A126",
'0127Z' => "A127",
'0128Z' => "A128",
'0129Z' => "A129",
'0130Z' => "A130",
'0141Z' => "A141",
'0142Z' => "A142",
'0143Z' => "A143",
'0144Z' => "A144",
'0145Z' => "A145",
'0146Z' => "A146",
'0147Z' => "A147",
'0149Z' => "A149",
'0150Z' => "A150",
'0161Z' => "A161",
'0162Z' => "A162",
'0163Z' => "A163",
'0164Z' => "A164",
'0170Z' => "A170",
'0210Z' => "A210",
'0220Z' => "A220",
'0230Z' => "A230",
'0240Z' => "A240",
'0311Z' => "A311",
'0312Z' => "A312",
'0321Z' => "A321",
'0322Z' => "A322",
'0510Z' => "B510",
'0520Z' => "B520",
'0610Z' => "B610",
'0620Z' => "B620",
'0710Z' => "B710",
'0721Z' => "B721",
'0729Z' => "B729",
'0811Z' => "B811",
'0812Z' => "B812",
'0891Z' => "B891",
'0892Z' => "B892",
'0893Z' => "B893",
'0899Z' => "B899",
'0910Z' => "B910",
'0990Z' => "B990",
'1011Z' => "C1011",
'1012Z' => "C1012",
'1013A' => "C1013",
'1013B' => "C1013",
'1020Z' => "C1020",
'1031Z' => "C1031",
'1032Z' => "C1032",
'1039A' => "C1039",
'1039B' => "C1039",
'1041A' => "C1041",
'1041B' => "C1041",
'1042Z' => "C1042",
'1051A' => "C1051",
'1051B' => "C1051",
'1051C' => "C1051",
'1051D' => "C1051",
'1052Z' => "C1052",
'1061A' => "C1061",
'1061B' => "C1061",
'1062Z' => "C1062",
'1071A' => "C1071",
'1071B' => "C1071",
'1071C' => "C1071",
'1071D' => "C1071",
'1072Z' => "C1072",
'1073Z' => "C1073",
'1081Z' => "C1081",
'1082Z' => "C1082",
'1083Z' => "C1083",
'1084Z' => "C1084",
'1085Z' => "C1085",
'1086Z' => "C1086",
'1089Z' => "C1089",
'1091Z' => "C1091",
'1092Z' => "C1092",
'1101Z' => "C1101",
'1102A' => "C1102",
'1102B' => "C1102",
'1103Z' => "C1103",
'1104Z' => "C1104",
'1105Z' => "C1105",
'1106Z' => "C1106",
'1107A' => "C1107",
'1107B' => "C1107",
'1200Z' => "C1200",
'1310Z' => "C1310",
'1320Z' => "C1320",
'1330Z' => "C1330",
'1391Z' => "C1391",
'1392Z' => "C1392",
'1393Z' => "C1393",
'1394Z' => "C1394",
'1395Z' => "C1395",
'1396Z' => "C1396",
'1399Z' => "C1399",
'1411Z' => "C1411",
'1412Z' => "C1412",
'1413Z' => "C1413",
'1414Z' => "C1414",
'1419Z' => "C1419",
'1420Z' => "C1420",
'1431Z' => "C1431",
'1439Z' => "C1439",
'1511Z' => "C1511",
'1512Z' => "C1512",
'1520Z' => "C1520",
'1610A' => "C1610",
'1610B' => "C1610",
'1621Z' => "C1621",
'1622Z' => "C1622",
'1623Z' => "C1623",
'1624Z' => "C1624",
'1629Z' => "C1629",
'1711Z' => "C1711",
'1712Z' => "C1712",
'1721A' => "C1721",
'1721B' => "C1721",
'1721C' => "C1721",
'1722Z' => "C1722",
'1723Z' => "C1723",
'1724Z' => "C1724",
'1729Z' => "C1729",
'1811Z' => "C1811",
'1812Z' => "C1812",
'1813Z' => "C1813",
'1814Z' => "C1814",
'1820Z' => "C1820",
'1910Z' => "C1910",
'1920Z' => "C1920",
'2011Z' => "C2011",
'2012Z' => "C2012",
'2013A' => "C2013",
'2013B' => "C2013",
'2014Z' => "C2014",
'2015Z' => "C2015",
'2016Z' => "C2016",
'2017Z' => "C2017",
'2020Z' => "C2020",
'2030Z' => "C2030",
'2041Z' => "C2041",
'2042Z' => "C2042",
'2051Z' => "C2051",
'2052Z' => "C2052",
'2053Z' => "C2053",
'2059Z' => "C2059",
'2060Z' => "C2060",
'2110Z' => "C2110",
'2120Z' => "C2120",
'2211Z' => "C2211",
'2219Z' => "C2219",
'2221Z' => "C2221",
'2222Z' => "C2222",
'2223Z' => "C2223",
'2229A' => "C2229",
'2229B' => "C2229",
'2311Z' => "C2311",
'2312Z' => "C2312",
'2313Z' => "C2313",
'2314Z' => "C2314",
'2319Z' => "C2319",
'2320Z' => "C2320",
'2331Z' => "C2331",
'2332Z' => "C2332",
'2341Z' => "C2341",
'2342Z' => "C2342",
'2343Z' => "C2343",
'2344Z' => "C2344",
'2349Z' => "C2349",
'2351Z' => "C2351",
'2352Z' => "C2352",
'2361Z' => "C2361",
'2362Z' => "C2362",
'2363Z' => "C2363",
'2364Z' => "C2364",
'2365Z' => "C2365",
'2369Z' => "C2369",
'2370Z' => "C2370",
'2391Z' => "C2391",
'2399Z' => "C2399",
'2410Z' => "C2410",
'2420Z' => "C2420",
'2431Z' => "C2431",
'2432Z' => "C2432",
'2433Z' => "C2433",
'2434Z' => "C2434",
'2441Z' => "C2441",
'2442Z' => "C2442",
'2443Z' => "C2443",
'2444Z' => "C2444",
'2445Z' => "C2445",
'2446Z' => "C2446",
'2451Z' => "C2451",
'2452Z' => "C2452",
'2453Z' => "C2453",
'2454Z' => "C2454",
'2511Z' => "C2511",
'2512Z' => "C2512",
'2521Z' => "C2521",
'2529Z' => "C2529",
'2530Z' => "C2530",
'2540Z' => "C2540",
'2550A' => "C2550",
'2550B' => "C2550",
'2561Z' => "C2561",
'2562A' => "C2562",
'2562B' => "C2562",
'2571Z' => "C2571",
'2572Z' => "C2572",
'2573A' => "C2573",
'2573B' => "C2573",
'2591Z' => "C2591",
'2592Z' => "C2592",
'2593Z' => "C2593",
'2594Z' => "C2594",
'2599A' => "C2599",
'2599B' => "C2599",
'2611Z' => "C2611",
'2612Z' => "C2612",
'2620Z' => "C2620",
'2630Z' => "C2630",
'2640Z' => "C2640",
'2651A' => "C2651",
'2651B' => "C2651",
'2652Z' => "C2652",
'2660Z' => "C2660",
'2670Z' => "C2670",
'2680Z' => "C2680",
'2711Z' => "C2711",
'2712Z' => "C2712",
'2720Z' => "C2720",
'2731Z' => "C2731",
'2732Z' => "C2732",
'2733Z' => "C2733",
'2740Z' => "C2740",
'2751Z' => "C2751",
'2752Z' => "C2752",
'2790Z' => "C2790",
'2811Z' => "C2811",
'2812Z' => "C2812",
'2813Z' => "C2813",
'2814Z' => "C2814",
'2815Z' => "C2815",
'2821Z' => "C2821",
'2822Z' => "C2822",
'2823Z' => "C2823",
'2824Z' => "C2824",
'2825Z' => "C2825",
'2829A' => "C2829",
'2829B' => "C2829",
'2830Z' => "C2830",
'2841Z' => "C2841",
'2849Z' => "C2849",
'2891Z' => "C2891",
'2892Z' => "C2892",
'2893Z' => "C2893",
'2894Z' => "C2894",
'2895Z' => "C2895",
'2896Z' => "C2896",
'2899A' => "C2899",
'2899B' => "C2899",
'2910Z' => "C2910",
'2920Z' => "C2920",
'2931Z' => "C2931",
'2932Z' => "C2932",
'3011Z' => "C3011",
'3012Z' => "C3012",
'3020Z' => "C3020",
'3030Z' => "C3030",
'3040Z' => "C3040",
'3091Z' => "C3091",
'3092Z' => "C3092",
'3099Z' => "C3099",
'3101Z' => "C3101",
'3102Z' => "C3102",
'3103Z' => "C3103",
'3109A' => "C3109",
'3109B' => "C3109",
'3211Z' => "C3211",
'3212Z' => "C3212",
'3213Z' => "C3213",
'3220Z' => "C3220",
'3230Z' => "C3230",
'3240Z' => "C3240",
'3250A' => "C3250",
'3250B' => "C3250",
'3291Z' => "C3291",
'3299Z' => "C3299",
'3311Z' => "C3311",
'3312Z' => "C3312",
'3313Z' => "C3313",
'3314Z' => "C3314",
'3315Z' => "C3315",
'3316Z' => "C3316",
'3317Z' => "C3317",
'3319Z' => "C3319",
'3320A' => "C3320",
'3320B' => "C3320",
'3320C' => "C3320",
'3320D' => "C3320",
'3511Z' => "D3511",
'3512Z' => "D3512",
'3513Z' => "D3513",
'3514Z' => "D3514",
'3521Z' => "D3521",
'3522Z' => "D3522",
'3523Z' => "D3523",
'3530Z' => "D3530",
'3600Z' => "E3600",
'3700Z' => "E3700",
'3811Z' => "E3811",
'3812Z' => "E3812",
'3821Z' => "E3821",
'3822Z' => "E3822",
'3831Z' => "E3831",
'3832Z' => "E3832",
'3900Z' => "E3900",
'4110A' => "F4110",
'4110B' => "F4110",
'4110C' => "F4110",
'4110D' => "F4110",
'4120A' => "F4120",
'4120B' => "F4120",
'4211Z' => "F4211",
'4212Z' => "F4212",
'4213A' => "F4213",
'4213B' => "F4213",
'4221Z' => "F4221",
'4222Z' => "F4222",
'4291Z' => "F4291",
'4299Z' => "F4299",
'4311Z' => "F4311",
'4312A' => "F4312",
'4312B' => "F4312",
'4313Z' => "F4313",
'4321A' => "F4321",
'4321B' => "F4321",
'4322A' => "F4322",
'4322B' => "F4322",
'4329A' => "F4329",
'4329B' => "F4329",
'4331Z' => "F4331",
'4332A' => "F4332",
'4332B' => "F4332",
'4332C' => "F4332",
'4333Z' => "F4333",
'4334Z' => "F4334",
'4339Z' => "F4339",
'4391A' => "F4391",
'4391B' => "F4391",
'4399A' => "F4399",
'4399B' => "F4399",
'4399C' => "F4399",
'4399D' => "F4399",
'4399E' => "F4399",
'4511Z' => "G4511",
'4519Z' => "G4519",
'4520A' => "G4520",
'4520B' => "G4520",
'4531Z' => "G4531",
'4532Z' => "G4532",
'4540Z' => "G4540",
'4611Z' => "G4611",
'4612A' => "G4612",
'4612B' => "G4612",
'4613Z' => "G4613",
'4614Z' => "G4614",
'4615Z' => "G4615",
'4616Z' => "G4616",
'4617A' => "G4617",
'4617B' => "G4617",
'4618Z' => "G4618",
'4619A' => "G4619",
'4619B' => "G4619",
'4621Z' => "G4621",
'4622Z' => "G4622",
'4623Z' => "G4623",
'4624Z' => "G4624",
'4631Z' => "G4631",
'4632A' => "G4632",
'4632B' => "G4632",
'4632C' => "G4632",
'4633Z' => "G4633",
'4634Z' => "G4634",
'4635Z' => "G4635",
'4636Z' => "G4636",
'4637Z' => "G4637",
'4638A' => "G4638",
'4638B' => "G4638",
'4639A' => "G4639",
'4639B' => "G4639",
'4641Z' => "G4641",
'4642Z' => "G4642",
'4643Z' => "G4643",
'4644Z' => "G4644",
'4645Z' => "G4645",
'4646Z' => "G4646",
'4647Z' => "G4647",
'4648Z' => "G4648",
'4649Z' => "G4649",
'4651Z' => "G4651",
'4652Z' => "G4652",
'4661Z' => "G4661",
'4662Z' => "G4662",
'4663Z' => "G4663",
'4664Z' => "G4664",
'4665Z' => "G4665",
'4666Z' => "G4666",
'4669A' => "G4669",
'4669B' => "G4669",
'4669C' => "G4669",
'4671Z' => "G4671",
'4672Z' => "G4672",
'4673A' => "G4673",
'4673B' => "G4673",
'4674A' => "G4674",
'4674B' => "G4674",
'4675Z' => "G4675",
'4676Z' => "G4676",
'4677Z' => "G4677",
'4690Z' => "G4690",
'4711A' => "G4711",
'4711B' => "G4711",
'4711C' => "G4711",
'4711D' => "G4711",
'4711E' => "G4711",
'4711F' => "G4711",
'4719A' => "G4719",
'4719B' => "G4719",
'4721Z' => "G4721",
'4722Z' => "G4722",
'4723Z' => "G4723",
'4724Z' => "G4724",
'4725Z' => "G4725",
'4726Z' => "G4726",
'4729Z' => "G4729",
'4730Z' => "G4730",
'4741Z' => "G4741",
'4742Z' => "G4742",
'4743Z' => "G4743",
'4751Z' => "G4751",
'4752A' => "G4752",
'4752B' => "G4752",
'4753Z' => "G4753",
'4754Z' => "G4754",
'4759A' => "G4759",
'4759B' => "G4759",
'4761Z' => "G4761",
'4762Z' => "G4762",
'4763Z' => "G4763",
'4764Z' => "G4764",
'4765Z' => "G4765",
'4771Z' => "G4771",
'4772A' => "G4772",
'4772B' => "G4772",
'4773Z' => "G4773",
'4774Z' => "G4774",
'4775Z' => "G4775",
'4776Z' => "G4776",
'4777Z' => "G4777",
'4778A' => "G4778",
'4778B' => "G4778",
'4778C' => "G4778",
'4779Z' => "G4779",
'4781Z' => "G4781",
'4782Z' => "G4782",
'4789Z' => "G4789",
'4791A' => "G4791",
'4791B' => "G4791",
'4799A' => "G4799",
'4799B' => "G4799",
'4910Z' => "H4910",
'4920Z' => "H4920",
'4931Z' => "H4931",
'4932Z' => "H4932",
'4939A' => "H4939",
'4939B' => "H4939",
'4939C' => "H4939",
'4941A' => "H4941",
'4941B' => "H4941",
'4941C' => "H4941",
'4942Z' => "H4942",
'4950Z' => "H4950",
'5010Z' => "H5010",
'5020Z' => "H5020",
'5030Z' => "H5030",
'5040Z' => "H5040",
'5110Z' => "H5110",
'5121Z' => "H5121",
'5122Z' => "H5122",
'5210A' => "H5210",
'5210B' => "H5210",
'5221Z' => "H5221",
'5222Z' => "H5222",
'5223Z' => "H5223",
'5224A' => "H5224",
'5224B' => "H5224",
'5229A' => "H5229",
'5229B' => "H5229",
'5310Z' => "H5310",
'5320Z' => "H5320",
'5510Z' => "I5510",
'5520Z' => "I5520",
'5530Z' => "I5530",
'5590Z' => "I5590",
'5610A' => "I5610",
'5610B' => "I5610",
'5610C' => "I5610",
'5621Z' => "I5621",
'5629A' => "I5629",
'5629B' => "I5629",
'5630Z' => "I5630",
'5811Z' => "J5811",
'5812Z' => "J5812",
'5813Z' => "J5813",
'5814Z' => "J5814",
'5819Z' => "J5819",
'5821Z' => "J5821",
'5829A' => "J5829",
'5829B' => "J5829",
'5829C' => "J5829",
'5911A' => "J5911",
'5911B' => "J5911",
'5911C' => "J5911",
'5912Z' => "J5912",
'5913A' => "J5913",
'5913B' => "J5913",
'5914Z' => "J5914",
'5920Z' => "J5920",
'6010Z' => "J6010",
'6020A' => "J6020",
'6020B' => "J6020",
'6110Z' => "J6110",
'6120Z' => "J6120",
'6130Z' => "J6130",
'6190Z' => "J6190",
'6201Z' => "J6201",
'6202A' => "J6202",
'6202B' => "J6202",
'6203Z' => "J6203",
'6209Z' => "J6209",
'6311Z' => "J6311",
'6312Z' => "J6312",
'6391Z' => "J6391",
'6399Z' => "J6399",
'6411Z' => "K6411",
'6419Z' => "K6419",
'6420Z' => "K6420",
'6430Z' => "K6430",
'6491Z' => "K6491",
'6492Z' => "K6492",
'6499Z' => "K6499",
'6511Z' => "K6511",
'6512Z' => "K6512",
'6520Z' => "K6520",
'6530Z' => "K6530",
'6611Z' => "K6611",
'6612Z' => "K6612",
'6619A' => "K6619",
'6619B' => "K6619",
'6621Z' => "K6621",
'6622Z' => "K6622",
'6629Z' => "K6629",
'6630Z' => "K6630",
'6810Z' => "L6810",
'6820A' => "L6820",
'6820B' => "L6820",
'6831Z' => "L6831",
'6832A' => "L6832",
'6832B' => "L6832",
'6910Z' => "M6910",
'6920Z' => "M6920",
'7010Z' => "M7010",
'7021Z' => "M7021",
'7022Z' => "M7022",
'7111Z' => "M7111",
'7112A' => "M7112",
'7112B' => "M7112",
'7120A' => "M7120",
'7120B' => "M7120",
'7211Z' => "M7211",
'7219Z' => "M7219",
'7220Z' => "M7220",
'7311Z' => "M7311",
'7312Z' => "M7312",
'7320Z' => "M7320",
'7410Z' => "M7410",
'7420Z' => "M7420",
'7430Z' => "M7430",
'7490A' => "M7490",
'7490B' => "M7490",
'7500Z' => "M7500",
'7711A' => "N7711",
'7711B' => "N7711",
'7712Z' => "N7712",
'7721Z' => "N7721",
'7722Z' => "N7722",
'7729Z' => "N7729",
'7731Z' => "N7731",
'7732Z' => "N7732",
'7733Z' => "N7733",
'7734Z' => "N7734",
'7735Z' => "N7735",
'7739Z' => "N7739",
'7740Z' => "N7740",
'7810Z' => "N7810",
'7820Z' => "N7820",
'7830Z' => "N7830",
'7911Z' => "N7911",
'7912Z' => "N7912",
'7990Z' => "N7990",
'8010Z' => "N8010",
'8020Z' => "N8020",
'8030Z' => "N8030",
'8110Z' => "N8110",
'8121Z' => "N8121",
'8122Z' => "N8122",
'8129A' => "N8129",
'8129B' => "N8129",
'8130Z' => "N8130",
'8211Z' => "N8211",
'8219Z' => "N8219",
'8220Z' => "N8220",
'8230Z' => "N8230",
'8291Z' => "N8291",
'8292Z' => "N8292",
'8299Z' => "N8299",
'8411Z' => "O8411",
'8412Z' => "O8412",
'8413Z' => "O8413",
'8421Z' => "O8421",
'8422Z' => "O8422",
'8423Z' => "O8423",
'8424Z' => "O8424",
'8425Z' => "O8425",
'8430A' => "O8430",
'8430B' => "O8430",
'8430C' => "O8430",
'8510Z' => "P8510",
'8520Z' => "P8520",
'8531Z' => "P8531",
'8532Z' => "P8532",
'8541Z' => "P8541",
'8542Z' => "P8542",
'8551Z' => "P8551",
'8552Z' => "P8552",
'8553Z' => "P8553",
'8559A' => "P8559",
'8559B' => "P8559",
'8560Z' => "P8560",
'8610Z' => "Q8610",
'8621Z' => "Q8621",
'8622A' => "Q8622",
'8622B' => "Q8622",
'8622C' => "Q8622",
'8623Z' => "Q8623",
'8690A' => "Q8690",
'8690B' => "Q8690",
'8690C' => "Q8690",
'8690D' => "Q8690",
'8690E' => "Q8690",
'8690F' => "Q8690",
'8710A' => "Q8710",
'8710B' => "Q8710",
'8710C' => "Q8710",
'8720A' => "Q8720",
'8720B' => "Q8720",
'8730A' => "Q8730",
'8730B' => "Q8730",
'8790A' => "Q8790",
'8790B' => "Q8790",
'8810A' => "Q8810",
'8810B' => "Q8810",
'8810C' => "Q8810",
'8891A' => "Q8891",
'8891B' => "Q8891",
'8899A' => "Q8899",
'8899B' => "Q8899",
'9001Z' => "R9001",
'9002Z' => "R9002",
'9003A' => "R9003",
'9003B' => "R9003",
'9004Z' => "R9004",
'9101Z' => "R9101",
'9102Z' => "R9102",
'9103Z' => "R9103",
'9104Z' => "R9104",
'9200Z' => "R9200",
'9311Z' => "R9311",
'9312Z' => "R9312",
'9313Z' => "R9313",
'9319Z' => "R9319",
'9321Z' => "R9321",
'9329Z' => "R9329",
'9411Z' => "S9411",
'9412Z' => "S9412",
'9420Z' => "S9420",
'9491Z' => "S9491",
'9492Z' => "S9492",
'9499Z' => "S9499",
'9511Z' => "S9511",
'9512Z' => "S9512",
'9521Z' => "S9521",
'9522Z' => "S9522",
'9523Z' => "S9523",
'9524Z' => "S9524",
'9525Z' => "S9525",
'9529Z' => "S9529",
'9601A' => "S9601",
'9601B' => "S9601",
'9602A' => "S9602",
'9602B' => "S9602",
'9603Z' => "S9603",
'9604Z' => "S9604",
'9609Z' => "S9609",
'9700Z' => "T9700",
'9810Z' => "T9810",
'9820Z' => "T9820",
'9900Z' => "U9900",
'0000Z' => "Z000",
'742C' => "742C",
'524C' => "524C",
'8111' => "8111",
'452A' => "452A",
'000Z' => "00Z",
'526D' => "526D",
'8121' => "8121",
'7904' => "7904",
'745A' => "745A",
'702A' => "702A",
'702C' => "702C",
);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,686 @@
<?php
return array(
'1' => "CULTURE ET PRODUCTION ANIMALE, CHASSE ET SERVICES ANNEXES",
'16' => "TRAVAIL DU BOIS ET FABRICATION D'ARTICLES EN BOIS ET EN LIÈGE, À L'EXCEPTION DES MEUBLES ; FABRICATION D'ARTICLES EN VANNERIE ET SPARTERIE",
'0162ZP' => "Maréchalerie",
'7' => "EXTRACTION DE MINERAIS MÉTALLIQUES",
'72' => "EXTRACTION DE MINERAIS DE MÉTAUX NON FERREUX",
'0729ZP' => "Orpaillage",
'8' => "AUTRES INDUSTRIES EXTRACTIVES",
'0811ZA' => "Extraction de pierres ornementales et de construction et d'ardoise",
'0811ZB' => "Extraction de calcaire industriel, de gypse et de craie",
'0812ZZ' => "Exploitation de gravières et sablières, extraction d'argiles et de kaolin",
'0891ZZ' => "Extraction des minéraux chimiques et d'engrais minéraux",
'0892ZZ' => "Extraction de tourbe",
'0893ZZ' => "Production de sel",
'0899ZZ' => "Autres activités extractives n.c.a",
'9' => "SERVICES DE SOUTIEN AUX INDUSTRIES EXTRACTIVES",
'99' => "ACTIVITÉS DE SOUTIEN AUX AUTRES INDUSTRIES EXTRACTIVES",
'0990ZP' => "Activités de soutien aux autres industries extractives",
'10' => "INDUSTRIES ALIMENTAIRES",
'101' => "TRANSFORMATION ET CONSERVATION DE LA VIANDE ET PRÉPARATION DE PRODUITS À BASE DE VIANDE",
'1011ZZ' => "Transformation et conservation de la viande de boucherie",
'1012ZZ' => "Transformation et conservation de la viande de volaille",
'1013AZ' => "Préparation industrielle de produits à base de viande",
'1013BZ' => "Charcuterie",
'102' => "PRÉPARATIONS ET CONSERVES À BASE DE POISSONS ET",
'1020ZZ' => "Transformation et conservation de poisson, de crustacés et de mollusques",
'103' => "TRANSFORMATION ET CONSERVATION DE FRUITS ET LÉGUMES",
'1031ZZ' => "Transformation et conservation de pommes de terre",
'1032ZZ' => "Préparation de jus de fruits et légumes",
'1039AP' => "Autre transformation et conservation de longue durée de légumes",
'1039BP' => "Transformation et conservation de fruits",
'104' => "FABRICATION D'HUILES ET GRAISSES VÉGÉTALES ET ANIMALES",
'1041AZ' => "Fabrication d'huiles et graisses brutes",
'1041BZ' => "Fabrication d'huiles et graisses raffinées",
'1042ZZ' => "Fabrication de margarine et graisses comestibles similaires",
'105' => "FABRICATION DE PRODUITS LAITIERS",
'1051AZ' => "Fabrication de lait liquide et de produits frais",
'1051BZ' => "Fabrication de beurre",
'1051CZ' => "Fabrication de fromage",
'1051DZ' => "Fabrication d'autres produits laitiers",
'1052ZZ' => "Fabrication de glaces et sorbets",
'106' => "TRAVAIL DES GRAINS ; FABRICATION DE PRODUITS AMYLACÉS",
'1061AZ' => "Meunerie",
'1061BZ' => "Autres activités du travail des grains",
'1062ZZ' => "Fabrication de produits amylacés",
'107' => "FABRICATION DE PRODUITS DE BOULANGERIE-PÂTISSERIE ET DE PÂTES ALIMENTAIRES",
'1071AA' => "Fabrication industrielle de pain",
'1071AB' => "Fabrication industrielle de pâtisserie fraîche",
'1071CA' => "Boulangerie",
'1071CB' => "Boulangerie-pâtisserie",
'1071DZ' => "Pâtisserie",
'1072ZZ' => "Fabrication de biscuits, biscottes et pâtisseries de conservation",
'1073ZZ' => "Fabrication de pâtes alimentaires",
'108' => "FABRICATION D'AUTRES PRODUITS ALIMENTAIRES",
'1081ZZ' => "Fabrication de sucre",
'1082ZZ' => "Fabrication de cacao, chocolat et de produits de confiserie",
'1083ZZ' => "Transformation du thé et du café",
'1084ZZ' => "Fabrication de condiments et assaisonnements",
'1085ZZ' => "Fabrication de plats préparés",
'1086ZZ' => "Fabrication d'aliments homogénéisés et diététiques",
'1089ZZ' => "Fabrication d'autres produits alimentaires n.c.a.",
'109' => "FABRICATION D'ALIMENTS POUR ANIMAUX",
'1091ZZ' => "Fabrication d'aliments pour animaux de ferme",
'1092ZZ' => "Fabrication d'aliments pour animaux de compagnie",
'11' => "FABRICATION DE BOISSONS",
'110' => "FABRICATION DE BOISSONS",
'1101ZQ' => "Production d'eaux de vie naturelles",
'1101ZR' => "Fabrication de spiritueux",
'1102AP' => "Fabrication de vins effervescents selon la méthode champenoise ou autres méthodes",
'1103ZZ' => "Fabrication de cidre et de vins de fruits",
'1104ZZ' => "Production d'autres boissons fermentées non distillées",
'1105ZZ' => "Fabrication de bière",
'1106ZZ' => "Fabrication de malt",
'1107AZ' => "Industrie des eaux de table",
'1107BZ' => "Production de boissons rafraîchissantes",
'13' => "FABRICATION DE TEXTILES",
'131' => "PRÉPARATION DE FIBRES TEXTILES ET FILATURE",
'1310ZA' => "Filature et préparation de la laine",
'1310ZB' => "Moulinage et texturation de la soie et des textiles artificiels ou synthétiques",
'1310ZC' => "Préparation et filature d'autres fibres",
'132' => "TISSAGE",
'1320ZA' => "Tissage de l'industrie cotonnière",
'1320ZB' => "Tissage de l'industrie lainière",
'1320ZC' => "Tissage de soieries",
'1320ZD' => "Tissage d'autres textiles",
'133' => "ENNOBLISSEMENT TEXTILE",
'1330ZZ' => "Ennoblissement textile",
'139' => "FABRICATION D'AUTRES TEXTILES",
'1391ZZ' => "Fabrication d'étoffes à mailles",
'1392ZA' => "Fabrication de linge de maison et d'articles d'ameublement",
'1392ZB' => "Fabrication de tapisserie à la main",
'1392ZC' => "Fabrication de coussins et petits articles textiles divers",
'1392ZD' => "Voilerie",
'1392ZE' => "Fabrication d'articles de campement en textile",
'1392ZF' => "Fabrication de bâches, lambrequins et autres articles en textile",
'1393ZZ' => "Fabrication de tapis et moquettes",
'1394ZZ' => "Fabrication de ficelles, cordes et filets",
'1395ZZ' => "Fabrication de non-tissés, sauf habillement",
'1396ZZ' => "Fabrication de textiles techniques et industriels",
'1399ZA' => "Fabrication de feutres",
'1399ZB' => "Fabrication de tulles, lacets et autres textiles n.c.a",
'14' => "INDUSTRIE DE L'HABILLEMENT",
'141' => "FABRICATION DE VÊTEMENTS, AUTRES QU'EN FOURRURE",
'1411ZZ' => "Fabrication de vêtements en cuir",
'1412ZZ' => "Fabrication de vêtements de travail",
'1413ZA' => "Modéliste-styliste",
'1413ZB' => "Fabrication de vêtements féminins sur mesure",
'1413ZC' => "Fabrication de vêtements masculins sur mesure",
'1413ZD' => "Chemiserie sur mesure",
'1413ZE' => "Fabrication de gaines, corsets et autres vêtements sur mesure",
'1413ZF' => "Fabrication de vêtements de dessus pour hommes et garçonnets",
'1413ZG' => "Fabrication de vêtements de dessus pour femmes et fillettes",
'1414ZZ' => "Fabrication de vêtements de dessous",
'1419ZA' => "Fabrication de layette",
'1419ZB' => "Fabrication de chapellerie",
'1419ZC' => "Modiste",
'1419ZD' => "Fabrication d'écharpes, cravates, foulards",
'1419ZE' => "Fabrication d'autres vêtements et accessoires",
'1419ZF' => "Fabrication d'accessoires en cuir",
'142' => "FABRICATION D'ARTICLES EN FOURRURE",
'1420ZZ' => "Fabrication d'articles en fourrure",
'143' => "FABRICATION D'ARTICLES À MAILLES",
'1431ZZ' => "Fabrication d'articles chaussants à mailles",
'1439ZA' => "Fabrication de lainages à la main",
'1439ZB' => "Fabrication de lainages à la machine",
'15' => "INDUSTRIE DU CUIR ET DE LA CHAUSSURE",
'151' => "APPRÊT ET TANNAGE DES CUIRS ; PRÉPARATION ET TEINTURE DES FOURRURES ;",
'1511ZZ' => "Apprêt et tannage des cuirs ; préparation et teinture des fourrures",
'1512ZA' => "Fabrication d'articles de maroquinerie",
'1512ZB' => "Gainerie",
'1512ZC' => "Sellerie",
'1512ZD' => "Bourrellerie",
'152' => "FABRICATION DE CHAUSSURES",
'1520ZA' => "Fabrication de sabots",
'1520ZB' => "Fabrication de chaussures et de bottes",
'1520ZC' => "Fabrication de chaussures et de bottes sur mesure",
'161' => "SCIAGE ET RABOTAGE DU BOIS",
'1610AQ' => "Sciage et rabotage du bois",
'1610AR' => "Fabrication de parquets, moulures et baguettes",
'1610BZ' => "Imprégnation du bois",
'162' => "FABRICATION D'ARTICLES EN BOIS, LIÈGE, VANNERIE ET SPARTERIE",
'1621ZZ' => "Fabrication de placage et de panneaux de bois",
'1622ZZ' => "Fabrication de parquets assemblés",
'1623ZZ' => "Fabrication de charpentes et d'autres menuiseries",
'1624ZA' => "Fabrication de caisses et de palettes en bois",
'1624ZB' => "Tonnellerie",
'1629ZA' => "Fabrication d'objets divers en bois",
'1629ZB' => "Vannerie, sparterie, travail de la paille",
'1629ZC' => "Fabrication d'objets en liège",
'17' => "INDUSTRIE DU PAPIER ET DU CARTON",
'171' => "FABRICATION DE PÂTE À PAPIER, DE PAPIER ET DE CARTON",
'1711ZZ' => "Fabrication de pâte à papier",
'1712ZZ' => "Fabrication de papier et de carton",
'172' => "FABRICATION D'ARTICLES EN PAPIER OU EN CARTON",
'1721AZ' => "Fabrication de carton ondulé",
'1721BZ' => "Fabrication de cartonnages",
'1721CZ' => "Fabrication d'emballages en papier",
'1722ZZ' => "Fabrication d'articles en papier à usage sanitaire ou domestique",
'1723ZZ' => "Fabrication d'articles de papeterie",
'1724ZZ' => "Fabrication de papiers peints",
'1729ZZ' => "Fabrication d'autres articles en papier ou en carton",
'18' => "IMPRIMERIE ET REPRODUCTION D'ENREGISTREMENTS",
'181' => "IMPRIMERIE ET SERVICES ANNEXES",
'1812ZA' => "Imprimerie de labeur",
'1812ZB' => "Sérigraphie de type imprimerie",
'1813ZA' => "Travaux de préparation d'impression",
'1813ZB' => "Graphisme-décoration",
'1813ZC' => "Activités graphiques n.c.a.",
'1814ZZ' => "Reliure et activités connexes",
'182' => "REPRODUCTION D'ENREGISTREMENTS",
'1820ZZ' => "Reproduction d'enregistrements",
'19' => "COKÉFACTION ET RAFFINAGE",
'191' => "COKÉFACTION",
'1910ZP' => "Production de brai et de coke de brai",
'1920ZP' => "Agglomération de la tourbe",
'20' => "INDUSTRIE CHIMIQUE",
'201' => "FABRICATION DE PRODUITS CHIMIQUES DE BASE, DE PRODUITS AZOTÉS ET D'ENGRAIS, DE",
'2011ZZ' => "Fabrication de gaz industriels",
'2012ZZ' => "Fabrication de colorants et de pigments",
'2013AZ' => "Enrichissement et retraitement de matières nucléaires",
'2013BZ' => "Fabrication d'autres produits chimiques inorganiques de base n.c.a",
'2014ZA' => "Fabrication d'autres produits organiques de base",
'2014ZB' => "Fabrication de produits de la distillation du bois",
'2015ZZ' => "Fabrication de produits azotés et d'engrais",
'2016ZZ' => "Fabrication de matières plastiques de base",
'2017ZZ' => "Fabrication de caoutchouc synthétique",
'202' => "FABRICATION DE PESTICIDES ET D'AUTRES PRODUITS AGROCHIMIQUES",
'2020ZZ' => "Fabrication de pesticides et d'autres produits agrochimiques",
'203' => "FABRICATION DE PEINTURES, VERNIS, ENCRES ET MASTICS",
'2030ZZ' => "Fabrication de peintures, vernis, encres et mastics",
'204' => "FABRICATION DE SAVONS, DE PRODUITS D'ENTRETIEN ET DE PARFUMS",
'2041ZZ' => "Fabrication de savons, détergents et produits d'entretien",
'2042ZZ' => "Fabrication de parfums et de produits pour la toilette",
'205' => "FABRICATION D'AUTRES PRODUITS CHIMIQUES",
'2051ZZ' => "Fabrication de produits explosifs",
'2052ZZ' => "Fabrication de colles",
'2053ZZ' => "Fabrication d'huiles essentielles",
'2059ZZ' => "Fabrication d'autres produits chimiques n.c.a.",
'206' => "FABRICATION DE FIBRES ARTIFICIELLES OU SYNTHÉTIQUES",
'2060ZZ' => "Fabrication de fibres artificielles ou synthétiques",
'21' => "INDUSTRIE PHARMACEUTIQUE",
'211' => "FABRICATION DE PRODUITS PHARMACEUTIQUES DE BASE",
'2110ZP' => "Fabrication d'édulcorants de synthèse",
'212' => "FABRICATION DE PRÉPARATIONS PHARMACEUTIQUES",
'2120ZP' => "Fabrication de substances radioactives de diagnostic et de pansements",
'22' => "FABRICATION DE PRODUITS EN CAOUTCHOUC ET EN PLASTIQUE",
'221' => "FABRICATION DE PRODUITS EN CAOUTCHOUC",
'2211ZZ' => "Fabrication et rechapage de pneumatiques",
'2219ZZ' => "Fabrication d'autres articles en caoutchouc",
'222' => "FABRICATION DE PRODUITS EN PLASTIQUE",
'2221ZZ' => "Fabrication de plaques, feuilles, tubes et profilés en matières plastiques",
'2222ZZ' => "Fabrication d'emballages en matières plastiques",
'2223ZZ' => "Fabrication d'éléments en matières plastiques pour la construction",
'2229AZ' => "Fabrication de pièces techniques à base de matières plastiques",
'2229BZ' => "Fabrication d'éléments divers en matières plastiques",
'23' => "FABRICATION D'AUTRES PRODUITS MINÉRAUX NON MÉTALLIQUES",
'231' => "FABRICATION DE VERRE ET D'ARTICLES EN VERRE",
'2311ZZ' => "Fabrication de verre plat",
'2312ZZ' => "Façonnage et transformation du verre plat",
'2313ZA' => "Fabrication de verre creux ou autres verres",
'2313ZB' => "Soufflage de verre",
'2313ZC' => "Façonnage de verre et de cristal",
'2314ZZ' => "Fabrication de fibres de verre",
'2319ZA' => "Fabrication de vitraux",
'2319ZB' => "Fabrication d'articles techniques en verre",
'232' => "FABRICATION DE PRODUITS RÉFRACTAIRES",
'2320ZZ' => "Fabrication de produits réfractaires",
'233' => "FABRICATION DE MATÉRIAUX DE CONSTRUCTION EN TERRE CUITE",
'2331ZZ' => "Fabrication de carreaux en céramique",
'2332ZA' => "Fabrication de briques",
'2332ZB' => "Fabrication de tuiles",
'2332ZC' => "Fabrication de produits divers en terre cuite",
'234' => "FABRICATION D'AUTRES PRODUITS EN CÉRAMIQUE ET EN PORCELAINE",
'2341ZZ' => "Fabrication d'articles céramiques à usage domestique ou ornemental",
'2342ZZ' => "Fabrication d'appareils sanitaires en céramique",
'2343ZZ' => "Fabrication d'isolateurs et pièces isolantes en céramique",
'2344ZZ' => "Fabrication d'autres produits céramiques à usage technique",
'2349ZZ' => "Fabrication d'autres produits céramiques",
'235' => "FABRICATION DE CIMENT, CHAUX ET PLÂTRE",
'2351ZZ' => "Fabrication de ciment céramiques",
'2352ZZ' => "Fabrication de chaux et plâtre.",
'236' => "FABRICATION D'OUVRAGES EN BÉTON, EN CIMENT OU EN",
'2361ZZ' => "Fabrication d'éléments en béton pour la construction",
'2362ZZ' => "Fabrication d'éléments en plâtre pour la construction",
'2363ZZ' => "Fabrication de béton prêt à l'emploi",
'2364ZZ' => "Fabrication de mortiers et bétons secs",
'2365ZZ' => "Fabrication d'ouvrages en fibre-ciment",
'2369ZA' => "Fabrication de cheminées décoratives",
'2369ZB' => "Fabrication d'éléments décoratifs en béton ou en plâtre",
'237' => "TAILLE, FAÇONNAGE ET FINISSAGE DE PIERRES",
'2370ZZ' => "Taille, façonnage et finissage de pierres",
'239' => "FABRICATION DE PRODUITS ABRASIFS ET DE PRODUITS MINÉRAUX NON MÉTALLIQUES",
'2391ZZ' => "Fabrication de produits abrasifs",
'2399ZZ' => "Fabrication d'autres produits minéraux non métalliques n.c.a.",
'24' => "MÉTALLURGIE",
'241' => "SIDÉRURGIE",
'2410ZZ' => "Sidérurgie",
'242' => "FABRICATION DE TUBES, TUYAUX, PROFILÉS CREUX ET ACCESSOIRES CORRESPONDANTS EN",
'2420ZZ' => "Fabrication de tubes, tuyaux, profilés creux et accessoires correspondants en acier",
'243' => "FABRICATION D'AUTRES PRODUITS DE PREMIÈRE TRANSFORMATION DE L'ACIER",
'2431ZZ' => "Etirage à froid de barres",
'2432ZZ' => "Laminage à froid de feuillards",
'2433ZZ' => "Profilage à froid par formage ou pliage",
'2434ZZ' => "Tréfilage à froid",
'244' => "PRODUCTION DE MÉTAUX PRÉCIEUX ET D'AUTRES MÉTAUX NON FERREUX",
'2441ZZ' => "Production de métaux précieux",
'2442ZA' => "Production d'aluminium",
'2442ZB' => "Première transformation de l'aluminium",
'2443ZZ' => "Métallurgie du plomb, du zinc ou de l'étain",
'2444ZZ' => "Métallurgie du cuivre",
'2445ZZ' => "Métallurgie des autres métaux non ferreux",
'2446ZZ' => "Elaboration et transformation de matières nucléaires",
'245' => "FONDERIE",
'2451ZZ' => "Fonderie de fonte",
'2452ZZ' => "Fonderie d'acier",
'2453ZZ' => "Fonderie de métaux légers",
'2454ZZ' => "Fonderie d'autres métaux non ferreux",
'25' => "FABRICATION DE PRODUITS MÉTALLIQUES, À L'EXCEPTION DES MACHINES ET DES ÉQUIPEMENTS",
'251' => "FABRICATION D'ÉLÉMENTS EN MÉTAL POUR LA CONSTRUCTION",
'2511ZZ' => "Fabrication de structures métalliques et de parties de structures",
'2512ZZ' => "Fabrication de portes et fenêtres en métal",
'252' => "FABRICATION DE RÉSERVOIRS, CITERNES ET CONTENEURS MÉTALLIQUES",
'2521ZZ' => "Fabrication de radiateurs et de chaudières pour le chauffage central",
'2529ZZ' => "Fabrication d'autres réservoirs, citernes et conteneurs métalliques",
'253' => "FABRICATION DE GÉNÉRATEURS DE VAPEUR, À L'EXCEPTION DES CHAUDIÈRES POUR LE",
'2530ZA' => "Fabrication de générateurs de vapeur",
'2530ZB' => "Chaudronnerie nucléaire",
'254' => "FABRICATION D'ARMES ET DE MUNITIONS",
'2540ZZ' => "Fabrication d'armes et de munitions",
'255' => "FORGE, EMBOUTISSAGE, ESTAMPAGE ; MÉTALLURGIE DES POUDRES",
'2550AZ' => "Forge, estampage, matriçage, métallurgie des poudres",
'2550BZ' => "Découpage, emboutissage",
'256' => "FORGE, EMBOUTISSAGE, ESTAMPAGE ; MÉTALLURGIE DES POUDRES TRAITEMENT ET",
'2561ZA' => "Sérigraphie de type marquage",
'2561ZB' => "Traitement et revêtement des métaux",
'2562AZ' => "Décolletage",
'2562BZ' => "Mécanique industrielle",
'257' => "FABRICATION DE COUTELLERIE, D'OUTILLAGE ET DE QUINCAILLERIE",
'2571ZZ' => "Fabrication de coutellerie",
'2572ZZ' => "Fabrication de serrures et de ferrures",
'2573AZ' => "Fabrication de moules et modèles",
'2573BA' => "Fabrication d'outillage à main",
'2573BB' => "Fabrication d'outillage mécanique",
'259' => "FABRICATION D'AUTRES OUVRAGES EN MÉTAUX",
'2591ZZ' => "Fabrication de fûts et emballages métalliques similaires",
'2592ZZ' => "Fabrication d'emballages métalliques légers",
'2593ZA' => "Fabrication d'articles en fils métalliques et de chaînes",
'2593ZB' => "Fabrication de ressorts",
'2594ZZ' => "Fabrication de vis et de boulons",
'2599AA' => "Dinanderie",
'2599AB' => "Autres fabrications d'articles de ménage",
'2599BA' => "Fabrication de petits articles métalliques",
'2599BB' => "Fabrication de coffres-forts",
'2599BC' => "Fabrication d'autres articles métalliques n.c.a.",
'26' => "FABRICATION DE PRODUITS INFORMATIQUES, ÉLECTRONIQUES ET OPTIQUES",
'261' => "FABRICATION DE COMPOSANTS ET CARTES ÉLECTRONIQUES",
'2611ZA' => "Fabrication de composants électroniques (hors capteurs solaires)",
'2611ZB' => "Fabrication de capteurs solaires photovoltaïques",
'2612ZZ' => "Fabrication de cartes électroniques assemblées",
'262' => "FABRICATION D'ORDINATEURS ET D'ÉQUIPEMENTS PÉRIPHÉRIQUES",
'2620ZZ' => "Fabrication d'ordinateurs et d'autres équipements informatiques",
'263' => "FABRICATION D'ÉQUIPEMENTS DE COMMUNICATION",
'2630ZZ' => "Fabrication d'équipements de communication",
'264' => "FABRICATION DE PRODUITS ÉLECTRONIQUES GRAND PUBLIC",
'2640ZZ' => "Fabrication de produits électroniques grand public",
'265' => "FABRICATION D'INSTRUMENTS ET D'APPAREILS DE MESURE, D'ESSAI ET DE NAVIGATION ;",
'2651AZ' => "Fabrication d'équipements d'aide à la navigation",
'2651BZ' => "Fabrication d'instrumentation scientifique et technique",
'2652ZZ' => "Horlogerie",
'266' => "FABRICATION D'ÉQUIPEMENTS D'IRRADIATION MÉDICALE, D'ÉQUIPEMENTS",
'2660ZZ' => "Fabrication d'équipements d'irradiation médicale, d'équipements électromédicaux et électrothérapeutiques",
'267' => "FABRICATION DE MATÉRIELS OPTIQUE ET PHOTOGRAPHIQUE",
'2670ZA' => "Fabrication de matériels photographiques et cinématographiques",
'2670ZB' => "Fabrication d'instruments d'optique",
'268' => "FABRICATION DE SUPPORTS MAGNÉTIQUES ET OPTIQUES",
'2680ZZ' => "Fabrication de supports magnétiques et optiques",
'27' => "FABRICATION D'ÉQUIPEMENTS ÉLECTRIQUES",
'271' => "FABRICATION DE MOTEURS, GÉNÉRATRICES ET TRANSFORMATEURS ÉLECTRIQUES ET DE",
'2711ZA' => "Fabrication de moteurs électriques",
'2711ZB' => "Fabrication de transformateurs électriques",
'2711ZC' => "Fabrication de groupes électrogènes",
'2712ZZ' => "Fabrication de matériel de distribution et de commande électrique",
'272' => "FABRICATION DE PILES ET D'ACCUMULATEURS ÉLECTRIQUES",
'2720ZZ' => "Fabrication de piles et d'accumulateurs électriques",
'273' => "FABRICATION DE FILS ET CÂBLES ET DE MATÉRIEL D'INSTALLATION ÉLECTRIQUE",
'2731ZZ' => "Fabrication de câbles de fibres optiques",
'2732ZZ' => "Fabrication d'autres fils et câbles électroniques ou électrique",
'2733ZZ' => "Fabrication de matériel d'installation électrique",
'274' => "FABRICATION D'APPAREILS D'ÉCLAIRAGE ÉLECTRIQUE",
'2740ZA' => "Fabrication de lampes",
'2740ZB' => "Fabrication de luminaires",
'2740ZC' => "Fabrication d'abat-jour",
'2740ZD' => "Fabrication d'autres appareils d'éclairage",
'275' => "FABRICATION D'APPAREILS MÉNAGERS",
'2751ZZ' => "Fabrication d'appareils électroménagers",
'2752ZZ' => "Fabrication d'appareils ménagers non électriques",
'279' => "FABRICATION D'AUTRES MATÉRIELS ÉLECTRIQUES",
'2790ZZ' => "Fabrication d'autres matériels électriques",
'28' => "FABRICATION DE MACHINES ET ÉQUIPEMENTS N.C.A",
'281' => "FABRICATION DE MACHINES D'USAGE GÉNÉRAL",
'2811ZA' => "Fabrication de moteurs et turbines, à l'exception des moteurs d'avion et de véhicules",
'2811ZB' => "Fabrication de turbines éoliennes",
'2812ZZ' => "Fabrication d'équipements hydrauliques et pneumatiques",
'2813ZA' => "Fabrication de pompes",
'2813ZB' => "Fabrication de compresseurs",
'2814ZZ' => "Fabrication d'autres articles de robinetterie",
'2815ZZ' => "Fabrication d'engrenages et d'organes mécaniques de transmission",
'282' => "FABRICATION D'AUTRES MACHINES D'USAGE GÉNÉRAL",
'2821ZA' => "Fabrication de fours et brûleurs non solaires",
'2821ZB' => "Fabrication de chauffages solaires",
'2822ZA' => "Fabrication d'ascenseurs, monte-charges et escaliers mécaniques",
'2822ZB' => "Fabrication d'équipements de levage et de manutention",
'2823ZZ' => "Fabrication de machines de bureau (à l'exception des ordinateurs et équipements périphériques)",
'2824ZZ' => "Fabrication d'outillage portatif à moteur incorporé",
'2825ZA' => "Fabrication de capteur solaire à effet de serre",
'2825ZB' => "Fabrication d'équipements de réfrigération industrielle",
'2825ZC' => "Fabrication d'équipements aérauliques",
'2829AA' => "Fabrication d'équipements d'emballage et de conditionnement",
'2829AB' => "Fabrication d'appareils de pesage",
'2829BZ' => "Fabrication d'autres machines d'usage général",
'283' => "FABRICATION DE MACHINES AGRICOLES ET FORESTIÈRES",
'2830ZZ' => "Fabrication de machines agricoles et forestières",
'284' => "FABRICATION DE MACHINES DE FORMAGE DES MÉTAUX ET DE MACHINES-OUTILS",
'2841ZZ' => "Fabrication de machines-outils pour le travail des métaux",
'2849ZZ' => "Fabrication d'autres machines-outils",
'289' => "FABRICATION D'AUTRES MACHINES D'USAGE SPÉCIFIQUE",
'2891ZZ' => "Fabrication de machines pour la métallurgie",
'2892ZA' => "Fabrication de matériels de mines pour l'extraction",
'2892ZB' => "Fabrication de matériels de travaux publics",
'2893ZZ' => "Fabrication de machines pour l'industrie agro-alimentaire",
'2894ZZ' => "Fabrication de machines pour les industries textiles",
'2895ZZ' => "Fabrication de machines pour les industries du papier et du carton",
'2896ZZ' => "Fabrication de machines pour le travail du caoutchouc ou des plastiques",
'2899AZ' => "Fabrication de machines d'imprimerie",
'2899BZ' => "Fabrication d'autres machines spécialisées",
'29' => "INDUSTRIE AUTOMOBILE",
'291' => "CONSTRUCTION DE VÉHICULES AUTOMOBILES",
'2910ZA' => "Construction de voiturettes",
'2910ZB' => "Construction d'autres véhicules automobiles",
'292' => "FABRICATION DE CARROSSERIES ET REMORQUES",
'2920ZA' => "Fabrication de carrosseries",
'2920ZB' => "Aménagement de véhicules",
'2920ZC' => "Fabrication de remorques et de semi-remorques",
'293' => "FABRICATION D'ÉQUIPEMENTS AUTOMOBILES",
'2931ZZ' => "Fabrication de matériels électriques et électroniques automobiles",
'2932ZZ' => "Fabrication d'autres équipements automobiles",
'30' => "FABRICATION D'AUTRES MATÉRIELS DE TRANSPORT",
'301' => "CONSTRUCTION NAVALE",
'3011ZA' => "Construction de navires",
'3011ZB' => "Transformation et équipement des navires",
'3012ZZ' => "Construction de bateaux de plaisance",
'302' => "CONSTRUCTION DE LOCOMOTIVES ET D'AUTRE MATÉRIEL FERROVIAIRE ROULANT",
'3020ZZ' => "Construction de locomotives et d'autre matériel ferroviaire roulant",
'303' => "CONSTRUCTION AÉRONAUTIQUE ET SPATIALE",
'3030ZA' => "Construction de moteurs pour aéronefs",
'3030ZB' => "Construction de cellules d'aéronefs",
'3030ZC' => "Construction de lanceurs et engins spatiaux",
'304' => "CONSTRUCTION DE VÉHICULES MILITAIRES DE COMBAT",
'3040ZZ' => "Construction de véhicules militaires de combat",
'309' => "FABRICATION DE MATÉRIELS DE TRANSPORT N.C.A",
'3091ZA' => "Construction de motocycles",
'3091ZB' => "Fabrication d'équipements pour motocycles",
'3092ZA' => "Construction de bicyclettes",
'3092ZB' => "Fabrication d'équipements pour bicyclettes",
'3092ZC' => "Fabrication de véhicules pour invalides et enfants",
'3099ZZ' => "Fabrication d'autres équipements de transport n.c.a.",
'31' => "FABRICATION DE MEUBLES",
'310' => "FABRICATION DE MEUBLES",
'3101ZZ' => "Fabrication de meubles de bureau et de magasin",
'3102ZZ' => "Fabrication de meubles de cuisine",
'3103ZZ' => "Fabrication de matelas",
'3109AZ' => "Fabrication de sièges d'ameublement d'intérieur",
'3109BA' => "Fabrication et finissage de meubles divers",
'3109BB' => "Fabrication de meubles de jardin et d'extérieur",
'3109BC' => "Fabrication de meubles en rotin",
'32' => "AUTRES INDUSTRIES MANUFACTURIÈRES",
'321' => "FABRICATION D'ARTICLES DE JOAILLERIE, BIJOUTERIE ET ARTICLES SIMILAIRES",
'3211ZZ' => "Frappe de monnaies",
'3212ZZ' => "Fabrication d'articles de joaillerie et de bijouterie",
'3213ZZ' => "Fabrication d'articles de bijouterie fantaisie et articles similaires",
'322' => "FABRICATION D'INSTRUMENTS DE MUSIQUE",
'3220ZA' => "Lutherie",
'3220ZB' => "Facteur d'orgues",
'3220ZC' => "Fabrication d'autres instruments de musique",
'323' => "FABRICATION D'ARTICLES DE SPORT",
'3230ZZ' => "Fabrication d'articles de sport",
'324' => "FABRICATION DE JEUX ET JOUETS",
'3240ZZ' => "Fabrication de jeux et jouets",
'325' => "FABRICATION D'INSTRUMENTS ET DE FOURNITURES À USAGE MÉDICAL ET DENTAIRE",
'3250AA' => "Fabrication de prothèses dentaires",
'3250AB' => "Fabrication de prothèses et orthèses podales",
'3250AC' => "Fabrication de prothèses et orthèses diverses",
'3250AD' => "Fabrication d'équipements médico-chirurgicaux",
'3250BP' => "Fabrication de lunettes de protection",
'329' => "ACTIVITÉS MANUFACTURIÈRES N.C.A",
'3291ZZ' => "Fabrication d'articles de brosserie",
'3299ZA' => "Fabrication de bougies",
'3299ZB' => "Fabrication d'accessoires du vêtements",
'3299ZC' => "Fabrication d'articles de Paris, d'arts ou religieux",
'3299ZD' => "Fabrication d'articles de fumeurs",
'3299ZE' => "Taxidermie",
'3299ZF' => "Fabrication d'équipements de protection et de sécurité",
'3299ZG' => "Fabrication de produits manufacturés non classés ailleurs",
'33' => "RÉPARATION ET INSTALLATION DE MACHINES ET D'ÉQUIPEMENTS",
'331' => "RÉPARATION D'OUVRAGES EN MÉTAUX, DE MACHINES ET D'ÉQUIPEMENTS",
'3311ZZ' => "Réparation d'ouvrages en métaux",
'3312ZA' => "Réparation de matériel agricole",
'3312ZB' => "Réparation d'autres machines",
'3313ZZ' => "Réparation de matériels électroniques et optiques",
'3314ZZ' => "Réparation d'équipements électriques",
'3315ZZ' => "Réparation et maintenance navale",
'3316ZZ' => "Réparation et maintenance d'aéronefs et d'engins spatiaux",
'3317ZZ' => "Réparation et maintenance d'autres équipements de transport",
'3319ZZ' => "Réparation d'autres équipements",
'332' => "INSTALLATION DE MACHINES ET D'ÉQUIPEMENTS INDUSTRIELS",
'3320AZ' => "Installation de structures métalliques, chaudronnées et de tuyauterie",
'3320BZ' => "Installation de machines et équipements mécaniques",
'3320CZ' => "Conception d'ensemble et assemblage sur site industriel d'équipements de contrôle des processus industriels",
'3320DZ' => "Installation d'équipements électriques, de matériels électroniques et optiques ou d'autres matériels",
'37' => "COLLECTE ET TRAITEMENT DES EAUX USÉES",
'370' => "COLLECTE ET TRAITEMENT DES EAUX USÉES",
'3700ZP' => "Entretien de fosses septiques",
'38' => "COLLECTE, TRAITEMENT ET ÉLIMINATION DES DÉCHETS ; RÉCUPÉRATION",
'381' => "COLLECTE DES DÉCHETS",
'3812ZP' => "Collecte des déchets nucléaires",
'382' => "TRAITEMENT ET ÉLIMINATION DES DÉCHETS",
'3821ZP' => "Incinération des déchets non dangereux et production de cendres et scories associée",
'3822ZP' => "Traitement et élimination de déchets nucléaires radioactifs",
'383' => "RÉCUPÉRATION",
'3831ZA' => "Démantèlement d'épaves en vue de la récupération de matières métalliques",
'3831ZB' => "Démantèlement d'épaves en vue de la récupération de matières non métalliques",
'3832ZA' => "Traitement de matières métalliques recyclables",
'3832ZB' => "Traitement de matières non métalliques recyclables",
'39' => "DÉPOLLUTION ET AUTRES SERVICES DE GESTION DES DÉCHETS",
'390' => "DÉPOLLUTION ET AUTRES SERVICES DE GESTION DES DÉCHETS",
'3900ZP' => "Désamiantage",
'41' => "CONSTRUCTION DE BÂTIMENTS",
'412' => "CONSTRUCTION DE BÂTIMENTS RÉSIDENTIELS ET NON RÉSIDENTIELS",
'4120AZ' => "Construction de maisons individuelles",
'4120BA' => "Construction de bâtiments",
'4120BB' => "Réhabilitation de bâtiments",
'42' => "GÉNIE CIVIL",
'421' => "CONSTRUCTION DE ROUTES ET DE VOIES FERRÉES",
'4211ZA' => "Pose de signalisation routière verticale",
'4211ZB' => "Aménagement de chaussées",
'4212ZZ' => "Construction de voies ferrées de surface et souterraines",
'4213AZ' => "Construction d'ouvrages d'art",
'4213BZ' => "Construction et entretien de tunnels",
'422' => "CONSTRUCTION DE RÉSEAUX ET DE LIGNES",
'4221ZA' => "Construction d'installations de réseaux pour fluides",
'4221ZB' => "Forage des puits d'eau",
'4222ZA' => "Construction de centrales électriques",
'4222ZB' => "Construction de lignes électriques et de télécommunication",
'429' => "CONSTRUCTION D'AUTRES OUVRAGES DE GÉNIE CIVIL",
'4291ZZ' => "Construction d'ouvrages maritimes et fluviaux",
'4299ZP' => "Construction d'installations sportives et d'ouvrages industriels ou miniers",
'43' => "TRAVAUX DE CONSTRUCTION SPÉCIALISÉS",
'431' => "DÉMOLITION ET PRÉPARATION DES SITES",
'4311ZZ' => "Travaux de démolition",
'4312AZ' => "Travaux de terrassement courants et travaux préparatoires",
'4312BA' => "Terrassements",
'4312BB' => "Artificiers",
'4313ZZ' => "Forages et sondages",
'432' => "TRAVAUX D'INSTALLATION ÉLECTRIQUE, PLOMBERIE ET AUTRES TRAVAUX",
'4321AA' => "Installation d'antennes",
'4321AB' => "Installation électrique",
'4321BZ' => "Travaux d'installation électrique sur la voie publique",
'4322AZ' => "Travaux d'installation d'eau et de gaz en tous locaux",
'4322BA' => "Installation et entretien de climatisation et chaufferie",
'4322BB' => "Installation de chauffage individuel",
'4322BC' => "Entretien de chaudières domestiques",
'4329AZ' => "Travaux d'isolation",
'4329BA' => "Installation d'ascenseurs",
'4329BB' => "Montage de clôtures et de grilles",
'4329BC' => "Installation de stores et bannes",
'4329BD' => "Autres travaux d'installation divers",
'433' => "TRAVAUX DE FINITION",
'4331ZA' => "Travaux de plâtrerie d'extérieur",
'4331ZB' => "Travaux de plâtrerie d'intérieur",
'4332AA' => "Menuiserie bois",
'4332AB' => "Menuiserie PVC",
'4332BA' => "Installation de serres et de vérandas",
'4332BB' => "Métallerie, serrurerie",
'4332CZ' => "Agencement de lieux de vente",
'4333ZZ' => "Travaux de revêtement des sols et des murs",
'4334ZA' => "Travaux de miroiterie de bâtiment, vitrerie",
'4334ZB' => "Travaux de peinture extérieure",
'4334ZC' => "Travaux de peinture intérieure et peinture plâtrerie",
'4334ZD' => "Travaux de peinture en lettres sur bâtiments",
'4339ZZ' => "Autres travaux de finition",
'439' => "AUTRES TRAVAUX DE CONSTRUCTION SPÉCIALISÉS",
'4391AZ' => "Travaux de charpente",
'4391BZ' => "Travaux de couverture par éléments",
'4399AZ' => "Travaux d'étanchéification",
'4399BZ' => "Travaux de montage de structures métalliques",
'4399CZ' => "Travaux de maçonnerie générale et gros oeuvre de bâtiment",
'4399DA' => "Installation de piscines de résidence et construction de piscines extérieures",
'4399DB' => "Construction de cheminées et de fours industriels",
'4399DC' => "Autres travaux spéciaux de construction",
'4399EZ' => "Location avec opérateur de matériel de construction",
'45' => "COMMERCE ET RÉPARATION D'AUTOMOBILES ET DE MOTOCYCLES",
'452' => "ENTRETIEN ET RÉPARATION DE VÉHICULES AUTOMOBILES",
'4520AA' => "Réparation automobile de véhicules automobiles légers : entretien courant",
'4520AB' => "Réparation automobile de véhicules automobiles légers : mécanique",
'4520AC' => "Réparation automobile de véhicules automobiles légers : carrosserie",
'4520AD' => "Réparation automobile de véhicules automobiles légers : électricité, électronique",
'4520BA' => "Réparation automobile d'autres véhicules automobiles : entretien courant",
'4520BB' => "Réparation automobile d'autres véhicules automobiles : mécanique",
'4520BC' => "Réparation automobile d'autres véhicules automobiles : diesel",
'4520BD' => "Réparation automobile d'autres véhicules automobiles : carrosserie",
'4520BE' => "Réparation automobile d'autres véhicules automobiles : électricité, électronique",
'454' => "COMMERCE ET RÉPARATION DE MOTOCYCLES",
'4540ZP' => "Réparation de motocycles",
'47' => "COMMERCE DE DÉTAIL, À L'EXCEPTION DES AUTOMOBILES ET DES MOTOCYCLES",
'472' => "COMMERCE DE DÉTAIL ALIMENTAIRE EN MAGASIN SPÉCIALISÉ",
'4722ZA' => "Boucherie",
'4722ZB' => "Boucherie charcuterie",
'4722ZC' => "Boucherie chevaline",
'4722ZD' => "Volailles, gibiers",
'4722ZE' => "Triperie",
'4723ZP' => "Préparation de poissons, crustacés et mollusques",
'477' => "AUTRES COMMERCES DE DÉTAIL EN MAGASIN SPÉCIALISÉ",
'4776ZP' => "Commerce de détail de fleurs",
'478' => "COMMERCE DE DÉTAIL SUR ÉVENTAIRES ET MARCHÉS",
'4781ZQ' => "Boucherie sur éventaires et marchés",
'4781ZR' => "Boucherie charcuterie sur éventaires et marchés",
'4781ZS' => "Boucherie chevaline sur éventaires et marchés",
'4781ZT' => "Volailles, gibiers sur éventaires et marchés",
'4781ZU' => "Triperie sur éventaires et marchés",
'4781ZV' => "Préparation de poissons, crustacés, mollusques sur éventaires, marchés",
'4789ZP' => "Commerce de détail de fleurs sur éventaires et marchés",
'49' => "TRANSPORTS TERRESTRES ET TRANSPORT PAR CONDUITES",
'493' => "AUTRES TRANSPORTS TERRESTRES DE VOYAGEURS",
'4932ZA' => "Taxis",
'4932ZB' => "Location de voitures avec chauffeur",
'494' => "TRANSPORTS ROUTIERS DE FRET ET SERVICES DE DÉMÉNAGEMENT",
'4942ZZ' => "Services de déménagement",
'52' => "ENTREPOSAGE ET SERVICES AUXILIAIRES DES TRANSPORTS",
'522' => "ENTREPOSAGE ET STOCKAGE SERVICES AUXILIAIRES DES TRANSPORTS",
'5221ZP' => "Assistance et remorquage de véhicules automobiles",
'56' => "RESTAURATION",
'561' => "RESTAURANTS ET SERVICES DE RESTAURATION MOBILE",
'5610CQ' => "Fabrication artisanale associée à la vente de plats pour consommation immédiate en magasins sédentaires ou sur",
'5610CR' => "Fabrication artisanale associée à la vente de plats pour consommation immédiate en véhicules motorisés ou non",
'58' => "ÉDITION",
'581' => "ÉDITION DE LIVRES ET PÉRIODIQUES ET AUTRES ACTIVITÉS D'ÉDITION",
'5819ZP' => "Edition d'imprimés fiduciaires, imprimés commerciaux, formulaires imprimés",
'71' => "ACTIVITÉS D'ARCHITECTURE ET D'INGÉNIERIE ; ACTIVITÉS DE CONTRÔLE ET ANALYSES",
'712' => "ACTIVITÉS DE CONTRÔLE ET ANALYSES TECHNIQUES",
'7120AZ' => "Contrôle technique automobile",
'73' => "PUBLICITÉ ET ÉTUDES DE MARCHÉ",
'731' => "PUBLICITÉ",
'7311ZP' => "Pose d'affiches",
'74' => "AUTRES ACTIVITÉS SPÉCIALISÉES, SCIENTIFIQUES ET TECHNIQUES",
'741' => "ACTIVITÉS SPÉCIALISÉES DE DESIGN",
'7410ZP' => "Conception de modèles pour étalages et décoration",
'742' => "ACTIVITÉS PHOTOGRAPHIQUES",
'7420ZQ' => "Studio de photographie",
'7420ZR' => "Portrait, reportage",
'7420ZS' => "Photographie industrielle et publicitaire",
'7420ZT' => "Laboratoires techniques de développement et de tirage",
'80' => "ENQUÊTES ET SÉCURITÉ",
'802' => "ACTIVITÉS LIÉES AUX SYSTÈMES DE SÉCURITÉ",
'8020ZP' => "Activité de surveillance et installation de systèmes d'alarme non dissociées",
'81' => "SERVICES RELATIFS AUX BÂTIMENTS ET AMÉNAGEMENT PAYSAGER",
'812' => "ACTIVITÉS DE NETTOYAGE",
'8121ZZ' => "Nettoyage courant des bâtiments",
'8122ZZ' => "Autres activités de nettoyage des bâtiments et nettoyage industriel",
'8129AZ' => "Désinfection, désinsectisation, dératisation",
'8129BP' => "Autres services de nettoyage",
'82' => "ACTIVITÉS ADMINISTRATIVES ET AUTRES ACTIVITÉS DE SOUTIEN AUX ENTREPRISES",
'821' => "ACTIVITÉS ADMINISTRATIVES",
'8211ZP' => "Services administratifs divers",
'8219ZP' => "Travaux à façon divers",
'829' => "ACTIVITÉS DE SOUTIEN AUX ENTREPRISES N.C.A",
'8292ZZ' => "Activités de conditionnement",
'86' => "ACTIVITÉS POUR LA SANTÉ HUMAINE",
'8690AZ' => "Ambulances",
'90' => "ACTIVITÉS CRÉATIVES, ARTISTIQUES ET DE SPECTACLE",
'900' => "ACTIVITÉS CRÉATIVES, ARTISTIQUES ET DE SPECTACLE",
'9001ZP' => "Spectacles de marionnettes",
'9003AP' => "Restauration d'objets d'art",
'95' => "RÉPARATION D'ORDINATEURS ET DE BIENS PERSONNELS ET DOMESTIQUES",
'951' => "RÉPARATION D'ORDINATEURS ET D'ÉQUIPEMENTS DE COMMUNICATION",
'9511ZZ' => "Réparation d'ordinateurs et d'équipements périphériques",
'9512ZZ' => "Réparation d'équipements de communication",
'952' => "RÉPARATION DE BIENS PERSONNELS ET DOMESTIQUES",
'9521ZZ' => "Réparation de produits électroniques grand public",
'9522ZA' => "Réparation de tondeuses à gazon",
'9522ZB' => "Réparation d'appareils électroménagers",
'9523ZZ' => "Réparation de chaussures et d'articles en cuir",
'9524ZZ' => "Réparation de meubles et d'équipements du foyer",
'9525ZZ' => "Réparation d'articles d'horlogerie et de bijouterie",
'9529ZA' => "Aiguisage de coutellerie",
'9529ZB' => "Réparation de cycles",
'9529ZC' => "Atelier de retouches",
'9529ZD' => "Réparation d'articles de sport et de campement",
'9529ZE' => "Accordeurs de piano et restauration d'autres instruments de musique",
'9529ZF' => "Réparation non classées ailleurs",
'96' => "AUTRES SERVICES PERSONNELS",
'960' => "AUTRES SERVICES PERSONNELS",
'9601AZ' => "Blanchisserie-teinturerie de gros",
'9601BQ' => "Laveries, blanchisseries et teintureries de détail",
'9601BR' => "Pressings",
'9602AA' => "Coiffure en salon",
'9602AB' => "Coiffure hors salon",
'9602BA' => "Soins de beauté en salon",
'9602BB' => "Soins de beauté hors salon",
'9603ZP' => "Embaumement, soins mortuaires",
'9609ZP' => "Toilettage d'animaux de compagnie",
'A' => "AGRICULTURE, SYLVICULTURE ET PÊCHE",
'B' => "INDUSTRIES EXTRACTIVES",
'C' => "INDUSTRIE MANUFACTURIÈRE",
'E' => "PRODUCTION ET DISTRIBUTION D'EAU ; ASSAINISSEMENT, GESTION DES DÉCHETS ET",
'F' => "CONSTRUCTION",
'G' => "COMMERCE ; RÉPARATION D'AUTOMOBILES ET DE MOTOCYCLES",
'H' => "TRANSPORTS ET ENTREPOSAGE",
'I' => "HÉBERGEMENT ET RESTAURATION",
'J' => "INFORMATION ET COMMUNICATION",
'M' => "ACTIVITÉS SPÉCIALISÉES, SCIENTIFIQUES ET TECHNIQUES",
'N' => "ACTIVITÉS DE SERVICES ADMINISTRATIFS ET DE SOUTIEN",
'Q' => "SANTÉ HUMAINE ET ACTION SOCIALE",
'R' => "ARTS, SPECTACLES ET ACTIVITÉS RÉCRÉATIVES",
'S' => "AUTRES ACTIVITÉS DE SERVICES",
);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,178 @@
<?php
return array(
1 => "AFN",
2 => "ZAR",
3 => "ALL",
4 => "DZD",
5 => "DEM",
7 => "AOA",
8 => "ANG",
9 => "SAR",
10 => "ARS",
11 => "AUD",
12 => "ATS",
13 => "BSD",
14 => "BHD",
15 => "BDT",
16 => "BBD",
17 => "BEF",
18 => "BZD",
19 => "BMD",
20 => "MMK",
21 => "BOB",
22 => "BWP",
23 => "BRL",
24 => "BND",
25 => "BGN",
26 => "BIF",
27 => "KHR",
28 => "XAF",
29 => "CAD",
32 => "CLP",
33 => "CNY",
34 => "CYP",
35 => "COP",
36 => "KMF",
37 => "ZRN",
38 => "KPW",
39 => "KRW",
40 => "CRC",
42 => "CUP",
44 => "DKK",
45 => "DJF",
46 => "XCD",
47 => "EGP",
48 => "AED",
50 => "ESP",
51 => "USD",
52 => "ETB",
53 => "FKP",
54 => "FJD",
55 => "FIM",
56 => "GMD",
58 => "GHC",
59 => "GBP",
60 => "GRD",
61 => "GTQ",
62 => "GWP",
63 => "GNF",
65 => "GYD",
66 => "HTG",
68 => "HNL",
69 => "HKD",
70 => "HUF",
71 => "INR",
72 => "IDR",
73 => "IQD",
74 => "IRR",
75 => "IEP",
76 => "ISK",
77 => "ILS",
78 => "ITL",
79 => "JMD",
80 => "JPY",
81 => "JOD",
82 => "KES",
83 => "KWD",
84 => "LAK",
85 => "LBP",
86 => "LRD",
87 => "LYD",
89 => "LUF",
90 => "MOP",
91 => "MGF",
92 => "MYR",
93 => "MWK",
94 => "MVR",
96 => "MTL",
97 => "MAD",
98 => "MUR",
99 => "MRO",
100 => "MXN",
101 => "MNT",
102 => "MZM",
103 => "NPR",
104 => "NIO",
106 => "NGN",
107 => "NOK",
110 => "NZD",
111 => "OMR",
112 => "UGX",
113 => "PKR",
114 => "PAB",
115 => "PYG",
116 => "NLG",
117 => "PEN",
118 => "PHP",
119 => "PLN",
120 => "XPF",
121 => "PTE",
122 => "QAR",
123 => "RON",
124 => "RWF",
125 => "SVC",
126 => "WST",
127 => "STD",
129 => "SCR",
130 => "SLL",
131 => "SGD",
132 => "SBD",
133 => "SOS",
134 => "SDD",
135 => "LKR",
136 => "SRG",
137 => "SEK",
138 => "CHF",
139 => "SYP",
140 => "SZL",
141 => "TWD",
142 => "TZS",
144 => "CZK",
145 => "THB",
147 => "TTD",
148 => "TND",
149 => "TRL",
152 => "UYU",
153 => "VUV",
154 => "VEB",
155 => "VND",
157 => "YER",
159 => "YUM",
160 => "CDF",
161 => "ZMK",
162 => "ZWD",
168 => "ADP",
174 => "KYD",
176 => "LVL",
177 => "LTL",
178 => "EEK",
179 => "UAH",
181 => "SIT",
182 => "SKK",
183 => "KZT",
184 => "BYR",
186 => "HRK",
188 => "TMM",
189 => "KGS",
190 => "MDL",
191 => "GIP",
192 => "RUB",
195 => "AMD",
196 => "AZM",
197 => "BAM",
198 => "GEL",
201 => "MKD",
205 => "AWG",
207 => "TOP",
208 => "BTN",
209 => "PGK",
210 => "UZS",
211 => "ILS",
212 => "TJS",
213 => "CVE",
214 => "ERN",
218 => "DOP",
238 => "SHP",
244 => "TPE",
300 => "EUR",
);

View File

@ -0,0 +1,37 @@
<?php
return array(
1 => 1520,
2 => 1436,
3 => 1460,
4 => 1209,
5 => 1445,
6 => 1603,
7 => 1506,
8 => 1430,
9 => 1600,
10 => 1500,
11 => 1200,
12 => 1413,
13 => 1305,
14 => 1411,
15 => 1412,
16 => 1425,
18 => 1502,
19 => 1501,
20 => 1525,
21 => 1435,
44 => 1100,
45 => 1101,
48 => 1201,
49 => 1307,
55 => 1306,
56 => 1110,
57 => 1119,
58 => 1545,
59 => 1506,
60 => 1111,
61 => 1116,
62 => 1118,
63 => 1115,
64 => 1645,
);

View File

@ -0,0 +1,240 @@
<?php
return array(
1 => "AF",
2 => "ZA",
3 => "AL",
4 => "DZ",
5 => "DE",
7 => "AO",
8 => "AN",
9 => "SA",
10 => "AR",
11 => "AU",
12 => "AT",
13 => "BS",
14 => "BH",
15 => "BD",
16 => "BB",
17 => "BE",
18 => "BZ",
19 => "BM",
20 => "MM",
21 => "BO",
22 => "BW",
23 => "BR",
24 => "BN",
25 => "BG",
26 => "BI",
27 => "KH",
28 => "CM",
29 => "CA",
31 => "CF",
32 => "CL",
33 => "CN",
34 => "CY",
35 => "CO",
36 => "KM",
37 => "CG",
38 => "KP",
39 => "KR",
40 => "CR",
41 => "CI",
42 => "CU",
43 => "BJ",
44 => "DK",
45 => "DJ",
46 => "DM",
47 => "EG",
48 => "AE",
49 => "EC",
50 => "ES",
51 => "US",
52 => "ET",
53 => "FK",
54 => "FJ",
55 => "FI",
56 => "GM",
57 => "GA",
58 => "GH",
59 => "GB",
60 => "GR",
61 => "GT",
62 => "GW",
63 => "GN",
64 => "GQ",
65 => "GY",
66 => "HT",
67 => "BF",
68 => "HN",
69 => "HK",
70 => "HU",
71 => "IN",
72 => "ID",
73 => "IR",
74 => "IQ",
75 => "IE",
76 => "IS",
77 => "IL",
78 => "IT",
79 => "JM",
80 => "JP",
81 => "JO",
82 => "KE",
83 => "KW",
84 => "LA",
85 => "LB",
86 => "LR",
87 => "LY",
88 => "LI",
89 => "LU",
90 => "MO",
91 => "MG",
92 => "MY",
93 => "MW",
94 => "MV",
95 => "ML",
96 => "MT",
97 => "MA",
98 => "MU",
99 => "MR",
100 => "MX",
101 => "MN",
102 => "MZ",
103 => "NP",
104 => "NI",
105 => "NE",
106 => "NG",
107 => "NO",
108 => "NC",
110 => "NZ",
111 => "OM",
112 => "UG",
113 => "PK",
114 => "PA",
115 => "PY",
116 => "NL",
117 => "PE",
118 => "PH",
119 => "PL",
120 => "PF",
121 => "PT",
122 => "QA",
123 => "RO",
124 => "RW",
125 => "SV",
126 => "WS",
127 => "ST",
128 => "SN",
129 => "SC",
130 => "SL",
131 => "SG",
132 => "SB",
133 => "SO",
134 => "SD",
135 => "LK",
136 => "SR",
137 => "SE",
138 => "CH",
139 => "SY",
140 => "SZ",
141 => "TW",
142 => "TZ",
143 => "TD",
144 => "CZ",
145 => "TH",
146 => "TG",
147 => "TT",
148 => "TN",
149 => "TR",
150 => "TV",
152 => "UY",
153 => "VU",
154 => "VE",
155 => "VN",
156 => "WF",
157 => "YE",
159 => "YU",
160 => "CD",
161 => "ZM",
162 => "ZW",
163 => "RE",
164 => "GP",
165 => "MC",
167 => "MQ",
168 => "AD",
172 => "TF",
173 => "PR",
174 => "KY",
175 => "MP",
176 => "LV",
177 => "LT",
178 => "EE",
179 => "UA",
181 => "SI",
182 => "SK",
183 => "KZ",
184 => "BY",
185 => "YT",
186 => "HR",
188 => "TM",
189 => "KG",
190 => "MD",
191 => "GI",
192 => "RU",
193 => "GL",
194 => "PM",
195 => "AM",
196 => "AZ",
197 => "BA",
198 => "GE",
201 => "MK",
202 => "SM",
203 => "AI",
204 => "AG",
205 => "AW",
206 => "GD",
207 => "TO",
208 => "BT",
209 => "PG",
210 => "UZ",
211 => "PS",
212 => "TJ",
213 => "CV",
214 => "ER",
215 => "LS",
216 => "NA",
217 => "EH",
218 => "DO",
219 => "BV",
220 => "CX",
221 => "CC",
222 => "CK",
223 => "FO",
224 => "GU",
225 => "HM",
226 => "VG",
227 => "VI",
228 => "KI",
229 => "MH",
230 => "FM",
231 => "MS",
232 => "NR",
233 => "NU",
234 => "NF",
235 => "IO",
236 => "PW",
237 => "PN",
238 => "SH",
239 => "KN",
240 => "LC",
241 => "VC",
242 => "AS",
243 => "SJ",
244 => "TP",
245 => "TK",
246 => "TC",
247 => "VA",
248 => "AQ",
249 => "GS",
250 => "UM",
);

View File

@ -0,0 +1,277 @@
<?php
return array(
0 => array('Id'=>"1812", 'Nom'=>"Tribunal Inconnu", 'Code'=>"INCONU"),
101 => array('Id'=>"140", 'Nom'=>"TC BOURG EN BRESSE", 'Code'=>"BOURGC"),
151 => array('Id'=>"103", 'Nom'=>"TGIcc BELLEY", 'Code'=>"BELLEG"),
201 => array('Id'=>"215", 'Nom'=>"TC CHAUNY", 'Code'=>"CHAUNC"),
202 => array('Id'=>"705", 'Nom'=>"TC SAINT QUENTIN", 'Code'=>"STQUEC"),
203 => array('Id'=>"651", 'Nom'=>"TC SOISSONS", 'Code'=>"SOISSC"),
204 => array('Id'=>"764", 'Nom'=>"TC VERVINS", 'Code'=>"VERVIC"),
252 => array('Id'=>"366", 'Nom'=>"TGI LAON", 'Code'=>"LAONG"),
301 => array('Id'=>"259", 'Nom'=>"TC CUSSET", 'Code'=>"CUSSEC"),
302 => array('Id'=>"491", 'Nom'=>"TC MOULINS", 'Code'=>"MOULIC"),
303 => array('Id'=>"467", 'Nom'=>"TC MONTLUCON", 'Code'=>"MONTLC"),
401 => array('Id'=>"425", 'Nom'=>"TC MANOSQUE", 'Code'=>"MANOSC"),
453 => array('Id'=>"270", 'Nom'=>"TGI DIGNE", 'Code'=>"DIGNEG"),
501 => array('Id'=>"325", 'Nom'=>"TC GAP", 'Code'=>"GAPC"),
601 => array('Id'=>"40", 'Nom'=>"TC ANTIBES", 'Code'=>"ANTIBC"),
602 => array('Id'=>"173", 'Nom'=>"TC CANNES", 'Code'=>"CANNEC"),
603 => array('Id'=>"332", 'Nom'=>"TC GRASSE", 'Code'=>"GRASSC"),
604 => array('Id'=>"449", 'Nom'=>"TC MENTON", 'Code'=>"MENTOC"),
605 => array('Id'=>"518", 'Nom'=>"TC NICE", 'Code'=>"NICEC"),
701 => array('Id'=>"39", 'Nom'=>"TC ANNONAY", 'Code'=>"ANNONC"),
702 => array('Id'=>"53", 'Nom'=>"TC AUBENAS", 'Code'=>"AUBENC"),
801 => array('Id'=>"224", 'Nom'=>"TC CHARLEVILLE MEZIERES", 'Code'=>"CHMEZC"),
802 => array('Id'=>"640", 'Nom'=>"TC SEDAN", 'Code'=>"SEDANC"),
901 => array('Id'=>"312", 'Nom'=>"TC FOIX", 'Code'=>"FOIXC"),
951 => array('Id'=>"313", 'Nom'=>"TGI FOIX", 'Code'=>"FOIXG"),
1001 => array('Id'=>"742", 'Nom'=>"TC TROYES", 'Code'=>"TROYEC"),
1101 => array('Id'=>"175", 'Nom'=>"TC CARCASSONNE", 'Code'=>"CARCAC"),
1102 => array('Id'=>"179", 'Nom'=>"TC CASTELNAUDARY", 'Code'=>"CASTEC"),
1103 => array('Id'=>"395", 'Nom'=>"TC LIMOUX", 'Code'=>"LIMOUC"),
1104 => array('Id'=>"508", 'Nom'=>"TC NARBONNE", 'Code'=>"NARBOC"),
1201 => array('Id'=>"296", 'Nom'=>"TC ESPALION", 'Code'=>"ESPALC"),
1202 => array('Id'=>"455", 'Nom'=>"TC MILLAU", 'Code'=>"MILLAC"),
1203 => array('Id'=>"612", 'Nom'=>"TC RODEZ", 'Code'=>"RODEZC"),
1204 => array('Id'=>"655", 'Nom'=>"TC SAINT AFRIQUE", 'Code'=>"STAFFC"),
1301 => array('Id'=>"8", 'Nom'=>"TC AIX EN PROVENCE", 'Code'=>"AIXC"),
1302 => array('Id'=>"49", 'Nom'=>"TC ARLES", 'Code'=>"ARLESC"),
1303 => array('Id'=>"435", 'Nom'=>"TC MARSEILLE", 'Code'=>"MARSEC"),
1304 => array('Id'=>"626", 'Nom'=>"TC SALON DE PROVENCE", 'Code'=>"SALONC"),
1305 => array('Id'=>"715", 'Nom'=>"TC TARASCON", 'Code'=>"TARASC"),
1401 => array('Id'=>"89", 'Nom'=>"TC BAYEUX", 'Code'=>"BAYEUC"),
1402 => array('Id'=>"162", 'Nom'=>"TC CAEN", 'Code'=>"CAENC"),
1403 => array('Id'=>"245", 'Nom'=>"TC CONDE-SUR-NOIREAU", 'Code'=>"CONDEC"),
1404 => array('Id'=>"306", 'Nom'=>"TC FALAISE", 'Code'=>"FALAIC"),
1405 => array('Id'=>"348", 'Nom'=>"TC HONFLEUR", 'Code'=>"HONFLC"),
1407 => array('Id'=>"397", 'Nom'=>"TC LISIEUX", 'Code'=>"LISIEC"),
1408 => array('Id'=>"782", 'Nom'=>"TC VIRE", 'Code'=>"VIREC"),
1501 => array('Id'=>"59", 'Nom'=>"TC AURILLAC", 'Code'=>"AURILC"),
1502 => array('Id'=>"677", 'Nom'=>"TC SAINT FLOUR", 'Code'=>"STFLOC"),
1601 => array('Id'=>"35", 'Nom'=>"TC ANGOULEME", 'Code'=>"ANGOUC"),
1602 => array('Id'=>"237", 'Nom'=>"TC COGNAC", 'Code'=>"COGNAC"),
1701 => array('Id'=>"357", 'Nom'=>"TC JONZAC", 'Code'=>"JONZAC"),
1702 => array('Id'=>"430", 'Nom'=>"TC MARENNES", 'Code'=>"MARENC"),
1703 => array('Id'=>"603", 'Nom'=>"TC ROCHEFORT", 'Code'=>"ROCHEC"),
1704 => array('Id'=>"606", 'Nom'=>"TC LA ROCHELLE", 'Code'=>"ROCHLC"),
1708 => array('Id'=>"623", 'Nom'=>"TC SAINTES", 'Code'=>"SAINTC"),
1801 => array('Id'=>"148", 'Nom'=>"TC BOURGES", 'Code'=>"BRGESC"),
1901 => array('Id'=>"159", 'Nom'=>"TC BRIVE", 'Code'=>"BRIVEC"),
1902 => array('Id'=>"745", 'Nom'=>"TC TULLE", 'Code'=>"TULLEC"),
2001 => array('Id'=>"11", 'Nom'=>"TC AJACCIO", 'Code'=>"AJACCC"),
2002 => array('Id'=>"86", 'Nom'=>"TC BASTIA", 'Code'=>"BASTIC"),
2003 => array('Id'=>"349", 'Nom'=>"TC L'ILE ROUSSE", 'Code'=>"ILEROC"),
2101 => array('Id'=>"66", 'Nom'=>"TC AUXONNE", 'Code'=>"AUXONC"),
2102 => array('Id'=>"94", 'Nom'=>"TC BEAUNE", 'Code'=>"BEAUNC"),
2103 => array('Id'=>"208", 'Nom'=>"TC CHATILLON SUR SEINE", 'Code'=>"CHATIC"),
2104 => array('Id'=>"272", 'Nom'=>"TC DIJON", 'Code'=>"DIJONC"),
2105 => array('Id'=>"533", 'Nom'=>"TC NUITS ST GEORGES", 'Code'=>"NUITSC"),
2201 => array('Id'=>"541", 'Nom'=>"TC PAIMPOL", 'Code'=>"PAIMPC"),
2202 => array('Id'=>"660", 'Nom'=>"TC SAINT BRIEUC", 'Code'=>"STBRIC"),
2251 => array('Id'=>"275", 'Nom'=>"TGIcc DINAN", 'Code'=>"DINANG"),
2252 => array('Id'=>"342", 'Nom'=>"TGIcc GUINGAMP", 'Code'=>"GUINGG"),
2301 => array('Id'=>"1813", 'Nom'=>"TC GUERET", 'Code'=>"GUEREC"),
2353 => array('Id'=>"340", 'Nom'=>"TGIcc GUERET", 'Code'=>"GUEREG"),
2401 => array('Id'=>"105", 'Nom'=>"TC BERGERAC", 'Code'=>"BERGEC"),
2402 => array('Id'=>"554", 'Nom'=>"TC PERIGUEUX", 'Code'=>"PERIGC"),
2403 => array('Id'=>"628", 'Nom'=>"TC SARLAT", 'Code'=>"SARLAC"),
2501 => array('Id'=>"111", 'Nom'=>"TC BESANCON", 'Code'=>"BESANC"),
2552 => array('Id'=>"461", 'Nom'=>"TGIcc MONTBELIARD", 'Code'=>"MONTBG"),
2601 => array('Id'=>"265", 'Nom'=>"TC DIE", 'Code'=>"DIEC"),
2602 => array('Id'=>"614", 'Nom'=>"TC ROMANS", 'Code'=>"ROMANC"),
2653 => array('Id'=>"752", 'Nom'=>"TGIcc VALENCE", 'Code'=>"VALENG"),
2701 => array('Id'=>"108", 'Nom'=>"TC BERNAY", 'Code'=>"BERNAC"),
2702 => array('Id'=>"300", 'Nom'=>"TC EVREUX", 'Code'=>"EVREUC"),
2703 => array('Id'=>"410", 'Nom'=>"TC LOUVIERS", 'Code'=>"LOUVIC"),
2704 => array('Id'=>"569", 'Nom'=>"TC PONT AUDEMER", 'Code'=>"PONTAC"),
2801 => array('Id'=>"199", 'Nom'=>"TC CHARTRES", 'Code'=>"CHARTC"),
2802 => array('Id'=>"286", 'Nom'=>"TC DREUX", 'Code'=>"DREUXC"),
2901 => array('Id'=>"145", 'Nom'=>"TC BREST", 'Code'=>"BRESTC"),
2902 => array('Id'=>"487", 'Nom'=>"TC MORLAIX", 'Code'=>"MORLAC"),
2903 => array('Id'=>"583", 'Nom'=>"TC QUIMPER", 'Code'=>"QUIMPC"),
3001 => array('Id'=>"22", 'Nom'=>"TC ALES", 'Code'=>"ALESC"),
3003 => array('Id'=>"522", 'Nom'=>"TC NIMES", 'Code'=>"NIMESC"),
3101 => array('Id'=>"679", 'Nom'=>"TC SAINT GAUDENS", 'Code'=>"STGAUC"),
3102 => array('Id'=>"733", 'Nom'=>"TC TOULOUSE", 'Code'=>"TOULSC"),
3201 => array('Id'=>"56", 'Nom'=>"TC AUCH", 'Code'=>"AUCHC"),
3301 => array('Id'=>"121", 'Nom'=>"TC BLAYE", 'Code'=>"BLAYEC"),
3302 => array('Id'=>"132", 'Nom'=>"TC BORDEAUX", 'Code'=>"BORDEC"),
3303 => array('Id'=>"386", 'Nom'=>"TC LIBOURNE", 'Code'=>"LIBOUC"),
3402 => array('Id'=>"116", 'Nom'=>"TC BEZIERS", 'Code'=>"BEZIEC"),
3403 => array('Id'=>"235", 'Nom'=>"TC CLERMONT L'HERAULT", 'Code'=>"CLHERC"),
3404 => array('Id'=>"401", 'Nom'=>"TC LODEVE", 'Code'=>"LODEVC"),
3405 => array('Id'=>"477", 'Nom'=>"TC MONTPELLIER", 'Code'=>"MONTPC"),
3406 => array('Id'=>"561", 'Nom'=>"TC PEZENAS", 'Code'=>"PEZENC"),
3407 => array('Id'=>"649", 'Nom'=>"TC SETE", 'Code'=>"SETEC"),
3501 => array('Id'=>"591", 'Nom'=>"TC RENNES", 'Code'=>"RENNEC"),
3502 => array('Id'=>"691", 'Nom'=>"TC SAINT MALO", 'Code'=>"STMALC"),
3601 => array('Id'=>"205", 'Nom'=>"TC CHATEAUROUX", 'Code'=>"CHATEC"),
3602 => array('Id'=>"353", 'Nom'=>"TC ISSOUDUN", 'Code'=>"ISSOUC"),
3701 => array('Id'=>"739", 'Nom'=>"TC TOURS", 'Code'=>"TOURSC"),
3801 => array('Id'=>"336", 'Nom'=>"TC GRENOBLE", 'Code'=>"GRENOC"),
3802 => array('Id'=>"770", 'Nom'=>"TC VIENNE", 'Code'=>"VIENNC"),
3851 => array('Id'=>"118", 'Nom'=>"TGIcc BOURGOIN JALLIEU", 'Code'=>"BGOING"),
3901 => array('Id'=>"277", 'Nom'=>"TC DOLE", 'Code'=>"DOLEC"),
3902 => array('Id'=>"403", 'Nom'=>"TC LONS LE SAUNIER", 'Code'=>"LONSC"),
3903 => array('Id'=>"625", 'Nom'=>"TC SALINS LES BAINS", 'Code'=>"SALINC"),
4001 => array('Id'=>"262", 'Nom'=>"TC DAX", 'Code'=>"DAXC"),
4002 => array('Id'=>"470", 'Nom'=>"TC MONT DE MARSAN", 'Code'=>"MONTMC"),
4101 => array('Id'=>"123", 'Nom'=>"TC BLOIS", 'Code'=>"BLOISC"),
4102 => array('Id'=>"616", 'Nom'=>"TC ROMORANTIN", 'Code'=>"ROMORC"),
4201 => array('Id'=>"599", 'Nom'=>"TC ROANNE", 'Code'=>"ROANNC"),
4202 => array('Id'=>"674", 'Nom'=>"TC SAINT ETIENNE", 'Code'=>"STETIC"),
4251 => array('Id'=>"480", 'Nom'=>"TGIcc MONTBRISON", 'Code'=>"MONTRG"),
4301 => array('Id'=>"157", 'Nom'=>"TC BRIOUDE", 'Code'=>"BRIOUC"),
4302 => array('Id'=>"377", 'Nom'=>"TC PUY EN VELAY", 'Code'=>"LEPUYC"),
4401 => array('Id'=>"501", 'Nom'=>"TC NANTES", 'Code'=>"NANTEC"),
4402 => array('Id'=>"695", 'Nom'=>"TC SAINT NAZAIRE", 'Code'=>"STNAZC"),
4501 => array('Id'=>"482", 'Nom'=>"TC MONTARGIS", 'Code'=>"MONTSC"),
4502 => array('Id'=>"539", 'Nom'=>"TC ORLEANS", 'Code'=>"ORLEAC"),
4601 => array('Id'=>"165", 'Nom'=>"TC CAHORS", 'Code'=>"CAHORC"),
4701 => array('Id'=>"5", 'Nom'=>"TC AGEN", 'Code'=>"AGENC"),
4702 => array('Id'=>"432", 'Nom'=>"TC MARMANDE", 'Code'=>"MARMAC"),
4703 => array('Id'=>"511", 'Nom'=>"TC NERAC", 'Code'=>"NERACC"),
4704 => array('Id'=>"778", 'Nom'=>"TC VILLENEUVE SUR LOT", 'Code'=>"VILLNC"),
4801 => array('Id'=>"447", 'Nom'=>"TC MENDE", 'Code'=>"MENDEC"),
4853 => array('Id'=>"448", 'Nom'=>"TGIcc MENDE", 'Code'=>"MENDEG"),
4901 => array('Id'=>"32", 'Nom'=>"TC ANGERS", 'Code'=>"ANGERC"),
4902 => array('Id'=>"634", 'Nom'=>"TC SAUMUR", 'Code'=>"SAUMUC"),
5001 => array('Id'=>"217", 'Nom'=>"TC CHERBOURG", 'Code'=>"CHERBC"),
5002 => array('Id'=>"253", 'Nom'=>"TC COUTANCES", 'Code'=>"COUTAC"),
5003 => array('Id'=>"330", 'Nom'=>"TC GRANVILLE", 'Code'=>"GRANVC"),
5004 => array('Id'=>"689", 'Nom'=>"TC SAINT LO", 'Code'=>"STLOC"),
5101 => array('Id'=>"221", 'Nom'=>"TC CHALONS EN CHAMPAGNE", 'Code'=>"CHLONC"),
5102 => array('Id'=>"292", 'Nom'=>"TC EPERNAY", 'Code'=>"EPERNC"),
5103 => array('Id'=>"588", 'Nom'=>"TC REIMS", 'Code'=>"REIMSC"),
5201 => array('Id'=>"213", 'Nom'=>"TC CHAUMONT", 'Code'=>"CHAUMC"),
5202 => array('Id'=>"363", 'Nom'=>"TC LANGRES", 'Code'=>"LANGRC"),
5203 => array('Id'=>"671", 'Nom'=>"TC SAINT DIZIER", 'Code'=>"STDIZC"),
5301 => array('Id'=>"371", 'Nom'=>"TC LAVAL", 'Code'=>"LAVALC"),
5302 => array('Id'=>"439", 'Nom'=>"TC MAYENNE", 'Code'=>"MAYENC"),
5401 => array('Id'=>"152", 'Nom'=>"TC BRIEY", 'Code'=>"BRIEYC"),
5402 => array('Id'=>"498", 'Nom'=>"TC NANCY", 'Code'=>"NANCYC"),
5501 => array('Id'=>"79", 'Nom'=>"TC BAR LE DUC", 'Code'=>"BARLDC"),
5502 => array('Id'=>"758", 'Nom'=>"TC VERDUN", 'Code'=>"VERDUC"),
5601 => array('Id'=>"406", 'Nom'=>"TC LORIENT", 'Code'=>"LORIEC"),
5602 => array('Id'=>"754", 'Nom'=>"TC VANNES", 'Code'=>"VANNEC"),
5751 => array('Id'=>"452", 'Nom'=>"TGIcc METZ", 'Code'=>"METZG"),
5752 => array('Id'=>"630", 'Nom'=>"TGIcc SARREGUEMINES", 'Code'=>"SARREG"),
5753 => array('Id'=>"724", 'Nom'=>"TGIcc THIONVILLE", 'Code'=>"THIONG"),
5801 => array('Id'=>"230", 'Nom'=>"TC CLAMECY", 'Code'=>"CLAMEC"),
5802 => array('Id'=>"515", 'Nom'=>"TC NEVERS", 'Code'=>"NEVERC"),
5901 => array('Id'=>"171", 'Nom'=>"TC CAMBRAI", 'Code'=>"CAMBRC"),
5902 => array('Id'=>"288", 'Nom'=>"TC DUNKERQUE", 'Code'=>"DUNKEC"),
5903 => array('Id'=>"389", 'Nom'=>"TC LILLE", 'Code'=>"LILLEC"),
5904 => array('Id'=>"617", 'Nom'=>"TC ROUBAIX TOURCOING", 'Code'=>"ROUBAC"),
5905 => array('Id'=>"735", 'Nom'=>"TC ROUBAIX TOURCOING", 'Code'=>"TOURCC"),
5906 => array('Id'=>"749", 'Nom'=>"TC VALENCIENNES", 'Code'=>"VALECC"),
5910 => array('Id'=>"3340", 'Nom'=>"TC LILLE METROPOLE", 'Code'=>"LILLEM"),
5951 => array('Id'=>"69", 'Nom'=>"TGIcc AVESNES SUR HELPE", 'Code'=>"AVESNG"),
5952 => array('Id'=>"280", 'Nom'=>"TC DOUAI", 'Code'=>"DOUAIC"),
5953 => array('Id'=>"347", 'Nom'=>"TGIcc HAZEBROUCK", 'Code'=>"HAZEBG"),
6001 => array('Id'=>"96", 'Nom'=>"TC BEAUVAIS", 'Code'=>"BEAUVC"),
6002 => array('Id'=>"243", 'Nom'=>"TC COMPIEGNE", 'Code'=>"COMPIC"),
6003 => array('Id'=>"644", 'Nom'=>"TC SENLIS", 'Code'=>"SENLIC"),
6101 => array('Id'=>"19", 'Nom'=>"TC ALENCON", 'Code'=>"ALENCC"),
6102 => array('Id'=>"45", 'Nom'=>"TC ARGENTAN", 'Code'=>"ARGENC"),
6103 => array('Id'=>"309", 'Nom'=>"TC FLERS", 'Code'=>"FLERSC"),
6104 => array('Id'=>"360", 'Nom'=>"TC L'AIGLE", 'Code'=>"LAIGLC"),
6105 => array('Id'=>"780", 'Nom'=>"TC VIMOUTIERS", 'Code'=>"VIMOUC"),
6201 => array('Id'=>"51", 'Nom'=>"TC ARRAS", 'Code'=>"ARRASC"),
6202 => array('Id'=>"137", 'Nom'=>"TC BOULOGNE SUR MER", 'Code'=>"BOULOC"),
6203 => array('Id'=>"168", 'Nom'=>"TC CALAIS", 'Code'=>"CALAIC"),
6204 => array('Id'=>"698", 'Nom'=>"TC SAINT OMER", 'Code'=>"STOMEC"),
6251 => array('Id'=>"114", 'Nom'=>"TGIcc BETHUNE", 'Code'=>"BETHUG"),
6301 => array('Id'=>"26", 'Nom'=>"TC AMBERT", 'Code'=>"AMBERC"),
6302 => array('Id'=>"119", 'Nom'=>"TC BILLOM", 'Code'=>"BILLOC"),
6303 => array('Id'=>"233", 'Nom'=>"TC CLERMONT FERRAND", 'Code'=>"CLFERC"),
6304 => array('Id'=>"351", 'Nom'=>"TC ISSOIRE", 'Code'=>"ISSOIC"),
6305 => array('Id'=>"596", 'Nom'=>"TC RIOM", 'Code'=>"RIOMC"),
6306 => array('Id'=>"722", 'Nom'=>"TC THIERS", 'Code'=>"THIERC"),
6401 => array('Id'=>"91", 'Nom'=>"TC BAYONNE", 'Code'=>"BAYONC"),
6402 => array('Id'=>"536", 'Nom'=>"TC OLORON SAINTE MARIE", 'Code'=>"OLOROC"),
6403 => array('Id'=>"551", 'Nom'=>"TC PAU", 'Code'=>"PAUC"),
6501 => array('Id'=>"76", 'Nom'=>"TC BAGNERES DE BIGORRE", 'Code'=>"BAGNEC"),
6502 => array('Id'=>"718", 'Nom'=>"TC TARBES", 'Code'=>"TARBEC"),
6601 => array('Id'=>"559", 'Nom'=>"TC PERPIGNAN", 'Code'=>"PERPIC"),
6751 => array('Id'=>"637", 'Nom'=>"TGIcc SAVERNE", 'Code'=>"SAVERG"),
6752 => array('Id'=>"709", 'Nom'=>"TGIcc STRASBOURG", 'Code'=>"STRASG"),
6851 => array('Id'=>"239", 'Nom'=>"TGIcc COLMAR", 'Code'=>"COLMAG"),
6852 => array('Id'=>"494", 'Nom'=>"TGIcc MULHOUSE", 'Code'=>"MULHOG"),
6901 => array('Id'=>"415", 'Nom'=>"TC LYON", 'Code'=>"LYONC"),
6902 => array('Id'=>"775", 'Nom'=>"TC VILLEFRANCHE SUR SAONE", 'Code'=>"VILLFC"),
6903 => array('Id'=>"779", 'Nom'=>"TC VILLEFRANCHE-TARARE", 'Code'=>"VILTAC"),
7001 => array('Id'=>"334", 'Nom'=>"TC GRAY", 'Code'=>"GRAYC"),
7051 => array('Id'=>"413", 'Nom'=>"TGIcc LURE", 'Code'=>"LUREG"),
7052 => array('Id'=>"766", 'Nom'=>"TC VESOUL GRAY", 'Code'=>"VESOUC"),
7101 => array('Id'=>"62", 'Nom'=>"TC AUTUN", 'Code'=>"AUTUNC"),
7102 => array('Id'=>"191", 'Nom'=>"TC CHALON SUR SAONE", 'Code'=>"CHALOC"),
7103 => array('Id'=>"197", 'Nom'=>"TC CHAROLLES", 'Code'=>"CHAROC"),
7104 => array('Id'=>"258", 'Nom'=>"TC LE CREUSOT", 'Code'=>"CREUSC"),
7105 => array('Id'=>"409", 'Nom'=>"TC LOUHANS", 'Code'=>"LOUHAC"),
7106 => array('Id'=>"418", 'Nom'=>"TC MACON", 'Code'=>"MACONC"),
7107 => array('Id'=>"737", 'Nom'=>"TC TOURNUS", 'Code'=>"TOURNC"),
7201 => array('Id'=>"421", 'Nom'=>"TC MAMERS", 'Code'=>"MAMERC"),
7202 => array('Id'=>"427", 'Nom'=>"TC LE MANS", 'Code'=>"MANSC"),
7301 => array('Id'=>"194", 'Nom'=>"TC CHAMBERY", 'Code'=>"CHAMBC"),
7351 => array('Id'=>"14", 'Nom'=>"TGIcc ALBERTVILLE", 'Code'=>"ALBERG"),
7401 => array('Id'=>"1814", 'Nom'=>"TC ANNECY", 'Code'=>"ANNECC"),
7402 => array('Id'=>"1815", 'Nom'=>"TC THONON LES BAINS", 'Code'=>"THONOC"),
7451 => array('Id'=>"38", 'Nom'=>"TGIcc ANNECY", 'Code'=>"ANNECG"),
7452 => array('Id'=>"129", 'Nom'=>"TGIcc BONNEVILLE", 'Code'=>"BONNEG"),
7454 => array('Id'=>"727", 'Nom'=>"TGIcc THONON LES BAINS", 'Code'=>"THONOG"),
7501 => array('Id'=>"547", 'Nom'=>"TC PARIS", 'Code'=>"PARISC"),
7601 => array('Id'=>"267", 'Nom'=>"TC DIEPPE", 'Code'=>"DIEPPC"),
7602 => array('Id'=>"290", 'Nom'=>"TC ELBEUF", 'Code'=>"ELBEUC"),
7603 => array('Id'=>"298", 'Nom'=>"TC EULET", 'Code'=>"EULETC"),
7604 => array('Id'=>"307", 'Nom'=>"TC FECAMP (de terre et de mer)", 'Code'=>"FECAMC"),
7605 => array('Id'=>"329", 'Nom'=>"TC GOURNAY EN BRAY", 'Code'=>"GOURNC"),
7606 => array('Id'=>"345", 'Nom'=>"TC LE HAVRE", 'Code'=>"HAVREC"),
7607 => array('Id'=>"513", 'Nom'=>"TC NEUFCHATEL EN BRAY", 'Code'=>"NEUFCC"),
7608 => array('Id'=>"619", 'Nom'=>"TC ROUEN", 'Code'=>"ROUENC"),
7609 => array('Id'=>"712", 'Nom'=>"TC SAINT VALERY EN CAUX", 'Code'=>"STVACC"),
7701 => array('Id'=>"441", 'Nom'=>"TC MEAUX", 'Code'=>"MEAUXC"),
7702 => array('Id'=>"444", 'Nom'=>"TC MELUN", 'Code'=>"MELUNC"),
7703 => array('Id'=>"463", 'Nom'=>"TC MONTEREAU", 'Code'=>"MONTEC"),
7704 => array('Id'=>"581", 'Nom'=>"TC PROVINS", 'Code'=>"PROVIC"),
7801 => array('Id'=>"304", 'Nom'=>"TC EVRY", 'Code'=>"EVRYC"),
7802 => array('Id'=>"572", 'Nom'=>"TC PONTOISE", 'Code'=>"PONTOC"),
7803 => array('Id'=>"761", 'Nom'=>"TC VERSAILLES", 'Code'=>"VERSAC"),
7901 => array('Id'=>"525", 'Nom'=>"TC NIORT", 'Code'=>"NIORTC"),
7951 => array('Id'=>"143", 'Nom'=>"TGIcc BRESSUIRE", 'Code'=>"BRESSG"),
8001 => array('Id'=>"2", 'Nom'=>"TC ABBEVILLE", 'Code'=>"ABBEVC"),
8002 => array('Id'=>"28", 'Nom'=>"TC AMIENS", 'Code'=>"AMIENC"),
8003 => array('Id'=>"713", 'Nom'=>"TC SAINT VALERY S/ SOMME", 'Code'=>"STVASC"),
8053 => array('Id'=>"557", 'Nom'=>"TGIcc PERONNE", 'Code'=>"PERONG"),
8101 => array('Id'=>"16", 'Nom'=>"TC ALBI", 'Code'=>"ALBIC"),
8102 => array('Id'=>"182", 'Nom'=>"TC CASTRES", 'Code'=>"CASTRC"),
8201 => array('Id'=>"473", 'Nom'=>"TC MONTAUBAN", 'Code'=>"MONTNC"),
8301 => array('Id'=>"155", 'Nom'=>"TC BRIGNOLES", 'Code'=>"BRIGNC"),
8302 => array('Id'=>"283", 'Nom'=>"TC DRAGUIGNAN", 'Code'=>"DRAGUC"),
8303 => array('Id'=>"323", 'Nom'=>"TC FREJUS", 'Code'=>"FREJUC"),
8304 => array('Id'=>"711", 'Nom'=>"TC SAINT TROPEZ", 'Code'=>"STTROC"),
8305 => array('Id'=>"730", 'Nom'=>"TC TOULON", 'Code'=>"TOULOC"),
8401 => array('Id'=>"71", 'Nom'=>"TC AVIGNON", 'Code'=>"AVIGNC"),
8452 => array('Id'=>"178", 'Nom'=>"TGIcc CARPENTRAS", 'Code'=>"CARPEG"),
8501 => array('Id'=>"609", 'Nom'=>"TC LA ROCHE SUR YON", 'Code'=>"ROCHYC"),
8601 => array('Id'=>"228", 'Nom'=>"TC CHATELLERAULT", 'Code'=>"CHTLTC"),
8602 => array('Id'=>"567", 'Nom'=>"TC POITIERS", 'Code'=>"POITIC"),
8701 => array('Id'=>"392", 'Nom'=>"TC LIMOGES", 'Code'=>"LIMOGC"),
8801 => array('Id'=>"294", 'Nom'=>"TC EPINAL", 'Code'=>"EPINAC"),
8802 => array('Id'=>"458", 'Nom'=>"TC MIRECOURT", 'Code'=>"MIRECC"),
8803 => array('Id'=>"668", 'Nom'=>"TC SAINT DIE", 'Code'=>"STDIEC"),
8901 => array('Id'=>"64", 'Nom'=>"TC AUXERRE", 'Code'=>"AUXERC"),
8902 => array('Id'=>"355", 'Nom'=>"TC JOIGNY", 'Code'=>"JOIGNC"),
8903 => array('Id'=>"647", 'Nom'=>"TC SENS", 'Code'=>"SENSC"),
9001 => array('Id'=>"99", 'Nom'=>"TC BELFORT", 'Code'=>"BELFOC"),
9101 => array('Id'=>"248", 'Nom'=>"TC CORBEIL ESSONNES", 'Code'=>"CORBEC"),
9201 => array('Id'=>"504", 'Nom'=>"TC NANTERRE", 'Code'=>"NANTRC"),
9301 => array('Id'=>"126", 'Nom'=>"TC BOBIGNY", 'Code'=>"BOBIGC"),
9401 => array('Id'=>"256", 'Nom'=>"TC CRETEIL", 'Code'=>"CRETEC"),
9711 => array('Id'=>"84", 'Nom'=>"TMX BASSE-TERRE", 'Code'=>"BASSEM"),
9712 => array('Id'=>"565", 'Nom'=>"TMX POINTE-A-PITRE", 'Code'=>"POINTM"),
9721 => array('Id'=>"321", 'Nom'=>"TMX FORT DE FRANCE", 'Code'=>"FORTFM"),
9731 => array('Id'=>"187", 'Nom'=>"TMX CAYENNE", 'Code'=>"CAYENM"),
9741 => array('Id'=>"666", 'Nom'=>"TMX SAINT DENIS DE LA REUNION", 'Code'=>"STDENM"),
9742 => array('Id'=>"1816", 'Nom'=>"TMX SAINT PIERRE DE LA REUNION", 'Code'=>"STPIEM"),
);

View File

@ -1,54 +1,33 @@
<?php
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('default_socket_timeout', 30);
class AmaSoapClient extends SoapClient {
class MAmabis
{
protected $client;
protected $iDb;
function __doRequest($request, $location, $action, $version) {
/* $request = strtr($request, array('<ns1:'=>'<ama:',
'</ns1:'=>'</ama:',
// '<param0 xsi:type="xsd:string">'=>'',
'xmlns:ns1="http://www.amabis.com/ama.xsd"'=>'xmlns:ama="http://www.amabis.com/ama.xsd"',
// '</param0>'=>'',
// '&lt;'=>'<',
// '&gt;'=>'>',
)
);*/
return parent::__doRequest($request, $location, $action, $version);
}
}
public function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
class MAmabis {
private $client;
function __construct() {
/* $this->client = new AmaSoapClient(null, //'http://www.amabis.com/ama.wsdl',//null, //
array( 'location' => AMABIS_WS_URL,//'http://sw4.amabis.com:5101',
'uri' => AMABIS_WS_URI,//'http://sw4.amabis.com:5101',
'soap_version' => SOAP_1_1,
'trace' => 1,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
'connection_timeout'=> 2,
)
);
*/
$this->client = new AmaSoapClient(null,
array( //'location' => 'http://sw4.amabis.com:5100',
'location' => 'http://sw2.amabis.com:5100/',
'uri' => 'http://www.amabis.com/ns.xsd',
'connection_timeout' => 2,
'default_socket_timeout'=> 2,
'soap_version' => SOAP_1_1,
'trace' => 1,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
)
);
$this->client = new SoapClient(null, array(
'location' => 'http://sw2.amabis.com:5100/',
'uri' => 'http://www.amabis.com/ns.xsd',
'connection_timeout' => 2,
'soap_version' => SOAP_1_1,
'trace' => 1,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
));
}
function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false) {
public function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false)
{
$tabRep=array();
if (!$rnvp) {
if ($cp<10000) $cp='0'.$cp;
@ -56,7 +35,7 @@ class MAmabis {
$dep3=substr($cp,0,3)*1;
switch ($dep2) {
case 0:
case 5:
/*case 5:
case 9:
case 15:
case 19:
@ -64,7 +43,7 @@ class MAmabis {
case 32:
case 46:
case 48:
case 82:
case 82:*/
case 97: // DOM
case 98: // TOM
case 99: // Etranger
@ -76,13 +55,21 @@ class MAmabis {
}
}
$iDb=new WDB();
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
$ville=addslashes($ville);
$ret=$iDb->select( 'zonage', 'zus, zru, zfu, cucs', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
$majForcee=false;
$ret = $this->iDb->select('jo.zonage', 'zus, zru, zfu, cucs, rnvpStatut, rnvpCorr, rnvpTrt, adr3, adr4, adr5, adr6, adr7, numVoieA, indRepA,
typeVoieAlong, typeVoieAcourt, corpVoie, motDir, motDirD, libVoieSec, adr4n32, adr4n38, clePostaleVoie,
secteur, cleRoutage, cpx, cleAd, codPaysIso2, codPaysIso3, libPays, codeInsee',
"address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
$zones=@$ret[0];
if (count($ret)>0) {
$zones=$ret[0];
if ($zones['rnvpStatut']===null && $rnvp) $majForcee=true;
$tabRep['ZUS']=$tabRep['ZFU']=$tabRep['ZRU']=$tabRep['CUCS']='NON';
//$tabRep['NZUS']=$tabRep['NZFU']=$tabRep['NZRU']=$tabRep['NCUCS']='';
if (trim($zones['zus'])<>'') {
if (trim($zones['zus'])=='NSP') $tabRep['ZUS']='NSP';
else $tabRep['ZUS']='OUI';
@ -103,8 +90,22 @@ class MAmabis {
else $tabRep['CUCS']='OUI';
$tabRep['NCUCS']=$zones['cucs'];
}
//return $tabRep;
} else {
/** Autres Informations de la RNVP **/
if ($rnvp) {
//$tabRep['ADR1']=@trim($tabZones['ADR1']);
//$tabRep['ADR2']=@trim($tabZones['ADR2']);
if (strtoupper(@trim($zones['adr7']))=='FRANCE') $zones['adr7']='';
$tabRep['ADR3']=@trim($zones['adr3']);
$tabRep['ADR4']=@trim($zones['adr4']);
$tabRep['ADR5']=@trim($zones['adr5']);
$tabRep['ADR6']=@trim($zones['adr6']);
$tabRep['ADR7']=trim($zones['adr7']);
}
}
if (count($ret)==0 || $majForcee) {
try {
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
@ -130,62 +131,139 @@ class MAmabis {
if (trim($tabTmp[0])<>'')
$tabRep[$tabTmp[0]]=$tabTmp[1];
}
if ($tabRep['ZUS']=='NSP') $tabRep['NZUS']='NSP';
if ($tabRep['ZRU']=='NSP') $tabRep['NZRU']='NSP';
if ($tabRep['ZFU']=='NSP') $tabRep['NZFU']='NSP';
if ($tabRep['CUCS']=='NSP') $tabRep['NCUCS']='NSP';
if (@$tabRep['ZUS']=='NSP') $tabRep['NZUS']='NSP';
if (@$tabRep['ZRU']=='NSP') $tabRep['NZRU']='NSP';
if (@$tabRep['ZFU']=='NSP') $tabRep['NZFU']='NSP';
if (@$tabRep['CUCS']=='NSP') $tabRep['NCUCS']='NSP';
$adresse=stripslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
$ville=stripslashes($ville);
$tabInsert=array( 'address'=>$adresse,
'adr_cp'=>$cp,
'adr_ville'=>$ville,
'zus'=>$tabRep['NZUS'],
'zru'=>$tabRep['NZRU'],
'zfu'=>$tabRep['NZFU'],
'cucs'=>$tabRep['NCUCS'],
'adrNum'=>$adrNum,
'adrIndRep'=>$adrIndRep,
'adrTypeVoie'=>$adrTypeVoie,
'adrLibVoie'=>$adrLibVoie,
'rivoli'=>$codeRivoli,
);
$iDb->insert('zonage', $tabInsert);
$tabRepTmp=array();
$tabTmp=explode('=',utf8_decode($rep['objdesc']));
//print_r($tabTmp);
//die();
$tabZones=array();
foreach ($tabTmp as $iZone=>$zone) {
$pos=strrpos($zone,',');
if ($iZone==0) {
$nomZoneSuiv=$zone;
continue;
}
$tabZones[$nomZoneSuiv]=substr($zone,0,$pos);
$nomZoneSuiv=substr($zone,$pos+1);
}
if (strtoupper(@trim($tabZones['ADR7']))=='FRANCE') $tabZones['ADR7']='';
$tabTmp=explode('|', $tabZones['VOIEA']);
$typeVoieAcourt=@trim($tabTmp[1]);
$tabInsert=array(
'address'=>$adresse,
'adr_cp'=>$cp,
'adr_ville'=>$ville,
'zus'=>@$tabRep['NZUS'],
'zru'=>@$tabRep['NZRU'],
'zfu'=>@$tabRep['NZFU'],
'cucs'=>@$tabRep['NCUCS'],
);
$tabUpdate=array(
'adrNum'=>$adrNum,
'adrIndRep'=>$adrIndRep,
'adrTypeVoie'=>$adrTypeVoie,
'adrLibVoie'=>$adrLibVoie,
'rivoli'=>$codeRivoli,
// Ajouté le 16/12/2013
'rnvpStatut' => substr($tabZones['STATUTC'],0,2),
'rnvpCorr' => substr($tabZones['STATUTC'],2,1),
'rnvpTrt' => trim(substr($tabZones['STATUTC'],3,2)),
'adr3' => @trim($tabZones['ADR3']),
'adr4' => @trim($tabZones['ADR4']),
'adr5' => @trim($tabZones['ADR5']),
'adr6' => @trim($tabZones['ADR6']),
'adr7' => trim($tabZones['ADR7']),
'numVoieA' => @trim($tabZones['NUM1']),
'indRepA' => @trim($tabZones['BTQC1']),
'typeVoieAlong' => @trim($tabZones['TYPVOIEL']),
'typeVoieAcourt' => $typeVoieAcourt,
'corpVoie' => @trim($tabZones['CORPSVOIE']),
'motDir' => @trim($tabZones['MOTDIR']),
'motDirD' => @trim($tabZones['MOTDIRD']),
'libVoieSec' => @trim($tabZones['VOIREFLIBS']),
'adr4n32' => @trim($tabZones['VOIREFLIBPOS']),
'adr4n38' => @trim($tabZones['VOIREFLIBPOS2']),
'clePostaleVoie' => @trim($tabZones['VOIREFCLEPOST']),
'secteur' => @trim($tabZones['SECTEUR']),
'cleRoutage' => @trim($tabZones['CLER']),
'cpx' => @trim($tabZones['CPX']),
'cleAd' => @trim($tabZones['CLEAD']),
'codPaysIso2' => @trim($tabZones['NATREFISO2']),
'codPaysIso3' => @trim($tabZones['NATREFISO3']),
'libPays' => @trim($tabZones['NATREFLIB']),
'codeInsee' => @trim($tabZones['LOCREFCLEO']),
'source' => 'Amabis',
);
$dateInsert=0;
if ($majForcee) {
$adresseL=addslashes($adresse);
$villeL=addslashes($ville);
$ret = $this->iDb->select('jo.zonage', 'dateInsert*1 as dateInsert', "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
$dateInsert=@$ret[0]['dateInsert']*1;
$this->iDb->update('jo.zonage', array_merge($tabUpdate,array('dateInsert'=>$dateInsert)), "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
//echo "Mise à jour de l'adresse du $dateInsert pour address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'".EOL;
}
if ($dateInsert==0) {
$this->iDb->insert('jo.zonage', array_merge($tabInsert,$tabUpdate), false);
//echo "Insertion de l'adresse (".$zones['rnvpStatut'].")!".EOL;
}
$tabTmp[0]=explode(',', $tabZones['LOCREFCLEP']);
$tabTmp[1]=explode(',', $tabZones['LOCREFCP']);
$tabTmp[2]=explode(',', $tabZones['LOCREFTYPP']);
$tabTmp[3]=explode(',', $tabZones['LOCREFLIBD']);
$tabTmp[4]=explode(',', $tabZones['LOCREFLIBD2']);
foreach($tabTmp[0] as $iCleP=>$cleP) {
$tabInsert=array(
'codeInsee' => @trim($tabZones['LOCREFCLEO']),
'villeLib' => @trim($tabZones['LOCREFLIBP']),
'villePopu' => @trim($tabZones['LOCREFPOP']),
'cleAchPost'=> $cleP,
'codePostal'=> $tabTmp[1][$iCleP],
'typePostal'=> $tabTmp[2][$iCleP],
'libAchP32' => @preg_replace('/^\//','',$tabTmp[3][$iCleP]),
'libAchP38' => @preg_replace('/^\//','',$tabTmp[4][$iCleP]),
'source' => 'Amabis',
'dateInsert'=> date('YmdHis'),
);
$this->iDb->insert('jo.villesCP', $tabInsert, false);
//echo mysql_error().EOL;
}
/** Autres Informations de la RNVP
**/
if ($rnvp || $debug) {
$tabRepTmp=array();
$tabZones=explode(',',$rep['objdesc']);
foreach ($tabZones as $zone) {
$tabTmp=explode('=',$zone);
if (trim($tabTmp[0])<>'')
$tabRepTmp[$tabTmp[0]]=$tabTmp[1];
}
if (!$debug) {
$tabRep['ADR1']=@$tabRepTmp['ADR1'];
$tabRep['ADR2']=@$tabRepTmp['ADR2'];
$tabRep['ADR3']=@$tabRepTmp['ADR3'];
$tabRep['ADR4']=@$tabRepTmp['ADR4'];
$tabRep['ADR5']=@$tabRepTmp['ADR5'];
$tabRep['ADR6']=@$tabRepTmp['ADR6'];
$tabRep['ADR7']=@$tabRepTmp['ADR7'];
} else {
$tabRep=array_merge($tabRep, $tabRepTmp);
}
if ($rnvp) {
//$tabRep['ADR1']=@trim($tabZones['ADR1']);
//$tabRep['ADR2']=@trim($tabZones['ADR2']);
$tabRep['ADR3']=@trim($tabZones['ADR3']);
$tabRep['ADR4']=@trim($tabZones['ADR4']);
$tabRep['ADR5']=@trim($tabZones['ADR5']);
$tabRep['ADR6']=@trim($tabZones['ADR6']);
$tabRep['ADR7']=trim($tabZones['ADR7']);
}
} catch (SoapFault $fault) {
echo 'ERREUR SOAP :'.EOL;
print_r($fault);
echo $this->client->__getLastRequest()."\n";
echo $this->client->__getLastResponse()."\n";
//echo 'ERREUR SOAP :'.EOL;
//print_r($fault);
//echo $this->client->__getLastRequest()."\n";
//echo $this->client->__getLastResponse()."\n";
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s').' - ERREUR SOAP : Requete = '.$this->client->__getLastRequest()."\n Reponse = ".$this->client->__getLastResponse()."\n============================================================================\n");
fclose($fp);
}
//return $tabRep;
}
/** Zonages AFR et ZRR
**/
$codeInsee=substr($codeRivoli,0,5);
$ret=$iDb->select( 'zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
$ret = $this->iDb->select('jo.zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
$tabRep['ZRR']=$tabRep['AFR']='NON';
foreach ($ret as $zones)
switch ($zones['typeZone']) {
@ -217,7 +295,6 @@ class MAmabis {
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");
fclose($fp);
}
}
?>

View File

@ -19,7 +19,7 @@ class MArtisanat {
function getIdentite($siren, $refresh=false) {
$siren=$siren*1;
$res=$this->iDb->select('artisanat', 'id, siren, actif, numRM, denomination, sigle, nomCommercial, enseigne, fj, effectif, aprm, debutActivite, activite, adresse, cp, ville, cessation, radiation, nbInscriptions, nom, prenom, nomUsage, dateNaiss, lieuNaiss, natio, qualite, qualif, dateQualif, dateFctDeb, dateFctFin, IF(dateInsert>dateUpdate,dateInsert,dateUpdate) AS dateUpdate', "siren=$siren", false, MYSQL_ASSOC);
$res=$this->iDb->select('jo.artisanat', 'id, siren, actif, numRM, denomination, sigle, nomCommercial, enseigne, fj, effectif, aprm, debutActivite, activite, adresse, cp, ville, cessation, radiation, nbInscriptions, nom, prenom, nomUsage, dateNaiss, lieuNaiss, natio, qualite, qualif, dateQualif, dateFctDeb, dateFctFin, IF(dateInsert>dateUpdate,dateInsert,dateUpdate) AS dateUpdate', "siren=$siren", false, MYSQL_ASSOC);
if (count($res)>0 && !$refresh) {
$this->enCache=true;
$tabInsert=$res[0];
@ -138,6 +138,10 @@ class MArtisanat {
$this->libErreur='Erreur Siren $sirenLu<>$siren !';
return false;
}
} elseif (preg_match('/<span class="rouge">aucune entreprise ne correspond &agrave; vos crit&egrave;res de recherche<\/span>/Uis', $this->body, $matches)) {
$this->libErreur='Erreur Artisan absent de la base Artisanat !';
// die($this->body);
return false;
} else {
$this->libErreur='Erreur Siren absent dans la page !';
return false;
@ -252,11 +256,11 @@ class MArtisanat {
// Insertion en base de données
$tabInsert['dateInsert']=date('Y-m-d H:i:s');
$id=$this->iDb->insert('artisanat', $tabInsert, true);
$id=$this->iDb->insert('jo.artisanat', $tabInsert, true);
$tabInsert['id']=$id;
foreach ($tabEtabs as $tabInsert2) {
$tabInsert2['dateInsert']=$tabInsert['dateInsert'];
$id2=$this->iDb->insert('artisanat_etab', $tabInsert2, true);
$id2=$this->iDb->insert('jo.artisanat_etab', $tabInsert2, true);
}
$tabInsert['dateUpdate']=substr($tabInsert['dateInsert'],0,10);

View File

@ -1,69 +1,82 @@
<?
<?php
require_once 'framework/common/dates.php';
class MBanques {
class MBanques
{
public $tabActivite = array(
0=>'établissements et services autorisés à effectuer des opérations de banque',
1=>'banques',
2=>'banques mutualistes ou coopératives',
4=>'caisses de crédit municipal',
5=>'sociétés financières 5', // la distinction entre les codes 5 et 6 ne concerne que les
6=>'sociétés financières 6', // applications internes à la Banque de France
7=>'institutions financières spécialisées',
9=>'entreprises d\'investissement'
);
public $tabActivite=array( 0=>'établissements et services autorisés à effectuer des opérations de banque',
1=>'banques',
2=>'banques mutualistes ou coopératives',
4=>'caisses de crédit municipal',
5=>'sociétés financières 5', // la distinction entre les codes 5 et 6 ne concerne que les
6=>'sociétés financières 6', // applications internes à la Banque de France
7=>'institutions financières spécialisées',
9=>'entreprises d\'investissement');
public $tabNatureGuichet = array(
1=>'Guichet permanent de plein exercice domiciliataire (ouvert au public)',
2=>'Identifiant de domiciliation (adresse active 5 jours par semaine)',
3=>'Guichet permanent non domiciliataire (ouvert au public)',
4=>'Libre Prestation de services (LPS)',
'A'=>'Guichet fictif',
'P'=>'Guichet fictif'
);
public $tabNatureGuichet=array( 1=>'Guichet permanent de plein exercice domiciliataire (ouvert au public)',
2=>'Identifiant de domiciliation (adresse active 5 jours par semaine)',
3=>'Guichet permanent non domiciliataire (ouvert au public)',
4=>'Libre Prestation de services (LPS)',
'A'=>'Guichet fictif',
'P'=>'Guichet fictif');
public $tabOrgane = array(
0=>'Association française des établissements de crédit et des entreprises d\'investissement',
11=>'Association française des sociétés financières',
12=>'Groupement des institutions financières spécialisées',
13=>'Conférence permanente des caisses de crédit municipal',
14=>'Association française des entreprises d\'investissement',
15=>'Association française des entreprises d\'investissement-courtiers',
16=>'Association française des fonds et sociétés d\'investissements et de gestion d\'actifs financiers',
17=>'Association française des intermédiaires transmetteurs d\'ordres ',
18=>'Fédération bancaire française',
19=>'Ass Franc Marchés Financiers',
20=>'Caisse nationale de crédit agricole',
21=>'Chambre syndicale des banques populaires',
22=>'Confédération nationale du crédit mutuel',
23=>'Caisse centrale de crédit coopératif',
25=>'Caisse nationale des caisses d\'épargne et de prévoyance',
27=>'Chambre syndicale des SACI',
28=>'Double affiliation CNCE-BFBP',
29=>'Crédit Immobilier France Développement',
30=>'BPCE',
98=>'non concerné',
99=>'en instance d\'adhésion'
);
public $tabOrgane=array( 0=>'Association française des établissements de crédit et des entreprises d\'investissement',
11=>'Association française des sociétés financières',
12=>'Groupement des institutions financières spécialisées',
13=>'Conférence permanente des caisses de crédit municipal',
14=>'Association française des entreprises d\'investissement',
15=>'Association française des entreprises d\'investissement-courtiers',
16=>'Association française des fonds et sociétés d\'investissements et de gestion d\'actifs financiers',
17=>'Association française des intermédiaires transmetteurs d\'ordres ',
18=>'Fédération bancaire française',
19=>'Ass Franc Marchés Financiers',
20=>'Caisse nationale de crédit agricole',
21=>'Chambre syndicale des banques populaires',
22=>'Confédération nationale du crédit mutuel',
23=>'Caisse centrale de crédit coopératif',
25=>'Caisse nationale des caisses d\'épargne et de prévoyance',
27=>'Chambre syndicale des SACI',
28=>'Double affiliation CNCE-BFBP',
29=>'Crédit Immobilier France Développement',
30=>'BPCE',
98=>'non concerné',
99=>'en instance d\'adhésion');
private $iDb;
protected $iDb;
function __construct() {
$this->iDb=new WDB('insee');
function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
function __destruct() {}
function getInfoBanque($codeBanque) {
$ret=$this->iDb->select( 'BDF_Etabs',
'bdfFibCodeEtab, bdfFibCodeSituation, bdfFibDenom40, bdfFibDenom10, bdfFibCodeActivite, bdfFibCodeOrganeRepr, bdfFibDateAgrement, bdfFibDateRetraitAgr, bdfFibDateFinDiffus, bdfFibAdresse1, bdfFibAdresse2, bdfFibAdresse3, CP, Ville, bdfFibCodeEtabAbsorb, bdfFibOptionIdInvar, bdfFibDateOptIdInvar',
"bdfFibCodeEtab=$codeBanque",false, MYSQL_ASSOC);
function getInfoBanque($codeBanque)
{
$ret = $this->iDb->select(
'insee.BDF_Etabs',
'bdfFibCodeEtab, bdfFibCodeSituation, bdfFibDenom40, bdfFibDenom10, bdfFibCodeActivite, bdfFibCodeOrganeRepr, bdfFibDateAgrement, bdfFibDateRetraitAgr, bdfFibDateFinDiffus, bdfFibAdresse1, bdfFibAdresse2, bdfFibAdresse3, CP, Ville, bdfFibCodeEtabAbsorb, bdfFibOptionIdInvar, bdfFibDateOptIdInvar',
"bdfFibCodeEtab=$codeBanque",false, MYSQL_ASSOC);
//echo mysql_error();
$tabRet=$ret[0];
return $tabRet;
}
function getInfoGuichet($codeBanque, $codeGuichet) {
function getInfoGuichet($codeBanque, $codeGuichet)
{
$tabBanque=$this->getInfoBanque($codeBanque);
$tabTel=$this->getTelGuichet($codeBanque,$codeGuichet);
$ret=$this->iDb->select( 'BDF_Guichets',
'bdfFibCodeEtab, bdfFibCodeGuichet, bdfFibCodeSituation AS guichetCodeSituation, bdfFibDenom40 AS guichetDenom40, bdfFibDenom20 AS guichetDenom20, bdfFibCodeEtabCible, bdfFibCodeGuichetRepr, bdfFibCodeGeoInsee, bdfFibCodeLocalite1, bdfFibCodeLocalite2, bdfFibComptoirBDF, bdfFibAdresse1 AS guichetAdresse1, bdfFibAdresse2 AS guichetAdresse2, bdfFibAdresse3 AS guichetAdresse3, CP AS guichetCP, Ville AS guichetVille, bdfFibAdresseSWIFT, bdfFibDateOuverture, bdfFibDateFermeture, bdfFibDateFinDiffus, bdfFibCodeRoutage, bdfFibLibelleRIB, bdfFibNatureGuichet, bdfFibCodeAchOperBDF, bdfFibNomComptoirBDF',
"bdfFibCodeEtab=$codeBanque AND bdfFibCodeGuichet=$codeGuichet",false, MYSQL_ASSOC);
$ret = $this->iDb->select(
'insee.BDF_Guichets',
'bdfFibCodeEtab, bdfFibCodeGuichet, bdfFibCodeSituation AS guichetCodeSituation, bdfFibDenom40 AS guichetDenom40, bdfFibDenom20 AS guichetDenom20, bdfFibCodeEtabCible, bdfFibCodeGuichetRepr, bdfFibCodeGeoInsee, bdfFibCodeLocalite1, bdfFibCodeLocalite2, bdfFibComptoirBDF, bdfFibAdresse1 AS guichetAdresse1, bdfFibAdresse2 AS guichetAdresse2, bdfFibAdresse3 AS guichetAdresse3, CP AS guichetCP, Ville AS guichetVille, bdfFibAdresseSWIFT, bdfFibDateOuverture, bdfFibDateFermeture, bdfFibDateFinDiffus, bdfFibCodeRoutage, bdfFibLibelleRIB, bdfFibNatureGuichet, bdfFibCodeAchOperBDF, bdfFibNomComptoirBDF',
"bdfFibCodeEtab=$codeBanque AND bdfFibCodeGuichet=$codeGuichet",false, MYSQL_ASSOC);
//echo mysql_error();
if (isset($ret[0]))
$tabRet=@$ret[0];
@ -73,21 +86,24 @@ class MBanques {
return array_merge($tabRet, $tabBanque, $tabTel);
}
function getTelGuichet($codeBanque, $codeGuichet) {
$ret=$this->iDb->select( 'Mandel_banques',
'Tel, Fax',
"CodeB=$codeBanque AND CodeG=$codeGuichet",false, MYSQL_ASSOC);
function getTelGuichet($codeBanque, $codeGuichet)
{
$ret = $this->iDb->select(
'insee.Mandel_banques',
'Tel, Fax',
"CodeB=$codeBanque AND CodeG=$codeGuichet",false, MYSQL_ASSOC);
if (isset($ret[0]))
return $ret[0];
else
return array();
return array();
}
function getListeBanques($siren) {
$tabRet=array();
function getListeBanques($siren)
{
$tabRet = array();
if ($siren*1>1000) {
$res=$this->iDb->select('banques', 'codeBanque, codeGuichet, libBanqueGuichet, precis, dateSource*1 AS dateSource', "siren=$siren", false, MYSQL_ASSOC);
$tmp=$this->iDb->select('fedRib', "codeBanque, codeGuichet, CONCAT(libBanque,' ',libGuichet) AS libBanqueGuichet, 0 AS precis, IF (dateInfo='0000-00-00', dateDispo*1, dateInfo*1) AS dateSource", "siren=$siren", false, MYSQL_ASSOC);
$res=$this->iDb->select('insee.banques', 'codeBanque, codeGuichet, libBanqueGuichet, precis, dateSource*1 AS dateSource', "siren=$siren", false, MYSQL_ASSOC);
$tmp=$this->iDb->select('insee.fedRib', "codeBanque, codeGuichet, CONCAT(libBanque,' ',libGuichet) AS libBanqueGuichet, 0 AS precis, IF (dateInfo='0000-00-00', dateDispo*1, dateInfo*1) AS dateSource", "siren=$siren", false, MYSQL_ASSOC);
$res=array_merge($res, $tmp);
foreach ($res as $tabBanque) {
$dateSource=$tabBanque['dateSource'];
@ -119,17 +135,17 @@ class MBanques {
} else continue;
} else continue;
$tabRet[]=array('codeBanque' => $codBanque,
'codeGuichet' => $codGuichet,
'libBanque' => $libBanque,
'adresse1' => $adrBanque1,
'adresse2' => $adrBanque2,
'cp' => $adrBanqueCP,
'ville' => $adrBanqueVille,
);
$tabRet[] = array(
'codeBanque' => $codBanque,
'codeGuichet' => $codGuichet,
'libBanque' => $libBanque,
'adresse1' => $adrBanque1,
'adresse2' => $adrBanque2,
'cp' => $adrBanqueCP,
'ville' => $adrBanqueVille,
);
}
}
return $tabRet;
}
}
?>

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
<?
<?php
require_once 'framework/common/curl.php';
class MBilans {
class MBilans
{
private $body = '';
private $header = '';
private $codeRetour = 0;
@ -29,15 +29,14 @@ class MBilans {
function listeBilans($uniquementEnBase=true) {
//if ($siren<>0) $this->siren=$siren;
$iDb2=new WDB('insee');
$ret=$iDb2->select( 'bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaieOrigine',
$iDb=new WDB();
$ret=$iDb->select( 'jo.bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaieOrigine',
"siren='$this->siren' ORDER BY dateExercice DESC");
// if (count($ret)==0) return array(); // Pas de bilan disponible !
// else {
$tabRet=array();
if (!$uniquementEnBase) {
$iDb=new WDB('jo');
$ret2=$iDb->select( 'bodacc_detail', 'Bodacc_Date_Parution, dateEffet, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, RC, raisonSociale, FJ, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege', "siren='$this->siren' AND Rubrique='comptes' ORDER BY dateEffet DESC");
$ret2=$iDb->select( 'jo.bodacc_detail', 'Bodacc_Date_Parution, dateEffet, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, RC, raisonSociale, FJ, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege', "siren='$this->siren' AND Rubrique='comptes' ORDER BY dateEffet DESC");
$dateDerDepot=WDate::dateT('Y-m-d','Ymd',@$ret2[0]['dateEffet'])*1;
$dateDerExercice=$ret[0]['dateExercice']*1;
if ($dateDerDepot<>0) {
@ -65,8 +64,8 @@ class MBilans {
function getBilan($millesime='', $source=1) {
$iDb2=new WDB('insee');
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND dateExercice='$millesime'", true);
$iDb2=new WDB();
$ret=$iDb2->select('jo.bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND dateExercice='$millesime'", true);
/*echo $this->siren.'<br/>';
echo $millesime.'<br/>';
print_r($ret[0]);die();*/
@ -87,8 +86,8 @@ class MBilans {
'postes' =>$tabBilan['POSTES'],
'partenaire' =>1,
);
$iDb2->insert('bilans', $tabInsert);
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND dateExercice='$millesime'");
$iDb2->insert('jo.bilans', $tabInsert);
$ret=$iDb2->select('jo.bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND dateExercice='$millesime'");
$bilan=$ret[0];
}
}

View File

@ -0,0 +1,255 @@
<?php
class MBilansInput
{
public $CtrlEcartMax = 10;
public $Ctrl = array (
// --- Bilan Simplifié
'S' => array(
// Actif Simplifié
'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
'014-016=017'=>'Immos incorpo. autres (Brut,Amor/Prov et Net incohérents)',
'028-030=031'=>'Immos corpo. (Brut,Amor/Prov et Net incohérents)',
'040-042=043'=>'Immos finan. (Brut,Amor/Prov et Net incohérents)',
'044-048=049'=>'Total (I) Actif Immos (Brut,Amor/Prov et Net incohérents)',
'010+014+028+040=044'=>'Total Actif immobilisé Brut',
'012+016+030+042=048'=>'Total Actif immobilisé Amor/Prov',
'013+017+031+043=049'=>'Total Actif immobilisé Net',
'050-052=053'=>'Stocks MP (Brut,Amor/Prov et Net incohérents)',
'060-062=063'=>'Stocks Marchandises (Brut,Amor/Prov et Net incohérents)',
'064-066=067'=>'Avances et acomptes/cmds (Brut,Amor/Prov et Net incohérents)',
'068-070=071'=>'Créances clients et CR (Brut,Amor/Prov et Net incohérents)',
'072-074=075'=>'Autres créances (Brut,Amor/Prov et Net incohérents)',
'080-082=083'=>'VMP (Brut,Amor/Prov et Net incohérents)',
'084-086=087'=>'Disponibilités (Brut,Amor/Prov et Net incohérents)',
'088-090=091'=>' (Brut,Amor/Prov et Net incohérents)',
'092-094=095'=>'Ch. constatées d\'avance (Brut,Amor/Prov et Net incohérents)',
'096-098=099'=>'Total (II) Actif Circulant (Brut,Amor/Prov et Net incohérents)',
'110-112=113'=>'Total ACTIF (Brut,Amor/Prov et Net incohérents)',
'050+060+064+068+072+080+084+088+092=096'=>'Total Actif circulant Brut',
'052+062+066+070+074+082+086+090+094=098'=>'Total Actif circulant Amor/Prov',
'053+063+067+071+075+083+087+091+092=099'=>'Total Actif circulant Net',
'044+096=110'=>'Total ACTIF Brut',
'048+098=112'=>'Total ACTIF Amor/Prov',
'049+099=113'=>'Total ACTIF Net',
// Passif Simplifié
'120+124+126+130+132+134+136+140=142'=>'Total Capitaux Propres',
'156+164+166+172+174=176'=>'Total Dettes',
'142+154+176=180'=>'Total Passif',
'113=180'=>'Actif=Passif',
// CDR Simplifié
'210+214+218+222+224+226+230=232'=>'Total des produits d\'exploitation',
'234+236+238+240+242+244+250+252+254+256+262=264'=>'Total des charges d\'exploitation',
'210+214+218+222+224+226+230=232'=>'Total des produits d\'exploitation',
'232-264=270'=>'Résultat d\'exploitation',
'232+280+290-264-294-300-306=310'=>'Résultat d\'exploitation',
),
// --- Bilan Réel Normal
'N' => array(
// Actif immobilisé
'AA=AA2'=>'Capital souscrit non appelé',
'AB-AC=AC1'=>'Frais d\'étab. (Brut,Amor/Prov et Net incohérents)',
'AD-AE=AE1'=>'Frais de R&D (Brut,Amor/Prov et Net incohérents)',
'AF-AG=AG1'=>'Brevets (Brut,Amor/Prov et Net incohérents)',
'AH-AI=AI1'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
'AJ-AK=AK1'=>'Autres immo inc. (Brut,Amor/Prov et Net incohérents)',
'AL-AM=AM1'=>'Acomptes immo inc. (Brut,Amor/Prov et Net incohérents)',
'AN-AO=AO1'=>'Terrains (Brut,Amor/Prov et Net incohérents)',
'AP-AQ=AQ1'=>'Constructions (Brut,Amor/Prov et Net incohérents)',
'AR-AS=AS1'=>'Installations (Brut,Amor/Prov et Net incohérents)',
'AT-AU=AU1'=>'Autres immo corp. (Brut,Amor/Prov et Net incohérents)',
'AV-AW=AW1'=>'Immos en cours (Brut,Amor/Prov et Net incohérents)',
'AX-AY=AY1'=>'Acomptes immo corp. (Brut,Amor/Prov et Net incohérents)',
'CS-CT=CT1'=>'Immo Fi participations/équiv. (Brut,Amor/Prov et Net incohérents)',
'CU-CV=CV1'=>'Autres participations (Brut,Amor/Prov et Net incohérents)',
'BB-BC=BC1'=>'Créances rattachées à des particip. (Brut,Amor/Prov et Net incohérents)',
'BD-BE=BE1'=>'Autres titres immo. (Brut,Amor/Prov et Net incohérents)',
'BF-BG=BG1'=>'Prêts (Brut,Amor/Prov et Net incohérents)',
'BH-BI=BI1'=>'Autres Immo Financières (Brut,Amor/Prov et Net incohérents)',
'BJ-BK=BK1'=>'Total de l\'Actif Immobilisé (Brut,Amor/Prov et Net incohérents)',
'AB+AD+AF+AH+AJ+AL+AN+AP+AR+AT+AV+AX+CS+CU+BB+BD+BF+BH=BJ'=>'Total des Immobilisations (Brut)',
'AC+AE+AG+AI+AK+AM+AO+AQ+AS+AU+AW+AY+CT+CV+BC+BE+BG+BI=BK'=>'Total des Immobilisations (Amor.)',
'AC1+AE1+AG1+AI1+AK1+AM1+AO1+AQ1+AS1+AU1+AW1+AY1+CT1+CV1+BC1+BE1+BG1+BI1=BK1'=>'Total des Immobilisations (Net)',
// Actif circulant
'BL-BM=BM1'=>'Stocks de MP (Brut,Amor/Prov et Net incohérents)',
'BN-BO=BO1'=>'Stocks en cours de prod. biens (Brut,Amor/Prov et Net incohérents)',
'BP-BQ=BQ1'=>'Stocks en cours de prod. services (Brut,Amor/Prov et Net incohérents)',
'BR-BS=BS1'=>'Stocks produits finis (Brut,Amor/Prov et Net incohérents)',
'BT-BU=BU1'=>'Stocks de marchandises (Brut,Amor/Prov et Net incohérents)',
'BV-BW=BW1'=>'Avances et acomptes/cmds (Brut,Amor/Prov et Net incohérents)',
'BX-BY=BY1'=>'Créances clients (Brut,Amor/Prov et Net incohérents)',
'BZ-CA=CA1'=>'Autres créances (Brut,Amor/Prov et Net incohérents)',
'CB-CC=CC1'=>'Capital souscrit appelé non versé (Brut,Amor/Prov et Net incohérents)',
'CD-CE=CE1'=>'VMP (Brut,Amor/Prov et Net incohérents)',
'CF-CG=CG1'=>'Disponibilités (Brut,Amor/Prov et Net incohérents)',
'CH-CI=CI1'=>'Charges Const. d\'avance(Brut,Amor/Prov et Net incohérents)',
'CJ-CK=CK1'=>'Total de l\'Actif Circulant (Brut,Amor/Prov et Net incohérents)',
'BL+BN+BP+BR+BT+BV+BX+BZ+CB+CD+CF+CH=CJ'=>'Total l\'Actif Circulant (Brut)',
'BM+BO+BQ+BS+BU+BW+BY+CA+CC+CE+CG+CI=CK'=>'Total l\'Actif Circulant (Amor.)',
'BM1+BO1+BQ1+BS1+BU1+BW1+BY1+CA1+CC1+CE1+CG1+CI1=CK1'=>'Total l\'Actif Circulant (Net)',
'CL=CL2'=>'Charges / plus. ex. (Brut<>Net)',
'CM=CM2'=>'Primes de Rbt obligations (Brut<>Net)',
'CN=CN2'=>'Ecarts de conversion d\'actif (Brut<>Net)',
'CO-1A=1A1'=>'Total Actif (Brut,Amor/Prov et Net incohérents)',
'AA+BJ+CJ+CL+CM+CN=CO'=>'Total Actif Brut',
'BK+CK=1A'=>'Total Actif (Amor.)',
'AA2+BK1+CK1+CL2+CM2+CN2=1A1'=>'Total Actif Net',
// PASSIF
'DA+DB+DC+DD+DE+DF+DG+DH+DI+DJ+DK=DL'=>'Passif : s/total I (Capitaux Propres)',
'DM+DN=DO'=>'Passif : s/total II (Autres fonds propres)',
'DP+DQ=DR'=>'Passif : s/total III (Provisions)',
'DS+DT+DU+DV+DW+DX+DY+DZ+EA+EB=EC'=>'Passif : s/total IV (Dettes+Cpt régul. PCA)',
'DL+DO+DR+EC+ED=EE'=>'Total Passif',
'EE=1A1'=>'Total Actif=Total Passif',
// CDR
'FA+FB=FC'=>'Total Ventes de marchandises',
'FD+FE=FF'=>'Total Production vendue de biens',
'FG+FH=FI'=>'Total Production vendue de services',
'FJ+FK=FL'=>'Total Chiffe d\'Affaires France+Export',
'FA+FD+FG=FJ'=>'Total C.A. France',
'FB+FE+FH=FK'=>'Total C.A. Export',
'FC+FF+FI=FL'=>'Total C.A. Total (Vtes+Biens+Services)',
'FL+FM+FN+FO+FP+FQ=FR'=>'Total I : Produits d\'Exploitation',
'FS+FT+FU+FV+FW+FX+FY+FZ+GA+GB+GC+GD+GE=GF'=>'Total II :Charges d\'Exploitation',
'FR-GF=GG'=>'1 - Résultat d\'Exploitation',
'GJ+GK+GL+GM+GN+GO=GP'=>'Total V : Produits Financiers',
'GQ+GR+GS+GT=GU'=>'Total VI : Charges Financières',
'GP-GU=GV'=>'2 - Résultat Financier',
'GG+GH-GI+GV=GW'=>'3 - R.C.A.I.',
'HA+HB+HC=HD'=>'Total VII : Produits Exceptionnels',
'HE+HF+HG=HH'=>'Total VIII : Charges Exceptionnels',
'HD-HH=HI'=>'4 - Résultat Exceptionnel',
'FR+GH+GP+HD=HL'=>'CDR : Total des Produits',
'GF+GI+GU+HH+HJ+HK=HM'=>'CDR : Total des Charges',
'HL-HM=HN'=>'5 - Résultat de l\'exercice',
),
);
public $LibCodeCtrl = array(
'_0' => '-',
'_1' => 'Corrigé',
'_3' => 'Capital',
'_5' => 'Calculs', // Anciennement 2 mais maintenant >=5 correspond à une erreur grave
'_7' => 'Effectif',
'_9' => 'Unité',
);
public $LibCodeSaisie = array(
// Code Saisie Bilans par Infogreffe
'_00' => 'Bilan saisi sans anomalie',
'_01' => 'Bilan saisi avec des incohérences comptables à la source du document (issues du remettant)',
'_02' => 'Bilan avec Actif, Passif ou Compte de Résultat nul',
'_03' => 'Bilan incomplet (des pages manquent)',
'_04' => 'Bilan complet non détaillé (seuls les totaux et sous totaux sont renseignés)',
'_05' => 'Bilan reçu en double exemplaire',
'_06' => 'Bilan intermédiaire - Situation provisoire',
'_07' => 'Bilan illisible',
'_A7' => 'Bilan illisible, présentant un cadre gris très foncés (dans lesquels sont inscrits en général les totaux)',
'_B7' => 'Bilan manuscrits',
'_C7' => 'Bilan illisible, présentant des caractères trop gras',
'_D7' => 'Bilan scanné en biais ou qui présentent des pages rognées',
'_E7' => 'Bilan numérisés trop clairement (comme une imprimante dont la cartouche est presque vide)',
'_F7' => 'Bilan illisible',
'_08' => 'Bilan consolidé',
'_09' => 'Déclaration d\'impôts',
'_10' => 'Document autre que bilan',
'_11' => 'Bilan de clôture de liquidation',
'_12' => 'Bilan de Société financière',
'_13' => 'Bilan de Société d\'assurance',
'_14' => 'Bilan de Société immobilière',
'_15' => 'Bilan de Société étrangère',
// Codes saisie de Bilans spécifique às S&D
'_70' => 'Document relatif à une autre société',
);
/**
* Décompose le tableau de controle
* @param string $type (S | N)
* Type du bilan
* @return array
* Retourne un tableau
* [
* operation => Chaine de caractère contenant l'operation à effectuer sur les postes
* total => Code du poste résultant de l'operation pour comparaison
* ]
*/
protected function formules($type)
{
$formules = array();
if ( array_key_exists($type, $this->Ctrl) ) {
foreach ( $this->Ctrl[$type] as $formule => $lib ) {
$posEgal = strpos($formule, '=');
$partLeft = substr($formule, 0, $posEgal);
preg_match_all('/([A-Z0-9]+|(\+|\-))/', $partLeft, $matches);
$total = substr($formule, $posEgal+1);
$formules[] = array(
'operation' => $matches[0],
'total' => $total,
);
}
}
return $formules;
}
/**
* Control les postes
* @param string $type (S | N)
* Type du bilan
* @param array $postes
* Tableau des postes d'un bilan Code => Valeur
* @throws Exception
* @return boolean
*/
public function control($type, $postes = array() )
{
$formules = $this->formules($type);
if ( count($formules) > 0 ) {
foreach ( $formules as $formule ) {
$checkPostes = array();
// --- Réaliser le calcul
$calc = 0;
$signe = null;
foreach ( $formule['operation'] as $operation ) {
if ( $operation == '-' ) {
$signe = '-';
} elseif ( $operation == '+' ) {
$signe = '+';
} else {
$checkPostes[] = $operation;
// --- Vérification valeur poste
if ( !array_key_exists($operation, $postes) ) {
$postes[$operation] = 0;
}
// --- Calcul
if ( empty($signe) ) {
$calc = $postes[$operation];
} elseif ( $signe == '+' ) {
$calc+= $postes[$operation];
} elseif ( $signe == '-' ) {
$calc-= $postes[$operation];
}
}
}
$checkPostes[] = $formule['total'];
// --- Effecteur la vérification avec le total
if ( !array_key_exists($formule['total'], $postes) ) {
$total = 0;
} else {
$total = $postes[$formule['total']];
}
if ($calc != $total && !( ($calc - $this->CtrlEcartMax < $total) && ($calc + $this->CtrlEcartMax > $total) ) ) {
throw new Exception(join(';',$checkPostes));
}
}
return true;
}
return false;
}
}

View File

@ -1,16 +1,24 @@
<?
<?php
require_once 'framework/common/curl.php';
class MBourse {
class MBourse
{
protected $siren = false;
protected $iDb;
var $siren=false;
public function __construct($siren=0, $db = null)
{
$this->siren = $siren;
public function __construct($siren=0) {
$this->siren=$siren;
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
public function getLibSource($source) {
public function getLibSource($source)
{
switch ($source) {
case 'B': return 'Business Wire'; break;
case 'H': return 'Hugin'; break;
@ -21,17 +29,45 @@ class MBourse {
}
}
/** Vérifie la validité de la structure d'un code ISIN
**
** @param string $isin
** @return bool
**/
function isIsin($isin)
{
if (strlen(trim($isin))) {
$cle = substr($isin, -1);
$isinLeft = substr($isin, 0, strlen($isin)-1);
$letter2number = array('A'=>10, 'B'=>11, 'C'=>12, 'D'=>13, 'E'=>14, 'F'=>15, 'G'=>16, 'H'=>17, 'I'=>18, 'J'=>19, 'K'=>20, 'L'=>21, 'M'=>22, 'N'=>23, 'O'=>24, 'P'=>25, 'Q'=>26, 'R'=>27, 'S'=>28, 'T'=>29, 'U'=>30, 'V'=>31, 'W'=>32, 'X'=>33, 'Y'=>34, 'Z'=>35);
$isinConvertion = strtr($isinLeft, $letter2number);
$sum = '';
$sumFinal = 0;
for($i=0; $i<strlen($isinConvertion); ++$i) $sum .= (($i % 2) ? 1 : 2)*$isinConvertion[$i];
for($i=0; $i<strlen($sum); ++$i) $sumFinal += $sum[$i];
if ($sumFinal % 10){
$cleVerif = ((int)($sumFinal/10) + 1)*10-$sumFinal;
} else {
$cleVerif = 0;
}
if ($cle == $cleVerif) {
return true;
} else
return false;
} else return false;
}
/** Obtenir le code ISIN à partir d'un siren
**
** @param integer $siren
** @return string
**/
function getCodeIsin($siren=false) {
$iDb=new WDB();
function getCodeIsin($siren=false)
{
if (!$siren)
$siren=$this->siren;
$tabTmp=$iDb->select('infos_entrep', 'isin', "siren=$siren AND isin<>''", false, MYSQL_ASSOC);
$tabTmp = $this->iDb->select('jo.infos_entrep', 'isin', "siren=$siren AND isin<>''", false, MYSQL_ASSOC);
return trim(@$tabTmp[0]['isin']);
}
@ -40,9 +76,9 @@ class MBourse {
** @param string $isin Code ISIN
** @return integer
**/
function getCodeSiren($isin) {
$iDb=new WDB();
$tabTmp=$iDb->select('infos_entrep', 'siren', "isin='$isin' AND siren<>0", false, MYSQL_ASSOC);
function getCodeSiren($isin)
{
$tabTmp = $this->iDb->select('jo.infos_entrep', 'siren', "isin='$isin' AND siren<>0", false, MYSQL_ASSOC);
return trim($tabTmp[0]['siren']);
}
@ -52,47 +88,50 @@ class MBourse {
** @param integer $id
** @return unknown
**/
function getInfosReg($siren=false, $id=false) {
function getInfosReg($siren=false, $id=null)
{
if (!$siren) $siren = $this->siren;
if (!$siren)
$siren=$this->siren;
$isin=$this->getCodeIsin($siren);
unset($iDb);
$isin = $this->getCodeIsin($siren);
$tabRet=array();
if ($isin<>'') {
$iDb=new WDB('presse');
if ($id) $sqlID=" AND id=$id ";
else $sqlID='';
if ($isin!='') {
$bodacc=$iDb->select( 'articles',
'id, companyName, companyIsin, companySiren, companyWebSite, pressReleaseDate, pressReleaseTitle, '.
'pressReleaseText, pressReleaseHtml, pressReleaseAttachments, pressReleaseUrl, source, dateInsert',
"companyIsin='$isin' $sqlID ORDER BY pressReleaseDate DESC", false, MYSQL_ASSOC);
$sqlID = '';
if (null !== $id) {
$sqlID=" AND id=$id ";
}
$bodacc = $this->iDb->select(
'presse.articles',
'id, companyName, companyIsin, companySiren, companyWebSite, pressReleaseDate, pressReleaseTitle, '.
'pressReleaseText, pressReleaseHtml, pressReleaseAttachments, pressReleaseUrl, source, dateInsert',
"companyIsin='$isin' $sqlID ORDER BY pressReleaseDate DESC", true, MYSQL_ASSOC);
if (count($bodacc)>0) {
foreach ($bodacc as $k=>$ann) {
if ($id)
$tabRet[$k]=array( 'id'=>$ann['id'],
'source'=>$this->getLibSource($ann['source']),
'DateParution'=>$ann['pressReleaseDate'],
'raisonSociale'=>$ann['companyName'],
'titre'=>$ann['pressReleaseTitle'],
'communique'=>$ann['pressReleaseText'],
'communiqueHtml'=>$ann['pressReleaseHtml'],
'pj'=>$ann['pressReleaseAttachments'],
'url'=>$ann['pressReleaseUrl'],
'dateInsertionSD'=>$ann['dateInsert'],
);
$tabRet[$k]=array(
'id'=>$ann['id'],
'source'=>$this->getLibSource($ann['source']),
'DateParution'=>$ann['pressReleaseDate'],
'raisonSociale'=>$ann['companyName'],
'titre'=>$ann['pressReleaseTitle'],
'communique'=>$ann['pressReleaseText'],
'communiqueHtml'=>$ann['pressReleaseHtml'],
'pj'=>$ann['pressReleaseAttachments'],
'url'=>$ann['pressReleaseUrl'],
'dateInsertionSD'=>$ann['dateInsert'],
);
else
$tabRet[$k]=array( 'id'=>$ann['id'],
'source'=>$this->getLibSource($ann['source']),
'DateParution'=>$ann['pressReleaseDate'],
'raisonSociale'=>$ann['companyName'],
'titre'=>$ann['pressReleaseTitle'],
'pj'=>$ann['pressReleaseAttachments'],
'url'=>$ann['pressReleaseUrl'],
'dateInsertionSD'=>$ann['dateInsert'],
);
$tabRet[$k]=array(
'id'=>$ann['id'],
'source'=>$this->getLibSource($ann['source']),
'DateParution'=>$ann['pressReleaseDate'],
'raisonSociale'=>$ann['companyName'],
'titre'=>$ann['pressReleaseTitle'],
'pj'=>$ann['pressReleaseAttachments'],
'url'=>$ann['pressReleaseUrl'],
'dateInsertionSD'=>$ann['dateInsert'],
);
}
}
}
@ -104,9 +143,9 @@ class MBourse {
** @param integer $siren
** @return unknown
**/
function getInfosBourse($siren=false) {
function getInfosBourse($siren=false)
{
global $timer;
$iDb=new WDB('sdv1');
if (!$siren)
$siren=$this->siren;
@ -115,91 +154,27 @@ class MBourse {
$timer['infosBoursieres-getCodeIsin']=microtime(true);
$tabRet=array();
if ($isin<>'') {
$datePre=date('Y-m').'-01';
$tabRes=$iDb->select( 'bourse_isin b, bourse_cours c',
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') AND c.`date`>='$datePre' ORDER BY b.dateUpdate DESC, c.dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
$tabRes = $this->iDb->select(
'sdv1.bourse_isin b, sdv1.bourse_cours c',
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') ORDER BY c.`date` DESC, c.`heure` DESC LIMIT 0,1", false, MYSQL_ASSOC);
$tabRet=$tabRes[0];
$timer['infosBoursieres-infosIsin']=microtime(true);
$tabRes=$iDb->select( 'bourse_cours',
'min(close) AS coursMin, avg(close) AS coursMoy, max(close) AS coursMax',
"isin='$isin' GROUP BY isin", false, MYSQL_ASSOC);
$tabRes = $this->iDb->select('sdv1.bourse_cours',
'min(close) AS coursMin, avg(close) AS coursMoy, max(close) AS coursMax',
"isin='$isin' GROUP BY isin", false, MYSQL_ASSOC);
$tabTmp=$tabRes[0];
$tabRet['coursMin']=$tabTmp['coursMin'];
$tabRet['coursMoy']=$tabTmp['coursMoy'];
$tabRet['coursMax']=$tabTmp['coursMax'];
$timer['infosBoursieres-derniersCours']=microtime(true);
/*
$tabRes=$iDb->select( 'bourse_cours',
'`date`, close',
"isin='$isin' AND autre IN('','e','f','g','m','s','u') AND heure=9999 AND ( ".
"`date`=DATE_SUB(CURDATE(), INTERVAL 6 DAY) OR ".
"`date`=DATE_SUB(CURDATE(), INTERVAL 7 DAY) OR ".
"`date`=DATE_SUB(CURDATE(), INTERVAL 8 DAY) OR ".
"`date`='".date('Y')."-01-02' OR ".
"`date`='".date('Y')."-01-03' OR ".
"`date`='".date('Y')."-01-04' OR ".
"`date`=DATE_SUB(CURDATE(), INTERVAL 365 DAY) OR ".
"`date`=DATE_SUB(CURDATE(), INTERVAL 366 DAY) OR ".
"`date`=DATE_SUB(CURDATE(), INTERVAL 367 DAY) OR ".
"`date`=MIN(`date`) ) GROUP BY `date` ORDER BY `date` DESC", false, MYSQL_ASSOC);
$tabTmp=$tabRes[0];
print_r($tabTmp);
*/
/* Variations en clôture du 07/03/2008
Variation 5 jours -2.03%
Variation au 1 janvier +9.36%
Variation 1 an +13.84%
Variation 10 ans NC
Volumes
Volume séance 2 253
Volume moy. 20 séances 16 326
Ratio volumes 13.80%
Nombre de titres 113 038 156
Capital échangé séance 0.00%
Extrêmes
Plus haut 10 ans (14/02/2008) 78.5
Plus bas 10 ans (18/04/2005) 41.12*/
/*$tabRet[]=array( 'siren'=>$tabBourse,
'raisonSociale',
'adresse',
'effectif',
'code_sicovam',
'code_mnemo',
'code_bloomberg',
'code_datastream',
'code_isin',
'logo',
'code_ric',
'dateIntroduction',
'dateDerAG',
'dateRadiation',
'autre_isin',
'eligibleSRD',
'eligiblePEA',
'nombreTitres',
'tel1',
'tel2',
'fax1',
'fax2',
'web',
'mail',
'marche',
'placeCotation',
'description',
'secteur',
'activite',
'activiteDet',
'dirigeants',
'actionnaires',
'chiffresTrim'
);*/
}
return $tabRet;
}
}
?>

View File

@ -1,9 +1,8 @@
<?php
class MCadastre {
var $siren=false;
var $iDb;
class MCadastre
{
protected $siren = false;
protected $iDb;
/** Droits des locaux **/
private static $tabCodeDroit=array(
@ -123,81 +122,96 @@ class MCadastre {
'VI'=>'Vignes',
);
public function __construct($siren=0) {
$this->siren=$siren;
$this->iDb=new WDb('sdv1');
public function __construct($siren=0, $db = null)
{
$this->siren = $siren;
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
function getLocaux($siren=false) {
if (!$siren)
$siren=$this->siren;
/**
*
* @param string $siren
* @return array
*/
function getLocaux($siren=false)
{
if (!$siren) $siren=$this->siren;
$tabTmp=$this->iDb->select(
'cad_perloc l, cad_permor e',
'sdv1.cad_perloc l, sdv1.cad_permor e',
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
l.CCODRO, l.CCOCOM, l.CCOPRF, l.CCOSEC, l.DNUPLA, l.DNUBAT, l.DESC, l.DNIV, l.DPOR, l.CCONLC, l.CCOAFF0, l.DSUPOD0, l.CCOAFF1, l.DSUPOD1, l.CCOAFF2, l.DSUPOD2, l.CCOAFF3, l.DSUPOD3, l.CCOAFF4, l.DSUPOD4, l.CCOAFF5, l.DSUPOD5, l.CCOAFF6, l.DSUPOD6, l.CCOAFF7, l.DSUPOD7, l.CCOAFF8, l.DSUPOD8, l.CCOAFF9, l.DSUPOD9, l.CCODEP, l.DLICOM, l.CCORIV, l.CNAVOI, l.DLIVOI, l.DNUVOI, l.DLTNUV',
"e.DSIREN=$siren AND e.INTCIF=l.INTCIF AND e.DNUPER=l.DNUPER", false, MYSQL_ASSOC);
$tabRet=array();
foreach ($tabTmp as $i=>$loc) {
$tabLoc=array( 'idCentre'=>$loc['INTCIF'],
'idPmMajic'=>$loc['DNUPER'],
'pmGroupe'=>trim($loc['CCOGRM']),
'pmGroupeLib'=>self::$tabGrpPerMor[trim($loc['CCOGRM'])],
'pmNom'=>trim($loc['DDENPM']),
'pmSigle'=>trim($loc['DSIPMO']),
'pmFJ'=>$loc['DFORME'], // $loc['FILLER'],
'siren'=>trim($loc['DSIREN']),
'pmAdrL3'=>trim($loc['DLIGN3']),
'pmAdrL4'=>trim($loc['DLIGN4']),
'pmAdrL5'=>trim($loc['DLIGN5']),
'pmAdrL6'=>trim($loc['DLIGN6']),
'pmAdrDep'=>trim($loc['CCODEP']),
'pmAdrCom'=>trim($loc['CCOCOM']),
'localDroit'=>trim($loc['CCODRO']),
'localDroitLib'=>self::$tabCodeDroit[trim($loc['CCODRO'])],
'localDep'=>trim($loc['CCODEP']),
'localCom'=>trim($loc['CCOCOM']),
'localComLib'=>trim($loc['DLICOM']),
'localComAbs'=>trim($loc['CCOPRF']),
'localRivoli'=>trim($loc['CCORIV']),
'localNumVoie'=>trim($loc['DNUVOI']),
'localIndVoie'=>trim($loc['DLTNUV']),
'localTypVoie'=>trim($loc['CNAVOI']),
'localLibVoie'=>trim($loc['DLIVOI']),
'localSection'=>trim($loc['CCOSEC']),
'localNumPlan'=>trim($loc['DNUPLA']),
'localNumBat'=>trim($loc['DNUBAT']),
'localEntEsc'=>trim($loc['DESC']),
'localNumPlan'=>trim($loc['DNIV']),
'localNumBat'=>trim($loc['DPOR']),
'localEntEsc'=>trim($loc['CCONLC']),
'localPEV'=>array(),
if (count($tabTmp)>0 ) {
foreach ($tabTmp as $i=>$loc) {
$tabLoc = array(
'idCentre'=>$loc['INTCIF'],
'idPmMajic'=>$loc['DNUPER'],
'pmGroupe'=>trim($loc['CCOGRM']),
'pmGroupeLib'=>self::$tabGrpPerMor[trim($loc['CCOGRM'])],
'pmNom'=>trim($loc['DDENPM']),
'pmSigle'=>trim($loc['DSIPMO']),
'pmFJ'=>$loc['DFORME'], // $loc['FILLER'],
'siren'=>trim($loc['DSIREN']),
'pmAdrL3'=>trim($loc['DLIGN3']),
'pmAdrL4'=>trim($loc['DLIGN4']),
'pmAdrL5'=>trim($loc['DLIGN5']),
'pmAdrL6'=>trim($loc['DLIGN6']),
'pmAdrDep'=>trim($loc['CCODEP']),
'pmAdrCom'=>trim($loc['CCOCOM']),
'localDroit'=>trim($loc['CCODRO']),
'localDroitLib'=>self::$tabCodeDroit[trim($loc['CCODRO'])],
'localDep'=>trim($loc['CCODEP']),
'localCom'=>trim($loc['CCOCOM']),
'localComLib'=>trim($loc['DLICOM']),
'localComAbs'=>trim($loc['CCOPRF']),
'localRivoli'=>trim($loc['CCORIV']),
'localNumVoie'=>trim($loc['DNUVOI']),
'localIndVoie'=>trim($loc['DLTNUV']),
'localTypVoie'=>trim($loc['CNAVOI']),
'localLibVoie'=>trim($loc['DLIVOI']),
'localSection'=>trim($loc['CCOSEC']),
'localNumPlan'=>trim($loc['DNUPLA']),
'localNumBat'=>trim($loc['DNUBAT']),
'localEntEsc'=>trim($loc['DESC']),
'localNumPlan'=>trim($loc['DNIV']),
'localNumBat'=>trim($loc['DPOR']),
'localEntEsc'=>trim($loc['CCONLC']),
'localPEV'=>array(),
);
$surface=0;
for($j=0;$j<10;$j++) {
$pevCode=trim($loc['CCOAFF'.$j]);
$pevSurf=trim($loc['DSUPOD'.$j])*1;
if ($pevCode<>'' && $pevSurf>0) {
$tabLoc['localPEV'][$j]=array(
'pevCode'=>$pevCode,
'pevType'=>self::$tabCodePEV[$pevCode],
'pevSurface'=>$pevSurf,
);
$surface=0;
for($j=0;$j<10;$j++) {
$pevCode=trim($loc['CCOAFF'.$j]);
$pevSurf=trim($loc['DSUPOD'.$j])*1;
if ($pevCode<>'' && $pevSurf>0) {
$tabLoc['localPEV'][$j]=array( 'pevCode'=>$pevCode,
'pevType'=>self::$tabCodePEV[$pevCode],
'pevSurface'=>$pevSurf,
);
$surface+=$pevSurf;
$surface+=$pevSurf;
}
}
$tabLoc['localSurface']=$surface;
$tabRet[]=$tabLoc;
/**
* CADBAT_NB_TOT nombre Cadastre nombre de postes BATIMENT du SIREN toutes addresses
* CADTER_NB_TOT nombre Cadastre nombre de postes TERRAIN du SIREN toutes addresses
* CADBAT_NB_PROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle est propriétaire
* CADTER_NB_PROP nombre Cadastre nombre de postes TERRAIN à l'adresse dont elle est propriétaire
* CADBAT_NB_NONPROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle n'est pas propriétaire
* CADTER_NB_NONPROP nombre Cadastre nombre de postes TERRAINS à l'adresse dont elle n'est pas propriétaire
* CADBAT_SURF_CUM nombre Cadastre Cumul Surfaces des batiments à l'addresse
* CADBAT_SURF_TOT nombre Cadastre Surface totale des batiments du SIREN
* CADTER_SURF_CUM nombre Cadastre Cumul Surfaces des terrains à l'addresse
* CADTER_SURF_TOT nombre Cadastre Surface totale des terrains du SIREN
*/
}
$tabLoc['localSurface']=$surface;
$tabRet[]=$tabLoc;
/*CADBAT_NB_TOT nombre Cadastre nombre de postes BATIMENT du SIREN toutes addresses
CADTER_NB_TOT nombre Cadastre nombre de postes TERRAIN du SIREN toutes addresses
CADBAT_NB_PROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle est propriétaire
CADTER_NB_PROP nombre Cadastre nombre de postes TERRAIN à l'adresse dont elle est propriétaire
CADBAT_NB_NONPROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle n'est pas propriétaire
CADTER_NB_NONPROP nombre Cadastre nombre de postes TERRAINS à l'adresse dont elle n'est pas propriétaire
CADBAT_SURF_CUM nombre Cadastre Cumul Surfaces des batiments à l'addresse
CADBAT_SURF_TOT nombre Cadastre Surface totale des batiments du SIREN
CADTER_SURF_CUM nombre Cadastre Cumul Surfaces des terrains à l'addresse
CADTER_SURF_TOT nombre Cadastre Surface totale des terrains du SIREN
*/
}
return $tabRet;
}
@ -207,7 +221,7 @@ CADTER_SURF_TOT nombre Cadastre Surface totale des terrains du SIREN
$siren=$this->siren;
$tabTmp=$this->iDb->select(
'cad_perpar p, cad_permor e',
'sdv1.cad_perpar p, sdv1.cad_permor e',
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
p.CCODRO, p.CCOCOM, p.CCOPRF, p.CCOSEC, p.DNUPLA, p.DCNPAR, p.DSGRPF0, p.DCNSUF0, p.DSGRPF1, p.DCNSUF1, p.DSGRPF2, p.DCNSUF2, p.DSGRPF3, p.DCNSUF3, p.DSGRPF4, p.DCNSUF4, p.DSGRPF5, p.DCNSUF5, p.DSGRPF6, p.DCNSUF6, p.DSGRPF7, p.DCNSUF7, p.DSGRPF8, p.DCNSUF8, p.DSGRPF9, p.DCNSUF9, p.CCODEP, p.DLICOM, p.CCORIV, p.CNAVOI, p.DLIVOI, p.DNUVOI, p.DLTNUV',
"e.DSIREN=$siren AND e.INTCIF=p.INTCIF AND e.DNUPER=p.DNUPER", false, MYSQL_ASSOC);

View File

@ -74,10 +74,8 @@ class MCoface {
public $tabFil=array();
public $tabEtab=array();
function __construct($siren) {
// $iDb=new WDB();
function __construct($siren)
{
$referer='';
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;
$page=getUrl($url, '', '', $referer, false, 'www.cofacerating.fr', '', 10);

View File

@ -295,22 +295,7 @@ class MEuridile {
if ($this->curPage<>'recherche')
$this->partInitRecherche();
$iDb=new WDB('jo');
/* $ret=$iDb->select( 'rncs_vitrine',
'siren, erreur, rcs, nom, adresse1, cp, ville, fj_lib, naf_code, naf_lib, bilans, dateUpdate',
"siren=$this->siren", false, MYSQL_ASSOC);
if (count($ret)) {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
"siren=$this->siren AND Bodacc_Date_Parution>='".$tabRet['dateUpdate']."'");
if ($ret[0][0]==0) {
$tabRet['bilans']=unserialize($tabRet['bilans']);
return $tabRet;
}
}*/
$iDb=new WDB();
$tabRet=$tabBilan=array();
$tabRet['siren']=$this->siren;
$tabRet['erreur']='';
@ -409,8 +394,8 @@ class MEuridile {
fclose($fp);
$tabInsert=$tabRet;
$tabInsert['bilans']=serialize($tabRet['bilans']);
if (!$iDb->insert( 'rncs_vitrine', $tabInsert))
$iDb->update( 'rncs_vitrine', $tabInsert, "siren=$this->siren");
if (!$iDb->insert( 'jo.rncs_vitrine', $tabInsert))
$iDb->update( 'jo.rncs_vitrine', $tabInsert, "siren=$this->siren");
/** @todo S'il y a un enregistrement, prévoir son update
**/
@ -781,8 +766,8 @@ class MEuridile {
if ($this->curPage<>'vitrine')
$this->partVitrine();
$iDb=new WDB('jo');
$ret=$iDb->select( 'rncs_entrep',
$iDb=new WDB();
$ret=$iDb->select( 'jo.rncs_entrep',
'siren, rcs, nom, adresse1, adresse2, adresse3, cp, ville, naiss_date, naiss_lieu, sexe, enseigne, sigle, '.
'fj_lib, naf_code, naf_lib, date_crea, date_imma, greffe, num_gestion, capital_mnt, capital_dev, nationalite, '.
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
@ -791,7 +776,7 @@ class MEuridile {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**/
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
$ret=$iDb->select( 'jo.bodacc_detail', 'count(*)',
"siren=$this->siren AND Bodacc_Date_Parution>='".$tabRet['dateUpdate']."'");
if ($ret[0][0]==0) {
$tabRet['procedures']=unserialize($tabRet['procedures']);
@ -1005,7 +990,7 @@ class MEuridile {
$tabInsert['dirigeants']=serialize($tabRet['dirigeants']);
$tabInsert['etablissements']=serialize($tabRet['etablissements']);
$iDb->insert( 'rncs_entrep', $tabInsert);
$iDb->insert( 'jo.rncs_entrep', $tabInsert);
return $tabRet;
}

View File

@ -1,4 +1,4 @@
<?
<?php
/*
2. Concernant la date de fin de CS, devons nous comprendre les cas suivants de la sorte :
A. 026 820 043 I 2009-10-31 La CS était valide jusq'au 31/10/2009... L'entreprise n'a plus de CS ? ou la CS est encore à prendre en compte ?
@ -14,8 +14,8 @@ D. 067 200 329 I 2010-06-30 La CS est valide jusq'au 30/06/2010... Quid
La cs paiement a une durée de 6 ou 12 mois pour les cas graves.
La cs privilège a une durée de 27 mois ( sauf bien sur les cs manuelles qui sont à la convenance de l'analyste, en général 12 mois ).
*/
class MFacto {
class MFacto
{
public $risqueImpaye=false; // Y a t'il un risque d'impayé ?
public $risqueImpayeMois=0;
public $profilPayeur=0; // 0:N/D, 1:Excellent, 2=Bon, 3=Normal, 4=Lent, 5=Mauvais ou Défaut
@ -27,159 +27,170 @@ class MFacto {
public $DELAIPAYp='';
public $DELAIPAY_MMAA='';
private $tabInfoCS=array(
'_00'=>array('risque'=>0,'type'=>'OK', 'libInt'=>'Néant', 'libExt'=>'Aucune difficulté significative ne nous a été signalée'),
'_10'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
'_11'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Retard de paiement - Prorogation', 'libExt'=>'A suivre. Retard(s) de paiement(s) signalé(s)'),
'_12'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé Groupe Facto', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
'_13'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF (sup. à limite)', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
'_15'=>array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES URSSAF', 'libExt'=>'A surveiller. Présence de privilèges'),
'_16'=>array('risque'=>3,'type'=>'PR', 'libInt'=>'AUTRES PRIVILEGES', 'libExt'=>'A surveiller. Présence de Privilèges'),
'_20'=>array('risque'=>4,'type'=>'BL', 'libInt'=>'LIQUIDATION JUDICIAIRE', 'libExt'=>'Liquidation Judiciaire'),
'_21'=>array('risque'=>1,'type'=>'BC', 'libInt'=>'CESSATION D\'ACTIVITE', 'libExt'=>'A suivre. Informations terrain. Risque de fermeture'),
'_22'=>array('risque'=>1,'type'=>'BD', 'libInt'=>'RADIATION RCS', 'libExt'=>'Radiation du RCS'),
'_23'=>array('risque'=>1,'type'=>'BG', 'libInt'=>'LOCATION GERANCE', 'libExt'=>'Prise en location Gérance'),
'_24'=>array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe signalée(s) en difficulté(s)'),
'_25'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'INFORMATIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_26'=>array('risque'=>4,'type'=>'BP', 'libInt'=>'PLAN DE CESSION / DE REDRESSEMENT ', 'libExt'=>'Plan de cession/redressement'),
'_27'=>array('risque'=>4,'type'=>'BR', 'libInt'=>'REDRESSEMENT JUDICIAIRE', 'libExt'=>'Redressement Judiciaire'),
'_28'=>array('risque'=>4,'type'=>'BH', 'libInt'=>'HOMOLOGATION CONCILIATION / REG.AMIABLE', 'libExt'=>'Conciliation, Homologation ou règlement amiable'),
'_29'=>array('risque'=>1,'type'=>'BF', 'libInt'=>'FUSION - ABSORPTION', 'libExt'=>'Fusion/Absorption'),
'_30'=>array('risque'=>3,'type'=>'IP', 'libInt'=>'MAUVAISE COTE BDF : .8 ou .9', 'libExt'=>"Présence d'impayé(s)"),
'_31'=>array('risque'=>1,'type'=>'TC', 'libInt'=>'CESSATION ANNONCEE', 'libExt'=>'Fin d\'activité programmée'),
'_33'=>array('risque'=>4,'type'=>'BS', 'libInt'=>'PROCEDURE DE SAUVEGARDE JUGEMENT', 'libExt'=>'Procédure de Sauvegarde'),
'_34'=>array('risque'=>4,'type'=>'BV', 'libInt'=>'PLAN DE SAUVEGARDE', 'libExt'=>'Plan de sauvegarde'),
'_35'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'ANALYSE FINANCIERE NEGATIVE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_36'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'BILAN NEGATIF', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_37'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'TRESORERIE SERREE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_39'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_43'=>array('risque'=>2,'type'=>'LC', 'libInt'=>'LC SFAC', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
'_45'=>array('risque'=>2,'type'=>'LC', 'libInt'=>'REFUS SFAC DOM-TOM', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
// '_47'=>array('risque'=>2,'type'=>'LC', 'libInt'=>'LISTE CONFIDENTIELLE LEASER', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
'_50'=>array('risque'=>2,'type'=>'KO', 'libInt'=>'LIENS AVEC UNE ORGANISATION TERRORISTE', 'libExt'=>'Attention, liens internationaux très risqués'),
// Nouveaux regroupements GE
'_I' =>array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayés', 'libExt'=>"A surveiller. Présence d'impayé(s) dans les 12 derniers mois"),
'_P' =>array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES', 'libExt'=>'A surveiller. Présence de privilèges dans les 24 derniers mois'),
'_D' =>array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_T' =>array('risque'=>2,'type'=>'LC', 'libInt'=>'LC Quelconque', 'libExt'=>"Nombreuses demandes d'avis de crédit"),
private $tabInfoCS = array(
'_00' => array('risque'=>0,'type'=>'OK', 'libInt'=>'Néant', 'libExt'=>'Aucune difficulté significative ne nous a été signalée'),
'_10' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
'_11' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Retard de paiement - Prorogation', 'libExt'=>'A suivre. Retard(s) de paiement(s) signalé(s)'),
'_12' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé Groupe Facto', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
'_13' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF (sup. à limite)', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
'_15' => array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES URSSAF', 'libExt'=>'A surveiller. Présence de privilèges'),
'_16' => array('risque'=>3,'type'=>'PR', 'libInt'=>'AUTRES PRIVILEGES', 'libExt'=>'A surveiller. Présence de Privilèges'),
'_20' => array('risque'=>4,'type'=>'BL', 'libInt'=>'LIQUIDATION JUDICIAIRE', 'libExt'=>'Liquidation Judiciaire'),
'_21' => array('risque'=>1,'type'=>'BC', 'libInt'=>'CESSATION D\'ACTIVITE', 'libExt'=>'A suivre. Informations terrain. Risque de fermeture'),
'_22' => array('risque'=>1,'type'=>'BD', 'libInt'=>'RADIATION RCS', 'libExt'=>'Radiation du RCS'),
'_23' => array('risque'=>1,'type'=>'BG', 'libInt'=>'LOCATION GERANCE', 'libExt'=>'Prise en location Gérance'),
'_24' => array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe à suivre'),
'_25' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'INFORMATIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_26' => array('risque'=>4,'type'=>'BP', 'libInt'=>'PLAN DE CESSION / DE REDRESSEMENT ', 'libExt'=>'Plan de cession/redressement'),
'_27' => array('risque'=>4,'type'=>'BR', 'libInt'=>'REDRESSEMENT JUDICIAIRE', 'libExt'=>'Redressement Judiciaire'),
'_28' => array('risque'=>4,'type'=>'BH', 'libInt'=>'HOMOLOGATION CONCILIATION / REG.AMIABLE', 'libExt'=>'Conciliation, Homologation ou règlement amiable'),
'_29' => array('risque'=>1,'type'=>'BF', 'libInt'=>'FUSION - ABSORPTION', 'libExt'=>'Fusion/Absorption'),
'_30' => array('risque'=>3,'type'=>'IP', 'libInt'=>'MAUVAISE COTE BDF : .8 ou .9', 'libExt'=>"Présence d'impayé(s)"),
'_31' => array('risque'=>1,'type'=>'TC', 'libInt'=>'CESSATION ANNONCEE', 'libExt'=>'Fin d\'activité programmée'),
'_33' => array('risque'=>4,'type'=>'BS', 'libInt'=>'PROCEDURE DE SAUVEGARDE JUGEMENT', 'libExt'=>'Procédure de Sauvegarde'),
'_34' => array('risque'=>4,'type'=>'BV', 'libInt'=>'PLAN DE SAUVEGARDE', 'libExt'=>'Plan de sauvegarde'),
'_35' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'ANALYSE FINANCIERE NEGATIVE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_36' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'BILAN NEGATIF', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_37' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'TRESORERIE SERREE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_39' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_43' => array('risque'=>2,'type'=>'LC', 'libInt'=>'LC SFAC', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
'_45' => array('risque'=>2,'type'=>'LC', 'libInt'=>'REFUS SFAC DOM-TOM', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
//'_47' =>array('risque'=>2,'type'=>'LC', 'libInt'=>'LISTE CONFIDENTIELLE LEASER', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
'_50' => array('risque'=>2,'type'=>'KO', 'libInt'=>'LIENS AVEC UNE ORGANISATION TERRORISTE', 'libExt'=>'Attention, liens internationaux très risqués'),
//Nouveaux regroupements GE
'_I' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayés', 'libExt'=>"A surveiller. Présence d'impayé(s) dans les 12 derniers mois"),
'_P' => array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES', 'libExt'=>'A surveiller. Présence de privilèges dans les 24 derniers mois'),
'_D' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
'_T' => array('risque'=>2,'type'=>'LC', 'libInt'=>'LC Quelconque', 'libExt'=>"Nombreuses demandes d'avis de crédit"),
);
private $tabTranches=array( 0=>6,
30=>36,
60=>66,
90=>96,
120=>126,
150=>156,
180=>999);
private $tabTranches = array(
0=>6,
30=>36,
60=>66,
90=>96,
120=>126,
150=>156,
180=>999,
);
private $tabMontants=array( 1=>500,
2=>2000,
10=>10000,
20=>20000,
50=>50000,
100=>100000,
200=>200000,
999=>999999);
private $tabMontants = array(
1=>500,
2=>2000,
10=>10000,
20=>20000,
50=>50000,
100=>100000,
200=>200000,
999=>999999
);
// private $siren=0;
// private $tabPaiements=array();
function __construct() {
$this->iDb=new WDB('sdv1');
public function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
function __destruct() {
public function setTypeFic($typeFic)
{
$this->typeFlux = $typeFic;
}
public function setTypeFic($typeFic) {
$this->typeFlux=$typeFic;
}
public function readFic($a) {
switch ($this->typeFlux) {
case 0: // Acheteur
$tab=array( 'NUMACH'=> trim(substr($a, 0, 6)),
'SIRENE'=> trim(substr($a, 6, 9)),
'RAISOC'=> trim(substr($a, 15, 35)),
'NUMVOI'=> trim(substr($a, 50, 4)),
'TYPVOI'=> trim(substr($a, 54, 3)),
'LIBVOI'=> trim(substr($a, 57, 30)),
'VILLE' => trim(substr($a, 87, 26)),
'CODPOS'=> trim(substr($a,113, 5)),
'FILLER'=> trim(substr($a,118, 2)));
public function readFic($a)
{
switch ($this->typeFlux)
{
case 0: // Acheteur GESCDCLT - Line length (120 + CRLF = 122)
$tab = array(
'NUMACH'=> trim(substr($a, 0, 7)), // 0-7 | 7
'SIRENE'=> trim(substr($a, 7, 9)), // 7-16 | 9
'RAISOC'=> trim(substr($a, 16, 35)), // 16-51 | 35
'NUMVOI'=> trim(substr($a, 51, 4)), // 51-55 | 4
'TYPVOI'=> trim(substr($a, 55, 3)), // 55-58 | 3
'LIBVOI'=> trim(substr($a, 58, 30)), // 58-88 | 30
'VILLE'=> trim(substr($a, 88, 26)), // 88-114 | 26
'CODPOS'=> trim(substr($a,114, 5)), // 114-119 | 5
'FILLER'=> trim(substr($a,119, 2)), // 119-120 | 1
);
break;
case 1: // CS
/*$tab=array( 'DATMAJ1'=> WDate::dateT('ymd','Y-m-d', substr($a, 0, 6)),
'NUMGFH'=> trim(substr($a, 6, 6)),
'CSAVAN'=> trim(substr($a, 12, 2)),
'CSAPRE'=> trim(substr($a, 14, 2)),
'INDAUT'=> trim(substr($a, 16, 1)),
'CODUTI'=> trim(substr($a, 17, 6)),
'INIMAJ'=> trim(substr($a, 23, 3)),
'ANAACH'=> trim(substr($a, 25, 2)),
'ANAPOR'=> trim(substr($a, 27, 2)));*/
$tab=array( 'siren' => trim(substr($a, 0, 9)),
'cs' => trim(substr($a, 9, 2)),
'dateFin'=> trim(substr($a, 11, 8)));
case 1: // CS - GESDACH - Line Length (19 + CRLF = 21)
$tab = array(
'siren' => trim(substr($a, 0, 9)), // 0-9 | 9
'cs' => trim(substr($a, 9, 2)), // 9-11 | 2
'dateFin'=> trim(substr($a, 11, 8)), // 11-9 | 8
);
break;
case 2: // Paiements
$tab=array( 'NUMACH'=> trim(substr($a, 0, 6)),
'DATPIE'=> substr($a, 6, 8),
'DATECH'=> substr($a, 14, 8),
'DATPAI'=> substr($a, 22, 8),
'MNTPIE'=> trim(substr($a, 30, 13)),
'MNTFRF'=> trim(substr($a, 43, 13)),
'MNTLIT'=> trim(substr($a, 56, 13)),
'CODDEV'=> trim(substr($a, 69, 3)));
case 2: // Paiements - GESCDMVT - Line length (73 + CRLF = 75)
$tab = array(
'NUMACH'=> trim(substr($a, 0, 7)), // 0-7 | 7
'DATPIE'=> substr($a, 7, 8), // 7-15 | 8
'DATECH'=> substr($a, 15, 8), // 15-23 | 8
'DATPAI'=> substr($a, 23, 8), // 23-31 | 8
'MNTPIE'=> trim(substr($a, 31, 13)), // 31-44 | 13
'MNTFRF'=> trim(substr($a, 44, 13)), // 44-57 | 13
'MNTLIT'=> trim(substr($a, 57, 13)), // 57-70 | 13
'CODDEV'=> trim(substr($a, 70, 3)), // 70-73 | 3
);
break;
}
return $tab;
}
public function getCoteSpeciale($siren) {
$ret=$this->iDb->select( 'ge_cs2',
'siren, cs, dateFin, dateInsert, dateConf',
"siren=$siren AND (dateSuppr=0 OR dateConf>dateSuppr) AND (dateFin=0 OR dateFin>NOW()) AND cs NOT IN (20,22,27,33,34) ORDER BY dateConf DESC, dateInsert DESC", false, MYSQL_ASSOC);
public function getCoteSpeciale($siren)
{
$ret=$this->iDb->select(
'sdv1.ge_cs2',
'siren, cs, dateFin, dateInsert, dateConf',
"siren=$siren AND (dateSuppr=0 OR dateConf>dateSuppr) AND (dateFin=0 OR dateFin>NOW()) AND cs NOT IN (20,22,27,33,34) ORDER BY dateConf DESC, dateInsert DESC", false, MYSQL_ASSOC);
$tabRet=array();
foreach ($ret as $i=>$tabCS) {
foreach ($ret as $i=>$tabCS)
{
$dateEven=$tabCS['dateConf'];
if ($dateEven=='0000-00-00') $dateEven=$tabCS['dateInsert'];
$tabRet[]=array('DateEven' => $dateEven,
'DateFin' => $tabCS['dateFin'],
'CoteCS' => $tabCS['cs'],
// 'CoteCSpre' => $tabCS['CSAVAN'],
'LibCS' => $this->tabInfoCS['_'.$tabCS['cs']]['libExt'],
// 'LibCSpre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['libExt'],
'NivRisque' => $this->tabInfoCS['_'.$tabCS['cs']]['risque'],
//'NivRisquePre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['risque'],
'CodeRisque' => $this->tabInfoCS['_'.$tabCS['cs']]['type'],
);
if ($dateEven=='0000-00-00') {
$dateEven=$tabCS['dateInsert'];
}
$tabRet[]=array(
'DateEven' => $dateEven,
'DateFin' => $tabCS['dateFin'],
'CoteCS' => $tabCS['cs'],
//'CoteCSpre' => $tabCS['CSAVAN'],
'LibCS' => $this->tabInfoCS['_'.$tabCS['cs']]['libExt'],
//'LibCSpre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['libExt'],
'NivRisque' => $this->tabInfoCS['_'.$tabCS['cs']]['risque'],
//'NivRisquePre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['risque'],
'CodeRisque' => $this->tabInfoCS['_'.$tabCS['cs']]['type'],
);
}
return $tabRet;
}
public function getCoteSpecialeOld($siren) {
$ret=$this->iDb->select( 'ge_cs c LEFT JOIN ge_acheteurs a ON a.NUMACH=c.NUMGFH',
public function getCoteSpecialeOld($siren)
{
$ret=$this->iDb->select( 'sdv1.ge_cs c LEFT JOIN sdv1.ge_acheteurs a ON a.NUMACH=c.NUMGFH',
'DATMAJ1, NUMGFH, CSAVAN, CSAPRE, SIRENE',
"a.SIRENE=$siren ORDER BY a.SIRENE ASC, c.DATMAJ1 DESC", false, MYSQL_ASSOC);
$tabRet=array();
foreach ($ret as $i=>$tabCS) {
$tabRet[]=array('DateEven' => $tabCS['DATMAJ1'],
'CoteCS' => $tabCS['CSAPRE'],
'CoteCSpre' => $tabCS['CSAVAN'],
'LibCS' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['libExt'],
'LibCSpre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['libExt'],
'NivRisque' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['risque'],
'NivRisquePre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['risque'],
'CodeRisque' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['type'],
);
$tabRet[]=array(
'DateEven' => $tabCS['DATMAJ1'],
'CoteCS' => $tabCS['CSAPRE'],
'CoteCSpre' => $tabCS['CSAVAN'],
'LibCS' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['libExt'],
'LibCSpre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['libExt'],
'NivRisque' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['risque'],
'NivRisquePre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['risque'],
'CodeRisque' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['type'],
);
}
return $tabRet;
}
public function getPaiements($siren, $echelle='mois') {
public function getPaiements($siren, $echelle='mois')
{
if ($echelle=='jour')
$strGroupBy="GROUP BY p.DATPIE ";
elseif ($echelle=='' || $echelle=='mois')
@ -189,7 +200,7 @@ class MFacto {
else // En mois par défaut
$strGroupBy="GROUP BY mois HAVING nbPieces>2 ";
$ret=$this->iDb->select( 'ge_paiements p LEFT JOIN ge_acheteurs a ON a.NUMACH=p.NUMACH',
$ret=$this->iDb->select( 'sdv1.ge_paiements p LEFT JOIN sdv1.ge_acheteurs a ON a.NUMACH=p.NUMACH',
"p.NUMACH, DATE_FORMAT(p.DATPIE, '%Y-%m') AS mois,
CONCAT(DATE_FORMAT(p.DATPIE,'%Y'),'-',IF(DATE_FORMAT(p.DATPIE,'%m')<4,1,IF(DATE_FORMAT(p.DATPIE,'%m')<7,2,IF(DATE_FORMAT(p.DATPIE,'%m')<10,3,4)))) AS trimestre,
count(*) AS nbPieces,
@ -200,7 +211,8 @@ class MFacto {
p.CODDEV, a.SIRENE, a.RAISOC, a.CODPOS, a.VILLE",
"a.SIRENE=$siren AND DATEDIFF(NOW(),p.DATECH)<736 AND p.DATECH<NOW() $strGroupBy ORDER BY p.DATPIE DESC", false, MYSQL_ASSOC);
$tabRet=array();
foreach ($ret as $i=>$tabPai) {
foreach ($ret as $i=>$tabPai)
{
$nbJoursMoyen=$tabPai['nbJourRetard']-$tabPai['nbJourPaiement'];
if ($nbJoursMoyen<6) $tranche=0;
elseif ($nbJoursMoyen<36) $tranche=30;
@ -210,38 +222,28 @@ class MFacto {
elseif ($nbJoursMoyen<156) $tranche=150;
else $tranche=180;
$tabRet[]=array('trimestre' => $tabPai['trimestre'],
'mois' => $tabPai['mois'],
'nbPieces' => $tabPai['nbPieces'],
'nbJourRetard' => $tabPai['nbJourRetard'],
'nbJourPaiement'=> $tabPai['nbJourPaiement'],
'nbJourMoyen' => $nbJoursMoyen,
'nbJourMoyen2' => $tabPai['nbJourMoyens'],
'tranchePaiement'=>$tranche,
'tranchePaie90' =>$tabPai['nbJours'],
'mtPieces' => $tabPai['mtPieces'],
'mtPaiements' => $tabPai['mtPaiements'],
'mtLitiges' => $tabPai['mtLitiges'],
'devise' => $tabPai['CODDEV'],
);
$tabRet[]=array(
'trimestre' => $tabPai['trimestre'],
'mois' => $tabPai['mois'],
'nbPieces' => $tabPai['nbPieces'],
'nbJourRetard' => $tabPai['nbJourRetard'],
'nbJourPaiement'=> $tabPai['nbJourPaiement'],
'nbJourMoyen' => $nbJoursMoyen,
'nbJourMoyen2' => $tabPai['nbJourMoyens'],
'tranchePaiement'=>$tranche,
'tranchePaie90' =>$tabPai['nbJours'],
'mtPieces' => $tabPai['mtPieces'],
'mtPaiements' => $tabPai['mtPaiements'],
'mtLitiges' => $tabPai['mtLitiges'],
'devise' => $tabPai['CODDEV'],
);
}
//$this->tabPaiements=$tabRet;
/*@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Paiements", "SELECT p.NUMACH, DATE_FORMAT(p.DATPIE, '%Y-%m') AS mois,
CONCAT(DATE_FORMAT(p.DATPIE,'%Y'),'-',IF(DATE_FORMAT(p.DATPIE,'%m')<4,1,IF(DATE_FORMAT(p.DATPIE,'%m')<7,2,IF(DATE_FORMAT(p.DATPIE,'%m')<10,3,4)))) AS trimestre,
count(*) AS nbPieces,
AVG(DATEDIFF(NOW(), p.DATECH)) AS nbJourRetard, AVG(DATEDIFF(p.DATPAI, p.DATECH)) AS nbJourPaiement,
ROUND(AVG(DATEDIFF(NOW(), p.DATECH) - DATEDIFF(p.DATPAI, p.DATECH))) AS nbJourMoyens,
IF(AVG(DATEDIFF(NOW(), p.DATECH) - DATEDIFF( p.DATPAI, p.DATECH ) ) <6, 0, if( AVG( DATEDIFF( NOW( ) , p.DATECH ) - DATEDIFF( p.DATPAI, p.DATECH ) ) <36, 30, if( AVG( DATEDIFF( NOW( ) , p.DATECH ) - DATEDIFF( p.DATPAI, p.DATECH ) ) <66, 60, if( AVG( DATEDIFF( NOW( ) , p.DATECH ) - DATEDIFF( p.DATPAI, p.DATECH ) ) <96, 90, 120 ) ) ) ) AS nbJours,
SUM(p.MNTPIE) AS mtPieces, SUM(p.MNTFRF) AS mtPaiements, SUM(p.MNTLIT) AS mtLitiges,
p.CODDEV, a.SIRENE, a.RAISOC, a.CODPOS, a.VILLE
FROM ge_paiements p LEFT JOIN ge_acheteurs a ON a.NUMACH=p.NUMACH
WHERE a.SIRENE=$siren AND DATEDIFF(NOW(),p.DATECH)<736 AND p.DATECH<NOW() $strGroupBy ORDER BY p.DATPIE DESC".EOL.EOL.print_r($tabRet, true).EOL);
*/
return $tabRet;
}
public function getProfilPayeur($siren) {
public function getProfilPayeur($siren)
{
if ($siren<1000) return '';
$libProfil='';
/*if ($this->siren==$siren)
@ -311,10 +313,11 @@ class MFacto {
AND ABS(DATEDIFF(dateAjout, NOW()))<365
ORDER BY dateConf DESC, dateAjout DESC", false, MYSQL_ASSOC);
foreach ($ret as $i=>$tabCS) {
$dateMAJ=WDate::dateT('Y-m-d', 'M Y', $tabCS['dateAjout']);
$classWDate = new WDate();
$dateMAJ = $classWDate->dateT('Y-m-d', 'M Y', $tabCS['dateAjout']);
$libProfil="En date du $dateMAJ : Contentieux importants.";
$this->risqueImpaye=true;
$this->risqueImpayeMois=WDate::dateT('Y-m', 'Ym', $tabCS['dateAjout']);
$this->risqueImpayeMois=$classWDate->dateT('Y-m', 'Ym', $tabCS['dateAjout']);
$this->profilPayeur=4;
break;
}
@ -325,7 +328,8 @@ class MFacto {
return $libProfil;
}
public function getTabPaiements($siren) {
public function getTabPaiements($siren)
{
if ($siren<1000) return false;
$tabNbr=array(); // Tableau de travail du nombre de factures par trimestre et par tranches de délais de paiements
@ -335,11 +339,12 @@ class MFacto {
$tabMtAn2=array(); // Tableau retour du nombre de factures par montant et par tranches de délais de paiements
$tabPaie=$this->getPaiements($siren, 'jour');
foreach ($tabPaie as $i=>$tabPai) {
foreach ($tabPaie as $i=>$tabPai)
{
@$tabNbr[$tabPai['trimestre']]['d='.$tabPai['tranchePaiement']]+=$tabPai['nbPieces'];
@$tabNbr[$tabPai['trimestre']]['all']+=$tabPai['nbPieces'];
$mt=$tabPai['mtPieces']/$tabPai['nbPieces'];
// echo "$i\t".$tabPai['trimestre']." (".$tabPai['tranchePaiement']." j)\t$mt=".$tabPai['mtPieces'].'/'.$tabPai['nbPieces'].EOL;
//echo "$i\t".$tabPai['trimestre']." (".$tabPai['tranchePaiement']." j)\t$mt=".$tabPai['mtPieces'].'/'.$tabPai['nbPieces'].EOL;
if ($mt<500) { @$tabMtAn[1]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[1]['all']++; }
elseif ($mt<2000) { @$tabMtAn[2]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[2]['all']++; }
elseif ($mt<10000) { @$tabMtAn[10]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[10]['all']++; }
@ -352,12 +357,14 @@ class MFacto {
}
// Recalcul des délais par Trimestre
foreach ($tabNbr as $trim=>$tabTranche) {
foreach ($tabNbr as $trim=>$tabTranche)
{
ksort($tabTranche);
// Initialisation des tranches à 0
foreach ($this->tabTranches as $tranche=>$vide)
$tabNbr2[$trim]['nb']=$tabNbr2[$trim]['d='.$tranche]=0;
foreach ($tabTranche as $tranche=>$mt3) {
foreach ($tabTranche as $tranche=>$mt3)
{
$tranche=str_replace('d=','',$tranche);
if ($tranche=='all') $tabNbr2[$trim]['nb']=$mt3;
else $tabNbr2[$trim]['d='.$tranche]=round(($mt3/$tabNbr2[$trim]['nb'])*100,1);
@ -365,16 +372,19 @@ class MFacto {
}
// Initialisation des tranches à 0 par Montants
foreach ($this->tabMontants as $mt=>$vide) {
foreach ($this->tabMontants as $mt=>$vide)
{
$tabMtAn2['_'.$mt]['nb']=0;
foreach ($this->tabTranches as $tranche=>$vide)
$tabMtAn2['_'.$mt]['d='.$tranche]=0;
}
// Recalcul des délais par Montants
ksort($tabMtAn);
foreach ($tabMtAn as $mt=>$tabTranche) {
foreach ($tabMtAn as $mt=>$tabTranche)
{
ksort($tabTranche);
foreach ($tabTranche as $tranche=>$mt2) {
foreach ($tabTranche as $tranche=>$mt2)
{
$tranche=str_replace('d=','',$tranche);
if ($tranche=='all') $tabMtAn2['_'.$mt]['nb']=$mt2;
else $tabMtAn2['_'.$mt]['d='.$tranche]=round(($mt2/$tabMtAn2['_'.$mt]['nb'])*100,1);
@ -382,10 +392,19 @@ class MFacto {
}
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Tableaux des Paiements", 'Paiements par montants :'.EOL.print_r($tabMtAn2, true).EOL.EOL.'Paiements par trimestres :'.EOL.print_r($tabNbr2, true).EOL.print_r($tabNbr, true).EOL.print_r($tabMtAn, true).EOL);
return array('parMont'=>$tabMtAn2,
'parTrim'=>$tabNbr2);
return array(
'parMont'=>$tabMtAn2,
'parTrim'=>$tabNbr2
);
}
public function getLibInfoCS($cs)
{
return array(
'CoteCS' => $cs,
'LibCS' => $this->tabInfoCS["_$cs"]['libExt'],
'NivRisque' => $this->tabInfoCS["_$cs"]['risque'],
'CodeRisque' => $this->tabInfoCS["_$cs"]['type'],
);
}
}
?>

View File

@ -32,18 +32,210 @@
}
public function getRefCodeVoie($sep=',', $eol=EOL) {
$row = 1;
$handle = fopen(DOC_WEB_LOCAL.'voies.csv', 'r');
if (!$handle) die('Impossible d\'ouvrir le fichier de configuration des voies INSEE');
$tabTmp=array();
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE) {
if ($row==1)
$str='codVoie'.$sep.'libVoie'.$eol;
elseif (substr($data[0],0,1)<>'#' && $data[2]==1) // Ligne en commentaires CSV
$str.=$data[0].$sep.$data[1].$eol;
$row++;
$tabCodeVoie = array(
'ABE' => "Abbaye",
'AGL' => "Agglomération",
'AIRE' => "Aire",
'ALL' => "Allée",
'ALL' => "Allee",
'ACH' => "Ancien chemin",
'ART' => "Ancienne route",
'ANSE' => "Anse",
'ARC' => "Arcade",
'AUT' => "Autoroute",
'AV' => "Avenue",
'BRE' => "Barrière",
'BCH' => "Bas chemin",
'BSTD' => "Bastide",
'BAST' => "Baston",
'BEGI' => "Beguinage",
'BER' => "Berge",
'BOIS' => "Bois",
'BCLE' => "Boucle",
'BD' => "Boulevard",
'BRG' => "Bourg",
'BUT' => "Butte",
'CALE' => "Cale",
'CAMP' => "Camp",
'CGNE' => "Campagne",
'CPG' => "Camping",
'CARR' => "Carré",
'CAU' => "Carreau",
'CAR' => "Carrefour",
'CARE' => "Carrière",
'CST' => "Castel",
'CAV' => "Cavée",
'CTRE' => "Central",
'CTRE' => "Centre",
'CHL' => "Chalet",
'CHP' => "Chapelle",
'CHI' => "Charmille",
'CHT' => "Château",
'CHS' => "Chaussée",
'CHE' => "Chemin",
'CHV' => "Chemin vicinaux",
'CHV' => "Chemin vicinal",
'CHEM' => "Cheminement",
'CITE' => "Cîte",
'CLOI' => "Cloître",
'CLOS' => "Clos",
'COL' => "Col",
'COLI' => "Colline",
'CTR' => "Contour",
'COR' => "Corniche",
'COTE' => "Côte",
'COTT' => "Cottage",
'COUR' => "Cour",
'CRS' => "Cours",
'DARS' => "Darse",
'DEG' => "Degré",
'DSG' => "Descente",
'DSC' => "Descente",
'DIG' => "Digue",
'DOM' => "Domaine",
'ECA' => "Ecart",
'ECL' => "Ecluse",
'EGL' => "Eglise",
'EN' => "Enceinte",
'ENV' => "Enclave",
'ENC' => "Enclos",
'ESC' => "Escalier",
'ESPA' => "Espace",
'ESP' => "Esplanade",
'ETING' => "Etang",
'FG' => "Faubourg",
'FRM' => "Ferme",
'FON' => "Fontaine",
'FORT' => "Fort",
'FORM' => "Forum",
'FOS' => "Fosse",
'FOYR' => "Foyer",
'GAL' => "Galerie",
'GARE' => "Gare",
'GARN' => "Garenne",
'GBD' => "Grand boulevard",
'GDEN' => "Grande ensemble",
'GR' => "Grande rue",
'GRI' => "Grille",
'GRIM' => "Grimpette",
'GPE' => "Groupe",
'GPT' => "Groupement",
'HLE' => "Halle",
'HAM' => "Hameau",
'HCH' => "Haut chemin",
'HIP' => "Hippodrome",
'HLM' => "HLM",
'ILE' => "Ile",
'IMM' => "Immeuble",
'IMP' => "Impasse",
'JARD' => "Jardin",
'JTE' => "Jetée",
'LEVE' => "Levée",
'LD' => "Lieu dit",
'LD' => "Lieudit",
'LOT' => "Lotissement",
'MAIL' => "Mail",
'MF' => "Maison forestière",
'MAN' => "Manoir",
'MAR' => "Marche",
'MAS' => "Mas",
'MET' => "Métro",
'MTE' => "Montée",
'MLN' => "Moulin",
'MUS' => "Musée",
'NTE' => "Nouvelle route",
'PAL' => "Palais",
'PARC' => "Parc",
'PKG' => "Parking",
'PRV' => "Parvis",
'PAS' => "Passage",
'PN' => "Passage à niveau",
'PASS' => "Passe",
'PLE' => "Passerelle",
'PAT' => "Patio",
'PAV' => "Pavillon",
'PERI' => "Périphérique",
'PSTY' => "Péristyle",
'PTA' => "Petites allée",
'PCH' => "Petit chemin",
'PAE' => "Petite avenue",
'PIM' => "Petite impasse",
'PRT' => "Petite route",
'PTR' => "Petite rue",
'PL' => "Place",
'PLCI' => "Placis",
'PLAG' => "Plage",
'PLN' => "Plaine",
'PLAN' => "Plan",
'PLT' => "Plateau",
'PNT' => "Pointe",
'PONT' => "Pont",
'PCH' => "Porche",
'PORT' => "Port",
'PTE' => "Porte",
'PORQ' => "Portique",
'POT' => "Poterne",
'POUR' => "Pourtour",
'PRE' => "Pré",
'PRQ' => "Presqu'île",
'PROM' => "Promenade",
'QU' => "Quai",
'QUAI' => "Quai",
'QUA' => "Quartier",
'RAC' => "Raccourci",
'RAID' => "Raidillon",
'RPE' => "Rampe",
'REM' => "Rempart",
'RES' => "Résidence",
'ROC' => "Roc",
'ROC' => "Rocade",
'RPT' => "Rond point",
'ROQT' => "Roquet",
'RTD' => "Rotonde",
'RTE' => "Route",
'R' => "Rue",
'RUE' => "Rue",
'RLE' => "Ruelle",
'SEN' => "Sente",
'SEN' => "Sentier",
'SQ' => "Square",
'STDE' => "Stade",
'STA' => "Station",
'TPL' => "Terre plein",
'TRN' => "Terrain",
'TSSE' => "Terrasse",
'TRT' => "Tertre",
'TOUR' => "Tour",
'TRA' => "Traverse",
'VAL' => "Vallon",
'VAL' => "Vallée",
'VEN' => "Venelle",
'VIA' => "Via",
'VTE' => "Vieille route",
'VCHE' => "Vieux chemin",
'VLA' => "Villa",
'VGE' => "Village",
'VLGE' => "Village",
'VOI' => "Voie",
'VOIE' => "Voie",
'ZONE' => "Zone",
'ZAC' => "Zone d'aménagement concerté",
'Z A C' => "Zone d'aménagement concerté",
'ZAD' => "Zone d'aménagement différé",
'Z A D' => "Zone d'aménagement différé",
'ZA' => "Zone artisanale",
'Z A' => "Zone artisanale",
'ZI' => "Zone industrielle",
'Z I' => "Zone industrielle",
'ZUP' => "Zone à urbaniser en priorité",
'Z U P' => "Zone à urbaniser en priorité",
);
$str='codVoie'.$sep.'libVoie'.$eol;
foreach ($tabCodeVoie as $k => $v) {
$str.=$k.$sep.$v.$eol;
}
fclose($handle);
return $str;
}

View File

@ -39,7 +39,6 @@ curl_multi_remove_handle($ch1);
curl_multi_remove_handle($ch2);
curl_multi_close($mh);
// $iDb=new WDB();
$referer='';
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;

File diff suppressed because it is too large Load Diff

View File

@ -104,8 +104,8 @@ class MIntersud {
if ($this->curPage<>'vitrine')
$this->partVitrine();
$iDb=new WDB('jo');
$ret=$iDb->select( 'rncs_entrep',
$iDb=new WDB();
$ret=$iDb->select( 'jo.rncs_entrep',
'siren, rcs, nom, adresse1, adresse2, adresse3, cp, ville, naiss_date, naiss_lieu, sexe, enseigne, sigle, '.
'fj_lib, naf_code, naf_lib, date_crea, date_imma, greffe, num_gestion, capital_mnt, capital_dev, nationalite, '.
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
@ -114,7 +114,7 @@ class MIntersud {
/** On v<EFBFBD>rifie qu'aucune annonce n'a <EFBFBD>t<EFBFBD> publi<EFBFBD> depuis au bodacc
**/
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
$ret=$iDb->select( 'jo.bodacc_detail', 'count(*)',
"siren=$this->siren AND Bodacc_Date_Parution>='".$tabRet['dateUpdate']."'");
if ($ret[0][0]==0) {
$tabRet['procedures']=unserialize($tabRet['procedures']);
@ -328,7 +328,7 @@ class MIntersud {
$tabInsert['dirigeants']=serialize($tabRet['dirigeants']);
$tabInsert['etablissements']=serialize($tabRet['etablissements']);
$iDb->insert( 'rncs_entrep', $tabInsert);
$iDb->insert( 'jo.rncs_entrep', $tabInsert);
return $tabRet;
}

View File

@ -1,7 +1,10 @@
<?
class MLiens {
<?php
/**
* Replace by v2
*/
class MLiens
{
public $siren=0;
private $iDb;
private $iInsee;
@ -43,13 +46,16 @@ class MLiens {
** @param int Siren de l'entreprise
** @return array Tableau d'actionnaires
**/
public function getActionnaires($siren=false, $actifsUniquement=true) {
public function getActionnaires($siren=false, $actifsUniquement=true)
{
if (!$siren) $siren=$this->siren;
$tabIdentite=$this->iInsee->getIdentiteLight($siren);
$classWdate = new WDate();
//echo $siren;
//print_r($tabIdentite);
$nic=$tabIdentite['Nic'];
$tab=$this->iDb->select('liens',
$tab=$this->iDb->select('jo.liens',
'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, actif, source, dateLien*1 AS dateLien, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate',
"Siren1='$siren' AND ActionPart=1 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC);
//$tabActiDB=mysql_select('dbo_liens_fi', 'SirenEntite, NomAdresse, PourcentageDetenu, Ville, Lien, MAJLien, MAJImport', "Siren='$siren' AND CodeLien='AC' ORDER BY PourcentageDetenu DESC");
@ -74,7 +80,7 @@ class MLiens {
$codPays=strtoupper($lien['Pays']);
$libPays='';
if ($codPays<>'' && $codPays<>'FRA') {
$tmp=$this->iDb->select('tabPays', 'libPays', "codPays3='$codPays'", true, MYSQL_ASSOC);
$tmp=$this->iDb->select('jo.tabPays', 'libPays', "codPays3='$codPays'", true, MYSQL_ASSOC);
$libPays=$tmp[0]['libPays'];
}
if ($lien['MajMin']=='F') $majMin='A';
@ -97,16 +103,19 @@ class MLiens {
if ($lien['dateInsert']>$dateMaj) $dateMaj=$lien['dateInsert'];
if ($lien['dateUpdate']>$dateMaj) $dateMaj=$lien['dateUpdate'];
if ($lien['source']==1800) $libRS=strtoupper(strtr($lien['RaisonSociale'],$this->tabChars));
else $libRS=strtr($lien['RaisonSociale'],$this->tabChars);
$tabRet[]=array( 'Pmin' => number_format($pctLien,2,',',''),
'PminNum' => $pctLien,
'MajMin' => $majMin,
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
'RaisonSociale' => $libRS,
'Pays' => $libPays,
'CodePays' => $codPays,
'Siren' => $lien['Siren2'],
'Actif' => $lien['actif'],
'Source' => $this->tabSources[$source],
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $lien['dateLien']),
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $dateMaj));
'DateLien' => $classWdate->dateT('Ymd','Y-m-d', $lien['dateLien']),
'DateMaj' => $classWdate->dateT('Ymd','Y-m-d', $dateMaj));
if ($unique) break;
}
$sourcePre=$source;
@ -121,7 +130,7 @@ class MLiens {
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
case 7381: // Organisme consulaire
/** Ces établissements sont dans le fichier des tribunaux **/
$tmp=$this->iDb->select('tribunaux', 'triSiret, triNom, dateUpdate', "triId=(SELECT triIdSup FROM tribunaux WHERE triSiret LIKE '$siren%' LIMIT 1)", true, MYSQL_ASSOC);
$tmp=$this->iDb->select('jo.tribunaux', 'triSiret, triNom, dateUpdate', "triId=(SELECT triIdSup FROM tribunaux WHERE triSiret LIKE '$siren%' LIMIT 1)", true, MYSQL_ASSOC);
$tabCC=$tmp[0];
//$sirenCC=substr(,0,9);
//if ($siren*1<>$sirenCC*1)
@ -131,11 +140,12 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => $tabCC['triNom'],
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $tabCC['triSiret'],
'Actif' => 1,
'Source' => $this->tabSources[1800],
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
'Source' => $this->tabSources[1900],
'DateLien' => $classWdate->dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
'DateMaj' => $classWdate->dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
);
case 7111: // Autorité constitutionnelle
case 7113: // Ministère
@ -195,9 +205,10 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => 'ETAT FRANCAIS',
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => 0,
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
@ -227,9 +238,10 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => strtoupper($typeCC.' '.preg_replace('/^(CA|CC|CU|SAN) /Uis', '',$tabCC['libEPCI'])),
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $tabCC['codEPCI'],
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
@ -267,9 +279,10 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => 'REGION '.strtoupper($tabCC['NC']),
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $sirenCom,
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
@ -283,7 +296,7 @@ class MLiens {
else $strFonctions='';
$adresse=end(explode(' ', $tabIdentite['AdresseVoie']));
$codePostal=$tabIdentite['CP'];
$tab=$this->iDb->select('rncs_dirigeants', 'typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, actif, naissance_nom, naissance_date, naissance_lieu, nat, adresse, fonction_code, fonction_lib, source, cinf, dateInsert, dateUpdate',
$tab=$this->iDb->select('jo.rncs_dirigeants', 'typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, actif, naissance_nom, naissance_date, naissance_lieu, nat, adresse, fonction_code, fonction_lib, source, cinf, dateInsert, dateUpdate',
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
$majMin='+';
if (count($tab)>1) $majMin='-';
@ -318,11 +331,12 @@ class MLiens {
'MajMin' => $majMin,
'RaisonSociale' => trim(preg_replace('/ +/', ' ', $lien['dirRS'].' '.$genre.' '.$lien['nom'].' '.$lien['prenom'])),
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $siren2,
'Actif' => $lien['actif'],
'Source' => $this->tabSources[1600],
'DateLien' => Wdate::dateT('Y-m-d','Y-m-d', $dateMaj),
'DateMaj' => Wdate::dateT('Y-m-d','Y-m-d', $dateMaj),
'DateLien' => $classWdate->dateT('Y-m-d','Y-m-d', $dateMaj),
'DateMaj' => $classWdate->dateT('Y-m-d','Y-m-d', $dateMaj),
);
if ($unique) break;
/**/
@ -353,12 +367,12 @@ class MLiens {
'actif'=> 1,
'source'=> 1600,
'dateInsert'=> date('YmdHis')));
$res=$this->iDb->select('liens', 'count(*)', "Siren1=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))");
$res=$this->iDb->select('jo.liens', 'count(*)', "Siren1=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))");
if ($res[0][0]>0) {
if (!$this->iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>1)), "siren=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))", true))
if (!$this->iDb->update('jo.liens', array_merge($tabUpdate,array('ActionPart'=>1)), "siren=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))", true))
$errMaj=1016166;
} else {
if (!$this->iDb->insert('liens', $tabInsert1, true))
if (!$this->iDb->insert('jo.liens', $tabInsert1, true))
$errMaj=1016167;
}
@ -371,19 +385,19 @@ class MLiens {
'actif'=> 1,
'source'=> 1600,
'dateInsert'=> date('YmdHis')));
$res=$this->iDb->select('liens', 'count(*)', "Siren1=$siren2 AND (Siren2=$siren OR (RaisonSociale='$nom2' AND Pays='$pays2'))");
$res=$this->iDb->select('jo.liens', 'count(*)', "Siren1=$siren2 AND (Siren2=$siren OR (RaisonSociale='$nom2' AND Pays='$pays2'))");
if ($res[0][0]>0) {
if (!$this->iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>2)), "siren=$siren2 AND (Siren2=$siren OR (RaisonSociale='".addslashes($nom2)."' AND Pays='$pays2'))", true))
if (!$this->iDb->update('jo.liens', array_merge($tabUpdate,array('ActionPart'=>2)), "siren=$siren2 AND (Siren2=$siren OR (RaisonSociale='".addslashes($nom2)."' AND Pays='$pays2'))", true))
$errMaj=1016168;
} else {
if (!$this->iDb->insert('liens', $tabInsert2, true))
if (!$this->iDb->insert('jo.liens', $tabInsert2, true))
$errMaj=1016169;
}
/** Insertion du dirigeant pour l'actionnaire en base **/
$dirs=$this->iDb->select('rncs_dirigeants','siren', "siren=$siren2", true, MYSQL_ASSOC);
$dirs=$this->iDb->select('jo.rncs_dirigeants','siren', "siren=$siren2", true, MYSQL_ASSOC);
if (count($dirs)==0) {
$this->iDb->insert('rncs_dirigeants', array( 'siren' => $siren2,
$this->iDb->insert('jo.rncs_dirigeants', array( 'siren' => $siren2,
'raisonSociale' => $nom,
'civilite' => $lien['civilite'],
'typeDir' => $lien['typeDir'],
@ -408,6 +422,7 @@ class MLiens {
}
}
/** Si l'entreprise n'a aucun actionnaire mais est majoritairement contrôlée par l'état alors on déclare l'état actionnaire **/
if (count($tabRet)==0) {
$tabNotice=$this->iInsee->getInfosNotice($siren, $nic);
if ($tabNotice['insRECME']*1>0) {
@ -416,14 +431,35 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => 'ETAT FRANCAIS',
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => 0,
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
}
}
/** Si l'entreprise n'a aucun actionnaire, on regarde au niveau des cessions de parts **/
/*if (count($tabRet)==0) {
$tab=$this->iDb->select('rncs_even_info', 'siren, dateDepot, codeEven, depot_num, depot_date, acte_num, acte_date, acte_type, acte_lib, acte_pages, acte_nature, acte_decision, collecte, flux, dateInsert',
"siren='$siren' AND codeEven IN(2,5,6,7,8,9,10,13,31,32,63)", true, MYSQL_ASSOC);
foreach ($tab as $i=>$lien) {
$tabRet[]=array('Pmin' => 0,
'PminNum' => 0,
'MajMin' => '+',
'RaisonSociale' => 'ETAT FRANCAIS',
'Pays' => '',
'Siren' => 0,
'Actif' => 1,
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
}
}*/
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement)", print_r($tabRet,true)) ;
return $tabRet;
}
@ -435,7 +471,7 @@ class MLiens {
public function getParticipations($siren=false, $actifsUniquement=true) {
if (!$siren) $siren=$this->siren;
$tab=$this->iDb->select(
'liens l LEFT JOIN tabPays ON codPays3=Pays',
'jo.liens l LEFT JOIN jo.tabPays ON codPays3=Pays',
'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, libPays, actif, source, dateLien*1 AS dateLien, DATE(l.dateInsert)*1 AS dateInsert, DATE(l.dateUpdate)*1 AS dateUpdate',
"Siren1='$siren' AND ActionPart=2 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC); // OR Siren2='$siren
$tabRet=array();
@ -453,11 +489,14 @@ class MLiens {
else {
if ($lien['MajMin']=='F') $majMin='A';
else $majMin=$lien['MajMin'];
if ($lien['source']==1800) $libRS=strtoupper(strtr($lien['RaisonSociale'],$this->tabChars));
else $libRS=strtr($lien['RaisonSociale'],$this->tabChars);
$tabRet[]=array('Pmin' => number_format($lien['Pmin']*1,2,',',''),
'PminNum' => $lien['Pmin']*1,
'MajMin' => $majMin,
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
'RaisonSociale' => $libRS,
'Pays' => $lien['libPays'],
'CodePays' => $lien['Pays'],
'Siren' => $lien['Siren2'],
'Actif' => $lien['actif'],
'Source' => $this->tabSources[$source],
@ -478,7 +517,7 @@ class MLiens {
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
case 7381: // Organisme consulaire
/** Ces établissements sont dans le fichier des tribunaux **/
$tmp=$this->iDb->select('tribunaux t1', 't1.triSiret, t1.triNom', "t1.triIdSup=(SELECT t2.triId FROM tribunaux t2 WHERE t2.triSiret LIKE '$siren%' AND t2.triId<>t1.triId LIMIT 1)", true, MYSQL_ASSOC);
$tmp=$this->iDb->select('jo.tribunaux t1', 't1.triSiret, t1.triNom', "t1.triIdSup=(SELECT t2.triId FROM tribunaux t2 WHERE t2.triSiret LIKE '$siren%' AND t2.triId<>t1.triId LIMIT 1)", true, MYSQL_ASSOC);
foreach ($tmp as $tabCC) {
// $sirenCC=substr($tabCC['triSiret'],0,9);
if ($tabCC['triSiret']*1<>0) //$siren*1<>$sirenCC*1)
@ -487,9 +526,10 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => $tabCC['triNom'],
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $tabCC['triSiret'],
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
);
@ -519,9 +559,10 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => 'COMMUNE DE '.strtoupper($tabCom['libCommune']),
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $sirenCom,
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
@ -556,9 +597,10 @@ class MLiens {
'MajMin' => '+',
'RaisonSociale' => 'DEPARTEMENT '.strtoupper($tabCom['libdep']),
'Pays' => '',
'CodePays' => 'FRA',
'Siren' => $sirenCom,
'Actif' => 1,
'Source' => $this->tabSources[1800],
'Source' => $this->tabSources[1900],
'DateLien' => date('Y-m-').'01',
'DateMaj' => date('Y-m-').'01',
);
@ -571,14 +613,37 @@ class MLiens {
return $tabRet;
}
public function getEvenements($siren=false) {
if (!$siren) $siren=$this->siren;
$tab=$this->iDb->select('jo.rncs_even_info', 'siren, dateDepot, codeEven, depot_num, depot_date, acte_num, acte_date, acte_type, acte_lib, acte_pages, acte_nature, acte_decision, collecte, flux, dateInsert',
"siren='$siren' AND codeEven IN(2,5,6,7,8,9,10,13,31,32,63)", true, MYSQL_ASSOC);
$tabRet=array();
foreach ($tab as $i=>$lien) {
$tabRet[]=array(/*'Pmin' => 0,
'PminNum' => 0,
'MajMin' => '+',*/
'DateLien' => $lien['acte_date'],
'TypeEvenement' => $lien['acte_nature'],
'InfoEvenement' => $lien['acte_decision'],
// 'Pays' => '',
// 'Siren' => 0,
// 'Actif' => 1,
'Source' => $this->tabSources[1500],
'DateMaj' => $lien['flux'],
);
}
return $tabRet;
}
public function getLiens($siren=false) {
$tabA=$this->getActionnaires($siren);
$tabP=$this->getParticipations($siren);
$tabE=$this->getEvenements($siren);
return array( 'actionnaires'=>$tabA,
'participations'=>$tabP);
'participations'=>$tabP,
'evenements'=>$tabE);
}
public function getMaisonMereFr($siren, $debug=false, $tabSirenVisites=array()) {
$this->tabSirenVisites=$tabSirenVisites;
$this->tabSirenVisites[]=$siren;
@ -624,10 +689,10 @@ class MLiens {
if ($i==0) return $siren;
}
public function getAllParticipations($siren, $pctMin=33, $nbNiveaux=15, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true) {
public function getAllParticipations($siren, $pctMin=33, $nbNiveaux=15, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true, $format='txt', $tabRet=array()) {
$appel++;
$tabP=$this->getParticipations($siren, $actifsUniquement);
//if ($siren*1==692004807) die(print_r($tabP,true));
foreach ($tabP as $i=>$lien) {
$sirenFille=$lien['Siren']*1;
if ($sirenFille>1000) {
@ -665,7 +730,7 @@ class MLiens {
else {
echo "[A]".EOL;
$niveauCour++;
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel, $actifsUniquement, $format);
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel, $actifsUniquement, $format, $tabRet);
}
}
elseif($sirenFille>100 && ($lien['PminNum']<$pctMin || $lien['MajMin']=='-')) {
@ -687,11 +752,86 @@ class MLiens {
echo "[E]".EOL;// $siren, $sirenFille, ".$lien['PminNum'].">=$pctMin, ".$lien['MajMin'].", $niveauCour<=$nbNiveaux".EOL;
$tabSiren[]=$siren;
}
$tabPart=array( 'siren' => $sirenFille,
'nom' => $nomP,
'pct' => $pct,
'pays' => $libPays,
'filles'=> $tabFilles);
$tabParts[]=$tabPart;
}
$tabRet=$tabParts;
return array_unique($tabSiren);
}
/**
* Retourne l'arborescence pour les groupes
* @param string $siren
* @param int $pctMin
* @param int $nbNiveaux
*/
public function getArborescence($siren, $pctMin=33, $nbNiveaux=10)
{
//Récupération de la maison mère
$sirenMere = $this->getMaisonMereFr($siren);
//Informations de la maison mère
$tabId = $this->iInsee->getIdentiteLight($sirenMere);
$tabSirenDeja = array();
$tabSirenDeja[] = $tabId['Siren'];
//Retour
$tabRet = array(
'name' => $tabId['Nom'],
'siren' => $tabId['Siren'],
'children' => $this->getArborescenceRecursive($sirenMere, $pctMin, 1, $nbNiveaux, $tabSirenDeja),
);
return $tabRet;
}
/**
* Retourne un sous élement de l'arborescende pour les groupes
* @param string $siren
* @param int $pctMin
* @param int $niveau
* @param int $nbNiveaux
* @param array $tabSirenDeja
*/
public function getArborescenceRecursive( $siren, $pctMin=33, $niveau=0, $nbNiveaux=10, $tabSirenDeja=array() )
{
if ( $niveau > $nbNiveaux ) return array();
$niveau++;
$tabRet = array();
$participations = $this->getParticipations($siren);
if ( count($participations)>0 ) {
foreach ( $participations as $item ) {
if ( $item['Pmin'] > $pctMin ) {
//file_put_contents('test.log', $item['Siren']."\n", FILE_APPEND);
$data = array(
'name' => $item['RaisonSociale'],
'siren' => $item['Siren'],
'pmin' => $item['Pmin'],
'pays' => $item['Pays'],
'children' => array(),
);
//Pour éviter d'avoir des boucles infinis
if ( !in_array($item['Siren'], $tabSirenDeja) && intval($item['Siren'])>1000 ){
$tabSirenDeja[] = $item['Siren'];
$data['children'] = $this->getArborescenceRecursive($item['Siren'], $pctMin, $niveau, $nbNiveaux, $tabSirenDeja);
}
$tabRet[] = $data;
}
}
//file_put_contents('test.log', "\n", FILE_APPEND);
}
return $tabRet;
}
/** Recherche d'entreprise par leur actionnaire
**
** @param string $nom Raison sociale / Nom de l'actionnaire (obligatoire)
@ -718,6 +858,9 @@ class MLiens {
);
$version = defined('SPHINX_ACT_VERSION') ? SPHINX_ACT_VERSION : 1;
require_once 'Metier/sphinx/rechercheFonc.php';
$result = rechercheAct($formR, $deb, $nbRep, $maxRep);
/*
switch($version)
{
case 1:
@ -730,6 +873,7 @@ class MLiens {
$result = $recherche->rechercheAct($formR, $deb, $nbRep, $maxRep);
break;
}
*/
return $result;
}
@ -738,15 +882,15 @@ class MLiens {
**/
public function getInfoGroupe($siren) {
if ($siren<1000) return false;
$tmp=$this->iDb->select('etablissements_act',
$tmp=$this->iDb->select('jo.etablissements_act',
'raisonSociale, enseigne, sigle, identite_pre, adr_num, adr_btq, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, adr_dep, adr_com, tel, fax, siren, sirenGrp',
"siren=(SELECT distinct sirenGrp FROM etablissements_act WHERE siren=$siren AND siege=1) LIMIT 0,1", false, MYSQL_ASSOC);
"siren=(SELECT distinct sirenGrp FROM jo.etablissements_act WHERE siren=$siren AND siege=1) LIMIT 0,1", false, MYSQL_ASSOC);
$tabEnt=$tmp[0];
$sirenGrp=$tabEnt['siren'];
if ($sirenGrp<1000) return false;
/** Table des Nafs5 => Secteurs **/
$tmp=$this->iDb->select('tabNaf5', 'codNaf2, codNaf1', '1 GROUP BY codNAf2', false, MYSQL_ASSOC);
$tmp=$this->iDb->select('jo.tabNaf5', 'codNaf2, codNaf1', '1 GROUP BY codNAf2', false, MYSQL_ASSOC);
$tabNAf2=array();
foreach ($tmp as $tmp2) {
$tabNAf2[$tmp2['codNaf2']]=$tmp2['codNaf1'];
@ -886,4 +1030,3 @@ class MLiens {
}
}
?>

View File

@ -0,0 +1,536 @@
<?php
class MLiens2
{
/**
* Company Reference id
* @var int
*/
protected $idRef = null;
/**
* Company SIREN
* @var string
*/
protected $siren = null;
/**
* @var Zend_Db_Adapter_Abstract
*/
protected $db;
/**
* Array to list id find during list of childrens
* @var array
*/
protected $findId = array();
/**
* Coutry List ISO3 => Label
* @var array
*/
protected $country = null;
/**
* Stop the process to looks for company group head
* @var boolean
*/
public $stopAtFirstIsin = false;
/**
* Databas table name
* @var string
*/
protected $_schema = 'jo';
/**
*
* @param string $id
* @param string $type ref|siren
* @param Zend_Db_Adapter $db
* @throws SoapFault
*/
public function __construct($id, $type = 'ref', $db = null)
{
//Get defaut database adapter
if( $db === null ) {
$this->db = Zend_Db_Table_Abstract::getDefaultAdapter();
} else {
$this->db = $db;
Zend_Db_Table_Abstract::setDefaultAdapter($db);
}
//Get Id
if ( $type == 'siren' ) {
$this->siren = $id;
$refM = new Application_Model_JoLiensRef();
$sql = $refM->select()->where('siren=?', $id)->where('dateSuppr=0');
$result = $refM->fetchRow($sql);
if ( $result !== null ) {
$this->idRef = $result->id;
}
} else {
$this->idRef = $id;
}
}
/**
* Retourne les actionnaires
* @param int $id
* @param boolean $actif
* @return array Tableau d'actionnaires
*/
public function getActionnaires($id = null, $actif = null)
{
if ( null === $id ) {
$id = $this->idRef;
}
$liens = array();
if ( null === $id ) {
return $liens;
}
try {
$sql = $this->db->select()
->from(array('l'=>$this->_schema.'.liens2'),
array('id', 'idAct', 'PDetention', 'Pvote', 'MajMin', 'idPar',
'dateEffetLien', 'dateInsert', 'dateUpdate'))
->where('idPar=?', $id)
->join(array('r'=>$this->_schema.'.liensRef'), 'l.idAct=r.id',
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'sigle', 'civilite', 'nom', 'prenom', 'nom_usage',
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays',
'idLoc1Type', 'idLoc1Num', 'idLoc2Type', 'idLoc2Num', 'idLoc3Type', 'idLoc3Num',
))
->order('PDetention DESC');
//Actif / Inactif
if ( null !== $actif ) {
if ( false === $actif ) {
$sql->where('l.actif=?',0);
} else {
$sql->where('l.actif=?',1);
}
}
//Don't display deleted - anomaly
$sql->where('l.dateSuppr=?', '0000-00-00 00:00:00');
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
} catch (Zend_Db_Exception $e) {
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
}
return $liens;
}
/**
* Retourne les participations
* @param int $id
* @param boolean $actif
* @return array Tableau des participations
*/
public function getParticipations($id = null, $actif = null)
{
if ( null === $id ) {
$id = $this->idRef;
}
if ( false === $actif ) {
$actif = 0;
} else {
$actif = 1;
}
$liens = array();
if ( null === $id ) {
return $liens;
}
try {
$sql = $this->db->select()
->from(array('l'=>$this->_schema.'.liens2'),
array('id', 'idAct', 'PDetention', 'Pvote', 'MajMin', 'idPar',
'dateEffetLien', 'dateInsert', 'dateUpdate'))
->where('idAct=?', $id)
->join(array('r'=>$this->_schema.'.liensRef'), 'l.idPar=r.id',
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'sigle', 'civilite', 'nom', 'prenom', 'nom_usage',
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays',
'idLoc1Type', 'idLoc1Num', 'idLoc2Type', 'idLoc2Num', 'idLoc3Type', 'idLoc3Num',
))
->order('PDetention DESC');
//Actif / Inactif
if ( null !== $actif ) {
if ( false === $actif ) {
$sql->where('l.actif=?',0);
} else {
$sql->where('l.actif=?',1);
}
}
//Don't display deleted - anomaly
$sql->where('l.dateSuppr=?', '0000-00-00 00:00:00');
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
} catch (Zend_Db_Exception $e) {
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
}
return $liens;
}
/**
* Fonctions de direction
* @param boolean $actif
* @return Zend_Db_Table_Rowset_Abstract
*/
public function getDirections($actif = null)
{
if ( null === $this->siren ) {
$refM = new Application_Model_JoLiensRef();
$rows = $refM->find($this->idRef);
$siren = str_pad($rows->current()->siren, 9, '0', STR_PAD_LEFT);
} else {
$siren = $this->siren;
}
$result = array();
if ( null !== $siren && intval($siren) != 0 )
{
try {
$directionsM = new Application_Model_JoRncsDirigeants();
$sql = $directionsM->select()->from($directionsM, array(
'LPAD(siren, 9, 000000000) AS siren','raisonSociale', 'dirSiren', 'dirRS', 'civilite', 'nom',
'prenom', 'naissance_date', 'naissance_lieu', 'fonction_code', 'fonction_lib'
))->where("typeDir IN ('PM', 'PP')")->where('dirSiren=?', $siren);
//Actif / Inactif
if ( null !== $actif ) {
if ( false === $actif ) {
$sql->where('actif=?',0);
} else {
$sql->where('actif=?',1);
}
}
$sql->order('fonction_code DESC');
$sql->order('raisonSociale ASC');
$result = $directionsM->fetchAll($sql);
} catch (Zend_Db_Exception $e) {
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
}
}
return $result;
}
/**
* Retourne la maison mère
* @param int $id
* Id de la fiche de départ
* @param int $detention
* Niveau de détention (Une filiale est une entreprise détenue à plus de 50% par une autre entreprise)
* @return int
*/
public function getHead($id = null, $detention = 0)
{
if ( null === $id ) {
$id = $this->idRef;
}
//Add ID to the list of known
$this->findId[] = $id;
//Through the list
$liens = $this->getActionnaires($id, true);
//Find the following up entity
if ( count($liens)>0 ) {
foreach ( $liens as $item ) {
//Don't through again and again
if ( in_array($item->idAct, $this->findId) ) {
return $item->idAct;
} elseif ( $this->stopAtFirstIsin === true && !empty($item->isin)) {
break;
}
//Remove physical person
elseif ( $item->PpPm == 'PP' ) {
continue;
}
//Same id
elseif ( $item->idAct == $id ) {
return $id;
}
//PDetention>50
elseif ( $item->PDetention > 50 && $item->idAct > 1000 ) {
return $this->getHead($item->idAct, $detention);
}
//MajMin=+
elseif ( $item->PDetention > $detention && $item->MajMin == '+' && $item->idAct > 1000 ) {
return $this->getHead($item->idAct, $detention);
}
//--
elseif ( $item->PDetention > $detention && $item->idAct > 1000 ) {
return $this->getHead($item->idAct, $detention);
}
}
}
return $id;
}
/**
* Retourne les éléments identitaire présent dans lienRef
* @param string $id
* @return Zend_Db_Table_Rowset_Abstract
*/
public function getIdentity($id = null)
{
if ( null === $id ) {
$id = $this->idRef;
}
$refM = new Application_Model_JoLiensRef();
$row = $refM->find($id);
if (null !== $row) {
return $row->current();
}
return null;
}
/**
* Retourne l'arborescence pour les groupes
* @param int $pctMin
* @param int $nbNiveaux
* @return array
*/
public function getTree( $pctMin=33, $nbNiveaux=10 )
{
//Get identity to stop at isin
$itemWithIsin = null;
if ( $this->stopAtFirstIsin === true ) {
$id = $this->idRef;
$identity = $this->getIdentity($this->idRef);
if ( !empty($identity->isin) ) {
$itemWithIsin = true;
}
}
if ( $itemWithIsin !== true ) {
//Récupération de la maison mère
$id = $this->getHead(null, 50);
//Informations de la maison mère
$identity = $this->getIdentity($id);
}
$this->findId = array();
$this->findId[] = $identity->id;
$nom = $identity->RS;
if ( $identity->nom != '') {
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
}
if ( $this->country === null ) {
$this->country = $this->getCountry();
}
$pays = $identity->adresse_pays;
if ( array_key_exists($identity->adresse_pays, $this->country) ) {
$pays = $this->country[$identity->adresse_pays];
}
//Retour
$tabRet = array (
'id' => $identity->id,
'name' => $nom,
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
'pmin' => $item->PDetention,
'pays' => $pays,
'children' => $this->getTreeRecursive($identity->id, $pctMin, 1, $nbNiveaux),
);
return $tabRet;
}
/**
* Retourne un sous élement de l'arborescence pour les groupes
* @param int $id
* @param int $pctMin
* @param int $niveau
* @param int $nbNiveaux
* @return array
*/
public function getTreeRecursive( $id, $pctMin=33, $niveau=0, $nbNiveaux=10 )
{
if ( $niveau > $nbNiveaux ) return array();
$niveau++;
$tabRet = array();
$participations = $this->getParticipations($id, true);
if ( count($participations)>0 ) {
foreach ( $participations as $item ) {
if ( $item->PDetention > $pctMin ) {
$identity = $this->getIdentity($item->idPar);
$nom = $identity->RS;
if ( $identity->nom != '') {
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
}
if ($this->country === null) {
$this->country = $this->getCountry();
}
$pays = $identity->adresse_pays;
if ( array_key_exists($identity->adresse_pays, $this->country) ) {
$pays = $this->country[$identity->adresse_pays];
}
$data = array (
'id' => $identity->id,
'name' => $nom,
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
'pmin' => $item->PDetention,
'pays' => $pays,
'children' => array(),
);
//Pour éviter d'avoir des boucles infinis
if ( !in_array($identity->id, $this->findId) ){
$this->findId[] = $identity->id;
$data['children'] = $this->getTreeRecursive($identity->id, $pctMin, $niveau, $nbNiveaux);
}
$tabRet[] = $data;
}
}
}
return $tabRet;
}
/**
*
* @return multitype:NULL
*/
public function getCAC40()
{
$sql = "SELECT isin, nom, MAX(`date`) AS dateMAJ FROM sdv1.bourse_listes WHERE lstCode='xcac40p' GROUP BY lstCode, isin HAVING MAX(`date`) ORDER BY dateMAJ DESC;";
$result = $this->db->query($sql);
$output = array();
foreach ( $result as $item ) {
$output[] = $item->isin;
}
return $output;
}
/**
*
* @param number $pctMin
* @return array
*/
public function getGroupeCAC40( $pctMin=50 )
{
$listeIsin = $this->getCAC40();
$isin = implode(",",$listeIsin);
$refM = new Application_Model_JoLiensRef();
$sql = $refM->select()
->where("idLoc1Type=63")->where("idLoc1Num IN (?)", $isin)
->orWhere("idLoc2Type=63")->where("idLoc2Num IN (?)", $isin)
->orWhere("idLoc3Type=63")->where("idLoc3Num IN (?)", $isin);
$result = $refM->fetchAll($sql);
$this->findId = array();
$output = array();
if ( $result->count()>0 ) {
foreach ( $result as $item ) {
$output = $output + $this->getListeGroupeCAC40($item->id, $pctMin);
}
}
return $output;
}
/**
*
* @param int $id
* @param number $pctMin
* @return array
*/
public function getListeGroupeCAC40($id, $pctMin=50 )
{
$participations = $this->getParticipations($id, true);
$output = array();
if ( count($participations)>0 ) {
foreach ( $participations as $item ) {
if ( $item->PDetention > $pctMin ) {
$identity = $this->getIdentity($item->idPar);
if ( intval($identity->siren)!=0 ) {
$output[] = $identity->siren;
}
if ( !in_array($identity->id, $this->findId) ){
$this->findId[] = $identity->id;
$output = $output + $this->getListeGroupeCAC40($identity->id, $pctMin);
}
}
}
}
return $output;
}
/**
*
* @param number $pctMin
* @return boolean
*/
public function isInGroupeCAC40( $pctMin=50 )
{
//Si pas d'actionnaires => false
if ( count($this->getActionnaires()) == 0 ) {
return false;
}
$listeInGroupeCAC40 = $this->getGroupeCAC40($pctMin);
if ( in_array($this->siren, $listeInGroupeCAC40) ) {
return true;
}
return false;
}
/**
* Get all countries
*/
protected function getCountry()
{
$countryM = new Application_Model_JoTabPays();
$sql = $countryM->select()
->from($countryM, array('codPays3', 'libPays'))
->where('codPays3 IS NOT NULL');
$rows = $countryM->fetchAll($sql);
if ( $rows !== null ) {
$data = array();
foreach($rows as $item) {
$data[$item->codPays3] = $item->libPays;
}
return $data;
}
return false;
}
}

View File

@ -1,473 +0,0 @@
<?
class MLiens {
public $siren=0;
private $tabChars=array('é'=>'é', 'ç'=>'ç','è'=>'è','à '=>'à');
private static $tabFct=array( 'ADM'=>'Administrateur',
'ASS'=>'Associé',
'COG'=>'Co-gérant',
'CON'=>'Contrôleur de gestion',
'DID'=>'Directeur Général Délégué',
'DIR'=>'Directeur',
'GER'=>'Gérant',
'PCS'=>'Président du Conseil de Surveillance',
'PDG'=>'Président Directeur Général',
'PP'=>'Personne Physique',
'PRD'=>'Président du directoire',
'PRE'=>'Président du Conseil d\'Administration',
'VIC'=>'Vice président du CA ou Surv.',
);
public function __construct($siren) {
$this->siren=$siren;
}
/** Retourne les actionnaires du siren
** @param int Siren de l'entreprise
** @return array Tableau d'actionnaires
**/
public function getActionnaires($siren=false, $actifsUniquement=true) {
if (!$siren) $siren=$this->siren;
$iDb=new WDB();
$tab=$iDb->select('liens', 'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, actif, source', "Siren1='$siren' AND ActionPart=1 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC);
//$tabActiDB=mysql_select('dbo_liens_fi', 'SirenEntite, NomAdresse, PourcentageDetenu, Ville, Lien, MAJLien, MAJImport', "Siren='$siren' AND CodeLien='AC' ORDER BY PourcentageDetenu DESC");
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug $siren ($actifsUniquement)", print_r($tab,true)) ;
$sourcePre=false;
$tabRet=array();
foreach ($tab as $i=>$lien) {
if ($lien['source']>=1700 && $lien['source']<=1720) $source=1700;
else $source=$lien['source'];
if ($i>0 && $sourcePre<>$source) break;
/*if ($actifsUniquement && $lien['actif']==0) continue;
else
$tabRet[]=array('Pmin' => number_format($lien['Pmin']*1,2,',',''),
'MajMin' => $lien['MajMin'],
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
'Pays' => $lien['libPays'],
'Siren' => $lien['Siren2'],
'Actif' => $lien['actif']);*/
if ($actifsUniquement && $lien['actif']==0) continue;
else {
$codPays=strtoupper($lien['Pays']);
$libPays='';
if ($codPays<>'' && $codPays<>'FRA') {
$tmp=$iDb->select('tabPays', 'libPays', "codPays3='$codPays'", true, MYSQL_ASSOC);
$libPays=$tmp[0]['libPays'];
}
if ($lien['MajMin']=='F') $majMin='A';
else $majMin=$lien['MajMin'];
$tabRet[]=array( 'Pmin' => number_format($lien['Pmin']*1,2,',',''),
'MajMin' => $majMin,
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
'Pays' => $libPays,
'Siren' => $lien['Siren2'],
'Actif' => $lien['actif']);
}
$sourcePre=$source;
}
if (count($tabRet)==0) {
$iInsee=new MInsee();
$tabTmp=$iInsee->getIdentiteLight($siren);
switch ($tabTmp['FJ']*1) {
case 7111:
case 7113:
case 7120:
case 7150:
case 7160:
case 7171:
case 7172:
case 7179:
case 7190:
case 7229:
case 7331:
case 7349:
case 7351:
case 7352:
case 7364:
case 7365:
case 7366:
case 7371:
case 7372:
case 7373:
case 7379:
case 7381:
case 7382:
case 7383:
case 7384:
case 7385:
case 7389:
case 7410:
case 7430:
case 7450:
case 7490:
$tabRet[]=array('Pmin' => 0,
'MajMin' => '+',
'RaisonSociale' => 'ETAT FRANCAIS',
'Pays' => '',
'Siren' => 0,
'Actif' => 1);
break;
case 7210: // Communes
// Siren Commune du Lamentin : 219 722 139
// ~~~ ~~~~
$dept=substr($siren,2,2);
$comm=substr($siren,5,3);
$codeInsee=$dept.$comm;
if ($dept<>'20') // Corse
$strCodeInsee="codeInsee='$codeInsee'";
else
$strCodeInsee="codeInsee IN ('2A$comm','2B$comm','20$comm') ";
$tmp=$iDb->select('insee.insee_tabVillesEpci', 'typEPCI, codEPCI, libEPCI, libCommune', $strCodeInsee, true, MYSQL_ASSOC);
$tabCC=$tmp[0];
switch($tabCC['typEPCI']) {
case 'CA': $typeCC="Communauté d'agglomérations"; break; // CJ=7348
case 'CC': $typeCC="Communauté de communes"; break; // CJ=7346
case 'CU': $typeCC="Communauté urbaine"; break; // CJ=73
case 'SAN': $typeCC="Syndicat d'agglomérations nouvelles"; break; // CJ=73
default: $typeCC='';
}
$tabRet[]=array('Pmin' => 0,
'MajMin' => '+',
'RaisonSociale' => strtoupper($typeCC.' '.preg_replace('/^(CA|CC|CU|SAN) /Uis', '',$tabCC['libEPCI'])),
'Pays' => '',
'Siren' => $tabCC['codEPCI'],
'Actif' => 1);
break;
}
}
if (count($tabRet)==0) {
$iInsee=new MInsee();
$tabTmp=$iInsee->getIdentiteLight($siren);
$fj=$tabTmp['FJ']*1;
if ($fj==5498) $strFonctions=",'Gérant'";
else $strFonctions='';
$adresse=end(explode(' ', $tabTmp['AdresseVoie']));
$codePostal=$tabTmp['CP'];
$tab=$iDb->select('rncs_dirigeants', 'typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, actif, naissance_nom, naissance_date, naissance_lieu, nat, adresse, fonction_code, fonction_lib, source, cinf',
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
$majMin='+';
if (count($tab)>1) $majMin='-';
foreach ($tab as $i=>$lien) {
if ($actifsUniquement && $lien['actif']==0) continue;
else {
$ville=$siege=$actif='';
$deb=$siren2=0;
$nbRep=$maxRep=200;
$pertinence=$avecSiren=true;
$etabs=$iInsee->rechercheEtab($lien['nom'].' '.$lien['prenom'], $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
$tabSiren=array();
foreach ($etabs['reponses'] as $etab) {
$tabTmp=preg_split('/( +|\/|\*)/', $etab['Nom']);
$rsEtab=$tabTmp[0];
$tabTmp=preg_split('/( +|\/|\*)/', $lien['nom']);
$rsLien=$tabTmp[0];
if ($etab['FJ']==1800 && $rsEtab==$rsLien)
$tabSiren[]=$etab['Siren'];
}
/*
'Nom'=>prepareString(strtr($etab['Nom'],'/*',' ')),
'Nom2'=>prepareString($etab['Nom2']),
'Sigle'=>prepareString($etab['Sigle']),
'Enseigne'=>prepareString($etab['Enseigne']),
'Adresse'=>prepareString($etab['Adresse']),
'CP'=>$etab['CP'],
'Ville'=>prepareString($etab['Ville']),
'Tel'=>$etab['Tel'],
'Fax'=>$etab['Fax'],
'Nic'=>$etab['Nic'],
'Actif'=>$etab['Actif'],
'NafEtab'=>$etab['NafEtab'], // Etablissement
'NafEtabLib'=>prepareString($etab['NafEtabLib']),
'NafEnt'=>$etab['NafEnt'], // Entreprise
'NafEntLib'=>prepareString($etab['NafEntLib']),*/
$tabSiren2=array_unique($tabSiren);
if (count($tabSiren2==1)) $siren2=end($tabSiren2);
else $siren2=$lien['dirSiren'];
if ($lien['civilite']=='MME') $genre='Madame';
elseif ($lien['civilite']=='M') $genre='Monsieur';
else $genre='';
$tabRet[]=array( 'Pmin' => 0,
'MajMin' => $majMin,
'RaisonSociale' => trim(preg_replace('/ +/', ' ', $lien['dirRS'].' '.$genre.' '.$lien['nom'].' '.$lien['prenom'])),
'Pays' => '',
'Siren' => $siren2,
'Actif' => $lien['actif']);
if ($siren2*1>0) {
/** Insertion du lien en base **/
$nom=$pays=$dateMAJ='';
$ppPm='P';
$pct=0;
$entrep2=$iInsee->getIdentiteLight($siren);
$nom2=$entrep2['Nom'];
$pays2='FRA';
if (substr($entrep2['FJ'],0,1)*1<>1) $ppPm='M';
$entrep=$iInsee->getIdentiteLight($siren2);
$nom=strtr($entrep['Nom'],'/*',' ');
$pays='FRA';
$tabUpdate=array( 'Pmin'=> $pct,
'Pmax'=> $pct,
'MajMin'=> $majMin,
'PpPm'=> $ppPm,
'dateLien'=> $dateMAJ,
);
/* Insertion de l'actionnaire */
$tabInsert1=array_merge($tabUpdate, array( 'ActionPart'=>1),
array( 'Siren1'=> $siren,
'Siren2'=> $siren2,
'RaisonSociale'=> $nom,
'Pays'=> $pays,
'actif'=> 1,
'source'=> 1600,
'dateInsert'=> date('YmdHis')));
$res=$iDb->select('liens', 'count(*)', "Siren1=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))");
if ($res[0][0]>0) {
if (!$iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>1)), "siren=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))", true))
$errMaj=1016166;
} else {
if (!$iDb->insert('liens', $tabInsert1, true))
$errMaj=1016167;
}
/* Insertion de la participation pour l'actionnaire précédent */
$tabInsert2=array_merge($tabUpdate, array( 'ActionPart'=>2),
array( 'Siren1'=> $siren2,
'Siren2'=> $siren,
'RaisonSociale'=> $nom2,
'Pays'=> $pays2,
'actif'=> 1,
'source'=> 1600,
'dateInsert'=> date('YmdHis')));
$res=$iDb->select('liens', 'count(*)', "Siren1=$siren2 AND (Siren2=$siren OR (RaisonSociale='$nom2' AND Pays='$pays2'))");
if ($res[0][0]>0) {
if (!$iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>2)), "siren=$siren2 AND (Siren2=$siren OR (RaisonSociale='".addslashes($nom2)."' AND Pays='$pays2'))", true))
$errMaj=1016168;
} else {
if (!$iDb->insert('liens', $tabInsert2, true))
$errMaj=1016169;
}
/** Insertion du dirigeant pour l'actionnaire en base **/
$dirs=$iDb->select('rncs_dirigeants','siren', "siren=$siren2", true, MYSQL_ASSOC);
if (count($dirs)==0) {
$iDb->insert('rncs_dirigeants', array( 'siren' => $siren2,
'raisonSociale' => $nom,
'civilite' => $lien['civilite'],
'typeDir' => $lien['typeDir'],
'dirRS' => $siren2,
'nom' => $lien['nom'],
'prenom' => $lien['prenom'],
'naissance_nom' => $lien['naissance_nom'],
'naissance_date'=> $lien['naissance_date'],
'naissance_lieu'=> $lien['naissance_lieu'],
'nat' => $lien['nat'],
'fonction_code' => 0,
'fonction_lib' => 'Personne Physique',
'actif' => 1,
'dateInsert' => date('YmdHis'),
'source' => 'lag', // Lien Associé Gérant
'cinf' => $lien['cinf'],
), true);
}
}
}
}
}
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement)", print_r($tabRet,true)) ;
return $tabRet;
}
/** Retourne les participations du siren
** @param int Siren de l'entreprise
** @return array Tableau de participations
**/
public function getParticipations($siren=false, $actifsUniquement=true) {
if (!$siren) $siren=$this->siren;
$iDb=new WDB();
$tab=$iDb->select('liens LEFT JOIN tabPays ON codPays3=Pays', 'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, libPays, actif, source', "Siren1='$siren' AND ActionPart=2 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC); // OR Siren2='$siren
// $tabPartDB=mysql_select('dbo_liens_fi', 'SirenEntite, NomAdresse, PourcentageDetenu, Ville, Lien, MAJLien, MAJImport', "Siren='$siren' AND CodeLien='PA' ORDER BY PourcentageDetenu DESC");
$tabRet=array();
$sourcePre=false;
foreach ($tab as $i=>$lien) {
if ($lien['source']>=500 && $lien['source']<=520) $source=500;
else $source=$lien['source'];
if ($i>0 && $sourcePre<>$source) break;
if ($actifsUniquement && $lien['actif']==0) continue;
else
$tabRet[]=array('Pmin' => number_format($lien['Pmin']*1,2,',',''),
'MajMin' => $lien['MajMin'],
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
'Pays' => $lien['libPays'],
'Siren' => $lien['Siren2'],
'Actif' => $lien['actif']);
$sourcePre=$source;
}
if (count($tabRet)==0) {
$iInsee=new MInsee();
$tabTmp=$iInsee->getIdentiteLight($siren);
switch ($tabTmp['FJ']*1) {
case 7346: // Communaute de communes
case 7348: // Communaute d'agglomeration
//case 'CC': $typeCC="Communauté de communes"; break; // CJ=73
//case 'CU': $typeCC="Communauté urbaine"; break; // CJ=73
//case 'SAN': $typeCC="Syndicat d'agglomérations nouvelles"; break; // CJ=73
$tmp=$iDb->select('insee.insee_tabVillesEpci', 'typEPCI, libEPCI, codeInsee, libCommune', "codEPCI='$siren'", true, MYSQL_ASSOC);
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement)", print_r($tmp, true)) ;
foreach ($tmp as $tabCom) {
$dept=substr($tabCom['codeInsee'],0,2);
if ($dept=='2A' || $dept=='2B' || $dept=='20')
$dept='200';
elseif ($dept*1>95)
$dept=substr($tabCom['codeInsee'],0,3);
else
$dept=$dept.'0';
$comm=substr($tabCom['codeInsee'],2,3);
for ($iSir=0; $iSir<10; $iSir++) {
$sirenCom='21'.$dept.$comm.$iSir;
if ($iInsee->valideSiren($sirenCom)) break;
}
$tabRet[]=array('Pmin' => 0,
'MajMin' => '+',
'RaisonSociale' => 'COMMUNE DE '.strtoupper($tabCom['libCommune']),
'Pays' => '',
'Siren' => $sirenCom,
'Actif' => 1);
}
break;
}
}
return $tabRet;
}
public function getLiens($siren=false) {
$tabA=$this->getActionnaires($siren);
$tabP=$this->getParticipations($siren);
return array( 'actionnaires'=>$tabA,
'participations'=>$tabP);
}
private function getLiensPartenaires($siren=false) {
if (!$siren) $siren=$this->siren;
/** Le partenaire pour les liens Actionnaires/Participations est infobilan.decideur.com
**/
$urlRacine='http://infobilan.decideur.com/';
$tabPost=array( 'choix'=>'1',
'pagePrecedente'=>'recherche_entreprise.html',
'nomsocRech'=>'',
'cpRech'=>'',
'villeRech'=>'',
'nomdirRech'=>'',
'predirRech'=>'',
'sirenRech'=>$this->siren,
'telRech'=>'',
'Rechercher.x'=>round(79),
'Rechercher.y'=>round(19),);
$url=$urlRacine.'liste_result.html';
$referer=$urlRacine.'recherche_entreprise.html';
$page=getUrl($url,'', $tabPost, $referer, false, 'infobilan.decideur.com');
$this->body=$page['body'];
$strCookie=$page['header']['Set-Cookie'];
$refererInfoD=$url;
if(preg_match_all('/<a href="choix_pdt\.html\?(.*)" class="tt1">(.*)<\/a><\/span><br>/i', $page['body'], $matches))
{
$urlInfoD=$urlRacine.'choix_pdt.html?'.$matches[1][0];
$page=getUrl($urlInfoD,$strCookie,'', $refererInfoD, false, 'infobilan.decideur.com');
$referer=$urlInfoD;
if ($this->nscrl==0) $this->nscrl=@getTextInHtml($url, 'nscrlP=', '=','&');
$url=$urlRacine.'fiche_ident.html';
$page=getUrl($url,$strCookie,'', $referer, false, 'infobilan.decideur.com');
$this->body=$page['body'];
if ($this->raisonSociale=='')
$this->raisonSociale=trim(@getTextInHtml($this->body, '<span class="libelle2">Soci&eacute;t&eacute;', ' :', '</span>'));
if ($this->adresse=='')
$this->adresse=trim(@getTextInHtml($this->body, '<span class="libelle2">Adresse</span> <strong>:', '</strong>', '</td>'));
if ($this->tel=='')
$this->tel=trim(@getTextInHtml($this->body, '<td valign="top"><span class="libelle2">T&eacute;l', '</span>', '<br>'));
if ($this->fax=='')
$this->fax=trim(@getTextInHtml($this->body, '<span class="libelle2">Fax</span>', ' :', '<br>'));
if ($this->web=='')
$this->web=trim(@getTextInHtml($this->body, '<span class="libelle2">Site Web</span>', '<a href="', '" target="_blank">'));
if ($this->mail=='')
$this->mail=trim(@getTextInHtml($this->body, '<span class="libelle2">E-mail</span>', '<a href="mailto:', '">'));
if ($this->naf=='')
$this->naf=trim(@getTextInHtml($this->body, '<span class="libelle2">Code NAF</span>', ' :', '</td>'));
if(preg_match('/<td valign="top"><span class="libelle2">Capital social<\/span> : (\d*)(.*)<br>/isU', $this->body, $matches)
&& ($this->capitalMontant=='' || $this->capitalDevise=='')) {
$this->capitalMontant=trim($matches[1]);
$this->capitalDevise=trim($matches[2]);
}
if ($this->fj=='')
$this->fj=trim(@getTextInHtml($this->body, '<span class="libelle2">Forme juridique</span>', ' :', '<br>'));
if ($this->nationalite=='')
$this->nationalite=trim(@getTextInHtml($this->body, '<span class="libelle2">Nationalit&eacute;</span>', ' :', '</td>'));
if ($this->effectif=='')
$this->effectif=trim(@getTextInHtml($this->body, '<td valign="top"><span class="libelle2">Effectif</span>', ' :', '<br>'));
if ($this->activite=='')
$this->activite=trim(@getTextInHtml($this->body, '<span class="libelle2">Activit&eacute;</span>', ' :', '<br>'));
/** Actionnaires **/
$strTmp=trim(@getTextInHtml($this->body, 'ACTIONNAIRES<br>', '</div></h1>', '<h1>'));
if(preg_match_all('/<p><span class="libelle2">(.*)<\/span> - <span class="libelle2">Participation<\/span> : (.*) %<br>(.*)<\/p>/isU', $strTmp, $matches)) {
foreach ($matches[1] as $i=>$nom) {
$this->tabAct[$i]['nom']=trim($nom);
$this->tabAct[$i]['pct']=trim($matches[2][$i]);
$this->tabAct[$i]['rcs']=trim(str_replace('RCS : ','',strip_tags($matches[3][$i])));
}
}
/** Filiales **/
$strTmp=trim(@getTextInHtml($this->body, 'FILIALES<br>', '</div></h1>', '<h1>'));
if(preg_match_all('/<p><span class="libelle2">(.*)<\/span> - <span class="libelle2">Participation<\/span> :(.*)%<br>(.*)<\/p>/isU', $strTmp, $matches)) {
foreach ($matches[1] as $i=>$nom) {
$this->tabFil[$i]['nom']=trim($nom);
$this->tabFil[$i]['pct']=trim($matches[2][$i]);
$this->tabFil[$i]['rcs']=trim(str_replace('RCS :','',strip_tags($matches[3][$i])));
}
}
/** CA et Résultat **/
$strTmp=trim(@getTextInHtml($this->body, '<h1>PRINCIPAUX ELEMENTS FINANCIERS<br>', '</div></h1>', '</p>'));
if(preg_match('/<p><span class="libelle2">CA (.*)<\/span>(.*)<br>/isU', $strTmp, $matches)) {
$this->derExerciceAnnee=trim($matches[1]);
$this->derExerciceCA=trim(str_replace(':',' ', $matches[2]));
}
if(preg_match('/<span class="libelle2">R&eacute;sultat(.*)<\/span>(.*)$/isU', $strTmp, $matches)) {
$this->derExerciceResultat=trim(str_replace(':',' ', $matches[2]));
}
/*
$infoBilan=print_r($page, true);
$fp=fopen('./infobilan.html', 'w');
fwrite($fp, $infoBilan);
fclose($fp);
*/
}
$tabA=$this->getActionnaires($siren);
$tabP=$this->getParticipations($siren);
return array( 'actionnaires'=>$tabA,
'participations'=>$tabP);
}
}
?>

File diff suppressed because it is too large Load Diff

View File

@ -17,13 +17,19 @@ class MMarques {
private $cookie='';
private $iDb;
private $iInsee;
public $siren;
public $siren;
function __construct() {
//$this->partGetSession();
function __construct($db = null)
{
$this->partConnection();
$this->iDb=new WDB('bopi');
$this->iInsee=new MInsee();
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
$this->iInsee=new MInsee($this->iDb);
}
function __destruct() {
@ -41,26 +47,33 @@ class MMarques {
$strSql="1 ";
if ($siren>0) $strSql.="AND sirenDeposant=$siren ";
if ($idDepot>0) $strSql.="AND numeroMarque=$idDepot ";
$res=$this->iDb->select('marques', 'nomMarque, rayonMarque, detailDeposant, sirenDeposant, dateDepot, numeroMarque, classesMarque, periMarque, dateExpir, idObjetImg, idObjetPdf', "$strSql ORDER BY dateDepot DESC");
$res=$this->iDb->select('bopi.marques', 'nomMarque, rayonMarque, detailDeposant, sirenDeposant, dateDepot, lieuDepot, numeroMarque, classesMarque, periMarque, detailDeposant, detailMandataire, detailStatut, dateExpir, idObjetImg, idObjetPdf', "$strSql ORDER BY dateDepot DESC");
if (count($res)>0) {
foreach ($res as $i=>$marque) {
if ($marque['nomMarque']=='&nbsp;') $nomMarque='(figurative)';
else $nomMarque=$marque['nomMarque'];
$marques[$i]=array( 'nomMarque' =>$nomMarque,
'rayonMarque' =>$marque['rayonMarque'],
'detailDeposant'=>$marque['detailDeposant'],
'sirenDeposant' =>$marque['sirenDeposant'],
'dateDepot' =>$marque['dateDepot'],
'classesMarque' =>$marque['classesMarque'],
'periMarque' =>$marque['periMarque'],
'dateExpir' =>$marque['dateExpir'],
'numeroMarque' =>$marque['numeroMarque'],
'imgLink' =>$marque['idObjetImg'],
'pdfLink' =>$marque['idObjetPdf'],
);
$marques[$i] = array (
'nomMarque' => $nomMarque,
'rayonMarque' => $marque['rayonMarque'],
'detailDeposant' => $marque['detailDeposant'],
'detailMandataire' => $marque['detailMandataire'],
'detailStatut' => $marque['detailStatut'],
'sirenDeposant' => $marque['sirenDeposant'],
'dateDepot' => $marque['dateDepot'],
'lieuDepot' => $marque['lieuDepot'],
'classesMarque' => $marque['classesMarque'],
'periMarque' => $marque['periMarque'],
'dateExpir' => $marque['dateExpir'],
'numeroMarque' => $marque['numeroMarque'],
'imgLink' => $marque['idObjetImg'],
'pdfLink' => $marque['idObjetPdf'],
);
if ($idDepot<>0) {
if ($marque['numeroMarque']==$idDepot) {
if (file_exists(DOC_WEB_LOCAL."marques/$idDepot.jpeg") &&
//Recherche des fichiers
if (file_exists(DOC_WEB_LOCAL."marques/$idDepot.jpeg") &&
filesize(DOC_WEB_LOCAL."marques/$idDepot.jpeg")>42)
$marques[$i]['UrlLien']=DOC_WEB_URL."marques/$idDepot.jpeg";
elseif (file_exists(DOC_WEB_LOCAL."marques/$idDepot.gif") &&
@ -68,13 +81,28 @@ class MMarques {
$marques[$i]['UrlLien']=DOC_WEB_URL."marques/$idDepot.gif";
else
$marques[$i]['UrlLien']='';
/*if (!file_exists(DOC_WEB_LOCAL."marques/$siren-$idDepot.jpg") ||
filesize(DOC_WEB_LOCAL."marques/$siren-$idDepot.jpg")<43) {
$fp=@fopen(DOC_WEB_LOCAL."marques/$siren-$idDepot.jpg", 'w');
$fp=@fopen(LOG_PATH."/marques.log", "a");
*/
//return end($marques);
return array($marques[$i]);;
//Produits et Services
$resPS=$this->iDb->select('bopi.marques_classes', 'remarque', "numeroMarque=$idDepot");
if (count($resPS)>0) {
$txt = array();
foreach ($resPS as $item) {
$txt[] = $item['remarque'];
}
$marques[$i]['PS'] = $txt;
}
//Historique
$resHisto=$this->iDb->select('bopi.marques_histo', 'histo2', "numeroMarque=$idDepot ORDER BY dat DESC");
if (count($resHisto)>0) {
$txt = array();
foreach ($resHisto as $item) {
$txt[] = $item['histo2'];
}
$marques[$i]['histo'] = $txt;
}
return array($marques[$i]);
}
}
}
@ -83,9 +111,19 @@ class MMarques {
return false;
}
function getListeMarques($numMarque, $raisonSociale='', $objet='', $detail=false) {
/** Récupère la liste des marques correspondantes aux paramètres
*
* @param $numMarque int Numéro de la marque ou Néant/0 si liste des marques
* @param $raisonSociale string Raison Sociale de l'entreprise ayant déposée la/les marque(s)
* @param $objet string Nom partiel ou complet de la/les marque(s)
* @param $dateDepot date Date de dépot/enregistrement de la marque au format SSAA-MM-JJ
* @param $detail bool Par défaut false
*/
function getListeMarques($numMarque, $raisonSociale='', $objet='', $dateDepot='', $detail=false) {
$nbTests=0;
$base=array('Fr'=>'on',
'Commu'=>'on',
'Inter'=>'on');
while (1) {
$nbResultatsTot=false;
@ -93,28 +131,35 @@ class MMarques {
$this->url='http://bases-marques.inpi.fr/Typo3_INPI_Marques/marques_resultats_liste.html';
$post=array('baseFr'=>'on', // Marques en vigueur : françaises
'baseCommu'=>'on', // Marques en vigueur : communautaires
'baseInter'=>'on', // Marques en vigueur : internationales
// 'limite'=>'on', // Limiter aux marques mises à jour il y a moins d'une semaine
'expiredMark'=>'on', // Marques françaises non en vigueur
'objet'=>urlencode($objet), // Nom de la marque
'classification'=>'', // Classification des produits et services (01-34=Produits, 35-45=Services)
$post=array('baseFr'=>$base['Fr'], // Marques en vigueur : françaises
'baseCommu'=>$base['Commu'], // Marques en vigueur : communautaires
'baseInter'=>$base['Inter'], // Marques en vigueur : internationales
// 'limite'=>'on', // Limiter aux marques mises à jour il y a moins d'une semaine
'expiredMark'=>'on', // Marques françaises non en vigueur
'objet'=>urlencode($objet), // Nom de la marque
'classification'=>'', // Classification des produits et services (01-34=Produits, 35-45=Services)
'deposant'=>urlencode($raisonSociale), // Nom du déposant
'numero'=>$numMarque,
'dtedepot'=>'', // SSAA-MM-JJ
'dtedepot'=>$dateDepot, // SSAA-MM-JJ
'recherche'=>'recherche');
$tDeb=microtime(true);
$page=getUrl($this->url, $this->cookie, $post, $this->referer, false, '', '', 21, 3);
$this->referer=$this->url;
$duree=round(microtime(true)-$tDeb,3);
$body=$page['body'];
// print_r($page);
// die();
if (preg_match("/<div id=\"errors\"><script>alert\('- Votre recherche a donné(.*)réponses\. Seuls les(.*)premiers résultats seront affich/Uis", $body, $matches)) {
if (preg_match("/<div id=\"errors\"><script>alert\('- Votre recherche a donné(.*)réponses\. Seuls les(.*)premiers résultats seront affich/Uisu", $body, $matches)) {
$nbResultatsTot=trim($matches[1]);
$nbResultats=trim($matches[2]);
$nbTests++;
if ($dateDepot<>'' && $nbTests==1) $base=array('Fr'=>'on','Commu'=>'','Inter'=>'');
//elseif ($dateDepot<>'' && $nbTests==2) $base=array('Fr'=>'','Commu'=>'on','Inter'=>'');
else
break;
} elseif (preg_match('/<div class="txtresultats">(?:.*)<p><strong>(.*)<\/strong> r&eacute;sultats trouv&eacute;s pour votre requ&ecirc;te \: <br\/>/Uis', $body, $matches)) {
} elseif (preg_match('/<div class="txtresultats">(?:.*)<p><strong>(.*)<\/strong> r&eacute;sultats trouv&eacute;s pour votre requ&ecirc;te/Uis', $body, $matches)) {
// OK
$nbResultatsTot=trim($matches[1]);
$nbResultats=$nbResultatsTot;
break;
@ -147,20 +192,21 @@ class MMarques {
while ($pageCour<=$nbPages) {
$tabTmp=explode('<div class="resliste avecimage">', $body);
//print_r($tabTmp);
foreach ($tabTmp as $iTmp=>$strMarques) {
if ($iTmp==0) continue;
$tabMarque=array();
if (preg_match('/<div class="numero">(\d+)<\/div>/Uis', $strMarques, $matches)) {
$numeroTotal=trim($matches[1]);
$tabMarque['numeroTotal']=$numeroTotal;
}
if (preg_match('/<div class="titre"><a href="Typo3_INPI_Marques\/marques_fiche_resultats\.html\?index=(\d+)">(.*)<\/a><\/div>(?:.*)<div class="titre">(?:\s*)<a href="Typo3_INPI_Marques\/marques_fiche_resultats\.html\?index=(?:\d+)">(.*)<\/a>/Uis', $strMarques, $matches)) {
if (preg_match('/<div class="titre"><a href="Typo3_INPI_Marques\/marques_fiche_resultats\.html\?index=(\d+)" title="(.*)">(.*)<\/a><\/div>(?:.*)<div class="titre">(?:\s*)<a href="Typo3_INPI_Marques\/marques_fiche_resultats\.html\?index=(?:\d+)" title="Description">(.*)<\/a>/Uis', $strMarques, $matches)) {
$numeroPage=trim($matches[1]);
$tabMarque['numeroPage']=$numeroPage;
$tabMarque['typeMarque']=trim($matches[3]);
$tabMarque['typeMarque']=trim($matches[2]);
$tabMarque['nomMarque']=trim(utf8_decode($matches[3]));
$tabMarque['nomMarque']=trim(utf8_decode($matches[4]));
}
if (preg_match('/<div class="type">(.*)<\/div>/Uis', $strMarques, $matches))
$tabMarque['rayonMarque']=trim(html_entity_decode(utf8_decode($matches[1])));
@ -188,6 +234,56 @@ class MMarques {
$duree=round(microtime(true)-$tDeb,3);
$body=$page['body'];
//echo $body.EOL;
/* <div class="txtresultats">
<p><strong>303</strong> r&eacute;sultats trouv&eacute;s pour votre requ&ecirc;te : <strong>date de d&eacute;p&ocirc;t : 1989-04-19, dans les marques en
vigueur en France</strong></p>
</div>
&nbsp;
<div class="clear"></div>
<!-- DEBUT DES ONGLETS -->
<div class="fiche">
<ul>
<li class="couleur"><div>Notice compl&egrave;te</div></li>
<li class="gris"><div>Copie de la marque au BOPI non disponible</div></li>
</ul>
<div class="cartouchecouleur blocblanc">
<div class="bas">
<div class="blanc">
<div class="ajout"><a href='Typo3_INPI_Marques/ajoutListe?page=1&idObjet=1525144_201236_fmark' title='A
jouter &agrave; ma liste'><img src='fileadmin/www.inpi-marques.fr/templates/images/rouge/picto_ajouter_liste.gif' alt='Ajouter &agrave; ma liste'/>Ajouter &agrave; ma l
iste</a></div>
<div class="images"><p><u><strong>Marque française</strong></u></p><img src='Typo3_INPI_Marques/getImg?
doc=1525144_201236_fmark&pos=001' alt='' class='null'/></div>
<?xml version="1.0" encoding="UTF-8"?>
<div><p style="color:red;"><strong>Marque française non en vigueur</strong></p><p><strong>Marque</strong> : 
AL DENTE</p><p><strong>Classification de Nice</strong> : 
35 
;  38 
;  41 
</p><p><strong>Produits et services</strong></p><p><ul><li><span>Aide dans l'exploitation ou la direction d'une entreprise industrielle ou c
ommerciale, service de publicité et de promotion se chargeant essentiellement de communication au public, de promotion des ventes, de déclarations ou d'annonces par tou
s les moyens de diffusion et concernant toutes sortes de marchandises et de services, de distribution de prospectus et d'échantillons;service de Presse et d'information
, communication radiophonique, téléphonique, télématique, télévisuelle, téléscription et transmission de messages permettant à une personne de converser avec une autre,
de transmettre des messages d'une personne à une autre ou de placer une personne en communication orale ou visuelle avec une autre; éducation, institution d'enseigneme
nt, éditions de livres et revues, abonnement et distribution de journaux, organisation de concours en matière d'enseignement, et de jeu</span></li></ul></p><p><strong>D
éposant</strong> : 
GILIBERT Jean-Michel,, 14, rue Michel Chasles, 75012 PARIS, FR</p><p xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:java="http://xml.apache.org/x
slt/java" xmlns:cal="java.util.Calendar" xmlns:sf="java.text.SimpleDateFormat"><strong>Numéro</strong> : 1525144</p><p style="color:red;"><strong>Statut</strong> : Marq
gist
rement ancienne loi 
 
(BOPI 1989-39)</li></ul></p></div>
<p class="right"><a href="Typo3_INPI_Marques/marques_erreur_contact.html?idObjet=1525144_201236_fmark" class="lien" title="Signalez
une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
<div class="clear"></div>
<div class="copyright">Source INPI</div>
</div>
</div>
</div>
</div>
<!-- FIN DES ONGLETS -->*/
//die();
if (preg_match('/<div><a target="_blank" href="Typo3_INPI_Marques\/getPdf\?idObjet=(.*)">Copie de la marque au BOPI<\/a><\/div>/Uis', $body, $matches))
@ -197,6 +293,9 @@ class MMarques {
if (preg_match('/<div><p style="color\:red;"><strong>(.*)<\/strong><\/p>/Uis', $body, $matches))
$tabMarque['infoMarque']=trim(utf8_decode($matches[1]));
if (preg_match('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['dateDepot']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match("/<div class=\"images\"><p><u><strong>(.*)<\/strong><\/u><\/p><img src='Typo3_INPI_Marques\/getImg\?doc=(.*)' alt='(.*)' class='null'\/><\/div>/Uis", $body, $matches)) {
$tabMarque['periMarque']=trim(utf8_decode($matches[1]));
$tabMarque['idObjetImg']=trim($matches[2]);
@ -208,13 +307,40 @@ class MMarques {
if ($page['code']==200) {
$ext=trim('.'.strtr(preg_replace('/^image\//','',preg_replace('/;.*/','',$page['header']['Content-Type'])),array('?'=>'')));
//die("'".DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext."'");
$fp=@fopen(DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext, 'a');
// Gestion des dossiers
$annee=substr($tabMarque['dateDepot'],0,4);
$dateDepotYMD=str_replace('-','',$tabMarque['dateDepot']);
$dossierCible=DOC_WEB_LOCAL."marques/$annee/$dateDepotYMD/";
@mkdir(DOC_WEB_LOCAL."marques/$annee");
@mkdir($dossierCible);
// Gestion de l'image
$fp=@fopen($dossierCible.$tabMarque['numeroMarque'].$ext, 'a');
/* echo $dossierCible.$tabMarque['numeroMarque'].$ext;
echo "\t".filesize($dossierCible.$tabMarque['numeroMarque'].$ext).' octets';*/
@fwrite($fp, $page['body']);
@fclose($fp);
$tabMarque['fileName']=$tabMarque['numeroMarque'].$ext;
if ($tabMarque['nomMarque']=='' || $tabMarque['nomMarque']=='&nbsp;')
$tabMarque['typeMarque']='Figurative';
else
$tabMarque['typeMarque']='Semi-Figurative';
/*
Une marque verbale
composée d'un ou plusieurs termes qui peuvent s'écrire ou se prononcer,
c'est à dire par exemple un nom de naissance ou patronymique (par exemple : Guy Degrenne), une dénomination arbitraire créée de toutes pièces (par exemple : Yoplait) , un mot détourné de son sens, un slogan (par exemple : Parce que vous le valez bien)
Une marque semi-figurative
marque associant un terme verbal et un visuel.
Elle peut également être qualifiée de marque complexe.
Une marque figurative
marque composée uniquement d’un visuel, c’est à dire un signe qui ne s'adresse qu’à l’œil (par exemple : le crocodile Lacoste)
*/
}
//die();
}
}
} else
$tabMarque['typeMarque']='Verbale';
if (preg_match('/<p><strong>Produits et services<\/strong><\/p>(.*)<\/ul><\/p>/Uis', $body, $matches)) {
$tabClasses=array();
@ -226,7 +352,7 @@ class MMarques {
$tabMarque['classes']=$tabClasses;
}
if (preg_match('/<p><strong>Déposant<\/strong>(.*)<\/p>/Uis', $body, $matches)) {
if (preg_match('/<p><strong>Déposant<\/strong>(.*)<\/p>/Uisu', $body, $matches)) {
$tabMarque['detailDeposant']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
if (preg_match('/\(SIREN(.*)\)/Uis', $tabMarque['detailDeposant'], $matches)) {
$tabMarque['sirenDeposant']=trim($matches[1]);
@ -241,24 +367,24 @@ class MMarques {
if (preg_match('/<p><strong>Mandataire<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['detailMandataire']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
if (preg_match('/<strong>Numéro<\/strong>(.*)<\/p>/Uis', $body, $matches))
if (preg_match('/<strong>Numéro<\/strong>(.*)<\/p>/Uisu', $body, $matches))
$tabMarque['detailNumero']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match('/<strong>Statut<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['detailStatut']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uis', $body, $matches))
if (preg_match('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uisu', $body, $matches))
$tabMarque['dateDepot']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
//dateExpir
if (preg_match('/<strong>Date prévue pour l\'expiration<\/strong>(.*)<\/p>/Uis', $body, $matches))
if (preg_match('/<strong>Date prévue pour l\'expiration<\/strong>(.*)<\/p>/Uisu', $body, $matches))
$tabMarque['dateExpir']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match('/<strong>Lieu de dépôt<\/strong>(.*)<\/p>/Uis', $body, $matches))
if (preg_match('/<strong>Lieu de dépôt<\/strong>(.*)<\/p>/Uisu', $body, $matches))
$tabMarque['lieuDepot']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
//pays
if (preg_match('/<p><strong>Pays désignés<\/strong><\/p><p>(.*)<\/p>/Uis', $body, $matches)) {
if (preg_match('/<p><strong>Pays désignés<\/strong><\/p><p>(.*)<\/p>/Uisu', $body, $matches)) {
$tabPays=array();
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
foreach ($matches2[1] as $iH=>$histo)
@ -268,7 +394,7 @@ class MMarques {
}
//priorite
if (preg_match('/<p><strong>Priorité<\/strong><\/p><p>(.*)<\/p>/Uis', $body, $matches)) {
if (preg_match('/<p><strong>Priorité<\/strong><\/p><p>(.*)<\/p>/Uisu', $body, $matches)) {
$tabPrio=array();
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
foreach ($matches2[1] as $iH=>$histo)
@ -296,6 +422,9 @@ class MMarques {
$dateInsert=date('YmdHis');
$tabInsert=$tabMarque;
$idTxtUnique=trim(strtoupper(preg_replace('/[^a-z0-9]/i', '', $tabInsert['detailDeposant'])));
if ($idTxtUnique<>'')
$tabInsert['idTxtUnique'] = $idTxtUnique;
unset($tabInsert['numeroTotal']);
unset($tabInsert['numeroPage']);
unset($tabInsert['pays']);
@ -303,10 +432,21 @@ class MMarques {
unset($tabInsert['classes']);
unset($tabInsert['historique']);
$tabInsert['dateInsert']=$dateInsert;
$ret=$this->iDb->insert('marques', $tabInsert);
//print_r($tabInsert);
//die();
$ret=$this->iDb->insert('bopi.marques', $tabInsert);
if (!$ret && mysql_errno()<>1062) {
echo "Erreur 'marques' : ".mysql_error().EOL;
die();
//echo "Erreur INSERT 'marques' : ".mysql_error().EOL;
//die();
} elseif (mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
if (!$this->iDb->update('bopi.marques', $tabInsert, "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false)) {
//echo "Erreur UPDATE 'marques' : ".mysql_error().EOL;
//die();
}
$ret=$this->iDb->select('bopi.marques', 'id', "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false, MYSQL_ASSOC);
$ret=$ret[0]['id'];
$updateTodo=true;
}
// Insertion du détail des classes
@ -317,12 +457,15 @@ class MMarques {
'remarque'=>$classe,
'dateInsert'=>$dateInsert,
);
$ret2=$this->iDb->insert('marques_classes', $tabInsert);
$ret2=$this->iDb->insert('bopi.marques_classes', $tabInsert);
if (!$ret2 && mysql_errno()<>1062) {
echo "Erreur 'marques_classes' : ".mysql_error().EOL;
print_r($tabInsert);
print_r($tabMarque['classes']);
die("Erreur 'marques_classes' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('bopi.marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
}
}
@ -334,12 +477,15 @@ class MMarques {
'pays'=>$pays,
'dateInsert'=>$dateInsert,
);
$ret2=$this->iDb->insert('marques_pays', $tabInsert);
$ret2=$this->iDb->insert('bopi.marques_pays', $tabInsert);
if (!$ret2 && mysql_errno()<>1062) {
echo "Erreur 'marques_pays' : ".mysql_error().EOL;
print_r($tabInsert);
print_r($tabMarque['pays']);
die("Erreur 'marques_pays' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('bopi.marques_pays', $tabInsert, "id=$ret AND id2=$i", false);
}
}
@ -351,12 +497,15 @@ class MMarques {
'priorite'=>$prio,
'dateInsert'=>$dateInsert,
);
$ret2=$this->iDb->insert('marques_priorite', $tabInsert);
$ret2=$this->iDb->insert('bopi.marques_priorite', $tabInsert);
if (!$ret2 && mysql_errno()<>1062) {
echo "Erreur 'marques_priorite' : ".mysql_error().EOL;
print_r($tabInsert);
print_r($tabMarque['priorite']);
die("Erreur 'marques_priorite' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('bopi.marques_priorite', $tabInsert, "id=$ret AND id2=$i", false);
}
}
@ -366,12 +515,15 @@ class MMarques {
$tabInsert['id2']=$i;
$tabInsert['numeroMarque']=$tabMarque['numeroMarque'];
$tabInsert['dateInsert']=$dateInsert;
$ret2=$this->iDb->insert('marques_histo', $tabInsert);
$ret2=$this->iDb->insert('bopi.marques_histo', $tabInsert);
if (!$ret2 && mysql_errno()<>1062) {
echo "Erreur 'marques_histo' : ".mysql_error().EOL;
print_r($tabInsert);
print_r($tabMarque['historique']);
die("Erreur 'marques_histo' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('bopi.marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
}
}
@ -440,17 +592,22 @@ class MMarques {
}
if ($tabPdf) {
$fichierTxt=DOC_WEB_LOCAL.'marques/'.str_replace('.pdf','.txt',$nom[$iEd]);
exec('pdftotext '.DOC_WEB_LOCAL.'marques/'.$nom[$iEd].' '.$fichierTxt);
@exec('pdftotext '.DOC_WEB_LOCAL.'marques/'.$nom[$iEd].' '.$fichierTxt);
$strBopi=file_get_contents($fichierTxt);
if (MODE_VERBOSE) {
$sizeKo=round(strlen($strBopi)/1024,1);
echo date('Y/m/d - H:i:s') ." - Conversion du fichier '". $nom[$iEd] ." en TXT ($sizeKo Ko)".EOL;
}
$nbMarques=0;
$tabMarques=array();
if (preg_match_all('/N° National \: ([0-9\s]{6,15})Dépôt du \: ((?:[0-9]{1,2}|1er)(?:\D+)(?:\d\d\d\d))(.*)/Uim',$strBopi, $matches)) {
if (preg_match_all('/N(?:.|o) National \: ([0-9\s]{6,15})Dépôt du \: ((?:[0-9]{1,2}|1er)(?:\D+)(?:\d\d\d\d))(.*)/Uimu',$strBopi, $matches)) {
//print_r($matches);
//die();
foreach ($matches[1] as $i=>$numMarque) {
$numMarqueTxt=strtr($numMarque, array("\n"=>'',"\r"=>''));
$numMarque=str_replace(' ','',$numMarqueTxt);
$dateDepot=WDate::dateT('dMY','Ymd',strtr(str_replace('Dépôt du : ','',utf8_decode($matches[2][$i])), array("\n"=>'',"\r"=>'',' '=>'')));
$classWDate = new WDate();
$dateDepot=$classWDate->dateT('dMY','Ymd',strtr(str_replace('Dépôt du : ','',utf8_decode($matches[2][$i])), array("\n"=>'',"\r"=>'',' '=>'')));
echo $nom[$iEd]." - $i, Marque numéro $numMarque du $dateDepot".EOL;
$tabMarques[$nbMarques] =array( 'nomPdf' => $nom[$iEd],
'idMarquePdf'=>$nbMarques,
@ -463,8 +620,12 @@ class MMarques {
);
$nbMarques++;
}
} else
unlink($fichierTxt);
} else {
$nbMarques='NULL';
echo date('Y/m/d - H:i:s') ." - Erreur : Impossible d'extraire les marques du fichier '". $nom[$iEd] ." !".EOL;
if (MODE_VERBOSE) die();
}
$tabInsert=array( 'nomPdf' => $nom[$iEd],
'datePdf' => @date('YmdHis',strtotime($page['header']['Last-Modified'])),
'codeHttp' => $page['code'],
@ -475,10 +636,10 @@ class MMarques {
'nbMarques' => $nbMarques,
'dateInsert'=> date('YmdHis'),
);
$ret=$this->iDb->insert('infos_bopi', $tabInsert);
$ret=$this->iDb->insert('bopi.infos_bopi', $tabInsert);
if (!$ret && mysql_errno()<>1062) die("Erreur 'infos_bopi' 1 : ".mysql_error().EOL);
foreach ($tabMarques as $i=>$tabInsert) {
$ret=$this->iDb->insert('infos_bopi_marques', $tabInsert);
$ret=$this->iDb->insert('bopi.infos_bopi_marques', $tabInsert);
if (!$ret && mysql_errno()<>1062) die("Erreur 'infos_bopi' 1 : ".mysql_error().EOL);
}
}
@ -678,22 +839,6 @@ class MMarques {
if ($this->curPage<>'recherche')
$this->partInitRecherche();
$iDb=new WDB('jo');
/* $ret=$iDb->select( 'rncs_vitrine',
'siren, erreur, rcs, nom, adresse1, cp, ville, fj_lib, naf_code, naf_lib, bilans, dateUpdate',
"siren=$this->siren", false, MYSQL_ASSOC);
if (count($ret)) {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
"siren=$this->siren AND Bodacc_Date_Parution>='".$tabRet['dateUpdate']."'");
if ($ret[0][0]==0) {
$tabRet['bilans']=unserialize($tabRet['bilans']);
return $tabRet;
}
}*/
$tabRet=$tabBilan=array();
$tabRet['siren']=$this->siren;
$tabRet['erreur']='';
@ -792,8 +937,8 @@ class MMarques {
fclose($fp);
$tabInsert=$tabRet;
$tabInsert['bilans']=serialize($tabRet['bilans']);
if (!$iDb->insert( 'rncs_vitrine', $tabInsert))
$iDb->update( 'rncs_vitrine', $tabInsert, "siren=$this->siren");
if (!$this->iDb->insert( 'jo.rncs_vitrine', $tabInsert))
$this->iDb->update( 'jo.rncs_vitrine', $tabInsert, "siren=$this->siren");
/** @todo S'il y a un enregistrement, prévoir son update
**/
@ -1164,8 +1309,7 @@ class MMarques {
if ($this->curPage<>'vitrine')
$this->partVitrine();
$iDb=new WDB('jo');
$ret=$iDb->select( 'rncs_entrep',
$ret=$this->iDb->select( 'jo.rncs_entrep',
'siren, rcs, nom, adresse1, adresse2, adresse3, cp, ville, naiss_date, naiss_lieu, sexe, enseigne, sigle, '.
'fj_lib, naf_code, naf_lib, date_crea, date_imma, greffe, num_gestion, capital_mnt, capital_dev, nationalite, '.
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
@ -1174,7 +1318,7 @@ class MMarques {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**/
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
$ret=$iDb->select( 'jo.bodacc_detail', 'count(*)',
"siren=$this->siren AND Bodacc_Date_Parution>='".$tabRet['dateUpdate']."'");
if ($ret[0][0]==0) {
$tabRet['procedures']=unserialize($tabRet['procedures']);
@ -1388,7 +1532,7 @@ class MMarques {
$tabInsert['dirigeants']=serialize($tabRet['dirigeants']);
$tabInsert['etablissements']=serialize($tabRet['etablissements']);
$iDb->insert( 'rncs_entrep', $tabInsert);
$iDb->insert( 'jo.rncs_entrep', $tabInsert);
return $tabRet;
}

View File

@ -1,7 +1,6 @@
<?
class MOrias {
<?php
class MOrias
{
private $referer ='';
private $body = '';
private $header = '';
@ -15,12 +14,19 @@ class MOrias {
public $annee=0;
public $erreur='';
function __construct($accesDist=true) {// $adresse, $cp, $ville, $pays='France') {
$this->accesDist=$accesDist;
$this->iDb=new WDb('sdv1');
function __construct($accesDist = true, $db = null)
{
$this->accesDist = $accesDist;
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
public function getMaxOrias($annee=0) {
public function getMaxOrias($annee=0)
{
if ($annee*1>0 && $annee*1<100) {
$this->annee='20'.$annee;
$annee++;
@ -34,12 +40,13 @@ class MOrias {
$this->annee=date('Y')*1;
}
$ret=$this->iDb->select('orias','MAX(numOrias) AS numOrias', $strWhere, false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.orias','MAX(numOrias) AS numOrias', $strWhere, false, MYSQL_ASSOC);
//die($strWhere);
return sprintf('%08d',$ret[0]['numOrias']);
}
public function getInfosOrias($siren, $numOrias=0) {
public function getInfosOrias($siren, $numOrias=0)
{
//die('numOrias 1:"'.$numOrias.'"');
if ($siren*1>1000)
$strWhere="siren=$siren";
@ -55,11 +62,11 @@ class MOrias {
echo "==== SELECT siren, id, nom, cp, ville, adresse, numOrias FROM orias WHERE $strWhere;".EOL;
echo "=================================================================================================".EOL;
*/
$ret=$this->iDb->select('orias','siren, id, nom, cp, ville, adresse, numOrias, numOriasAttribue', $strWhere, false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.orias','siren, id, nom, cp, ville, adresse, numOrias, numOriasAttribue', $strWhere, false, MYSQL_ASSOC);
if (!$this->force && count($ret)>0) {
$this->enCache=true;
$tabRet=$ret[0];//array();
$ret=$this->iDb->select('orias','categorie, cat, dateInscription, typeStatut, rcsVille, rcsCode, rcsSiren, contact, encaissement, nature, paysPresta, paysEtab',$strWhere, false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.orias','categorie, cat, dateInscription, typeStatut, rcsVille, rcsCode, rcsSiren, contact, encaissement, nature, paysPresta, paysEtab',$strWhere, false, MYSQL_ASSOC);
foreach ($ret as $i=>$tabTmp)
$tabRet['categories'][]=$tabTmp;
//die('numOrias 3:"'.$numOrias.'"');
@ -116,7 +123,7 @@ class MOrias {
$this->erreur='Numéro Orias inexistant';
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
if ($numOrias<$this->getMaxOrias())
$this->iDb->insert('orias', $tabInsert);
$this->iDb->insert('sdv1.orias', $tabInsert);
}
return false;
}
@ -187,7 +194,7 @@ class MOrias {
if (count($tabTmp)==1) {
$tabInsert=array_merge($tabRet, array('dateInsert'=>date('YmdHis')));
//print_r($tabInsert);
$this->iDb->insert('orias', $tabInsert);
$this->iDb->insert('sdv1.orias', $tabInsert);
}
$tabRet['categories']=array();
continue;
@ -272,7 +279,7 @@ class MOrias {
unset($tabInsert['categories']);
$tabInsert=array_merge($tabInsert, $tabCat, array('dateInsert'=>date('YmdHis')));
//print_r($tabInsert);
$this->iDb->insert('orias', $tabInsert);
$this->iDb->insert('sdv1.orias', $tabInsert);
//echo $tmpCat[$i];
}
}

View File

@ -1,9 +1,8 @@
<?
class MPrivileges {
private $iDb;
public $tabCodeAR=array(
<?php
class MPrivileges
{
protected $iDb;
public $tabCodeAR = array(
'00'=>"Surveillance RCS posée/Demande de suppression acceptée/Surveillance PRIV posée : pas d'inscription existante sur le dossier",
'01'=>"Surveillance PRIV posée : inscription existante sur le dossier",
'02'=>"GAGI,GREFTEL,INTERGREFFE-code 1-surveillance acceptée mais qui n'a pas encore fait l'objet d'un AR",
@ -41,11 +40,12 @@ class MPrivileges {
'56'=>"Le siren est déjà en attente de validation par le greffe",
'57'=>"Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan)",
'58'=>"Surveillance impossible sur un agent commercial (statut P ou M)",
'59'=>'Surveillance impossible sur une société non RCS ?',
'88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
'99'=>"Surveillance impossible pour raisons à examiner",
);
public $tabTypePriv=array(
public $tabTypePriv = array(
'01'=>"NANTISSEMENTS DU FONDS DE COMMERCE",
'02'=>"PRIVILEGES DE VENDEUR ET ACTION RESOLUTOIRE",
'03'=>"PRIVILEGES DE LA SECURITE SOCIALE ET DES REGIMES COMPLEMENTAIRES",
@ -67,53 +67,58 @@ class MPrivileges {
'28'=>"GAGE DES STOCKS",
);
function __construct() {
$this->iDb=new WDB();
public function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
function getPrivilegesDetail($siren, $tabTypes=array('03','04')) {
public function getPrivilegesDetail($siren, $tabTypes=array('03','04'))
{
$strTypes=implode("','", $tabTypes);
if ($strTypes<>'') $strTypes=" AND i.insType IN ('$strTypes') ";
$fields="i.id, i.dateEven, i.greffe , i.numDebiteur, i.sirenage, i.typeEven, i.dateFraiche, i.codeRev , i.debRaisonSociale , i.debSigle , i.debCiv , i.debNom , i.debPrenom , i.debConjoint , i.debUsage , i.debEnseigne , i.debActivite , i.debFj , i.debFjLib , i.debResidence , i.debNumVoie , i.debTypVoie , i.debLibVoie , i.debAdrComp , i.debCP , i.debVille , i.debPays , i.insType , i.insLib , i.insNum , i.insDate , i.insObjet , i.insMontant , i.insDev , i.insDateEch , i.insDateFin , i.insNanTx , i.insNanTitre , i.insNanOppo , i.insProNat , i.insProHui , i.insProRep , i.insNSCA , i.insNSCParts , i.insNSCSigni , i.creNom , i.creNumVoi, i.creTypVoi, i.creLibVoi, i.creAdrComp1, i.creAdrComp2, i.creCP, i.creVille, i.crePays, i.creAutres, i.radDate, i.radMention, i.radPartiel, i.radPartMt, i.radDev, i.radDiv, i.idFichier, i.dateInsert";
$where ="i.siren=$siren $strTypes AND ( (i.insType='03' AND DATEDIFF(NOW(),i.insDate)<=900) /** Durée de vie PRIV Sécu **/ OR (i.insType='04' AND DATEDIFF(NOW(),i.insDate)<=1460) /** Durée de vie PRIV Trésor **/ )";
$where.=" ORDER BY i.dateFraiche DESC, i.insType ASC, i.insDate ASC;";
$tables="greffes_privileges i";
$fields = "i.id, i.dateEven, i.greffe , i.numDebiteur, i.sirenage, i.typeEven, i.dateFraiche, i.codeRev , i.debRaisonSociale , i.debSigle , i.debCiv , i.debNom , i.debPrenom , i.debConjoint , i.debUsage , i.debEnseigne , i.debActivite , i.debFj , i.debFjLib , i.debResidence , i.debNumVoie , i.debTypVoie , i.debLibVoie , i.debAdrComp , i.debCP , i.debVille , i.debPays , i.insType , i.insLib , i.insNum , i.insDate , i.insObjet , i.insMontant , i.insDev , i.insDateEch , i.insDateFin , i.insNanTx , i.insNanTitre , i.insNanOppo , i.insProNat , i.insProHui , i.insProRep , i.insNSCA , i.insNSCParts , i.insNSCSigni , i.creNom , i.creNumVoi, i.creTypVoi, i.creLibVoi, i.creAdrComp1, i.creAdrComp2, i.creCP, i.creVille, i.crePays, i.creAutres, i.radDate, i.radMention, i.radPartiel, i.radPartMt, i.radDev, i.radDiv, i.idFichier, i.dateInsert";
$where = "i.siren=$siren $strTypes AND ( (i.insType='03' AND DATEDIFF(NOW(),i.insDate)<=900) /** Durée de vie PRIV Sécu **/ OR (i.insType='04' AND DATEDIFF(NOW(),i.insDate)<=1460) /** Durée de vie PRIV Trésor **/ )";
$where.= " ORDER BY i.dateFraiche DESC, i.insType ASC, i.insDate ASC;";
$tables = "jo.greffes_privileges i";
$iRncs=new MRncs();
$tabRet=array();
$tabPriv=$this->iDb->select($tables, $fields, $where, true, MYSQL_ASSOC);
$iRncs = new MRncs($this->iDb);
$tabRet = array();
$tabPriv = $this->iDb->select($tables, $fields, $where, true, MYSQL_ASSOC);
foreach ($tabPriv as $i=>$priv) {
if ($i>0 && $priv['dateFraiche']<>$dateFraiche) break;
$tabRet[]=array(
'numDebiteur' =>$priv['numDebiteur'],
'greffe' =>$priv['greffe'],
'greffeLib' =>$iRncs->getLibTribunal($priv['greffe']),
'dateEven' =>$priv['dateEven'],
'dateFraiche' =>$priv['dateFraiche'],
'dateSD' =>$priv['dateInsert'],
'insType' =>$priv['insType'],
'insTypeLib' =>prepareString($this->tabTypePriv[$priv['insType']]),
'insNum' =>$priv['insNum'],
'insDate' =>$priv['insDate'],
'insDateEch' =>$priv['insDateEch'],
'insObjet' =>prepareString($priv['insObjet']),
'insMontant' =>$priv['insMontant'],
'insDev' =>$priv['insDev'],
'insDateFin' =>$priv['insDateFin'],
'radDate' =>$priv['radDate'],
'radMention' =>$priv['radMention'],
'radPartiel' =>prepareString($priv['radPartiel']),
'radPartMt' =>$priv['radPartMt'],
'radDev' =>$priv['radDev'],
'creNom' =>prepareString($priv['creNom']),
'creAdresse1' =>prepareString(trim(preg_replace('/ +/', ' ', $priv['creNumVoi'].' '.$priv['creTypVoi'].' '.$priv['creLibVoi']))),
'creAdresse2' =>prepareString($priv['creAdrComp1']),
'creAdresse3' =>prepareString($priv['creAdrComp2']),
'creCP' =>$priv['creCP'],
'creVille' =>prepareString($priv['creVille']),
'crePays' =>prepareString($priv['crePays']),
'creAutres' =>prepareString($priv['creAutres']),
$tabRet[] = array(
'numDebiteur' => $priv['numDebiteur'],
'greffe' => $priv['greffe'],
'greffeLib' => $iRncs->getLibTribunal($priv['greffe']),
'dateEven' => $priv['dateEven'],
'dateFraiche' => $priv['dateFraiche'],
'dateSD' => $priv['dateInsert'],
'insType' => $priv['insType'],
'insTypeLib' => prepareString($this->tabTypePriv[$priv['insType']]),
'insNum' => $priv['insNum'],
'insDate' => $priv['insDate'],
'insDateEch' => $priv['insDateEch'],
'insObjet' => prepareString($priv['insObjet']),
'insMontant' => $priv['insMontant'],
'insDev' => $priv['insDev'],
'insDateFin' => $priv['insDateFin'],
'radDate' => $priv['radDate'],
'radMention' => $priv['radMention'],
'radPartiel' => prepareString($priv['radPartiel']),
'radPartMt' => $priv['radPartMt'],
'radDev' => $priv['radDev'],
'creNom' => prepareString($priv['creNom']),
'creAdresse1' => prepareString(trim(preg_replace('/ +/', ' ', $priv['creNumVoi'].' '.$priv['creTypVoi'].' '.$priv['creLibVoi']))),
'creAdresse2' => prepareString($priv['creAdrComp1']),
'creAdresse3' => prepareString($priv['creAdrComp2']),
'creCP' => $priv['creCP'],
'creVille' => prepareString($priv['creVille']),
'crePays' => prepareString($priv['crePays']),
'creAutres' => prepareString($priv['creAutres']),
);
/* debRaisonSociale , debSigle, debEnseigne
debCiv, debNom, debPrenom , debConjoint, debUsage,
@ -129,26 +134,22 @@ class MPrivileges {
return $tabRet;
}
function getPrivilegesCumul($siren, $tabTypes=array('03','04')) {
$iRncs=new MRncs();
$tabRet=array();
$tabTmp=$this->getPrivilegesDetail($siren, $tabTypes);
public function getPrivilegesCumul($siren, $tabTypes=array('03','04'))
{
$iRncs = new MRncs($this->iDb);
$tabRet = array();
$tabTmp = $this->getPrivilegesDetail($siren, $tabTypes);
foreach($tabTmp as $i=>$priv) {
@$tabRet[$priv['insType']]['nb']++;
$tabRet[$priv['insType']]['insTypeLib'] =$priv['insTypeLib'];
$tabRet[$priv['insType']]['dateFraiche']=$priv['dateFraiche'];
$tabRet[$priv['insType']]['dateDerInsc']=$priv['insDate'];
$tabRet[$priv['insType']]['nomDerCre'] =$priv['creNom'];
$tabRet[$priv['insType']]['numDebiteur']=$priv['numDebiteur'];
$tabRet[$priv['insType']]['greffeLib'] =$iRncs->getLibTribunal($priv['greffe']);
$tabRet[$priv['insType']]['dateMajSD'] =$priv['dateSD'];
@$tabRet[$priv['insType']]['insCumul']+=$priv['insMontant'];
$tabRet[$priv['insType']]['insTypeLib'] = $priv['insTypeLib'];
$tabRet[$priv['insType']]['dateFraiche'] = $priv['dateFraiche'];
$tabRet[$priv['insType']]['dateDerInsc'] = $priv['insDate'];
$tabRet[$priv['insType']]['nomDerCre'] = $priv['creNom'];
$tabRet[$priv['insType']]['numDebiteur'] = $priv['numDebiteur'];
$tabRet[$priv['insType']]['greffeLib'] = $iRncs->getLibTribunal($priv['greffe']);
$tabRet[$priv['insType']]['dateMajSD'] = $priv['dateSD'];
@$tabRet[$priv['insType']]['insCumul'] += $priv['insMontant'];
}
return $tabRet;
}
}
?>

View File

@ -18,7 +18,7 @@ class MQualibat {
function __construct($accesDist=true) {// $adresse, $cp, $ville, $pays='France') {
$this->accesDist=$accesDist;
$this->iDb=new WDb('sdv1');
$this->iDb=new WDB();
$this->iBodacc=new MBodacc();
$this->$iInsee=new MInsee();
}
@ -28,19 +28,19 @@ class MQualibat {
if (isset($tabTmp[0]['fonction']) && $tabTmp[0]['fonction']>0)
return $tabTmp[0]['fonction'];
else {
if (preg_match("/directeur.{1,6}agence/i")) return 8;
elseif (preg_match("/directeur.{1,6}ETABLISSEMENT/i")) return 8;
elseif (preg_match("/directeur.{1,6}technique/i")) return 19;
elseif (preg_match("/chef.{1,8}agence/i")) return 38;
elseif (preg_match("/cadre.{1,8}Comptable/i")) return 55;
elseif (preg_match("/Charg.{1,6}affair/i")) return 60;
elseif (preg_match("/chef.{1,8}Atelier/i")) return 60;
elseif (preg_match("/(conducteur|chef).{1,9}travaux/i")) return 61;
elseif (preg_match("/directeur.{1,6}technique/i")) return 19;
elseif (preg_match("/resp.{1,16}technique/i")) return 49;
elseif (preg_match("/resp.{1,16}Expl/i")) return 37;
elseif (preg_match("/di.{1,16}Expl/i")) return 7;
elseif (preg_match("/Chef.{1,6}Ent/i")) {
if (preg_match("/directeur.{1,6}agence/iu")) return 8;
elseif (preg_match("/directeur.{1,6}ETABLISSEMENT/iu")) return 8;
elseif (preg_match("/directeur.{1,6}technique/iu")) return 19;
elseif (preg_match("/chef.{1,8}agence/iu")) return 38;
elseif (preg_match("/cadre.{1,8}Comptable/iu")) return 55;
elseif (preg_match("/Charg.{1,6}affair/iu")) return 60;
elseif (preg_match("/chef.{1,8}Atelier/iu")) return 60;
elseif (preg_match("/(conducteur|chef).{1,9}travaux/iu")) return 61;
elseif (preg_match("/directeur.{1,6}technique/iu")) return 19;
elseif (preg_match("/resp.{1,16}technique/iu")) return 49;
elseif (preg_match("/resp.{1,16}Expl/iu")) return 37;
elseif (preg_match("/di.{1,16}Expl/iu")) return 7;
elseif (preg_match("/Chef.{1,6}Ent/iu")) {
$tabTmp=$this->iInsee->getIdentiteLight($siren);
if ($tabTmp['FJ']>=1000 && $tabTmp['FJ']<2000) return 1050;
else die($tabTmp);
@ -112,7 +112,7 @@ Gérer en fonction du code CJ
}
public function getMaxQualibat() {
$ret=$this->iDb->select('qualibat','MAX(id) AS id', '1', false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.qualibat','MAX(id) AS id', '1', false, MYSQL_ASSOC);
return $ret[0]['id'];
}
@ -124,7 +124,7 @@ Gérer en fonction du code CJ
$tabQualibatCalc[]=$i;
// Liste des Qualibat en base
$ret=$this->iDb->select('qualibat','id', '1 ORDER BY id ASC', false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.qualibat','id', '1 ORDER BY id ASC', false, MYSQL_ASSOC);
foreach ($ret as $i=>$res)
$tabQualibatBase[]=$res['id'];
@ -138,19 +138,19 @@ Gérer en fonction du code CJ
$strWhere="id=$idQualibat";
} else return false;
$ret=$this->iDb->select('qualibat','siren, actif, id, nom, adresse, cp, ville, tel, fax, email, web,
$ret=$this->iDb->select('sdv1.qualibat','siren, actif, id, nom, adresse, cp, ville, tel, fax, email, web,
eff, teff, ca, tca, libFJ, nace, dateFondation, dateDeb, dateFin, dateInsert', $strWhere, false, MYSQL_ASSOC);
if (!$this->force && count($ret)>0) {
$this->enCache=true;
$tabRet=$ret[0];//array();
// Ajout des qualifications
$ret=$this->iDb->select('qualibatqualif','code, periodQualif, niveauQualif, mentions, nomQualif, dateAttrib, dateEch', $strWhere, false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.qualibatqualif','code, periodQualif, niveauQualif, mentions, nomQualif, dateAttrib, dateEch', $strWhere, false, MYSQL_ASSOC);
foreach ($ret as $i=>$tabTmp)
$tabRet['qualifications'][]=$tabTmp;
// Ajout des dirigeants
$ret=$this->iDb->select('qualibatdir','civNomPrenom, civilite, nom, prenom, fonction', $strWhere, false, MYSQL_ASSOC);
$ret=$this->iDb->select('sdv1.qualibatdir','civNomPrenom, civilite, nom, prenom, fonction', $strWhere, false, MYSQL_ASSOC);
foreach ($ret as $i=>$tabTmp)
$tabRet['dirigeants'][]=$tabTmp;
} elseif ($this->accesDist==true) {
@ -168,7 +168,7 @@ Gérer en fonction du code CJ
$this->erreur='Numéro Qualibat inexistant';
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
if ($idQualibat<$this->getMaxQualibat())
$this->iDb->insert('qualibat', $tabInsert);
$this->iDb->insert('sdv1.qualibat', $tabInsert);
}
return false;
}
@ -186,7 +186,7 @@ Gérer en fonction du code CJ
$tabRet['ville']=utf8_decode(trim(substr($adresse2,5)));
}
if (preg_match('/<th>(?:.*)Téléphone(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
if (preg_match('/<th>(?:.*)Téléphone(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uisu',$body, $matches))
$tabRet['tel']=trim(str_replace(' ','',$matches[1]));
if (preg_match('/<th>(?:.*)Fax(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
@ -224,7 +224,7 @@ Gérer en fonction du code CJ
/** Qualifications ? **/
$qualifs='';
if (preg_match('/<table class="recherche_entreprise_detail">(?:.*)<th colspan="4">(?:.*)(Qualifications professionnelles|Certifications m..tier)(?:.*)<tbody>(.*)<\/table>/Uis',$body, $matches)) {
if (preg_match('/<table class="recherche_entreprise_detail">(?:.*)<th colspan="4">(?:.*)(Qualifications professionnelles|Certifications m..tier)(?:.*)<tbody>(.*)<\/table>/Uisu',$body, $matches)) {
$typeQualifs=trim(utf8_decode($matches[1]));
$qualifs=trim($matches[2]);
}
@ -239,7 +239,7 @@ Gérer en fonction du code CJ
foreach ($matches[1] as $i=>$code) {
$tabTmp=explode(' ',trim($code));
$nomQualif=utf8_decode(trim($matches[2][$i]));
if (preg_match("/\(Tech?nicit. (.*)\)/Ui", $nomQualif, $matches2))
if (preg_match("/\(Tech?nicit. (.*)\)/Uiu", $nomQualif, $matches2))
$niveau=trim($matches2[1]);
else $niveau='';
$tabMentions=array();
@ -306,8 +306,8 @@ Gérer en fonction du code CJ
'dateDeb'=>@$tabDateAttrib[0],
'dateFin'=>@$tabDateFin[0]));
unset($tabInsert['qualifications']);
if (!$this->iDb->insert('qualibat', $tabInsert)) {
$this->iDb->update('qualibat', $tabInsert, "id=$idQualibat");
if (!$this->iDb->insert('sdv1.qualibat', $tabInsert)) {
$this->iDb->update('sdv1.qualibat', $tabInsert, "id=$idQualibat");
}
@ -318,8 +318,8 @@ Gérer en fonction du code CJ
$tabInsert['id']=$idQualibat;
$tabInsert['siren']=$siren;
$tabInsert['dateInsert']=date('YmdHis');
if (!$this->iDb->insert('qualibatqualif', $tabInsert)) {
$this->iDb->update('qualibatqualif', $tabInsert, "id=$idQualibat AND code='".$tabInsert['code']."' AND periodQualif='".$tabInsert['periodQualif']."'");
if (!$this->iDb->insert('sdv1.qualibatqualif', $tabInsert)) {
$this->iDb->update('sdv1.qualibatqualif', $tabInsert, "id=$idQualibat AND code='".$tabInsert['code']."' AND periodQualif='".$tabInsert['periodQualif']."'");
}
}
@ -330,8 +330,8 @@ Gérer en fonction du code CJ
$tabInsert['id']=$idQualibat;
$tabInsert['siren']=$siren;
$tabInsert['dateInsert']=date('YmdHis');
if (!$this->iDb->insert('qualibatdir', $tabInsert)) {
$this->iDb->update('qualibatdir', $tabInsert, "id=$idQualibat AND civNomPrenom='".addslashes($tabInsert['civNomPrenom'])."' AND fonction='".addslashes($tabInsert['fonction'])."'");
if (!$this->iDb->insert('sdv1.qualibatdir', $tabInsert)) {
$this->iDb->update('sdv1.qualibatdir', $tabInsert, "id=$idQualibat AND civNomPrenom='".addslashes($tabInsert['civNomPrenom'])."' AND fonction='".addslashes($tabInsert['fonction'])."'");
}
unset($tabRet['dirigeants'][$i]['civNomPrenom']);
}

View File

@ -1,39 +1,40 @@
<?
<?php
class MRncs {
public $tabFctDir=array( 100 =>array('codeSd'=>'1300', 'lib'=>'Président'),
110 =>array('codeSd'=>'1306', 'lib'=>'Président du conseil d\'administration'),
120 =>array('codeSd'=>'1301', 'lib'=>'Président directeur Général'),
140 =>array('codeSd'=>'1650', 'lib'=>'Gouverneur'),
150 =>array('codeSd'=>'1651', 'lib'=>'Sous-gouverneur'),
200 =>array('codeSd'=>'0900', 'lib'=>'Gérant'),
210 =>array('codeSd'=>'0912', 'lib'=>'Gérant non associé'),
300 =>array('codeSd'=>'0400', 'lib'=>'Co-gérant'),
400 =>array('codeSd'=>'0709', 'lib'=>'Directeur général'),
410 =>array('codeSd'=>'0713', 'lib'=>'Directeur général non administrateur'),
420 =>array('codeSd'=>'0708', 'lib'=>'Directeur général unique'),
430 =>array('codeSd'=>'0704', 'lib'=>'Directeur général délégué'),
500 =>array('codeSd'=>'1800', 'lib'=>'Vice-président'),
600 =>array('codeSd'=>'0100', 'lib'=>'Administrateur'),
610 =>array('codeSd'=>'0101', 'lib'=>'Administrateur délégué'),
700 =>array('codeSd'=>'1308', 'lib'=>'Président du directoire'),
900 =>array('codeSd'=>'1307', 'lib'=>'Président du conseil de surveillance'),
1200=>array('codeSd'=>'0209', 'lib'=>'Associé-gérant'),
1300=>array('codeSd'=>'0603', 'lib'=>'Contrôleur de gestion'),
4000=>array('codeSd'=>'A', 'lib'=>'Administrateur judiciaire'),
4100=>array('codeSd'=>'1900', 'lib'=>'Liquidateur'),
4300=>array('codeSd'=>'0108', 'lib'=>'Administrateur provisoire'),
4400=>array('codeSd'=>'1401', 'lib'=>'Représentant en France d\'une société étrangère'),
7000=>array('codeSd'=>'U', 'lib'=>'Curateur'),
7100=>array('codeSd'=>'C', 'lib'=>'Commissaire au plan'),
7200=>array('codeSd'=>'S', 'lib'=>'Syndic'),
7300=>array('codeSd'=>'D', 'lib'=>'Commissaire au concordat'),
7500=>array('codeSd'=>'R', 'lib'=>'Représentant des créanciers'),
7600=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
7800=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
9100=>array('codeSd'=>'T', 'lib'=>'Conciliateur'),
);
class MRncs
{
public $tabFctDir=array(
100 =>array('codeSd'=>'1300', 'lib'=>'Président'),
110 =>array('codeSd'=>'1306', 'lib'=>'Président du conseil d\'administration'),
120 =>array('codeSd'=>'1301', 'lib'=>'Président directeur Général'),
140 =>array('codeSd'=>'1650', 'lib'=>'Gouverneur'),
150 =>array('codeSd'=>'1651', 'lib'=>'Sous-gouverneur'),
200 =>array('codeSd'=>'0900', 'lib'=>'Gérant'),
210 =>array('codeSd'=>'0912', 'lib'=>'Gérant non associé'),
300 =>array('codeSd'=>'0400', 'lib'=>'Co-gérant'),
400 =>array('codeSd'=>'0709', 'lib'=>'Directeur général'),
410 =>array('codeSd'=>'0713', 'lib'=>'Directeur général non administrateur'),
420 =>array('codeSd'=>'0708', 'lib'=>'Directeur général unique'),
430 =>array('codeSd'=>'0704', 'lib'=>'Directeur général délégué'),
500 =>array('codeSd'=>'1800', 'lib'=>'Vice-président'),
600 =>array('codeSd'=>'0100', 'lib'=>'Administrateur'),
610 =>array('codeSd'=>'0101', 'lib'=>'Administrateur délégué'),
700 =>array('codeSd'=>'1308', 'lib'=>'Président du directoire'),
900 =>array('codeSd'=>'1307', 'lib'=>'Président du conseil de surveillance'),
1200=>array('codeSd'=>'0209', 'lib'=>'Associé-gérant'),
1300=>array('codeSd'=>'0603', 'lib'=>'Contrôleur de gestion'),
4000=>array('codeSd'=>'A', 'lib'=>'Administrateur judiciaire'),
4100=>array('codeSd'=>'1900', 'lib'=>'Liquidateur'),
4300=>array('codeSd'=>'0108', 'lib'=>'Administrateur provisoire'),
4400=>array('codeSd'=>'1401', 'lib'=>'Représentant en France d\'une société étrangère'),
7000=>array('codeSd'=>'U', 'lib'=>'Curateur'),
7100=>array('codeSd'=>'C', 'lib'=>'Commissaire au plan'),
7200=>array('codeSd'=>'S', 'lib'=>'Syndic'),
7300=>array('codeSd'=>'D', 'lib'=>'Commissaire au concordat'),
7500=>array('codeSd'=>'R', 'lib'=>'Représentant des créanciers'),
7600=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
7800=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
9100=>array('codeSd'=>'T', 'lib'=>'Conciliateur'),
);
public $tabDevises=array();
public $tabPays=array();
@ -50,34 +51,51 @@ class MRncs {
public $cookie='';
public $infoIMR=array();
public $maxDemJour=10;
public $matching=NULL;
function __construct() {
$this->iDb=new WDB();
$this->tabDevises=$this->getTabDevisesInpi();
$this->tabPays=$this->getTabPaysInpi();
$this->tabTribunaux=$this->getTabTribunaux();
$this->tabMandataires=$this->getTabMandataires();
$this->tabJugements=$this->getTabJugements();
public function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
$this->tabDevises = $this->getTabDevisesInpi();
$this->tabPays = $this->getTabPaysInpi();
$this->tabTribunaux = $this->getTabTribunaux();
$this->tabMandataires = $this->getTabMandataires();
$this->tabJugements = $this->getTabJugements();
}
public function getLibFctDir($codeFonctionDirectionRncs) {
public function getLibFctDir($codeFonctionDirectionRncs)
{
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
return $this->tabFctDir[$codeFonctionDirectionRncs]['lib'];
}
public function getCodFctBodaccFctDir($codeFonctionDirectionRncs) {
public function getCodFctBodaccFctDir($codeFonctionDirectionRncs)
{
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
return $this->tabFctDir[$codeFonctionDirectionRncs]['codeSd'];
}
/** Initialisation du tableau privé des devises Inpi <=> ISO **/
private function getTabDevisesInpi() {
$rep=$this->iDb->select('tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
$tabDevises=array();
foreach($rep as $k=>$dev)
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
/**
* Initialisation du tableau privé des devises Inpi <=> ISO
* @return array
*/
private function getTabDevisesInpi()
{
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'DevisesInpi.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('jo.tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
$tabDevises=array();
foreach($rep as $k=>$dev)
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
return $tabDevises;
return $tabDevises;
}
}
/** Récupération du code ISO de la devise numérique de l'Inpi
@ -92,13 +110,23 @@ class MRncs {
return '';
}
public function getTabJugements() {
$rep=$this->iDb->select('tabJugeRncs', 'codJugement, codEven', '1', false, MYSQL_ASSOC);
$tabJug=array();
foreach($rep as $k=>$dev)
$tabJug[$dev['codJugement']*1]=$dev['codEven'];
/**
*
* @return array
*/
public function getTabJugements()
{
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Jugements.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('jo.tabJugeRncs', 'codJugement, codEven', '1', false, MYSQL_ASSOC);
$tabJug=array();
foreach($rep as $k=>$dev)
$tabJug[$dev['codJugement']*1]=$dev['codEven'];
return $tabJug;
return $tabJug;
}
}
public function getCodeEvenJugementInpi($codJugementInpi) {
@ -108,20 +136,29 @@ class MRncs {
return $codJugementInpi;
}
/** Initialisation du tableau privé des pays Inpi <=> ISO **/
private function getTabPaysInpi() {
$rep=$this->iDb->select('tabPays', 'codePaysInpi, codPays', 'codePaysInpi>0', false, MYSQL_ASSOC);
$tabPays=array();
foreach($rep as $k=>$dev)
$tabPays[$dev['codePaysInpi']*1]=$dev['codPays'];
/**
* Initialisation du tableau privé des pays Inpi <=> ISO
* @return array
*/
private function getTabPaysInpi()
{
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'PaysInpi.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('jo.tabPays', 'codePaysInpi, codPays', 'codePaysInpi>0', false, MYSQL_ASSOC);
$tabPays=array();
foreach($rep as $k=>$dev)
$tabPays[$dev['codePaysInpi']*1]=$dev['codPays'];
return $tabPays;
return $tabPays;
}
}
/** Tableau des mandataires suceptibles d'être tranmis par l'INPI
**/
private function getTabMandataires() {
$tabTmp=$this->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);
$tabTmp=$this->iDb->select('jo.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 $mand) {
$tabMandSD[]=array( 'id' => $mand['id'],
@ -141,100 +178,47 @@ class MRncs {
return $tabMandSD;
}
/** Donne l'id du mandataire en fonction de son libellé INPI
** @param string $strNomPrenom Nom et Prénom du mandataire
** @return int $id Identifiant du mandataire
**/
public function getIdMandataireInpi($strNomPrenom) {
if (trim($strNomPrenom)=='') return false;
if (preg_match('/^(.*) (?:Me|Ma.tre) (.*)$/i', $strNomPrenom, $matches)) {
$nomPrenomToFind=strtr($matches[1],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
$nomToFind=strtr($matches[2],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
} else {
$nomPrenomToFind=strtr($strNomPrenom,'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
$nomToFind='';
}
/**
* Donne l'id du mandataire en fonction de son libellé INPI
* @param unknown $strNomPrenom
* @param string $adresse
* @param string $cp
* @param string $ville
* @param string $debug
* @return boolean|Ambigous <multitype:>
*/
public function getIdMandataireInpi($strNomPrenom, $adresse='', $cp='', $ville='', $debug=false)
{
$id=false;
//echo "Recherche de $nomPrenomToFind ($nomToFind) : ";
if ($strNomPrenom=='SCP BELAT DESPRAT') return 48;
if ($strNomPrenom=='DU BUIT') return 170;
if ($strNomPrenom=='SELARL MALMEZAT PRAT') return 312;
if ($strNomPrenom=='SELARL DUQUESNOY & ASSOCIES') return 176;
if ($strNomPrenom=='- SELARL DUQUESNOY & ASSOCIES') return 176;
if ($strNomPrenom=='SOUCHON ALAIN') return 412;
if ($strNomPrenom=='SELARL GRAVE WALLYN RANDOUX Me RANDOUX Guillaume') return 8621;
if ($strNomPrenom=='SCP SILVESTRI BAUJET') return 35;
if ($strNomPrenom=='ROGEAU') return 385;
if ($strNomPrenom=='SCP BIHR-LE CARRER') return 64;
if ($strNomPrenom=='- SCP BIHR-LE CARRER') return 64;
if ($strNomPrenom=='SCP GUYON DAVAL') return 144;
if ($strNomPrenom=='COURTOUX') return 134;
if ($strNomPrenom=='SCP B.T.S.G. ME GORRIAS') return 44;
if ($strNomPrenom=='MONTRAVERS') return 340;
if ($strNomPrenom=='SCP OUIZILLE DE KEATING Me DE KEATING') return 351;
if ($strNomPrenom=='DOUTRESSOULLE') return 169;
if ($strNomPrenom=='SCP LECLERC MASSELON') return 286;
if ($strNomPrenom=='AUSSEL Vincent') return 17;
if ($strNomPrenom=='SCP BROUARD DAUDE Me DAUDE Florence') return 95;
if ($strNomPrenom=='SELARL T.C.A') return 423;
//if ($strNomPrenom=='BEDNAWSKI CORNELIUS,MAXIME') return 0;
//if ($strNomPrenom=='LECA Pierre Alexandre') return 0;
if ($strNomPrenom=='SELAFA MJA Maître LELOUP THOMAS' ||
$strNomPrenom=='- SELAFA MJA ME LELOUP THOMAS') return 290;
if ($strNomPrenom=='SELAFA MJA Maître LEVY' ||
$strNomPrenom=='- SELAFA MJA Maître LEVY') return 297;
if ($strNomPrenom=='SELAFA MJA Maître FRECHOU' ||
$strNomPrenom=='- SELAFA MJA Maître FRECHOU') return 194;
if ($strNomPrenom=='SELAFA MJA Maître PIERREL' ||
$strNomPrenom=='- SELAFA MJA Maître PIERREL') return 368;
if ($strNomPrenom=='SELAFA MJA Maître PENET- WEILLER' ||
$strNomPrenom=='- SELAFA MJA ME PENET-WEILLER') return 357;
if ($strNomPrenom=='HUILLE PASCALE') return 244;
if ($strNomPrenom=='SCP B.T.S.G. ME BECHERET') return 42;
if ($strNomPrenom=='SELARL MB ASSOCIES ME CORRE') return 129;
if ($strNomPrenom=='PERNAUD PHILIPPE') return 361;
if ($strNomPrenom=='MARGOTTIN Eric') return 23;
if ($strNomPrenom=='MARGOTTIN Eric') return 23;
$cp2=substr($cp,0,2);
$this->matching=NULL;
if (trim($strNomPrenom)=='') return false;
if ($strNomPrenom=='SCP GUERIN DIESBECQ ME DIESBEC') return 163;
if ($strNomPrenom=='SCP DOLLEY-COLLET') return 165;
if ($strNomPrenom=='SCP B.T.S.G. ME SENECHAL') return 45;
if ($strNomPrenom=='AVEZOU') return 20;
if ($strNomPrenom=='SOINNE') return 409;
//echo "Recherche de '$strNomPrenom, $adresse, $cp $ville' dans les mandataires S&D :".EOL;
/* if ($strNomPrenom=='SCP LE DORTZ B. ET BODELET G.') return 361;
if ($strNomPrenom=='SCP P. DURAN ET E. FLATRES') return 361;
if ($strNomPrenom=='CHABAL MAX-HENRI') return 361;
if ($strNomPrenom=='ROUSSELOT GEGOUE Marie Adeline') return 361;*/
foreach ($this->tabMandataires as $mand) {
$nomToTest=strtr($mand['nom'],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
$tabTmp=preg_split('/( |-)/', $mand['prenom']);
$preToTest=strtr($tabTmp[0],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
if (preg_match("/$nomToTest/i", $nomPrenomToFind)) {
//echo "$nomToTest $preToTest TROUVE".EOL;
// Cas des mandataires en SCP
if ($nomToFind<>'' && preg_match("/$nomToTest/i", $nomToFind) && preg_match("/$preToTest/i", $nomToFind)) {
//if (!$id)
$id=$mand['id'];
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
$tabTmp=$this->iDb->select( 'jo.tabMandataires',
"id, Nom, Prenom, adresse, adresseComp, cp, ville, MATCH (Nom, Prenom, adresse, adresseComp, ville) AGAINST ('$strNomPrenom $adresse $ville' IN NATURAL LANGUAGE MODE) AS score",
"TYPE IN ('A', 'M') AND (Nom<>'' OR Prenom <>'') AND MATCH (Nom, Prenom, adresse, adresseComp, ville) AGAINST ('$strNomPrenom $adresse $ville' IN NATURAL LANGUAGE MODE) ORDER BY score DESC LIMIT 0,10",false, MYSQL_ASSOC);
$nbRet=count($tabTmp);
if ($nbRet==0) {
return false;
} elseif($nbRet==1) {
//print_r($tabTmp);
$this->matching=$tabTmp[0]['score'];
return $tabTmp[0]['id'];
} else {
foreach($tabTmp as $i=>$iRet) {
// echo "Recherche de '$strNomPrenom, $adresse, $cp $ville' dans les mandataires S&D :".EOL;
if ($debug) echo "je compare '$cp' avec '".$iRet['cp']."' et '$ville' avec '".$iRet["ville"]."' (score=".$iRet['score'].")".EOL;
if ((($iRet['cp']==$cp || substr($iRet['cp'],0,2)==$cp2) && ($iRet["ville"]==$ville || preg_replace('/ 0/', ' ',$iRet["ville"])==$ville) || (strpos($iRet["ville"],$ville)>0 && $nbRet==1) || $iRet["score"]>17 ) ||
($cp=='' && $ville=='' && $iRet["score"]>6.88 )) {
//print_r($iRet);
$this->matching=$iRet['score'];
return $iRet['id'];
}
elseif ($nomToFind<>'' && preg_match("/$nomToTest/i", $nomToFind)) {
//if (!$id)
$id=$mand['id'];
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
}
elseif (!$nomToFind && preg_match("/$preToTest/i", $nomPrenomToFind)) {
//if (!$id)
$id=$mand['id'];
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
}
} elseif (preg_match("/$nomToTest/i", $nomToFind) && preg_match("/$preToTest/i", $nomToFind)) {
//if (!$id)
$id=$mand['id'];
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
}
}
return $id;
}
@ -250,31 +234,52 @@ class MRncs {
return '';
}
/** Initialisation du tableau privé des codes tribunaux Greffes/Inpi avec le libellé Bodacc **/
private function getTabTribunaux() {
$rep=$this->iDb->select('tribunaux', 'triNumGreffe, triNom, triId, triCode', 'triNumGreffe IS NOT NULL', false, MYSQL_ASSOC);
$tabTribunaux=array();
foreach($rep as $k=>$dev) {
$tabTribunaux[$dev['triNumGreffe']*1]['Id']=$dev['triId'];
$tabTribunaux[$dev['triNumGreffe']*1]['Nom']=$dev['triNom'];
$tabTribunaux[$dev['triNumGreffe']*1]['Code']=$dev['triCode'];
/**
* Initialisation du tableau privé des codes tribunaux Greffes/Inpi avec le libellé Bodacc
* @return array
*/
private function getTabTribunaux()
{
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Tribunaux.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('jo.tribunaux', 'triNumGreffe, triNom, triId, triCode', 'triNumGreffe IS NOT NULL', false, MYSQL_ASSOC);
$tabTribunaux=array();
foreach($rep as $k=>$dev) {
$tabTribunaux[$dev['triNumGreffe']*1]['Id']=$dev['triId'];
$tabTribunaux[$dev['triNumGreffe']*1]['Nom']=$dev['triNom'];
$tabTribunaux[$dev['triNumGreffe']*1]['Code']=$dev['triCode'];
}
return $tabTribunaux;
}
return $tabTribunaux;
}
private function getLibelleFJ($code_forme_juridique) {
/**
* Libellé des FJ
* @param unknown $code_forme_juridique
* @return string
*/
private function getLibelleFJ($code_forme_juridique)
{
$fj=$code_forme_juridique*1;
if ($fj>0 && $fj<10000) {
$tmp=$this->iDb->select( 'tabFJur', 'libelle AS LibFJ', "code=$fj");
$tmp=$this->iDb->select('jo.tabFJur', 'libelle AS LibFJ', "code=$fj");
return @$tmp[0][0];
} else
return 'En instance de chiffrement';
}
private function getLibelleNaf($codeNaf) {
$ret=$this->iDb->query("SELECT libNaf700 AS LibNaf FROM tabNaf4 WHERE codNaf700='$codeNaf' UNION
SELECT libNaf5 AS LibNaf FROM tabNaf5 WHERE codNaf5='$codeNaf'");
$res=$this->iDb->fetch(MYSQL_ASSOC);
/**
* Libellé des NAF
* @param unknown $codeNaf
* @return Ambigous <>
*/
private function getLibelleNaf($codeNaf)
{
$ret = $this->iDb->query("SELECT libNaf700 AS LibNaf FROM jo.tabNaf4 WHERE codNaf700='$codeNaf'
UNION SELECT libNaf5 AS LibNaf FROM jo.tabNaf5 WHERE codNaf5='$codeNaf'");
$res = $this->iDb->fetch(MYSQL_ASSOC);
return $res['LibNaf'];
}
@ -320,14 +325,19 @@ class MRncs {
* @param integer $nic Nic de l'établissement. Si absent, renvoi les informations du siège actif ou du dernier siège actif
* @return array
*/
public function getIdentiteEtab($siren, $nic=0) {
public function getIdentiteEtab($siren, $nic=0)
{
$siren=$siren*1;
$nic=$nic*1;
if ($nic>0) $strSql=" AND nic=$nic";
else $strSql=" AND siege=1 ORDER BY actif DESC, nic DESC";
$rep=$this->iDb->select('rncs_etab', 'siren, nic, siege, actif, enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie, cp, commune, adrComp, adresse1, adresse2, adresse3, naf, dateFermeture, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren $strSql", false, MYSQL_ASSOC);
$entrep=$rep[0];
$rep=$this->iDb->select('jo.rncs_etab', 'siren, nic, siege, actif, enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie, cp, commune, adrComp, adresse1, adresse2, adresse3, naf, dateFermeture, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren $strSql", false, MYSQL_ASSOC);
if ( count($rep)==0 ) {
return false;
}
$entrep = $rep[0];
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
else $dateMaj=$entrep['flux'];
@ -338,146 +348,184 @@ class MRncs {
else $adresse2=trim(strtoupper($entrep['adresse2']));
if (trim($entrep['adresse3'])=='') $adresse3='';
else $adresse3=trim(strtoupper($entrep['adresse3']));
$tabIdentite=array( 'siren' => $entrep['siren'],
'nic' => $entrep['nic'],
'siret' => $entrep['siren'].$entrep['nic'],
'actif' => $entrep['actif'],
'siege' => $entrep['siege'],
'enseigne' => strtoupper($entrep['enseigne']),
'nomCommercial' => strtoupper($entrep['nomCommercial']),
'adrNumVoie' => $entrep['adrNumVoie'],
'adrIndRep' => strtoupper($entrep['adrIndRep']),
'adrTypeVoie' => strtoupper($entrep['adrTypeVoie']),
'adrVoie' => strtoupper($entrep['adrVoie']),
'adrComp' => strtoupper($entrep['adrComp']),
'cp' => strtoupper($entrep['cp']),
'commune' => strtoupper($entrep['commune']),
'adresse1' => $adresse1,
'adresse2' => $adresse2,
'adresse3' => $adresse3,
'nafEtab' => $entrep['naf'],
'nafEtabLib' => $this->getLibelleNaf($entrep['naf']),
'dateFerEtab' => $entrep['dateFermeture'],
'dateMajEtab' => $dateMaj,
);
$tabIdentite=array(
'siren' => $entrep['siren'],
'nic' => $entrep['nic'],
'siret' => $entrep['siren'].$entrep['nic'],
'actif' => $entrep['actif'],
'actifEt' => $entrep['actif'],
'siege' => $entrep['siege'],
'enseigne' => strtoupper($entrep['enseigne']),
'nomCommercial' => strtoupper($entrep['nomCommercial']),
'adrNumVoie' => $entrep['adrNumVoie'],
'adrIndRep' => strtoupper($entrep['adrIndRep']),
'adrLibVoie' => strtoupper($entrep['adrLibVoie']),
'adrTypeVoie' => strtoupper($entrep['adrTypeVoie']),
'adrVoie' => strtoupper($entrep['adrVoie']),
'adrComp' => strtoupper($entrep['adrComp']),
'cp' => strtoupper($entrep['cp']),
'commune' => strtoupper($entrep['commune']),
'adresse1' => $adresse1,
'adresse2' => $adresse2,
'adresse3' => $adresse3,
'nafEtab' => $entrep['naf'],
'nafEtabLib' => $this->getLibelleNaf($entrep['naf']),
'dateFerEtab' => $entrep['dateFermeture'],
'dateMajEtab' => $dateMaj,
);
return array_merge($tabIdentite, $this->getInfosEntrep($siren));
}
public function getInfosEntrep($siren) {
/**
*
* @param unknown $siren
* @return multitype:number unknown mixed string Ambigous Ambigous <>
*/
public function getInfosEntrep($siren)
{
$siren=$siren*1;
$rep=$this->iDb->select('rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
$entrep=$rep[0];
$rep=$this->iDb->select('jo.rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
else $dateMaj=$entrep['flux'];
if (count($rep)>0) {
$entrep=$rep[0];
$tabIdentite=array( 'siren' => $entrep['siren'],
'sirenValide' => $entrep['sirenValide'],
'actif' => $entrep['actif'],
'numGreffe' => $entrep['numGreffe'],
'triCode' => $entrep['triCode'],
'triId' => $entrep['triId'],
'libGreffe' => preg_replace('/^(TC |TGI |TGIcc |TMX |Tribunal Inconnu)/Ui','', $this->getLibTribunal($entrep['numGreffe']*1)),
'numRC' => $entrep['numRC2'],
'raisonSociale' => strtoupper($entrep['raisonSociale']),
'nom' => strtoupper($entrep['nom']),
'prenom' => strtoupper($entrep['prenom']),
'nomUsage' => strtoupper($entrep['nomUsage']),
'sigle' => strtoupper($entrep['sigle']),
'dateNaiss' => $entrep['dateNaiss'],
'lieuNaiss' => strtoupper($entrep['lieuNaiss']),
'sexe' => $entrep['sexe'],
'pays' => $entrep['pays'],
'cj' => $entrep['cj'],
'cjLib' => $this->getLibelleFJ($entrep['cj']),
'nafEnt' => $entrep['naf'],
'nafEntLib' => $this->getLibelleNaf($entrep['naf']),
'capital' => $entrep['capitalMontant']+($entrep['capitalCent']/100),
'capitalDev' => $entrep['capitalDevIso'],
'capitalType' => $entrep['capitalType'],
'dateImma' => $entrep['dateImma'],
'dateRad' => $entrep['dateRad'],
'provisoires' => $entrep['provisoires'],
'dateMajEnt' => $dateMaj,
);
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
else $dateMaj=$entrep['flux'];
return $tabIdentite;
$tabIdentite = array(
'siren' => $entrep['siren'],
'sirenValide' => $entrep['sirenValide'],
'actif' => $entrep['actif'],
'actifEn' => $entrep['actif'],
'numGreffe' => $entrep['numGreffe'],
'triCode' => $entrep['triCode'],
'triId' => $entrep['triId'],
'libGreffe' => preg_replace('/^(TC |TGI |TGIcc |TMX |Tribunal Inconnu)/Ui','', $this->getLibTribunal($entrep['numGreffe']*1)),
'numRC' => $entrep['numRC2'],
'raisonSociale' => strtoupper($entrep['raisonSociale']),
'nom' => strtoupper($entrep['nom']),
'prenom' => strtoupper($entrep['prenom']),
'nomUsage' => strtoupper($entrep['nomUsage']),
'sigle' => strtoupper($entrep['sigle']),
'dateNaiss' => $entrep['dateNaiss'],
'lieuNaiss' => strtoupper($entrep['lieuNaiss']),
'sexe' => $entrep['sexe'],
'pays' => $entrep['pays'],
'cj' => $entrep['cj'],
'cjLib' => $this->getLibelleFJ($entrep['cj']),
'nafEnt' => $entrep['naf'],
'nafEntLib' => $this->getLibelleNaf($entrep['naf']),
'capital' => $entrep['capitalMontant']+($entrep['capitalCent']/100),
'capitalDev' => $entrep['capitalDevIso'],
'capitalType' => $entrep['capitalType'],
'dateImma' => $entrep['dateImma'],
'dateRad' => $entrep['dateRad'],
'provisoires' => $entrep['provisoires'],
'dateMajEnt' => $dateMaj,
);
return $tabIdentite;
}
return false;
}
public function getListeDepots($siren) {
$siren=$siren*1;
$rep=$this->iDb->select('rncs_even e LEFT JOIN tabEvenRncs l ON e.codeEven=l.codeEven',
'e.siren, e.codeInterne, e.dateDepot, e.codeEven, l.libEven, e.flux, DATE(e.dateInsert) AS dateInsert',
"e.siren=$siren ORDER BY e.dateDepot DESC", false, MYSQL_ASSOC);
/**
*
* @param string $siren
* @param string $dateDepot AAAA-MM-JJ
* @return array
*/
public function getListeDepots($siren, $dateDepot = null)
{
$where = "e.siren=$siren ORDER BY e.dateDepot DESC, e.codeInterne ASC";
if (null != $dateDepot) {
$where = "e.siren=$siren AND e.dateDepot='$dateDepot'";
}
$rep=$this->iDb->select(
'jo.rncs_even e LEFT JOIN jo.tabEvenRncs l ON e.codeEven=l.codeEven',
'e.siren, e.codeInterne, e.dateDepot, e.codeEven, l.libEven, e.flux, DATE(e.dateInsert) AS dateInsert',
$where, false, MYSQL_ASSOC);
$tabDepots=array();
foreach ($rep as $iDepot=>$depot) {
$tabDepots[]=array( 'codDepot' => $depot['codeEven'],
'libDepot' => $depot['libEven'],
'datDepot' => $depot['dateDepot'],
'refDepot' => $depot['codeInterne'],
'datRncs' => $depot['flux'],
'datSed' => $depot['dateInsert'],
);
if (count($rep)>0) {
foreach ($rep as $iDepot=>$depot) {
$tabDepots[] = array(
'codDepot' => $depot['codeEven'],
'libDepot' => $depot['libEven'],
'datDepot' => $depot['dateDepot'],
'refDepot' => $depot['codeInterne'],
'datRncs' => $depot['flux'],
'datSed' => $depot['dateInsert'],
);
}
}
return $tabDepots;
}
public function getListeJugements($siren) {
/**
*
* @param unknown $siren
* @return multitype:multitype:NULL unknown Ambigous <multitype:>
*/
public function getListeJugements($siren)
{
$siren=$siren*1;
$rep=$this->iDb->select('rncs_jugements j, tabJugeRncs l, tabEvenements e',
'siren, j.dateEffet, j.codeJugement, j.flux, l.libJugement, e.codEven, e.libEven,
adm1id, adm1codeFct, adm1type, adm1nom, adm1adrNum, adm1adrInd, adm1adrType, adm1adrLibVoie, adm1adrVoie, adm1adr1, adm1adr2, adm1adr3, adm1adrCP, adm1adrVille,
adm2id, adm2codeFct, adm2type, adm2nom, adm2adrNum, adm2adrInd, adm2adrType, adm2adrLibVoie, adm2adrVoie, adm2adr1, adm2adr2, adm2adr3, adm2adrCP, adm2adrVille',
"j.siren=$siren AND j.codeJugement=l.codJugement AND l.codEven=e.codEven ORDER BY j.dateEffet DESC", false, MYSQL_ASSOC);
/*adm1adrNum adm1adrInd adm1adrType adm1adrLibVoie adm1adrVoie adm1adr1 adm1adr2 adm1adr3 adm1adrCP adm1adrVille adm2codeFct adm2type adm2id adm2nom adm2adrNum adm2adrInd adm2adrType adm2adrLibVoie adm2adrVoie adm2adr1 adm2adr2 adm2adr3 adm2adrCP adm2adrVille flux dateSuppr dateInsert
Modifier Effacer 490524055 2010-12-20 11 1 1200 4000 A 0 ME TULIER 0000 IMM LE MAZIERE 4EME ETAGE Immeuble le Mazière - 4ème étage rue René Cassin */
$rep=$this->iDb->select(
'jo.rncs_jugements j, jo.tabJugeRncs l, jo.tabEvenements e',
'siren, j.dateEffet, j.codeJugement, j.flux, l.libJugement, e.codEven, e.libEven,
adm1id, adm1codeFct, adm1type, adm1nom, adm1adrNum, adm1adrInd, adm1adrType, adm1adrLibVoie, adm1adrVoie, adm1adr1, adm1adr2, adm1adr3, adm1adrCP, adm1adrVille,
adm2id, adm2codeFct, adm2type, adm2nom, adm2adrNum, adm2adrInd, adm2adrType, adm2adrLibVoie, adm2adrVoie, adm2adr1, adm2adr2, adm2adr3, adm2adrCP, adm2adrVille',
"j.siren=$siren AND j.codeJugement=l.codJugement AND l.codEven=e.codEven ORDER BY j.dateEffet DESC", false, MYSQL_ASSOC);
$tabDepots=array();
foreach ($rep as $iDepot=>$depot) {
$tabDepots[]=array( 'codEven' => $depot['codEven'],
'libEven' => $depot['libEven'],
'dateEffet' => $depot['dateEffet'],
'adm1id' => $depot['adm1id'],
'adm1code' => $depot['adm1codeFct'],
'adm1type' => $depot['adm1type'],
'adm1fonction' => @$this->getLibFctDir($depot['adm1codeFct']),
'adm1nom' => $depot['adm1nom'],
'adm1adrNum' => $depot['adm1adrNum'],
'adm1adrInd' => $depot['adm1adrInd'],
'adm1adrType' => $depot['adm1adrType'],
'adm1adrVoie' => $depot['adm1adrLibVoie'], // @todo : adm1adr1, , adm1adr3,
'adm1adr2' => $depot['adm1adr2'],
'adm1adrCP' => $depot['adm1adrCP'],
'adm1adrVille' => $depot['adm1adrVille'],
'adm2id' => $depot['adm2id'],
'adm2code' => $depot['adm2codeFct'],
'adm2type' => $depot['adm2type'],
'adm2fonction' => @$this->getLibFctDir($depot['adm2codeFct']),
'adm2nom' => $depot['adm2nom'],
'adm2adrNum' => $depot['adm2adrNum'],
'adm2adrInd' => $depot['adm2adrInd'],
'adm2adrType' => $depot['adm2adrType'],
'adm2adrVoie' => $depot['adm2adrLibVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
'adm2adr2' => $depot['adm2adr2'],
'adm2adrCP' => $depot['adm2adrCP'],
'adm2adrVille' => $depot['adm2adrVille'],
);
$tabDepots[]=array(
'codEven' => $depot['codEven'],
'libEven' => $depot['libEven'],
'dateEffet' => $depot['dateEffet'],
'adm1id' => $depot['adm1id'],
'adm1code' => $depot['adm1codeFct'],
'adm1type' => $depot['adm1type'],
'adm1fonction' => @$this->getLibFctDir($depot['adm1codeFct']),
'adm1nom' => $depot['adm1nom'],
'adm1adrNum' => $depot['adm1adrNum'],
'adm1adrInd' => $depot['adm1adrInd'],
'adm1adrType' => $depot['adm1adrType'],
'adm1adrVoie' => $depot['adm1adrLibVoie'], // @todo : adm1adr1, , adm1adr3,
'adm1adr2' => $depot['adm1adr2'],
'adm1adrCP' => $depot['adm1adrCP'],
'adm1adrVille' => $depot['adm1adrVille'],
'adm2id' => $depot['adm2id'],
'adm2code' => $depot['adm2codeFct'],
'adm2type' => $depot['adm2type'],
'adm2fonction' => @$this->getLibFctDir($depot['adm2codeFct']),
'adm2nom' => $depot['adm2nom'],
'adm2adrNum' => $depot['adm2adrNum'],
'adm2adrInd' => $depot['adm2adrInd'],
'adm2adrType' => $depot['adm2adrType'],
'adm2adrVoie' => $depot['adm2adrLibVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
'adm2adr2' => $depot['adm2adr2'],
'adm2adrCP' => $depot['adm2adrCP'],
'adm2adrVille' => $depot['adm2adrVille'],
);
}
return $tabDepots;
}
public function getEvenements($siren, $nic=0, $type='', $dateDeb='', $dateFin='') {
$tabEven=array( 'p120'=>'Réactivation de l\'entreprise',
'p410'=>'Cessation juridique de l\'entreprise',
'pCAP'=>'Modification du capital social',
'pCAT'=>'Modification du type de capital',
'pCJ' =>'Modification de la forme juridique',
'pIMM'=>'Modification de la date d\'immatriculation',
'pRAD'=>'Modification de la date de radiation',
'pNTR'=>'Modification du greffe d\'enregistrement',
'pNRC'=>'Modification du numéro du RC',
'pNOM'=>'Modification de la dénomination',
);
public function getEvenements($siren, $nic=0, $type='', $dateDeb='', $dateFin='')
{
$tabEven=array(
'p120'=>'Réactivation de l\'entreprise',
'p410'=>'Cessation juridique de l\'entreprise',
'pCAP'=>'Modification du capital social',
'pCAT'=>'Modification du type de capital',
'pCJ' =>'Modification de la forme juridique',
'pIMM'=>'Modification de la date d\'immatriculation',
'pRAD'=>'Modification de la date de radiation',
'pNTR'=>'Modification du greffe d\'enregistrement',
'pNRC'=>'Modification du numéro du RC',
'pNOM'=>'Modification de la dénomination',
);
$tabRet=array();
$siren=$siren*1;
if ($nic>0) $strNic =" AND nic=$nic ";
@ -485,9 +533,10 @@ class MRncs {
if ($dateDeb<>'') $strDateDeb=" AND flux>='$dateDeb' ";
if ($dateFin<>'') $strDateFin=" AND flux<='$dateFin' ";
$rep=$this->iDb->select('rncs_modifs',
'siren, nic, `table`, champs, valeur, flux, dateInsert',
"siren=$siren $strNic $strType $strDateDeb $strDateFin AND `table`='rncs_entrep' ORDER BY flux DESC", false, MYSQL_ASSOC);
$rep=$this->iDb->select(
'jo.rncs_modifs',
'siren, nic, `table`, champs, valeur, flux, dateInsert',
"siren=$siren $strNic $strType $strDateDeb $strDateFin AND `table`='rncs_entrep' ORDER BY flux DESC", false, MYSQL_ASSOC);
foreach ($rep as $iModif=>$modif) {
$codEve=array();
switch($modif['champs']) {
@ -504,21 +553,24 @@ class MRncs {
case 'numGreffe': $codEve[]='NTR'; break;
case 'numRC2': $codEve[]='NRC'; break;
}
foreach ($codEve as $even)
$tabRet[]=array('codeEven' => 'P'.$even,
'nic' => 0,
'siretAssocie'=>0,
'typeSiretAss'=>0,
'siege' => 1,
'libEven' => $tabEven['p'.trim($even)],
'libEvenDet'=> '',
'dateMAJ' => $modif['dateInsert'],
'dateEven' => $modif['flux'],
);
foreach ($codEve as $even) {
$tabRet[]=array(
'codeEven' => 'P'.$even,
'nic' => 0,
'siretAssocie'=>0,
'typeSiretAss'=>0,
'siege' => 1,
'libEven' => $tabEven['p'.trim($even)],
'libEvenDet'=> '',
'dateMAJ' => $modif['dateInsert'],
'dateEven' => $modif['flux'],
);
}
}
}
public function getIntervenants($siren) {
public function getIntervenants($siren)
{
$tabJuge=$this->getListeJugements($siren);
$tabDepots=$tabDeja=array();
$tabAdm=array( 'A'=>'Administrateur judiciaire',
@ -587,7 +639,7 @@ class MRncs {
$strDates='';
}
$tabTmp=$this->iDb->select('annonces', 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
$tabTmp=$this->iDb->select('jo.annonces', 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren $strDates AND ( inter1type $strTypes OR inter2type $strTypes OR inter3type $strTypes OR inter4type $strTypes ) AND typeEven BETWEEN 1000 AND 2000 ORDER BY dateJugement DESC", false, MYSQL_ASSOC);
if (isset($tabTmp[0])) {
$depot=$tabTmp[0];
@ -760,13 +812,13 @@ class MRncs {
$this->infoIMR['validation']=true;
else {
$this->infoIMR['validation']=false;
if (preg_match('/Aucune entreprise trouv.e pour ce num.ro SIREN/', $this->body)) {
if (preg_match('/Aucune entreprise trouv.e pour ce num.ro SIREN/u', $this->body)) {
$tabInsert=$this->infoIMR;
$tabInsert['siren']=$siren;
$tabInsert['dateDemande']=date('Ymd');
if ($origineDemande<>'')
$tabInsert['origineDemande']=$origineDemande;
$this->iDb->insert('rncs_demandes', $tabInsert, false);
$this->iDb->insert('jo.rncs_demandes', $tabInsert, false);
}
}
@ -810,7 +862,7 @@ class MRncs {
$tabInsert['dateDemande']=date('Ymd');
if ($origineDemande<>'')
$tabInsert['origineDemande']=$origineDemande;
$this->iDb->insert('rncs_demandes', $tabInsert, false);
$this->iDb->insert('jo.rncs_demandes', $tabInsert, false);
// Une erreur ?
if ($this->infoIMR['validation-erreur']<>'')
@ -822,5 +874,86 @@ class MRncs {
$this->libErreur='Infogreffe indisponible !';
return false;
}
function getDirigeantsPrin($siren, $nbDirs=2) {
$siren=$siren*1;
$tabRet=array();
$dirs=$this->iDb->select(
'jo.rncs_dirigeants',
'siren, raisonSociale, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, fonction_code, fonction_lib, cinf, dateFin, flux, dateInsert',
"siren=$siren AND actif%10=1 ORDER BY fonction_code DESC", true, MYSQL_ASSOC);
$numDir=0;
foreach ($dirs as $k=>$dir) {
$numDir++;
if ($dir['naissance_date']<>'0000-00-00')
$dateNaiss=Wdate::dateT('Y-m-d','d/m/Y', $dir['naissance_date']);
else
$dateNaiss='';
if ($dir['flux']<>'0000-00-00')
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['flux']);
else
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['dateInsert']);
$nom=trim($dir['nom']);
$nomUsage='';
if (trim($dir['naissance_nom'])<>'') {
$nom=trim($dir['naissance_nom']);
$nomUsage=trim($dir['nom']);
}
$tabRet[]=array( 'Fonction' =>$dir['fonction_code'],
'Titre' =>$dir['fonction_lib'],
'Societe' =>$dir['dirRS'],
'Civilite' =>$dir['civilite'],
'Nom' =>$nom,
'Prenom' =>$dir['prenom'],
'NomUsage' =>$nomUsage,
'NaissDate' =>$dateNaiss,
'NaissVille' =>$dir['naissance_lieu'],
'NaissDepPays' =>'', // 25
'Ancien' =>0,
'DateFct' =>$dateModif,
'Cinf' =>$dir['cinf'],
);
if ($numDir>=$nbDirs) break;
}
if ($numDir==0) {
$dirs=$this->iDb->select(
'jo.rncs_entrep',
"siren, raisonSociale, '' AS dirRS, IF(sexe='M', 'M', IF(sexe='F', 'MME', '')) AS civilite, nom, prenom, nomUsage AS naissance_nom, dateNaiss AS naissance_date, lieuNaiss AS naissance_lieu, 1050 AS fonction_code, 'Personne Physique' AS fonction_lib, 0 AS cinf, dateFer AS dateFin, flux, dateInsert",
"siren=$siren", true, MYSQL_ASSOC);
$numDir=0;
foreach ($dirs as $k=>$dir) {
$numDir++;
if ($dir['naissance_date']<>'0000-00-00')
$dateNaiss=Wdate::dateT('Y-m-d','d/m/Y', $dir['naissance_date']);
else
$dateNaiss='';
if ($dir['flux']<>'0000-00-00')
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['flux']);
else
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['dateInsert']);
$nom=trim($dir['nom']);
$nomUsage='';
if (trim($dir['naissance_nom'])<>'') {
$nom=trim($dir['naissance_nom']);
$nomUsage=trim($dir['nom']);
}
$tabRet[]=array( 'Fonction' =>$dir['fonction_code'],
'Titre' =>$dir['fonction_lib'],
'Societe' =>$dir['dirRS'],
'Civilite' =>$dir['civilite'],
'Nom' =>$nom,
'Prenom' =>$dir['prenom'],
'NomUsage' =>$nomUsage,
'NaissDate' =>$dateNaiss,
'NaissVille' =>$dir['naissance_lieu'],
'NaissDepPays' =>'', // 25
'Ancien' =>0,
'DateFct' =>$dateModif,
'Cinf' =>$dir['cinf'],
);
}
}
return $tabRet;
}
}
?>

View File

@ -648,7 +648,7 @@ $params=md5(serialize($prod));
/*if ($prod['CmdNom']<>'' || $prod['CmdPages']<>'' || $prod['CmdBilan']<>'' || $prod['Millesime']<>'')
$strOption=*/
//AND params='$params'
$res=$this->iDb->select('rncs_requetes', 'dateRequete, strXml, codeErreur, libErreur', "siren=$siren AND params='$params' AND (type<>'QVIT' OR (type='QVIT' AND DATEDIFF(NOW(),dateRequete)<=1)) ORDER BY dateRequete DESC");
$res=$this->iDb->select('jo.rncs_requetes', 'dateRequete, strXml, codeErreur, libErreur', "siren=$siren AND params='$params' AND (type<>'QVIT' OR (type='QVIT' AND DATEDIFF(NOW(),dateRequete)<=1)) ORDER BY dateRequete DESC");
//type='".$prod['Type']."' AND presta ='".$prod['Presta']."' $strOption ORDER BY dateRequete DESC");
if (count($res)>0) {
$tabRes=$res[0];
@ -712,8 +712,8 @@ if (count($res)>0) {
'codeErreur' => $this->errNumInpi,
'libErreur' => $this->errMsgInpi,
);
if (!$this->iDb->insert('rncs_requetes', $tabInsert, true))
$this->iDb->update('rncs_requetes', $tabInsert, "siren=$siren AND params='$params'");
if (!$this->iDb->insert('jo.rncs_requetes', $tabInsert, true))
$this->iDb->update('jo.rncs_requetes', $tabInsert, "siren=$siren AND params='$params'");
}
}

View File

@ -680,7 +680,7 @@ if (count($res)>0) {
'codeErreur' => $this->errNumInpi,
'libErreur' => $this->errMsgInpi,
);
$this->iDb->insert('rncs_requetes', $tabInsert, true);
$this->iDb->insert('jo.rncs_requetes', $tabInsert, true);
}
if ($prod['Presta']==12004)

View File

@ -0,0 +1,715 @@
<?php
class MRnvp
{
protected $iDb;
protected $iInsee;
public $tabDevises=array();
public $nomTronque=0;
protected $tabAdrCQ=array(
10=>'Adresse correcte',
20=>'Adresse correcte (Voie non reconue dans un CEDEX ou BP)',
21=>'Adresse correcte mais numéro de facade hors borne (petite ville)',
22=>'Adresse correcte mais numéro de facade absent (petite ville)',
23=>'Adresse correcte mais numéro de facade hors borne (grande ville)',
24=>'Adresse correcte mais numéro de facade absent (grande ville)',
30=>'Voie non reconnue (petite ville)',
31=>'Voie non reconnue (petite ville, quartier reconnu)',
40=>'Voie absente (petite ville, quartier reconnu)',
41=>'Voie absente (petite ville)',
50=>'Voie non reconnue (grande ville)',
51=>'Voie non reconnue (grande ville, quartier reconnu)',
60=>'Voie absente (grande ville, quartier reconnu)',
61=>'Voie absente (grande ville)',
70=>'Voie présente mais Cp/Ville non corrigeable',
80=>'Voie absente et Cp/Ville non corrigeable',
90=>'Adresse à l\'étranger',
);
function __construct() {
$this->iDb = new WDB();
$this->iInsee = new MInsee($this->iDb);
}
/**
* Initialisation du tableau privé des devises Inpi <=> ISO
* @return multitype:Ambigous <multitype:>
*/
protected function getTabDevisesInpi()
{
$rep=$this->iDb->select('jo.tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
$tabDevises=array();
foreach($rep as $k=>$dev)
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
return $tabDevises;
}
/**
* Récupération du code ISO de la devise numérique de l'Inpi
* @param integer $numDeviseInpi
* @return multitype:|string
*/
public function getDeviseInpi($numDeviseInpi)
{
if ($numDeviseInpi*1>0 && isset($this->tabDevises[$numDeviseInpi*1]))
return $this->tabDevises[$numDeviseInpi*1];
else
return '';
}
/**
* @todo Corriger les adresses présentes dans CEDEXA (toutes les lignes)
* @todo Ligne 3, acheter HEXALIGNE3
* @param unknown $adrL1
* @param unknown $adrL2
* @param unknown $adrL3
* @param unknown $adrL4
* @param unknown $adrL5
* @param unknown $adrL6
* @param string $adrL7
* @param number $norme
* @param string $debug
* @return multitype:string number |string|unknown
*/
public function normaliseAdresse($adrL1, $adrL2, $adrL3, $adrL4, $adrL5, $adrL6, $adrL7='', $norme=38, $debug=false)
{
$tDeb=microtime(1);
$erreur=false;
if ($norme<>32 && $norme<>38) {
return array(
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'I8',
'errRNVPlib'=>'La norme doit être 32 ou 38 caractères (38 par défaut)'
);
}
$adrL=$tabRetI=$tabRetV=$tabRetR=$tabRetE=array();
$L1tr=$L2tr=$L3tr=0; // Par défaut, les lignes ne sont pas indiquées comme tronquées
$adrL[1]=$adrL1=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL1)))));
$adrL[2]=$adrL2=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL2)))));
$adrL[3]=$adrL3=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL3)))));
$adrL[4]=$adrL4=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL4)))));
$adrL[5]=$adrL5=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL5)))));
$adrL[6]=$adrL6=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL6)))));
$adrL[7]=$adrL7=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL7)))));
$dureeM=round(microtime(1)-$tDeb,3);
if ($adrL7<>'' || $adrL7<>'FRANCE' || $adrL7<>'MONACO')
$L1=$adrL1;
$L2=$adrL2;
// Ligne 3, acheter HEXALIGNE3
$L3=$adrL3;
// Ligne 5 et 7 par défaut
$L7=$adrL7;
$L5=$adrL5;
// Ligne 6 : CP + Localité
$idAdr56=false;
$tabAdr56k=$tabAdr56L=array();
$cp=substr(trim($adrL6),0,5);
if ($cp*1>0) {
$cp2=substr($cp,0,2);
$ville=trim(strtr(substr($adrL6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
} else {
$cp=$cp2='';
$ville=trim(strtr($adrL6,array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
}
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
$tabRetI=array(
'operateurRnvp'=>'SED',
'in_cp'=>$cp,
'in_dep'=>$cp2,
'in_ville'=>$ville,
'in_L1'=>$adrL1,
'in_L2'=>$adrL2,
'in_L3'=>$adrL3,
'in_L4'=>$adrL4,
'in_L5'=>$adrL5,
'in_L6'=>$adrL6,
'in_L7'=>$adrL7);
//$dureeM=round(microtime(1)-$tDeb,3);
$tD=microtime(1);
$ret=$this->iDb->select('villes.hexaviaVilles',
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) AS score",
"(MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) OR MATCH (codePostal, libCom38) AGAINST ('$cp2 $ville' IN NATURAL LANGUAGE MODE)) ORDER BY score DESC /*OR codePostal='$cp' AND libCom$norme='$ville'*/",false, MYSQL_ASSOC);
$nbRet=count($ret);
if ($nbRet==0) {
$tabRetE=array(
'dureeV'=> round(microtime(1)-$tD,3),
'errRNVPcode'=>'V0',
'errRNVPlib'=> "Aucune correspondance CP VILLE (cp=$cp, ville=$ville)");
$erreur=true;
} else {
foreach($ret as $i=>$iRet) {
if ($debug) echo "je compare '$cp' avec '".$iRet['codePostal']."' et '$ville' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].", score=".$iRet['score'].")".EOL;
if (($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2) && ($iRet["libCom$norme"]==$ville || preg_replace('/ 0/', ' ',$iRet["libCom$norme"])==$ville) || (strpos($iRet["libCom$norme"],$ville)>0 && $nbRet==1)) {
$idAdr56=$iRet['idAdr56'];
$dateMajHexavia=$iRet["dateMaj$norme"];
$codeMajHexaviaVille=$iRet["codeMaj$norme"];
$hexaViaComCod=$iRet['codeInseeCom'];
$hexaViaComLib=$iRet["libCom$norme"];
$hexaViaCP=$iRet['codePostal'];
$L5=$iRet["libLigne5n$norme"];
$L6=$iRet['codePostal'].' '.$iRet["libLigne6n$norme"];
$L7='';
$tabAdr56k[]=$idAdr56;
$tabAdr56L['_'.$idAdr56]=array('L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
$tabRetV=array(
'HexaviaDateRef'=> $dateMajHexavia,
'HexaviaCMAJVille'=>$codeMajHexaviaVille,
'HexaviaComCod'=> $hexaViaComCod,
'HexaviaComLib'=> $hexaViaComLib,
'HexaviaCP'=> $hexaViaCP,
'codeInseeGlobal'=> $iRet['codeInseeGlobal'],
'codeInseePre'=> $iRet['codeInseePre'],
'indPluridis'=> $iRet['indPluridis'],
'indRoudis'=> $iRet['indRoudis'],
'libLigne5'=> $iRet["libLigne5n$norme"],
'libLigne6'=> $iRet["libLigne6n$norme"],
'dureeV'=> round(microtime(1)-$tD,3),
);
// if ($iRet['score']>17) break;
}
}
if (!$idAdr56) {
$iRet=$ret[0];
if ($debug) echo "On prend le score le + élevé s'il est > à 15 : je compare '$cp' avec '".$iRet['codePostal']."' et '$ville' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].")".EOL;
//echo '['.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])) .'-v/s-'.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$ville)).']'.EOL;
if (($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2) && ($iRet["libCom$norme"]==$ville || (substr(trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])),0,26)==trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$ville)) && $iRet['score']>15) || (strpos($iRet["libCom$norme"],$ville)>0 && $nbRet==1))) {
$idAdr56=$iRet['idAdr56'];
$dateMajHexavia=$iRet["dateMaj$norme"];
$hexaViaComCod=$iRet['codeInseeCom'];
$hexaViaComLib=$iRet["libCom$norme"];
$hexaViaCP=$iRet['codePostal'];
$L5=$iRet["libLigne5n$norme"];
$L6=$iRet['codePostal'].' '.$iRet["libLigne6n$norme"];
$L7='';
$tabAdr56k[]=$idAdr56;
$tabAdr56L['_'.$idAdr56]=array('L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
$tabRetV=array(
'HexaviaDateRef'=> $dateMajHexavia,
'HexaviaCMAJVille'=>$codeMajHexaviaVille,
'HexaviaComCod'=> $hexaViaComCod,
'HexaviaComLib'=> $hexaViaComLib,
'HexaviaCP'=> $hexaViaCP,
'codeInseeGlobal'=> $iRet['codeInseeGlobal'],
'codeInseePre'=> $iRet['codeInseePre'],
'indPluridis'=> $iRet['indPluridis'],
'indRoudis'=> $iRet['indRoudis'],
'libLigne5'=> $iRet["libLigne5n$norme"],
'libLigne6'=> $iRet["libLigne6n$norme"],
'dureeV'=> round(microtime(1)-$tD,3),
);
} else {
if ($debug) print_r($ret);
$erreur = true;
$tabRetE = array(
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'V2',
'errRNVPlib'=>"Plusieurs correspondances CP VILLE pour $cp $ville"
);
//return 'Plusieurs correspondances CP VILLE'.EOL;
}
}
}
if ($erreur) return array_merge($tabRetI,$tabRetE);
// Ligne 4 : Découpage N° Répétition TypeVoie et LibelléVoie
$tD=microtime(1);
$matriculeHexavia=false;
$tabAdr=$this->iInsee->structureVoie($adrL4);
$numVoie=@$tabAdr['num'];
$indRep=@$tabAdr['indRep'];
$typeVoie=@$tabAdr['typeVoie'];
$libVoie=@$tabAdr['libVoie'];
$libVoie5=trim(substr($libVoie,0,5));
$derMot='';
if (preg_match('/([a-z\d]{1,20})$/i', $libVoie, $matches2))
$derMot=trim($matches2[1]);
$derMot5=trim(substr($derMot,0,5));
$strAdr56=implode("','", $tabAdr56k);
$ret=$this->iDb->select(
'villes.hexaviaVoies',
"idAdr56, codeVoie, derElemVoie, libVoie$norme, typeVoie, descLibVoie, indStand$norme, indScind, indHomo, codePostal, codeRoudis, codeMaj$norme, dateMaj$norme,
numImpMin, numImpMinExt, numImpMax, numImpMaxExt, numPairMin, numPairMinExt, numPairMax, numPairMaxExt, MATCH (codeInseeCom, libVoie38) AGAINST ('$hexaViaComCod $typeVoie $libVoie' IN NATURAL LANGUAGE MODE) AS score",
"idAdr56 IN ('$strAdr56') AND (MATCH (codeInseeCom, libVoie38) AGAINST ('$hexaViaComCod $typeVoie $libVoie' IN NATURAL LANGUAGE MODE) OR derElemVoie LIKE '$derMot5%') ORDER BY score DESC LIMIT 0,20
/*AND typeVoie='$typeVoie' AND derElemVoie='$derMot'*/",false, MYSQL_ASSOC
);
$nbRet=count($ret);
if ($nbRet==0) {
// Vérifier si la commune à des voies normées 98816
$ret=$this->iDb->select( 'villes.hexaviaVoies', "codeVoie", "idAdr56 IN('$strAdr56')",false, MYSQL_ASSOC);
$nbVoiesCom=count($ret);
if ($nbVoiesCom==0) {
$erreur=true;
if ($debug) echo "Aucune Voie recensée dans cette commune ('$strAdr56') !".EOL;
$tabRetE=array(
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'R0',
'errRNVPlib'=>"Aucune Voie recensée dans cette commune ('$strAdr56')"
);
} else {
$tabRetE=array(
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'R1',
'errRNVPlib'=>"Aucune correspondance Voie pour '$adrL4', '$libVoie' ($nbVoiesCom voies dans la commune #$idAdr56)"
);
}
return array_merge($tabRetI,$tabRetV,$tabRetE);
} else {
foreach($ret as $i=>$iRet) {
$libVoieRet=preg_replace('/^[A-Z]{1,4}\s+/','', $iRet["libVoie$norme"]);
if ($debug) echo "je compare '$typeVoie $libVoie' avec '".$iRet["typeVoie"]." $libVoieRet' ainsi que '$derMot' avec '". $iRet['derElemVoie']."'";
if ($iRet['typeVoie']==$typeVoie && ($iRet["libVoie$norme"]==$libVoie || $iRet['derElemVoie']==$derMot || substr($iRet['derElemVoie'],0,5)==$derMot5)) {
// echo ' OK';
$idAdr56=$iRet['idAdr56'];
$L4=preg_replace('/\s+/', ' ', trim($numVoie.' '.$indRep.' '.$iRet["libVoie$norme"]));
$L4=preg_replace('/^0+/','',$L4);
$hexaViaVoie=$iRet["libVoie$norme"];
if (strlen($L4)>$norme) return "Taille de la ligne 4 générée en sortie plus longue que $norme !".EOL;
$matriculeHexavia=$iRet['codeVoie'];
$codeRoudis=$iRet['codeRoudis'];
$L5=$tabAdr56L['_'.$idAdr56]['L5'];
$L6=$tabAdr56L['_'.$idAdr56]['L6'];
$L7=$tabAdr56L['_'.$idAdr56]['L7'];
// Si c'est le meilleur score trouvé on sort
if ($iRet['score']>17 && isset($ret[$i+1]) && $iRet['score']>$ret[$i+1]['score']) break;
}
}
$dureeR=round(microtime(1)-$tD,3);
if (!$matriculeHexavia) {
if ($debug) print_r($ret);
if ($debug) echo ("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".EOL);
//die("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".EOL);
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'R2',
'errRNVPlib'=>"Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56')");
return array_merge($tabRetI,$tabRetV,$tabRetE);
}
}
if (!$matriculeHexavia && @strlen($L4)==0) $L4=$adrL4;
$tD=microtime(1);
$tabLen=$tabMaxLen=array();
$tabLen[1]=strlen($L1);
if ($tabLen[1]>$norme) {
$L1=$this->normaliseRS($L1, $norme);
if ($this->nomTronque==1) $L1tr=1;
$tabLen[1]=strlen($L1); if ($tabLen[1]>$norme) $tabMaxLen[]=1;
}
$tabLen[2]=strlen($L2);
if ($tabLen[2]>$norme) {
$L2=$this->normaliseRS($L2, $norme);
if ($this->nomTronque==1) $L2tr=1;
$tabLen[2]=strlen($L2); if ($tabLen[2]>$norme) $tabMaxLen[]=2;
}
$tabLen[3]=strlen($L3);
if ($tabLen[3]>$norme) {
$L3=$this->normaliseRS($L3, $norme);
if ($this->nomTronque==1) $L3tr=1;
$tabLen[3]=strlen($L3); if ($tabLen[3]>$norme) $tabMaxLen[]=3;
}
$tabLen[4]=strlen($L4); if ($tabLen[4]>$norme) $tabMaxLen[]=4;
$tabLen[5]=strlen($L5); if ($tabLen[5]>$norme) $tabMaxLen[]=5;
$tabLen[6]=strlen($L6); if ($tabLen[6]>$norme) $tabMaxLen[]=6;
$tabLen[7]=strlen($L7); if ($tabLen[7]>$norme) $tabMaxLen[]=7;
$tabRetE=array(
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'00',
'errRNVPlib'=>"Normalisation OK"
);
if (count($tabMaxLen)>0) {
/*foreach($tabMaxLen as $j) {
echo "La ligne n°$j fait ".$tabLen[$j]." caractères : '".$adrL[$j]."'".EOL;
}*/
if ($j>1) {
$tabRetE = array(
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'O0',
'errRNVPlib'=>"Une des lignes fait plus de $norme caractères !"
);
}
}
$dureeN=round(microtime(1)-$tD,3);
$tabRetR = array(
'L1'=>$L1,
'L2'=>$L2,
'L3'=>$L3,
'L4'=>$L4,
'L5'=>$L5,
'L6'=>$L6,
'L7'=>$L7,
'L1_tr'=>$L1tr,
'L2_tr'=>$L2tr,
'L3_tr'=>$L3tr,
'HexaVia56'=>$idAdr56,
'HexaViaVoie'=>$hexaViaVoie,
'HexaViaMat'=>$matriculeHexavia,
'RoudisId'=>$codeRoudis,
'dureeR'=>$dureeR,
'dureeN'=>$dureeN,
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'dureeM'=>$dureeM*1.0,
);
$tabRet = array_merge($tabRetI,$tabRetV,$tabRetR,$tabRetE);
return $tabRet;
}
/** Retourne le tableau des abbréviations existantes par type d'abréviation
*/
function getAbreviations($typeAbrev)
{
$tabRet=array();
if ($typeAbrev=='P') {
$ret=$this->iDb->select('villes.tabPrenoms',
"prenom",
"LENGTH(prenom)>3 AND nbTot>0 ORDER BY LENGTH(prenom) DESC",false, MYSQL_ASSOC);
foreach($ret as $iRet) {
$tabTmp=explode('-',$iRet['prenom']);
$tabTmp2=array();
foreach($tabTmp as $subPrenom)
$tabTmp2[]=substr($subPrenom,0,1);
$tabRet[$iRet['prenom']]=implode('-', $tabTmp2);
}
} else {
$ret=$this->iDb->select('villes.tabAbreviations',
"abrCode, abrLib",
"abrType='$typeAbrev' AND dateSuppr=0 AND idSuppr=0 ORDER BY LENGTH(abrLib) DESC, LENGTH(abrCode) ASC",false, MYSQL_ASSOC);
foreach($ret as $iRet) {
$tabTmp=explode('/', $iRet['abrLib']);
foreach($tabTmp as $abrLib) {
if ($typeAbrev=='A')
$tabRet[$abrLib]='';
else
$tabRet[$abrLib]=$iRet['abrCode'];
}
}
}
//print_r($tabRet);die();
return $tabRet;
}
/** Normalise une raison sociale ou un nom
**/
function normaliseRS($nomLong, $taille=38, $debug=false)
{
$nomCourt=preg_replace('/[^A-Z0-9%@&\'\(\)\"\-\*\/\s\+]/','',trim(strtoupper($nomLong)));
$tabMots=split("[^[:alpha:]]+", $nomCourt);
$passage=0;
$this->nomTronque=0;
echo $nomCourt.EOL;
while (strlen($nomCourt)>$taille) {
// 1. Remplacement des Libellés de Voies par leurs code Voie
$tabTmp=$this->getAbreviations('V');
foreach ($tabTmp as $lib=>$abr) {
$nomCourt=trim(str_replace(" $lib".'ES ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib".'E ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib".'S ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
if (strlen($nomCourt)<=$taille) break;
}
if ($debug) echo "1-Voies=$nomCourt".EOL;
if (strlen($nomCourt)<=$taille) break;
//print_r($tabMots);
// 2. Remplacement des Titres par leurs abréviation
$tabTmp=$this->getAbreviations('T');
foreach ($tabTmp as $lib=>$abr) {
$nomCourt=trim(str_replace(" $lib".'ES ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib".'E ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib".'S ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
if (strlen($nomCourt)<=$taille) break;
}
if ($debug) echo "2a-Titres=$nomCourt".EOL;
if (strlen($nomCourt)<=$taille) break;
// 2. Remplacement des Formes Juridiques
$tabTmp=$this->getAbreviations('J');
foreach ($tabTmp as $lib=>$abr)
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
if ($debug) echo "2b-FJ=$nomCourt".EOL;
if (strlen($nomCourt)<=$taille) break;
// 4. Suppression des articles
$tabTmp=$this->getAbreviations('A');
foreach ($tabTmp as $lib=>$abr) {
if (strpos($lib,"'")>0)
$nomCourt=trim(str_replace(' '.$lib, ' ', " $nomCourt "));
else
$nomCourt=trim(str_replace(" $lib ", ' ', " $nomCourt "));
if (strlen($nomCourt)<=$taille) break;
}
if ($debug) echo "4-Articles=$nomCourt".EOL;
if (strlen($nomCourt)<=$taille) break;
// 3. Remplacement des Prénoms par leurs initiales
$tabTmp=$this->getAbreviations('P');
foreach ($tabTmp as $lib=>$abr) {
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
if (strlen($nomCourt)<=$taille) break;
}
if ($debug) echo "3-Prenoms=$nomCourt".EOL;
if (strlen($nomCourt)<=$taille) break;
$tabTmp=$this->getAbreviations('N');
foreach ($tabTmp as $lib=>$abr) {
$nomCourt=trim(str_replace(" $lib".'ES ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib".'E ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib".'S ', ' '.$abr.' ', " $nomCourt "));
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
if (strlen($nomCourt)<=$taille) break;
}
if ($debug) echo "5-Autres Noms=$nomCourt".EOL;
if (strlen($nomCourt)<=$taille) break;
$nomCourt=substr($nomCourt,0,$taille);
$this->nomTronque=1;
//die($nomCourt);
/** @todo A finir
Tronquer ou abréger dans cette ordre
- type de voie
- titres
- initiale du prénom
- supprimez les articles (mais pas les particules dans un nom propre)
- tronquer à 4 caractères les types de voie non normalisés
- tronquer les extensions de voie
- réduire le nom de la voie en supprimant les mots de la gauche vers la droite
Gérer les pluriels pour les voies, nom, titres, et formes juridiques
**/
$passage++;
}
return $nomCourt;
}
// Code Insee de la commune libCom32 Libellé de la commune (Ancienne norme 32) libCom38 Libellé
function getLibCommune($codeInsee, $norme=38) {
if ($norme<>32 && $norme<>38) {
return 'La norme doit être 32 ou 38 caractères (38 par défaut)'.EOL;
}
$ret=$this->iDb->select('villes.hexaviaVilles',
"libCom32 , libCom38",
"codeInseeCom='$codeInsee' LIMIT 0,1",false, MYSQL_ASSOC);
$nbRet=count($ret);
if ($nbRet==0 && $codeInsee>99000) {
$codePaysInsee=substr($codeInsee,2,3);
$ret=$this->iDb->select('jo.tabPays',
"SUBSTRING(libPays,1,32) AS libCom32, SUBSTRING(libPays,1,38) AS libCom38",
"codePaysInsee='$codeInsee' ORDER BY dependance ASC LIMIT 0,1",false, MYSQL_ASSOC);
$nbRet=count($ret);
}
if ($nbRet==0) return 'Aucune correspondance VILLE';
elseif ($norme==32) return $ret[0]['libCom32'];
else return $ret[0]['libCom38'];
}
function getCPCommune($codeInsee)
{
$ret=$this->iDb->select('villes.hexaviaVilles',
"codePostal",
"codeInseeCom='$codeInsee' GROUP BY codePostal",false, MYSQL_ASSOC);
$nbRet=count($ret);
if ($nbRet==1) return $ret[0]['codePostal'];
return false;
}
function getCodCommune($libelleCommune, $depOuCp='', $debug=false)
{
$norme=38;
$codeCommune=false;
$cp=$depOuCp;
$cp2=substr($cp,0,2);
$ret=$this->iDb->select('villes.hexaviaVilles',
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$depOuCp $libelleCommune' IN NATURAL LANGUAGE MODE) AS score",
"MATCH (codePostal, libCom38) AGAINST ('$depOuCp $libelleCommune' IN NATURAL LANGUAGE MODE) ORDER BY score DESC",false, MYSQL_ASSOC);
// print_r($ret);
$nbRet=count($ret);
if ($nbRet==0)
return false;
else {
foreach($ret as $i=>$iRet) {
if ($debug) echo "je compare '$depOuCp' avec '".$iRet['codePostal']."' et '$libelleCommune' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].", score=".$iRet['score'].")".EOL;
if (($depOuCp<>'' && ($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2)) && ($iRet["libCom$norme"]==$libelleCommune || preg_replace('/ 0/', ' ',$iRet["libCom$norme"])==$libelleCommune) || (strpos($iRet["libCom$norme"],$libelleCommune)>0 && $nbRet==1)) {
$codeCommune=$iRet['codeInseeCom'];
if ($iRet['score']>17) break;
}
}
if (!$codeCommune) {
$iRet=$ret[0];
if ($debug) echo "On prend le score le + élevé s'il est > à 15 : je compare '$cp' avec '".$iRet['codePostal']."' et '$libelleCommune' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].")".EOL;
if ($debug) echo '['.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])) .'-v/s-'.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$libelleCommune)).']'.EOL;
if (($depOuCp<>'' && ($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2)) && ($iRet["libCom$norme"]==$libelleCommune || (substr(trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])),0,26)==trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$libelleCommune)) && $iRet['score']>15) || (strpos($iRet["libCom$norme"],$libelleCommune)>0 && $nbRet==1))) {
$codeCommune=$iRet['codeInseeCom'];
}
}
//die("Code commune de $libelleCommune ($depOuCp) = $codeCommune".EOL);
}
return $codeCommune;
}
function normaliseAdresse76310($L1,$L2,$L3,$L4,$L5,$L6,$L7='')
{
$tDeb=microtime(1);
$tabRetR=$tabRetE=array();
$cp=substr(trim($L6),0,5);
$cp2=substr($cp,0,2);
$ville=trim(strtr(substr($L6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
$tabRetI=array( 'operateurRnvp'=>'76310WEB',
'in_cp'=>$cp,
'in_dep'=>$cp2,
'in_ville'=>$ville,
'in_L1'=>trim($L1),
'in_L2'=>trim($L2),
'in_L3'=>trim($L3),
'in_L4'=>trim($L4),
'in_L5'=>trim($L5),
'in_L6'=>trim($L6),
'in_L7'=>trim($L7));
//$client = new SoapClient('http://www.rnvp-en-ligne.com/service.asmx?wsdl');
$client = new SoapClient('http://www.rnvp-en-ligne.com/service_v5.asmx?wsdl');
$nbEssais=1;
$array = array (
'pi_session' => '-1',
'pi_user' => 'SDPROD',
'pi_password' => '7631014530',
'pi_codedossier' => '0001',
'pi_numfichier' => '1',
'pi_rsoc' => utf8_encode($L1),
//'pio_civ' => '',
//'pio_nom' => '',
//'pio_prenom' => '',
'pio_cnom' => utf8_encode($L2), // Ligne 2
'pio_cadrs' => utf8_encode($L3), // Ligne 3
'pio_adresse' => utf8_encode($L4), // Ligne 4
'pio_lieudit' => utf8_encode($L5), // Ligne 5
'pio_cpville' => utf8_encode($L6), // Ligne 6
'pio_pays' => utf8_encode($L7), // Ligne 7
/* 'po_tnp' => '',
'po_sex' => '',
'po_civlong' => '',
'po_cp' => '',
'po_ville' => '',
'po_insee' => '',
'po_cqtnp' => '',
'po_cqadrs' => '',
'po_risquerestru' => '',
'po_poidsmodif' => '',
'po_rejet' => '',
'po_etranger' => ''*/
);
while(1) {
try {
//$result = $client->Elfyweb_RNVP_Standard($array);
$result = $client->Elfyweb_RNVP_Expert_V50($array);
//print_r($result);
$tabRetR=array( 'L1'=>$L1,
'L2'=>$L2,
'L3'=>strtoupper(utf8_decode($result->pio_cadrs)),
'L4'=>strtoupper(utf8_decode($result->pio_adresse)),
'L5'=>strtoupper(utf8_decode($result->pio_lieudit)),
'L6'=>strtoupper(utf8_decode($result->pio_cpville)),
/* [po_risquerestru] => 0
[po_poidsmodif] => 0
[po_rejet] =>
[po_etranger] =>*/
'Cp'=>$result->po_cp,
'Ville'=>$result->po_ville,
'Insee'=>$result->po_insee,
/*'CQadrs'=>$result->po_cqadrs,
'CQadrsLib'=>$this->tabAdrCQ[$result->po_cqadrs],
'CQAdrRnvp'=>$this->getLibQualiteAdresse76310($result->po_cqadrs, $result->rejet),*/
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
);
if (@$result->pio_pays<>'FRA') $tabRet['L7']=$result->pio_pays;
break;
} catch (SoapFault $fault) {
$nbEssais++;
if ($nbEssai<5) continue;
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
'errRNVPcode'=>'S0',
'errRNVPlib'=>"Erreur SOAP : ".print_r($fault,1));
}
}
$tabRet=array_merge($tabRetI,$tabRetR,$tabRetE);
return $tabRet;
}
function getLibQualiteAdresse76310($cqadrs, $correctionDouteuse)
{
switch ($cqadrs*1) {
case 10: // Adresse correcte
case 20: // Adresse correcte (Voie non reconue dans un CEDEX ou BP)
case 21: // Adresse correcte mais numéro de facade hors borne (petite ville)
case 22: // Adresse correcte mais numéro de facade absent (petite ville)
case 23: // Adresse correcte mais numéro de facade hors borne (grande ville)
case 24: // Adresse correcte mais numéro de facade absent (grande ville)
$cqRnvpSed=1;
break;
case 31: // Voie non reconnue (petite ville, quartier reconnu)
case 51: // Voie non reconnue (grande ville, quartier reconnu)
$cqRnvpSed=2;
break;
case 30: // Voie non reconnue (petite ville)
case 50: // Voie non reconnue (grande ville)
$cqRnvpSed=3;
break;
case 40: // Voie absente (petite ville, quartier reconnu)
case 41: // Voie absente (petite ville)
case 60: // Voie absente (grande ville, quartier reconnu)
case 61: // Voie absente (grande ville)
$cqRnvpSed=4;
break;
case 70: // Voie présente mais Cp/Ville non corrigeable
case 80: // Voie absente et Cp/Ville non corrigeable
$cqRnvpSed=5;
break;
default:
$cqRnvpSed=0;
break;
}
if ($correctionDouteuse=='D') $cqRnvpSed=0;
return $cqRnvpSed;
}
function getAdresseRnvpSource($source, $source_id, $num=0)
{
$ret=$this->iDb->select(
'villes.rnvpSources',
'id, source, source_id, num, L1rnvp, L2rnvp, L3rnvp, L4rnvp, L5rnvp, L6rnvp, L7rnvp, Pays, dateInsert,
operateurRnvp, dateEnvoiRnvp, dateRetourRnvp, codeRetour, NumVoie, BisTer, TypeVoieCourt, TypeVoieLong, LibVoie,
Cp, Ville, Insee, CQadrs, CorrectionImportante, CorrectionDouteuse, HexaCle, CQL3, InseeGlobal, OldInsee,
IsInseeReconstitue, NumDept, IdHexavia, IdHexaposte, Iris_Rivoli, Iris_Ilot99, Iris_CodeIris, Iris_Canton,
Iris_Zus, Iris_Zfu, CqIris, dateUpdate',
"source=$source AND source_id=$source_id AND num=$num LIMIT 0,1",false, MYSQL_ASSOC);
$tabRet=$ret[0];
$tabRet['CQadrsLib']=$this->tabAdrCQ[$tabRet['CQadrs']];
$tabRet['CQAdrRnvp']=$this->getLibQualiteAdresse76310($tabRet['CQadrs'], $tabRet['CorrectionDouteuse']);
return $tabRet;
}
}
?>

View File

@ -1,25 +1,6 @@
<?php
ini_set('soap.wsdl_cache_enabled', 0);
class AmaSoapClient extends SoapClient {
function __doRequest($request, $location, $action, $version) {
/* $request = strtr($request, array('<ns1:'=>'<ama:',
'</ns1:'=>'</ama:',
// '<param0 xsi:type="xsd:string">'=>'',
'xmlns:ns1="http://www.amabis.com/ama.xsd"'=>'xmlns:ama="http://www.amabis.com/ama.xsd"',
// '</param0>'=>'',
// '&lt;'=>'<',
// '&gt;'=>'>',
)
);*/
return parent::__doRequest($request, $location, $action, $version);
}
}
class classMSigVille {
class classMSigVille
{
private $client;
private $url='http://sig.ville.gouv.fr/recherche-adresses-zus-zfu-quartiers-des-cucs';
@ -100,7 +81,7 @@ class classMSigVille {
$iDb=new WDB();
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
$ville=addslashes($ville);
$ret=$iDb->select( 'zonage', 'zus, zru, zfu, cucs', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
$ret=$iDb->select( 'jo.zonage', 'zus, zru, zfu, cucs', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
if (count($ret)>0) {
$zones=$ret[0];
$tabRep['ZUS']=$tabRep['ZFU']=$tabRep['ZRU']=$tabRep['CUCS']='NON';
@ -141,7 +122,7 @@ class classMSigVille {
/** Découpage des ZFU, CUCS etcs...
**/
$fp=fopen(LOG_PATH.'amabis.log', 'a');
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s').' - '.implode("\n", $rep)."\n============================================================================\n");
fclose($fp);
@ -170,7 +151,7 @@ class classMSigVille {
'adrLibVoie'=>$adrLibVoie,
'rivoli'=>$codeRivoli,
);
$iDb->insert('zonage', $tabInsert);
$iDb->insert('jo.zonage', $tabInsert);
/** Autres Informations de la RNVP
**/
@ -199,14 +180,14 @@ class classMSigVille {
print_r($fault);
echo $this->client->__getLastRequest()."\n";
echo $this->client->__getLastResponse()."\n";
$fp=fopen(LOG_PATH.'amabis.log', 'a');
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s').' - ERREUR SOAP : Requete = '.$this->client->__getLastRequest()."\n Reponse = ".$this->client->__getLastResponse()."\n============================================================================\n");
fclose($fp);
}
//return $tabRep;
}
$codeInsee=substr($codeRivoli,0,5);
$ret=$iDb->select( 'zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
$ret=$iDb->select( 'jo.zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
$tabRep['ZRR']=$tabRep['AFR']='NON';
foreach ($ret as $zones)
switch ($zones['typeZone']) {
@ -232,7 +213,7 @@ class classMSigVille {
$rep=$this->client->rechtel($query);
$fp=fopen(LOG_PATH.'amabis.log', 'a');
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s')." - $query - ".implode("\n", $rep)."\n============================================================================\n");
fwrite($fp, "Requête : ".$this->client->__getLastRequest()."\n");
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");

View File

@ -1,7 +1,10 @@
<?
class MTel {
<?php
require_once 'framework/common/mysql.php';
require_once 'framework/common/curl.php';
require_once 'framework/common/strings.php';
class MTel
{
public $body = '';
public $header = '';
public $codeRetour = 0;
@ -15,8 +18,10 @@ class MTel {
public $iDb;
public function __construct($accesDistant=false) {
public function __construct($accesDistant=false, $db=null)
{
$this->accesDistant=$accesDistant;
$this->accesDistant=false; // Accès bloqué par "pagespro"
if ($this->accesDistant) {
$this->url=$this->urlBase;
$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
@ -25,90 +30,113 @@ class MTel {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
}
$this->iDb=new WDB('jo');
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
}
/**
* @todo :
* 1. Faire une fonction qui récupère les Logos
* 2. Envoyer les logos par le WS
* 3. Permettre la recherche par Tel
* Information contact
* @param string $siret
* @param string $nic
* @param boolean $last
* @param int $actif
* @return array Retourne une liste de téléphone
*/
public function getTel($siret, $nic=0) {
public function getTel($siret, $nic=0, $last=false, $actif=null)
{
$tabRet=array();
if (strlen($siret)>9) {
$nic=substr($siret,-5)*1;
$siren=round($siret/100000)*1;
} else
$nic = substr($siret,-5)*1;
$siren = round($siret/100000)*1;
} else {
$siren=$siret*1;
}
if ($siren<1000) return $tabRet;
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
if (strlen($siren)<=9) {
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
switch (strlen($siren)) {
case 1: $siren='00000000'.$siren; break;
case 2: $siren='0000000'.$siren; break;
case 3: $siren='000000'.$siren; break;
case 4: $siren='00000'.$siren; break;
case 5: $siren='0000'.$siren; break;
case 6: $siren='000'.$siren; break;
case 7: $siren='00'.$siren; break;
case 8: $siren='0'.$siren; break;
}
$siren = str_pad($siren, 9, '0', STR_PAD_LEFT);
}
if (strlen($nic)>0) {
switch (strlen($nic)) {
case 1: $nic='0000'.$nic; break;
case 2: $nic='000'.$nic; break;
case 3: $nic='00'.$nic; break;
case 4: $nic='0'.$nic; break;
}
$nic = str_pad($nic, 5, '0', STR_PAD_LEFT);
}
$strNic='';
if ($nic*1>0) $strNic="AND (nic=$nic OR nic=0)";
$ret=$this->iDb->select('telephonie',
'siren,nic,dateProvPartenaire,typeTel,infoTel,telephone,actif,partenaire,dateInsert',
"siren=$siren $strNic", false, MYSQL_ASSOC);
if (count($ret)>0) {
$strActif='';
if ($actif==1) $strActif=" AND actif=1 ";
elseif($actif==0) $strActif=" AND actif=0 ";
$ret=$this->iDb->select(
'jo.telephonie',
'siren,nic,dateProvPartenaire,typeTel,infoTel,LPAD(telephone,10,0) AS telephone,actif,partenaire,idUtilisateur,dateInsert,dateInsert*1 AS dateInsertYmd,dateConfPartenaire,partenaireConf,nbConf,idUpdate,dateUpdate,dateUpdate*1 AS dateUpdateYmd',
"siren=$siren $strNic $strActif AND dateSuppr=0 ORDER BY typeTel ASC, nbConf DESC", false, MYSQL_ASSOC);
if (count($ret)>0)
{
$this->enCache=true;
foreach ($ret as $tabTel) {
foreach ($ret as $tabTel)
{
if ($tabTel['typeTel']=='an8' && $tabTel['infoTel']*1>0) {
$an8=$tabTel['infoTel']*1;
$retTmp=$this->iDb->select('tabAn8', 'libAn8', "codAn8='$an8'", false, MYSQL_ASSOC);
$retTmp=$this->iDb->select('jo.tabAn8', 'libAn8', "codAn8='$an8'", false, MYSQL_ASSOC);
$infoTel=ucfirst(strtolower($retTmp[0]['libAn8']));
} else
} else {
$infoTel=$tabTel['infoTel'];
$tabRet[]=array('siren'=>$siren,
'nic'=>$tabTel['nic'],
'typeTel'=>$tabTel['typeTel'],
'infoTel'=>$infoTel,
'telephone'=>$tabTel['telephone'],
'actif'=>$tabTel['actif'],
);
}
if ($tabTel['partenaireConf']>0) $source=$tabTel['partenaireConf'];
else $source=$tabTel['partenaire'];
if ($tabTel['dateUpdateYmd']>$tabTel['dateInsertYmd']) $dateMAJ=$tabTel['dateUpdateYmd'];
else $dateMAJ=$tabTel['dateInsertYmd'];
$tabR = array(
'siren'=>$siren,
'nic'=>$tabTel['nic'],
'typeTel'=>$tabTel['typeTel'],
'infoTel'=>$infoTel,
'telephone'=>$tabTel['telephone'],
'actif'=>$tabTel['actif'],
'source'=>$source,
'dateMAJ'=>$dateMAJ,
);
$tabRet[]=$tabR;
if ($last) {
if ($source==175 && !@isset($tabLast[$tabTel['typeTel']][1])) @$tabLast[$tabTel['typeTel']][1]=$tabR;
elseif(($source==118 ||
$source==250 ||
$source==253) && !@isset($tabLast[$tabTel['typeTel']][2])) @$tabLast[$tabTel['typeTel']][2]=$tabR;
elseif ($source<>2 && !@isset($tabLast[$tabTel['typeTel']][3])) @$tabLast[$tabTel['typeTel']][3]=$tabR;
elseif ($source==2 && !@isset($tabLast[$tabTel['typeTel']][4])) @$tabLast[$tabTel['typeTel']][4]=$tabR;
}
}
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTel::getTel($siret,$nic)", print_r($tabRet,true));
} elseif ($this->accesDistant) {
$this->enCache=false;
$tabPost=array( 'p_ACTION'=>'',
'p_ORDRE'=>'AfficheRes',
'a_PAGE'=>'1',
'a_TAG'=>'',
'a_OccRecherche'=>'',
'typeRecherche'=>'express',
'satellite'=>'siret',
'a_activ'=>'',
'a_rai_soc'=>'',
'a_naf'=>'',
'a_siren'=>$siret,
'a_tel'=>'',
'a_geo'=>'',
'typeTri'=>'',
'ordreTri'=>'',
'a_session'=>'',
);
}
elseif ($this->accesDistant)
{
$this->enCache=false;
$tabPost = array(
'p_ACTION'=>'',
'p_ORDRE'=>'AfficheRes',
'a_PAGE'=>'1',
'a_TAG'=>'',
'a_OccRecherche'=>'',
'typeRecherche'=>'express',
'satellite'=>'siret',
'a_activ'=>'',
'a_rai_soc'=>'',
'a_naf'=>'',
'a_siren'=>$siret,
'a_tel'=>'',
'a_geo'=>'',
'typeTri'=>'',
'ordreTri'=>'',
'a_session'=>'',
);
//$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
$page=getUrl($this->url,$this->cookie,$tabPost,$this->referer,false,'','',3);
$this->referer=$this->url;
@ -116,7 +144,7 @@ class MTel {
$this->codeRetour=$page['code'];
$nbResults=0;
if (preg_match('/<b class="total_responses_nr">(.*)réponses<\/b>/Uis', $this->body, $matches))
if (preg_match('/<b class="total_responses_nr">(.*)réponses<\/b>/Uisu', $this->body, $matches))
$nbResults=trim(strtr(strip_tags($matches[1]), array('&nbsp;'=>'','&ndash;'=>'')));
if ($nbResults>0) {
@ -139,80 +167,86 @@ class MTel {
$res['domaines']=trim(preg_replace('/ +/', ' ', preg_replace('/\r+|\n+|\s+/',' ',htm2txt(strip_tags(@getTextInHtml($body, '<div class="puce_domaine">','<strong>','</div>'))))));
if ($res['urlSite']<>'') {
$this->iDb->insert('telephonie', array( 'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'web',
'infoTel'=>$res['urlSite'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
)
);
$tabRet[]=array('siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'web',
'infoTel'=>$res['urlSite'],
'telephone'=>0,
);
$this->iDb->insert('jo.telephonie', array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'web',
'infoTel'=>$res['urlSite'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
));
$tabRet[] = array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'web',
'infoTel'=>$res['urlSite'],
'telephone'=>0,
);
}
if ($res['urlLogo']<>'') {
$this->iDb->insert('telephonie', array( 'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'logo',
'infoTel'=>$res['urlLogo'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
)
);
$tabRet[]=array('siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'logo',
'infoTel'=>$res['urlLogo'],
'telephone'=>0,
);
$this->iDb->insert('jo.telephonie', array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'logo',
'infoTel'=>$res['urlLogo'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
));
$tabRet[] = array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'logo',
'infoTel'=>$res['urlLogo'],
'telephone'=>0,
);
}
if ($res['domaines']<>'') {
$this->iDb->insert('telephonie', array( 'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'domaines',
'infoTel'=>$res['domaines'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
)
);
$tabRet[]=array('siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'domaines',
'infoTel'=>$res['domaines'],
'telephone'=>0,
);
$this->iDb->insert('jo.telephonie', array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'domaines',
'infoTel'=>$res['domaines'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
));
$tabRet[]=array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'domaines',
'infoTel'=>$res['domaines'],
'telephone'=>0,
);
}
if ($res['urlMail']<>'') {
$this->iDb->insert('telephonie', array( 'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'mail',
'infoTel'=>$res['urlMail'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
)
);
$tabRet[]=array('siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'mail',
'infoTel'=>$res['urlMail'],
'telephone'=>0,
);
$this->iDb->insert('jo.telephonie', array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>'mail',
'infoTel'=>$res['urlMail'],
'telephone'=>0,
'actif'=>1,
'partenaire'=>253,
));
$tabRet[]=array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>'mail',
'infoTel'=>$res['urlMail'],
'telephone'=>0,
);
}
if (preg_match_all('/<tr>(?:.*)<th>(?:.*)<span>(.*)(tél|fax)(?:.*)<\/span>(?:.*)<\/th>(?:.*)<td>(?:.*)<span>(.*)<\/span>(?:.*)<\/td>(?:.*)<\/tr>/Uis', $body, $matches)) {
foreach ($matches[2] as $j=>$tmp) {
if (preg_match_all('/<tr>(?:.*)<th>(?:.*)<span>(.*)(tél|fax)(?:.*)<\/span>(?:.*)<\/th>(?:.*)<td>(?:.*)<span>(.*)<\/span>(?:.*)<\/td>(?:.*)<\/tr>/Uis', $body, $matches))
{
foreach ($matches[2] as $j=>$tmp)
{
$lib=$tmp;
$precis=trim(strtr($matches[1][$j], array('-'=>' ')));
$num=trim(strtr($matches[3][$j],array('&nbsp;'=>'','<br />'=>'')));
@ -220,60 +254,43 @@ class MTel {
}
$tabTel=array_values($tabTel);
foreach ($tabTel as $tabT) {
$tabRet[]=array('siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>trimAccent($tabT['telFax']),
'infoTel'=>$tabT['type'],
'telephone'=>$tabT['telNum'],
'actif'=>1,
);
$this->iDb->insert('telephonie', array( 'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>trimAccent($tabT['telFax']),
'infoTel'=>$tabT['type'],
'telephone'=>$tabT['telNum'],
'actif'=>1,
'partenaire'=>253,
)
);
foreach ($tabTel as $tabT)
{
$tabRet[]=array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'typeTel'=>trimAccent($tabT['telFax']),
'infoTel'=>$tabT['type'],
'telephone'=>$tabT['telNum'],
'actif'=>1,
);
$this->iDb->insert('jo.telephonie', array(
'siren'=>$siren,
'nic'=>substr($res['siret'],-5),
'dateProvPartenaire'=>date('Ymd'),
'typeTel'=>trimAccent($tabT['telFax']),
'infoTel'=>$tabT['type'],
'telephone'=>$tabT['telNum'],
'actif'=>1,
'partenaire'=>253,
));
}
}
}
} /*else {
//http://www.annuaire.com/uploads/504/284/504284159/logo.jpg
//http://www.annuaire.com/email/491314266/
$url="http://www.annuaire.com/societe/-$siren/";
//$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
$page=getUrl($url,'','','',false,'','',3);
if ($page['code']<>301) return false;
$url2=$page['header']['Location'];
$page=getUrl($url2,'','',$url,false,'','',3);
if (!preg_match('/<a href="http:\/\/www\.annuaire\.com\/inscription\/1\/\?companyid=(.*)&amp;go=next"/Uis', $page['body'], $matches)) {
print_r($page);
die($siren);
}
}*/
}
}
if ($last) {
$tabRet = array();
if ($tabLast != null && count($tabLast) > 0 ) {
foreach($tabLast as $typeTel=>$tabPriorite) {
ksort($tabPriorite);
$tabRet[]=current($tabPriorite);
}
}
}
return $tabRet;
}
function getOperateur($tel) {
/*http://www.arcep.fr/index.php?id=interactivenumeros
Données POST:
ctrl_flag[do_ctrl]
bloc[017543]
CMD[RESULTS_NUMEROTATION]
http://www.arcep.fr/index.php?id=interactivenumeros&CMD=DETAILS_SOC&uid=158757&bloc=017543&cHash=0c29e39859
http://www.arcep.fr/uploads/tx_gsavis/05-0233.pdf
*/
}
}
?>

View File

@ -1,107 +1,47 @@
<?php
//ini_set('soap.wsdl_cache_enabled', 1); // 0 en dév
class MTvaOld {
public $vatNumber=''; // Numéro de TVA retourné
public $vatDefined=false; // Le numéro de TVA est il validé ?
public $errnum=0; // Numéro de l'erreur en cas d'erreur
public $errmsg=''; // Message de l'erreur en cas d'erreur
class MTva
{
public $vatNumber = ''; // Numéro de TVA retourné
public $vatDefined = false; // Le numéro de TVA est il validé ?
public $errnum = 0; // Numéro de l'erreur en cas d'erreur
public $errmsg = ''; // Message de l'erreur en cas d'erreur
private $siren;
protected $iDb;
function __construct($siren, $accesDist=true) {
//$accesDist=false;
if ($accesDist==true) {
/*$fp=fopen('/var/www/log/infoVat.log', 'a');
fwrite($fp, "MTva->__construct pour $siren $accesDist\n");
fclose($fp);
*/
$this->siren=$siren;
$client = new SoapClient('http://ws1.scores-decisions.com/entreprise/vat.wsdl',
array( 'trace' => 1, 'soap_version' => SOAP_1_1,
'login' => 'TESTTVA', 'password' => 'TVATESTPW'));
try {
$O = $client->getCompanyVat($this->siren);
if ($O->error->errnum) {
//echo 'Erreur : '. $O->error->errmsg .' ('. $O->error->errnum .")\n";
//echo $client->__getLastResponse()."\n";
$this->errnum=$O->error->errnum;
$this->errmsg=$O->error->errmsg;
return false;
} else {
$val=$O->result;
$this->vatNumber=$val->vatNumber;
$this->vatDefined=$val->vatDefined;
}
} catch (SoapFault $fault) {
//echo $client->__getLastResponse()."\n";
//echo 'ERREUR SOAP :'.EOL;
//print_r($fault);
return false;
}
}
else {
$this->errnum=999;
$this->errmsg="Pas d'accès à la base TVA";
$this->vatNumber='';
$this->vatDefined=false;
public function __construct($siren, $accesDist=true, $db = null)
{
$sirenIn = $siren*1;
if ( $sirenIn<000001000 ) {
$this->vatNumber = 'FR00000000000';
$this->vatDefined = false;
return false;
}
}
}
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
$siren = str_pad($siren, 9, '0', STR_PAD_LEFT);
class MTva {
public $vatNumber=''; // Numéro de TVA retourné
public $vatDefined=false; // Le numéro de TVA est il validé ?
public $errnum=0; // Numéro de l'erreur en cas d'erreur
public $errmsg=''; // Message de l'erreur en cas d'erreur
private $siren;
function __construct($siren, $accesDist=true) {
$sirenIn=$siren*1;
if ($sirenIn<000001000) {
/* $this->errnum=0;
$this->errmsg=$O->error->errmsg;
return false;
} else {
$val=$O->result;
$this->vatNumber=$val->vatNumber;
$this->vatDefined=$val->vatDefined;*/
$this->vatNumber='FR00000000000';
$this->vatDefined=false;
return false;
}elseif($sirenIn<000010000) $siren='00000'.$sirenIn;
elseif ($sirenIn<000100000) $siren='0000'.$sirenIn;
elseif ($sirenIn<001000000) $siren='000'.$sirenIn;
elseif ($sirenIn<010000000) $siren='00'.$sirenIn;
elseif ($sirenIn<100000000) $siren='0'.$sirenIn;
else $siren=''.$sirenIn;
$this->siren=$siren;
$this->siren = $siren;
$cleAlgo=$this->genereCleFr();
if ($cleAlgo<10) $cleAlgo='0'.$cleAlgo;
else $cleAlgo=''.$cleAlgo;
$tabRep=array();
if (!$this->valideSiren($siren) && substr($siren,0,4)<>'0000') {
$this->errnum=102;
$this->errmsg='Siren invalide';
return false;
}
$iDb=new WDB('sdv1');
$info=$iDb->select('siren_tva', "cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
$info = $this->iDb->select('sdv1.siren_tva', "LPAD(cle,2,0) AS cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
$tab=$info[0];
if (count($tab)>0) {
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTva sur $siren en cache", print_r($tab, true));
if ( $tab['cle']<>NULL || ( $tab['cle']==NULL && $tab['DateMAJ']>=date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y'))) )) {
$cle=$tab['cle'];
if ($cle==NULL) { $attribue=false; $cle=$cleAlgo; }
@ -110,7 +50,6 @@ class MTva {
$this->vatDefined=$attribue;
return true;
}
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTva sur $siren REVALIDATION", print_r($tab, true));
}
$cle=$cleAlgo;
$nbIndispo=0;
@ -121,10 +60,12 @@ class MTva {
'iso'=>'FR',
'vat'=>$cle.$siren,
'BtnSubmitVat'=>'Verify');
/* $postData=array( 'Lang'=>'FR',
'VAT'=>$cle.$siren,
'ISO'=>'FR',
'MS'=>'FR');*/
/*$postData=array(
* 'Lang'=>'FR',
'VAT'=>$cle.$siren,
'ISO'=>'FR',
'MS'=>'FR'
);*/
$tdeb = microtime_float();
// $url='http://ec.europa.eu/taxation_customs/vies/cgi-bin/viesquer';
// $referer='http://ec.europa.eu/taxation_customs/vies/fr/vieshome.htm';
@ -133,8 +74,7 @@ class MTva {
$page=getUrl($url, '', $postData, $referer, false, 'ec.europa.eu', '', 15);
$duree = round(microtime_float()-$tdeb, 3);
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTva sur $siren en $duree", print_r($page, true));
//sendMail('production@scores-decisions.com', 'mricois@scores-decisions.com', "classMTva sur $siren en $duree", print_r($page, true));
if ($page['err_num']<>0) {
debugLog('W', 'TVA Erreur CURL n°'. $page['err_num'] .', '. $page['err_msg'] ." sur le Siren $siren, numéro de TVA = FR $cle $siren. Durée = $duree s !", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->vatNumber="FR$cle$siren";
@ -147,8 +87,8 @@ class MTva {
if (preg_match('/Yes, valid VAT number/i', $body)) {
$tabInsert=array('siren'=>$siren,'cle'=>$cle, 'duree'=>$duree);
$tabUpdate=array('cle'=>$cle, 'duree'=>$duree);
if (!$iDb->insert('siren_tva', $tabInsert))
if (!$iDb->update('siren_tva', $tabUpdate, "siren=$siren"))
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
debugLog('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
//echo date ('Y/m/d - H:i:s') ." - Ligne $k/$nbk, N°TVA FR $cle $siren validé .".$eol;
debugLog('I', "Siren $siren, numéro de TVA = FR $cle $siren ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
@ -156,8 +96,7 @@ class MTva {
$this->vatDefined=true;
return true;
//return array('error'=>array('errnum'=>0, 'errmsg'=>''), 'result'=>array('siren'=>$siren, 'vatNumber'=>"FR$cle$siren", 'vatDefined'=>true));
} elseif (strpos($body, 'Service non disponible')>0 ||
strpos($body, 'ponse trop long.')>0) {
} elseif (strpos($body, 'Service non disponible')>0 || strpos($body, 'ponse trop long.')>0) {
$nbIndispo++;
if ($nbIndispo<3) {
//echo date ('Y/m/d - H:i:s') .' - '.$eol;
@ -168,8 +107,8 @@ class MTva {
} else {
$tabInsert=array('siren'=>$siren,'cle'=>'NULL', 'duree'=>$duree);
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
if (!$iDb->insert('siren_tva', $tabInsert))
if (!$iDb->update('siren_tva', $tabUpdate, "siren=$siren"))
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
debugLog('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
debugLog('I', "Siren $siren, numéro de TVA = FR $cle $siren vérification non disponible ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->vatNumber="FR$cle$siren";
@ -180,8 +119,8 @@ class MTva {
} else {
$tabInsert=array('siren'=>$siren,'cle'=>'NULL', 'duree'=>$duree);
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
if (!$iDb->insert('siren_tva', $tabInsert))
if (!$iDb->update('siren_tva', $tabUpdate, "siren=$siren"))
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
debugLog('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
debugLog('I', "Siren $siren, numéro de TVA = FR $cle $siren non attribué ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->vatNumber="FR$cle$siren";
@ -324,6 +263,4 @@ class MTva {
}
return true;
}
}
?>

View File

@ -113,7 +113,7 @@ class MSitesWeb {
function __construct(/*$siren, $accesDist=true*/) {
$this->iInsee=new MInsee();
$this->iDb=new WDB('jo');
$this->iDb=new WDB();
}
/** L'adresse IP est elle valide ?
@ -233,7 +233,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
$tmp=explode(' (', $tabRet['etat']);
$tabRet['etat']=$tmp[0];
}
if (preg_match('/<b>Date de création \: <\/b>(.*)<br>/Uis',$page['body'],$matches))
if (preg_match('/<b>Date de création \: <\/b>(.*)<br>/Uisu',$page['body'],$matches))
$tabRet['dateCrea']=$matches[1];
if (preg_match('/<b>Date anniversaire \: <\/b>(.*)<br>/Uis',$page['body'],$matches))
$tabRet['dateAnniv']=trim($matches[1]);
@ -252,15 +252,15 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
$tabRet['tituAdrLibVoie']=$tmp['libVoie'];
$tabRet['tituAdrComp']=$tmp['adrComp0'];
}
if (preg_match("/<b>Téléphone \: <\/b>(.*)<br>/Uis",$strTitu,$matches))
if (preg_match("/<b>Téléphone \: <\/b>(.*)<br>/Uisu",$strTitu,$matches))
$tabRet['tituTel']=trim($matches[1]);
if (preg_match('/<b>Courrier électronique \: <\/b> <a href="mailto:(.*)">/Uis',$strTitu,$matches))
if (preg_match('/<b>Courrier électronique \: <\/b> <a href="mailto:(.*)">/Uisu',$strTitu,$matches))
$tabRet['tituMel']=trim($matches[1]);
}
if(preg_match('/<li>Identifié grâce au numéro de SIREN <a href="(?:.*) target="_blank" class="ext">(.*)<\/a><\/li>/Uis', $page['body'], $matches))
if(preg_match('/<li>Identifié grâce au numéro de SIREN <a href="(?:.*) target="_blank" class="ext">(.*)<\/a><\/li>/Uisu', $page['body'], $matches))
$tabRet['siren']=html_entity_decode($matches[1]);
elseif (preg_match('/<li>Identifié grâce à la marque française \((.*)\) <\/li>/Uis', $page['body'], $matches))
elseif (preg_match('/<li>Identifié grâce à la marque française \((.*)\) <\/li>/Uisu', $page['body'], $matches))
$tabRet['marquefr']=html_entity_decode($matches[1]);
} else
return $page['code'];
@ -332,7 +332,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
$domaine=getFileExtension(preg_replace("/\.$ext$/",'','.'.$host));
echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL;
if ($ext=='fr') {
$rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url");
$rep=$this->iDb->select('jo.sitesWeb', 'siren, web', "web=$url");
if (@$rep[0]['siren']*1==0) {
$tabAfnic=$this->getInfosAfnic("$domaine.$ext");
$siren=$tabAfnic['siren']*1;
@ -340,7 +340,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
$tabInsert=array('siren'=>$siren,
'web'=>$url,
'dateInsert'=>date('YmdHis'));
$this->iDb->insert('sitesWeb', $tabInsert);
$this->iDb->insert('jo.sitesWeb', $tabInsert);
}
}
}

View File

@ -1,404 +0,0 @@
<?
define('HOST_INSEE', 'avis-situation-sirene.insee.fr');
define('SITE_INSEE', 'http://'. HOST_INSEE .'/');
define('HOST_PJ', 'www.pagesjaunes.fr');
define('SITE_PJ', 'http://'. HOST_PJ .'/');
define('SITE_SOCIETE', 'http://www.societe.com/');
include('/var/www/_includes/includes/insee.class.php');
//include('includes/normad.class.php');
include('/var/www/_includes/includes/fonctions.php');
/* v0.1 Extraction d'informations INSEE en ligne de commande.
Usage: <?=$argv[0]?> <extract type> <fileIn> <fileInFmt> <fileOut> <fileOutFmt>
Where <extract type> is :
id siren.tm.fr : Fiche d'identite INSEE (établissement+entreprise)
lst siren.tm.fr : Liste des etablissements du SIREN (+infos entreprise)
rncs societe.com : Informations du RNCS
pj pagesjaunes.fr : Données des pages jaunes
coface cofacerating.fr : Coface
Where <fileInFmt> is :
csv Fichier IN au format CSV (; ou ,) SIREN;NIC;REF
plat Fichier IN au format plat (blancs significatifs) SIREN_____NIC__REF______________
Where <fileOutFmt> is : csv / todo
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
*/
$insee=&new Insee();
function getInfosSirene($sirenLu, $nicLu='') {
$tabRet=array();
$invalide=false;
if (valideSiren($sirenLu)==false) {
$libelleErreur='SIREN invalide';
$invalide=true;
}
if ( $nicLu<>'' && valideSiren($sirenLu, $nicLu)==false) {
$libelleErreur='SIRET invalide';
$invalide=true;
}
if ($invalide==true)
{
$siret=$sirenLu.$nicLu;
$str=date('d/m/Y à H:i:s') .';'. $libelleErreur .';'. $siret .';;;;;;;;;;;;;;;;;;;;;;;';
$fp=fopen('/var/www/_includes/partenaires/insee/debug.csv', 'a');
fwrite($fp, $str."\r\n");
fclose($fp);
$num=$key+1;
flush();
} else { // La demande est valide on va à l'INSEE
/** Paramètre de requête "option" à l'insee :
** 1: Fiche du siège + Données entreprises
** 2: Tous les établissements de l'entreprise
** 3: Un établissement particulier
** 4: Département
**/
if ($nicLu<>'') $option=3;
else $option=1;
$libelleErreur='Erreur SCRIPT Inconnue';
$tabInfoEtab=array();
$tabInfoEntrep=array();
/** Etape de connexion au site de l'INSEE pour simuler correctement un utilisateur WEB
**/
$response1=getUrl(SITE_INSEE);
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'SIRENET_Script/Accueil/script_page_accueil.asp');
$response=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren');
$response=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_haut.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_bas.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_haut.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_bas.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle');
if ($nicLu=='') //Faire une boucle de recherche de tous les établissement et y inclure le reste du traitement
{
// Requête d'interrogation
$postData=array(
'siren'=>$sirenLu,
'option'=>2,
'nic'=>'',
'dep'=>'',
'listeDep'=>'');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', $response1["header"]["Set-Cookie"], $postData, SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle');
$action='nouveau';
$referer=SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false';
$nbRepTot=$pageCour=$nbTotPage=$nbRepParPage=$numEtab=0;
$tabInfoEtab=array();
while(true)
{
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action='.$action, $response1["header"]["Set-Cookie"], '', $referer);
if ($responseQ['code']==302)
{
//$libelleErreur='Erreur INSEE inconnue 1';
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
{
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
$responseErreur=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Erreur_principal.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur',true);
$pos=strpos($responseErreur['body'], '<td valign=top bgcolor="#FFCC33"><font face=Arial size=2><b>');
if ($pos>0){
$posFin=strpos($responseErreur['body'], '</b></font></td>', $pos+60);
$libelleErreur=trim(substr($responseErreur['body'], $pos+60, $posFin-($pos+60)));
} else
$libelleErreur='Erreur INSEE inconnue';
}
// On déroule les URLs d'appels liste des établissements
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
//sleep(1);
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
$responseListe=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Liste_bas.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
$responseListe=$responseListe['body'];
$pos=strpos($responseListe, 'Nombre total de réponses&nbsp;:&nbsp;'."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
if ($pos>0) {
$posFin=strpos($responseListe, '</b></font>', $pos+73);
$nbRepTot=trim(substr($responseListe, $pos+73, $posFin-($pos+73)));
}
$pos=strpos($responseListe, '&nbsp;-&nbsp;Affichage de la page&nbsp;'."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
if ($pos>0) {
$posFin=strpos($responseListe, '&nbsp;-&nbsp;</b></font>', $pos+75);
$strPages=trim(substr($responseListe, $pos+75, $posFin-($pos+75)));
$tabPages=explode('&nbsp;/&nbsp;', $strPages);
$pageCour=$tabPages[0];
$nbTotPage=$tabPages[1];
}
$pos=strpos($responseListe, '&nbsp;-&nbsp;</b></font>'."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
if ($pos>0) {
$posFin=strpos($responseListe, '</b></font>', $pos+60);
$nbRepParPage=trim(substr($responseListe, $pos+60, $posFin-($pos+60)));
}
/* TODO = Récupérer les infos étab + entrep pour chaque ligne du tableau !!!*
*/
if ($libelleErreur=='Erreur SCRIPT Inconnue')
$libelleErreur='';
for ($i=1;$i<11; $i++)
{
if ($numEtab==$nbRepTot)
break; // Il n'y a pas plus d'établissement à récupérer ! On sort...
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action=detail&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp');
if ($responseQ['code']==302)
{
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i)
{
// On déroule les URLs d'appels fiche siège
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
//sleep(1);
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i, true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i);
$responseEtab=$responseEtab['body'];
// Récupération de la fiche entreprise INSEE
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege&numtableau='.$i.'&origine=liste');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i);
$responseEntreprise=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=entreprise&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=entreprise&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i);
$responseEntreprise=$responseEntreprise['body'];
$tabInfoEntrep=getDataEntreprise($responseEntreprise);
}
elseif (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i)
{
// On déroule les URLs d'appels établissement
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
//sleep(1);
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=etablissement&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i, true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=etablissement&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i);
$responseEtab=$responseEtab['body'];
}
$tabInfoEtab=getDataEtablissement($responseEtab);
$tabRet[]=array_merge($tabInfoEtab, $tabInfoEntrep);
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
else $siret=$tabInfoEtab['siret'];
$str= date('d/m/Y à H:i:s') .';'.
$libelleErreur .';'.
// Siège
$siret .';'.
$tabInfoEtab['active'] .';'.
$tabInfoEtab['dateAbsActivite'] .';'.
$tabInfoEtab['typeEtablissement'] .';'.
$tabInfoEtab['dateMAJ'] .';'.
$tabInfoEtab['dateCreation'] .';'.
$tabInfoEtab['raisonSociale'] .';'.
$tabInfoEtab['Enseigne'] .';'.
$tabInfoEtab['NafCode'] .';'.
$tabInfoEtab['NafLib'] .';'.
$tabInfoEtab['AdresseLigne1'] .';'.
$tabInfoEtab['AdresseLigne2'] .';'.
$tabInfoEtab['AdresseLigne3'] .';'.
$tabInfoEtab['etatJuridique'] .';'.
$tabInfoEtab['dateEtatJuridique'] .';'.
// Entreprise
$tabInfoEntrep['dateCreationEntrep'] .';'.
$tabInfoEntrep['raisonSocialeEntrep'] .';'.
$tabInfoEntrep['sigle'] .';'.
$tabInfoEntrep['NafCodeEntrep'] .';'.
$tabInfoEntrep['NafLibEntrep'] .';'.
$tabInfoEntrep['FJCodeEntrep'] .';'.
$tabInfoEntrep['FJLibEntrep'] .';'.
$tabInfoEntrep['nbEtabActifs'] .';';
$fp=fopen('/var/www/_includes/partenaires/insee/debug.csv', 'a');
fwrite($fp, $str."\r\n");
fclose($fp);
$numEtab++;
$num=$key+1;
$typeEtablissement=$tabInfoEtab['typeEtablissement'];
// echo "Question $num/$nbLignes : Demande=$sirenLu$nicLu Etablissement $numEtab/$nbRepTot $typeEtablissement=$siret $libelleErreur\r\n";
flush();
sleep(1);
}//end for
}//end if
if ($pageCour==$nbTotPage) {
// On sort de la boucle de passage à la page de liste suivante car il n'y a plus d'autres pages
break;
} else {
$action='listeplus';
$referer=SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp';
}
}
} //Fin While
// die('Boucle');
} /* Fin de la boucle option 'lst' */ else
{
// Requête d'interrogation
$postData=array('siren'=>$sirenLu,
'option'=>$option,
'nic'=>$nicLu,
'dep'=>'',
'listeDep'=>'');
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', $response1["header"]["Set-Cookie"], $postData, SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action=nouveau', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
if ($responseQ['code']==302)
{
//$libelleErreur='Erreur INSEE inconnue 1';
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
{
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
$responseErreur=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Erreur_principal.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur',true);
$pos=strpos($responseErreur['body'], '<td valign=top bgcolor="#FFCC33"><font face=Arial size=2><b>');
if ($pos>0){
$posFin=strpos($responseErreur['body'], '</b></font></td>', $pos+60);
$libelleErreur=trim(substr($responseErreur['body'], $pos+60, $posFin-($pos+60)));
} else
$libelleErreur='Erreur INSEE inconnue';
}
else
{ if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege')
// L'établissement demandé est un siège !
$option=1;
if ($option==3)
{
// On déroule les URLs d'appels établissement
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
//sleep(1);
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=etablissement', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=etablissement', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
$responseEtab=$responseEtab['body'];
// On recherche si on est bien sur un fiche établissement
$pos=strpos($responseEtab, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche Etablissement</B>');
if ($pos<1)
$libelleErreur='Erreur SCRIPT Fiche Etablissement non trouvée';
else
$libelleErreur='';
$responseSiege=$responseEtab;
}
else
{
// On déroule les URLs d'appels Sièges
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
//sleep(1);
// Frames réponse niveau sièges
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseSiege=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
$responseSiege=$responseSiege['body'];//strip_tags(html_entity_decode(), '<td>');
// On recherche si on est bien sur un fiche siège
$pos=strpos($responseSiege, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche siège</B>');
if ($pos<1)
$libelleErreur='Erreur SCRIPT Fiche Siège non trouvée';
else
$libelleErreur='';
}
// Niveau entreprise
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail');
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=entreprise');
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail');
$responseEntreprise=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=entreprise', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail', true);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=entreprise', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail');
$responseEntreprise=$responseEntreprise['body'];
$pos=strpos($responseEntreprise, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche Entreprise</B>');
if ($pos<1) {
$libelleErreur='Erreur SCRIPT Fiche Entreprise non trouvée';
}
/** Recherche des données établissement
**/
$tabInfoEtab=getDataEtablissement($responseSiege);
/** Recherche des données entreprise
**/
$tabInfoEntrep=getDataEntreprise($responseEntreprise);
}
}
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
else $siret=$tabInfoEtab['siret'];
$str= date('d/m/Y à H:i:s') .';'.
$libelleErreur .';'.
// Siège
$siret .';'.
$tabInfoEtab['active'] .';'.
$tabInfoEtab['dateAbsActivite'] .';'.
$tabInfoEtab['typeEtablissement'] .';'.
$tabInfoEtab['dateMAJ'] .';'.
$tabInfoEtab['dateCreation'] .';'.
$tabInfoEtab['raisonSociale'] .';'.
$tabInfoEtab['Enseigne'] .';'.
$tabInfoEtab['NafCode'] .';'.
$tabInfoEtab['NafLib'] .';'.
$tabInfoEtab['AdresseLigne1'] .';'.
$tabInfoEtab['AdresseLigne2'] .';'.
$tabInfoEtab['AdresseLigne3'] .';'.
$tabInfoEtab['etatJuridique'] .';'.
$tabInfoEtab['dateEtatJuridique'] .';'.
// Entreprise
$tabInfoEntrep['dateCreationEntrep'] .';'.
$tabInfoEntrep['raisonSocialeEntrep'] .';'.
$tabInfoEntrep['sigle'] .';'.
$tabInfoEntrep['NafCodeEntrep'] .';'.
$tabInfoEntrep['NafLibEntrep'] .';'.
$tabInfoEntrep['FJCodeEntrep'] .';'.
$tabInfoEntrep['FJLibEntrep'] .';'.
$tabInfoEntrep['nbEtabActifs'] .';'.
//echo $str.'<br/>';
$fp=fopen('/var/www/_includes/partenaires/insee/debug.csv', 'a');
fwrite($fp, $str."\r\n");
fclose($fp);
$num=$key+1;
$typeEtablissement=$tabInfoEtab['typeEtablissement'];
// echo "Ligne $num/$nbLignes : Question=$sirenLu$nicLu Retour $typeEtablissement=$siret $libelleErreur (PJ=$nbPJ)\r\n";
//echo $str."<br/>";
flush();
$tabRet=array(0=>array_merge($tabInfoEntrep, $tabInfoEtab));
}
}
return $tabRet;
}
?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,775 @@
<?php
/** Auto generated class 2014-12-09 10:17:30*/
$tabCommentaires = array(
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}
",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent dune approche patrimoniale.",
32 => "<LI> celles qui sappuient sur la rentabilité.",
33 => "<LI> celles qui découlent dune comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
0 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de lentreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit quà légard dentreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer quune entreprise vaut par sa rentabilité, sur la base dun multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de limpôt sur les sociétés), afin déliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de lentreprise prenant en compte lendettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> La méthode par comparaison",
),
20028100 => array(
0 => "<H3> La méthode dévaluation par la Situation Nette Comptable (SNC)",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<BLOC><H1>METHODES DE CALCUL",
99 => "</BLOC>",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);
$tabTriAff = array(
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 102005.107351,
735110 => 102005.1073511,
735111 => 102005.10735111,
735112 => 102005.10735112,
735200 => 102005.107352,
735300 => 102005.107353,
735500 => 102005.107355,
735930 => 102025.1073593,
735950 => 102025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 102095.139021,
3902101 => 102095.13902101,
3902110 => 102095.1390211,
3902111 => 102095.13902111,
3902130 => 102095.1390213,
3902131 => 102095.13902131,
3902200 => 102095.139022,
3902300 => 102095.139023,
3902301 => 102095.13902301,
3902310 => 102095.1390231,
3902311 => 102095.13902311,
3902330 => 102095.1390233,
3902331 => 102095.13902331,
3902900 => 102095.139029,
3910001 => 101002.13910001,
3910100 => 101002.139101,
3910101 => 101002.13910101,
3910120 => 101002.1391012,
3910121 => 101002.13910121,
3910130 => 101002.1391013,
3910131 => 101002.13910131,
3910135 => 101002.13910135,
3910136 => 101002.13910136,
3910140 => 101002.1391014,
3910141 => 101002.13910141,
3910145 => 101002.13910145,
3910146 => 101002.13910146,
3910150 => 101002.1391015,
3910151 => 101002.13910151,
3910155 => 101002.13910155,
3910156 => 101002.13910156,
3910160 => 101002.1391016,
3910161 => 101002.13910161,
3910170 => 101002.1391017,
3910171 => 101002.13910171,
3910180 => 101002.1391018,
3910181 => 101002.13910181,
3910190 => 101002.1391019,
3910191 => 101002.13910191,
3911001 => 101003.13911001,
3911100 => 101003.139111,
3911101 => 101003.13911101,
3911110 => 101003.1391111,
3911111 => 101003.13911111,
3911120 => 101003.1391112,
3911121 => 101003.13911121,
3911130 => 101003.1391113,
3911131 => 101003.13911131,
3911145 => 101003.13911145,
3911146 => 101003.13911146,
3911150 => 101003.1391115,
3911151 => 101003.13911151,
3911160 => 101003.1391116,
3911161 => 101003.13911161,
3911170 => 101003.1391117,
3911171 => 101003.13911171,
3911180 => 101003.1391118,
3911181 => 101003.13911181,
20001000 => 100101.30001,
20011000 => 101001.30011,
20011900 => 101009.300119,
20012000 => 101201.30012,
20012001 => 101201.30012001,
20012002 => 101201.30012002,
20012100 => 101201.300121,
20012110 => 101201.3001211,
20012120 => 101201.3001212,
20012200 => 101301.300122,
20012210 => 101301.3001221,
20012220 => 101351.3001222,
20012400 => 101401.300124,
20012410 => 101201.3001241,
20012420 => 101351.3001242,
20020100 => 102001.300201,
20020110 => 102006.3002011,
20021200 => 102011.300212,
20021210 => 102016.3002121,
20022200 => 102021.300222,
20022210 => 102026.3002221,
20022500 => 102041.300225,
20022510 => 102046.3002251,
20023100 => 102051.300231,
20023110 => 102056.3002311,
20025200 => 102061.300252,
20025210 => 102066.3002521,
20026100 => 102071.300261,
20026101 => 102071.30026101,
20026110 => 102076.3002611,
20027100 => 102091.300271,
20028100 => 102101.300281,
20028110 => 102106.3002811,
20050100 => 103001.300501,
20080201 => 104001.30080201,
20080210 => 104001.3008021,
20080215 => 104001.30080215,
20080217 => 104001.30080217,
20080220 => 104001.3008022,
20080230 => 104001.3008023,
20080240 => 104001.3008024,
20080250 => 104001.3008025,
20080260 => 104001.3008026,
20080270 => 104001.3008027,
20080280 => 104001.3008028,
20080290 => 104001.3008029,
20090310 => 109001.3009031,
20090510 => 109101.3009051,
20090610 => 109101.3009061,
20090611 => 109101.30090611,
20090710 => 109101.3009071,
20090711 => 109101.30090711,
20090712 => 109101.30090712,
20090810 => 109101.3009081,
20090830 => 109101.3009083,
20090840 => 109101.3009084,
20090910 => 109101.3009091,
100000100 => 100100.1100001,
100001000 => 101000.110001,
100002000 => 101200.110002,
100003000 => 101300.110003,
100004000 => 101400.110004,
100005000 => 101500.110005,
100010000 => 108999.11001,
100015000 => 103000.110015,
100016000 => 104000.110016,
100019000 => 109000.110019,
100019100 => 109100.1100191,
);

Some files were not shown because too many files have changed in this diff Show More