Passage en utf-8

This commit is contained in:
Michael RICOIS 2012-08-09 13:19:03 +00:00
parent a02d53ced7
commit 20fe6ca750
257 changed files with 23224 additions and 23273 deletions

View File

@ -7,42 +7,42 @@ define('VERSION_FICHIER_BODACC','0106');
define('LONGUEUR_LIGNE_SORTIE', 2000);
/** Paramétres du FTP des JO **/
/** Paramétres du FTP des JO **/
define('BODACC_FTP_URL', 'ftp.journal-officiel.gouv.fr');
define('BODACC_FTP_USER', 'SCORE');
define('BODACC_FTP_PASS', 'SD075');
define('BODACC_LOCAL_DIR', '/home/data/sources/bodacc/');
define('JAL_LOCAL_DIR', '/home/data/sources/jal/');
/** Paramétres du FTP de Hugin : Communiqués de presse **/
/** Paramétres du FTP de Hugin : Communiqués de presse **/
define('HUGIN_FTP_URL', 'ftp.companynews.fr');
define('HUGIN_FTP_USER', 'scores');
define('HUGIN_FTP_PASS', 'scores_632');
define('HUGIN_LOCAL_DIR', '/home/data/sources/infosreg/hugin/');
/** Paramétres du FTP de ActusNews : Communiqués de presse **/
/** Paramétres du FTP de ActusNews : Communiqués de presse **/
define('ACTUSNEWS_FTP_URL', 'ftp.actusnews.com');
define('ACTUSNEWS_FTP_USER', 'scores_act');
define('ACTUSNEWS_FTP_PASS', '6_etIwL');
define('ACTUSNEWS_LOCAL_DIR', '/home/data/sources/infosreg/actusnews/');
/** Paramétres du FTP de Di Release : Communiqués de presse **/
/** Paramétres du FTP de Di Release : Communiqués de presse **/
define('DIRELEASE_FTP_URL', 'ftp.actusnews.com');
define('DIRELEASE_FTP_USER', 'scores_dir');
define('DIRELEASE_FTP_PASS', '-gT52sQ');
define('DIRELEASE_LOCAL_DIR', '/home/data/sources/infosreg/direlease/');
/** Paramétres du FTP des Echos: Communiqués de presse **/
/** Paramétres du FTP des Echos: Communiqués de presse **/
define('LESECHOS_FTP_URL', 'ftp.webdisclosure.com');
define('LESECHOS_FTP_USER', 'Scores');
define('LESECHOS_FTP_PASS', 'scores2001');
define('LESECHOS_LOCAL_DIR', '/home/data/sources/infosreg/lesechos/');
/** Paramétres du FTP de BusinessWire : Communiqués de presse **/
/** Paramétres du FTP de BusinessWire : Communiqués de presse **/
define('BUSINESSWIRE_LOCAL_DIR_INCOMING', '/home/data/ftp/businesswire/');
define('BUSINESSWIRE_LOCAL_DIR', '/home/data/infosreg/businesswire/');
/** Base de données de S&D **/
/** Base de données de S&D **/
define ('MYSQL_HOST', '192.168.3.30');
define ('MYSQL_USER', 'wsuser');
define ('MYSQL_PASS', 'wspass2012');

View File

@ -1,6 +1,6 @@
#!/usr/bin/php
<?php
// Paramètres
// Paramètres
if ( $argc < 2 || in_array($argv[1], array('--help', '-help', '-h', '-?')) ) {
?>
Installation
@ -20,7 +20,7 @@ $hostname = exec('echo $(hostname)');
switch ($action)
{
case '--install':
//Création de la configuration
//Création de la configuration
echo "Ecriture de la configuration\n";
writeConfig();
echo "Changement des permissions\n";
@ -29,7 +29,7 @@ switch ($action)
}
/**
* Vérfie si l'utilisateur est ROOT
* Vérfie si l'utilisateur est ROOT
*/
function isRoot()
{

View File

@ -6,42 +6,42 @@ define('FILLER',' ');
define('VERSION_FICHIER_BODACC','0106');
define('LONGUEUR_LIGNE_SORTIE', 2000);
/** Paramétres du FTP des JO **/
/** Paramétres du FTP des JO **/
define('BODACC_FTP_URL', 'ftp.journal-officiel.gouv.fr');
define('BODACC_FTP_USER', 'SCORE');
define('BODACC_FTP_PASS', 'SD075');
define('BODACC_LOCAL_DIR', '/home/data/bodacc/');
define('JAL_LOCAL_DIR', '/home/data/jal/');
/** Paramétres du FTP de Hugin : Communiqués de presse **/
/** Paramétres du FTP de Hugin : Communiqués de presse **/
define('HUGIN_FTP_URL', 'ftp.companynews.fr');
define('HUGIN_FTP_USER', 'scores');
define('HUGIN_FTP_PASS', 'scores_632');
define('HUGIN_LOCAL_DIR', '/home/data/infosreg/hugin/');
/** Paramétres du FTP de ActusNews : Communiqués de presse **/
/** Paramétres du FTP de ActusNews : Communiqués de presse **/
define('ACTUSNEWS_FTP_URL', 'ftp.actusnews.com');
define('ACTUSNEWS_FTP_USER', 'scores_act');
define('ACTUSNEWS_FTP_PASS', '6_etIwL');
define('ACTUSNEWS_LOCAL_DIR', '/home/data/infosreg/actusnews/');
/** Paramétres du FTP de Di Release : Communiqués de presse **/
/** Paramétres du FTP de Di Release : Communiqués de presse **/
define('DIRELEASE_FTP_URL', 'ftp.actusnews.com');
define('DIRELEASE_FTP_USER', 'scores_dir');
define('DIRELEASE_FTP_PASS', '-gT52sQ');
define('DIRELEASE_LOCAL_DIR', '/home/data/infosreg/direlease/');
/** Paramétres du FTP des Echos: Communiqués de presse **/
/** Paramétres du FTP des Echos: Communiqués de presse **/
define('LESECHOS_FTP_URL', 'ftp.webdisclosure.com');
define('LESECHOS_FTP_USER', 'Scores');
define('LESECHOS_FTP_PASS', 'scores2001');
define('LESECHOS_LOCAL_DIR', '/home/data/infosreg/lesechos/');
/** Paramétres du FTP de BusinessWire : Communiqués de presse **/
/** Paramétres du FTP de BusinessWire : Communiqués de presse **/
define('BUSINESSWIRE_LOCAL_DIR_INCOMING', '/home/data/ftp/businesswire/');
define('BUSINESSWIRE_LOCAL_DIR', '/home/data/infosreg/businesswire/');
/** Base de données de S&D **/
/** Base de données de S&D **/
define ('MYSQL_HOST', '192.168.3.30');
define ('MYSQL_USER', 'root');
define ('MYSQL_PASS', 'scores');

View File

@ -6,42 +6,42 @@ define('FILLER',' ');
define('VERSION_FICHIER_BODACC','0106');
define('LONGUEUR_LIGNE_SORTIE', 2000);
/** Paramétres du FTP des JO **/
/** Paramétres du FTP des JO **/
define('BODACC_FTP_URL', 'ftp.journal-officiel.gouv.fr');
define('BODACC_FTP_USER', 'SCORE');
define('BODACC_FTP_PASS', 'SD075');
define('BODACC_LOCAL_DIR', '/home/data/bodacc/');
define('JAL_LOCAL_DIR', '/home/data/jal/');
/** Paramétres du FTP de Hugin : Communiqués de presse **/
/** Paramétres du FTP de Hugin : Communiqués de presse **/
define('HUGIN_FTP_URL', 'ftp.companynews.fr');
define('HUGIN_FTP_USER', 'scores');
define('HUGIN_FTP_PASS', 'scores_632');
define('HUGIN_LOCAL_DIR', '/home/data/infosreg/hugin/');
/** Paramétres du FTP de ActusNews : Communiqués de presse **/
/** Paramétres du FTP de ActusNews : Communiqués de presse **/
define('ACTUSNEWS_FTP_URL', 'ftp.actusnews.com');
define('ACTUSNEWS_FTP_USER', 'scores_act');
define('ACTUSNEWS_FTP_PASS', '6_etIwL');
define('ACTUSNEWS_LOCAL_DIR', '/home/data/infosreg/actusnews/');
/** Paramétres du FTP de Di Release : Communiqués de presse **/
/** Paramétres du FTP de Di Release : Communiqués de presse **/
define('DIRELEASE_FTP_URL', 'ftp.actusnews.com');
define('DIRELEASE_FTP_USER', 'scores_dir');
define('DIRELEASE_FTP_PASS', '-gT52sQ');
define('DIRELEASE_LOCAL_DIR', '/home/data/infosreg/direlease/');
/** Paramétres du FTP des Echos: Communiqués de presse **/
/** Paramétres du FTP des Echos: Communiqués de presse **/
define('LESECHOS_FTP_URL', 'ftp.webdisclosure.com');
define('LESECHOS_FTP_USER', 'Scores');
define('LESECHOS_FTP_PASS', 'scores2001');
define('LESECHOS_LOCAL_DIR', '/home/data/infosreg/lesechos/');
/** Paramétres du FTP de BusinessWire : Communiqués de presse **/
/** Paramétres du FTP de BusinessWire : Communiqués de presse **/
define('BUSINESSWIRE_LOCAL_DIR_INCOMING', '/home/data/ftp/businesswire/');
define('BUSINESSWIRE_LOCAL_DIR', '/home/data/infosreg/businesswire/');
/** Base de données de S&D **/
/** Base de données de S&D **/
define ('MYSQL_HOST', '192.168.78.230');
define ('MYSQL_USER', 'wsuser');
define ('MYSQL_PASS', 'scores');

View File

@ -2,7 +2,7 @@
class WChiffes {
private static $tabChiffresEnLEttres = array( 0=>'zéro',
private static $tabChiffresEnLEttres = array( 0=>'zéro',
1=>'un',
2=>'deux',
3=>'trois',
@ -62,10 +62,10 @@ define('NEL_ORDINAL', 0x0200);
define('NEL_NIEME', 0x0400);
# Le tableau associatif $NEL contient toutes les variables utilisées
# de façon globale dans ce module. ATTENTION : ce nom est assez court,
# et cela pourrait poser des problèmes de collision avec une autre
# variable si plusieurs modules sont inclus dans le même programme.
# Le tableau associatif $NEL contient toutes les variables utilisées
# de façon globale dans ce module. ATTENTION : ce nom est assez court,
# et cela pourrait poser des problèmes de collision avec une autre
# variable si plusieurs modules sont inclus dans le même programme.
$NEL = array(
'1-99' => array(
@ -122,7 +122,7 @@ $NEL = array(
'separateur' => ' '
);
# Si le tableau $NEL['illi'] s'arrête à 'sext', alors les deux valeurs
# Si le tableau $NEL['illi'] s'arrête à 'sext', alors les deux valeurs
# suivantes sont respectivement '6' et ' de sextillions'.
$NEL['maxilli'] = count($NEL['illi']) - 1;
$NEL['de_maxillions'] = " de {$NEL['illi'][$NEL['maxilli']]}illions";
@ -162,7 +162,7 @@ function enlettres_par3($par3)
$par2 = $par3 % 100;
$dizaine = floor($par2 / 10);
# On traite à part les particularités du français de référence
# On traite à part les particularités du français de référence
# 'soixante-dix', 'quatre-vingts' et 'quatre-vingt-dix'.
$nom_par2 = NULL;
switch ($dizaine) {
@ -191,7 +191,7 @@ function enlettres_par3($par3)
}
}
# Après les dizaines et les unités, il reste à voir les centaines
# Après les dizaines et les unités, il reste à voir les centaines
switch ($centaine) {
case 0: return $nom_par2;
case 1: return rtrim("cent {$nom_par2}");
@ -205,55 +205,55 @@ function enlettres_par3($par3)
function enlettres_zilli($idx)
{
# Noms des 0ème à 9ème zillions
# Noms des 0ème à 9ème zillions
static $petit = array(
'n', 'm', 'b', 'tr', 'quatr', 'quint', 'sext', 'sept', 'oct', 'non'
);
# Composantes des 10ème à 999ème zillions
# Composantes des 10ème à 999ème zillions
static $unite = array(
'<', 'un<', 'duo<', 'tre<sé',
'quattuor<', 'quin<', 'se<xsé',
'septe<mné', 'octo<', 'nove<mné'
'<', 'un<', 'duo<', 'tre<sé',
'quattuor<', 'quin<', 'se<xsé',
'septe<mné', 'octo<', 'nove<mné'
);
static $dizaine = array(
'', 'né>déci<', 'ms>viginti<', 'ns>triginta<',
'ns>quadraginta<', 'ns>quinquaginta<', 'né>sexaginta<',
'né>septuaginta<', 'mxs>octoginta<', 'é>nonaginta<'
'', 'né>déci<', 'ms>viginti<', 'ns>triginta<',
'ns>quadraginta<', 'ns>quinquaginta<', 'né>sexaginta<',
'né>septuaginta<', 'mxs>octoginta<', 'é>nonaginta<'
);
static $centaine = array(
'>', 'nxs>cent', 'né>ducent', 'ns>trécent',
'ns>quadringent', 'ns>quingent', 'né>sescent',
'né>septingent', 'mxs>octingent', 'é>nongent'
'>', 'nxs>cent', 'né>ducent', 'ns>trécent',
'ns>quadringent', 'ns>quingent', 'né>sescent',
'né>septingent', 'mxs>octingent', 'é>nongent'
);
# Règles d'assimilation aux préfixes latins, modifiées pour accentuer
# un éventuel 'é' de fin de préfixe.
# Règles d'assimilation aux préfixes latins, modifiées pour accentuer
# un éventuel 'é' de fin de préfixe.
# (1) Si on trouve une lettre deux fois entre < > on la garde.
# S'il y a plusieurs lettres dans ce cas, on garde la première.
# S'il y a plusieurs lettres dans ce cas, on garde la première.
# (2) Sinon on efface tout ce qui est entre < >.
# (3) On remplace "treé" par "tré", "seé" par "sé", "septeé" par "septé"
# et "noveé" par "nové".
# (3) On remplace "treé" par "tré", "seé" par "sé", "septeé" par "septé"
# et "noveé" par "nové".
# (4) En cas de dizaine sans centaine, on supprime la voyelle en trop.
# Par exemple "déciilli" devient "décilli" et "trigintailli" devient
# Par exemple "déciilli" devient "décilli" et "trigintailli" devient
# "trigintilli".
#
# Il est à noter que ces règles PERL (en particulier la première qui
# est la plus complexe) sont *très* fortement inspirées du programme
# de Nicolas Graner. On pourrait même parler de plagiat s'il n'avait
# pas été au courant que je reprenais son code.
# Il est à noter que ces règles PERL (en particulier la première qui
# est la plus complexe) sont *très* fortement inspirées du programme
# de Nicolas Graner. On pourrait même parler de plagiat s'il n'avait
# pas été au courant que je reprenais son code.
# Voir <http://www.graner.net/nicolas/nombres/nom.php>
# et <http://www.graner.net/nicolas/nombres/nom-exp.php>
#
static $recherche = array(
'/<[a-zé]*?([a-zé])[a-zé]*\1[a-zé]*>/', # (1)
'/<[a-zé]*>/', # (2)
'/eé/', # (3)
'/<[a-zé]*?([a-zé])[a-zé]*\1[a-zé]*>/', # (1)
'/<[a-zé]*>/', # (2)
'/eé/', # (3)
'/[ai]illi/' # (4)
);
static $remplace = array(
'\\1', # (1)
'', # (2)
'é', # (3)
'é', # (3)
'illi' # (4)
);
@ -316,13 +316,13 @@ function enlettres($nombre, $options=NULL, $separateur=NULL)
return $nom;
}
# On ne garde que les chiffres, puis on supprime les 0 du début
# On ne garde que les chiffres, puis on supprime les 0 du début
$nombre = preg_replace('/[^0-9]/', '', $nombre);
$nombre = ltrim($nombre, '0');
if ($nombre == '') {
if ($NEL['ordinal'] === 'nieme') return 'zéroïème';
else return 'zéro';
if ($NEL['ordinal'] === 'nieme') return 'zéroïème';
else return 'zéro';
}
$table_noms = array();
@ -378,7 +378,7 @@ function enlettres($nombre, $options=NULL, $separateur=NULL)
$nombre = str_replace(' ', '-', $nombre);
}
# Nom (éventuel) et accord (éventuel) des substantifs
# Nom (éventuel) et accord (éventuel) des substantifs
$nom = rtrim("{$nombre} {$nom}");
if ($nombre == 'un') {
# Un seul million, milliard, etc., donc au singulier
@ -387,7 +387,7 @@ function enlettres($nombre, $options=NULL, $separateur=NULL)
$nom = preg_replace('/(illion|illiard)s/', '\\1', $nom, 1);
}
# Ajout d'un séparateur entre chaque partie
# Ajout d'un séparateur entre chaque partie
if ($nom_enlettres == '') {
$nom_enlettres = $nom;
} else {
@ -405,34 +405,34 @@ function enlettres($nombre, $options=NULL, $separateur=NULL)
preg_replace('/(cent|vingt|illion|illiard)s/', '\\1', $nom_enlettres);
if ($NEL['ordinal'] !== 'nieme') {
# Nombre ordinal simple (sans '-ième')
# Nombre ordinal simple (sans '-ième')
return $nom_enlettres;
}
if ($nom_enlettres === 'un') {
# Le féminin n'est pas traité ici. On fait la supposition
# qu'il est plus facile de traiter ce cas à part plutôt
# que de rajouter une option rien que pour ça.
# Le féminin n'est pas traité ici. On fait la supposition
# qu'il est plus facile de traiter ce cas à part plutôt
# que de rajouter une option rien que pour ça.
return 'premier';
}
switch (substr($nom_enlettres, -1)) {
case 'e':
# quatre, onze à seize, trente à nonante, mille
# exemple : quatre -> quatrième
return substr($nom_enlettres, 0, -1) . 'ième';
# quatre, onze à seize, trente à nonante, mille
# exemple : quatre -> quatrième
return substr($nom_enlettres, 0, -1) . 'ième';
case 'f':
# neuf -> neuvième
return substr($nom_enlettres, 0, -1) . 'vième';
# neuf -> neuvième
return substr($nom_enlettres, 0, -1) . 'vième';
case 'q':
# cinq -> cinquième
return $nom_enlettres . 'uième';
# cinq -> cinquième
return $nom_enlettres . 'uième';
}
# Tous les autres cas.
# Exemples: deuxième, troisième, vingtième, trente et unième,
# neuf centième, un millionième, quatre-vingt milliardième.
return $nom_enlettres . 'ième';
# Exemples: deuxième, troisième, vingtième, trente et unième,
# neuf centième, un millionième, quatre-vingt milliardième.
return $nom_enlettres . 'ième';
}
function enchiffres_petit($mot)
@ -481,11 +481,11 @@ function enchiffres_petit($mot)
function enchiffres_zilli($mot)
{
# Noms des 0ème à 9ème zillions
# Noms des 0ème à 9ème zillions
static $petits = array(
'n', 'm', 'b', 'tr', 'quadr', 'quint', 'sext', 'sept', 'oct', 'non'
);
# Composantes des 10ème à 999ème zillions
# Composantes des 10ème à 999ème zillions
static $unites = array(
'', 'un', 'duo', 'tre', 'quattuor', 'quin', 'se', 'septe', 'octo', 'nove'
);
@ -525,19 +525,19 @@ function enchiffres_zilli($mot)
function enchiffres_grand($mot)
{
# Quelques remplacements initiaux pour simplifier (les 'é' ont déjà
# été tous transformés en 'e').
# Quelques remplacements initiaux pour simplifier (les 'é' ont déjà
# été tous transformés en 'e').
# (1) Je supprime le 's' final de '-illions' ou '-illiards' pour ne
# tester que '-illion' ou '-illiard'.
# (2) Les deux orthographes étant possibles pour quadrillion ou
# (2) Les deux orthographes étant possibles pour quadrillion ou
# quatrillion, je teste les deux. Noter que j'aurais pu changer
# 'quadr' en 'quatr' au lieu de l'inverse, mais alors cela aurait
# aussi changé 'quadragintillion' en 'quatragintillion', ce qui
# n'est pas franchement le but recherché.
# (3) En latin, on trouve parfois 'quatuor' au lieu de 'quattuor'. De même,
# aussi changé 'quadragintillion' en 'quatragintillion', ce qui
# n'est pas franchement le but recherché.
# (3) En latin, on trouve parfois 'quatuor' au lieu de 'quattuor'. De même,
# avec google on trouve quelques 'quatuordecillions' au milieu des
# 'quattuordecillions' (environ 1 sur 10).
# (4) La règle de John Conway et Allan Wechsler préconisait le préfixe
# (4) La règle de John Conway et Allan Wechsler préconisait le préfixe
# 'quinqua' au lieu de 'quin' que j'ai choisi. Pour accepter les deux,
# je remplace 'quinqua' par 'quin', sauf dans 'quinquaginta' (50)
# et dans 'quinquadraginta' (45).
@ -584,7 +584,7 @@ function enchiffres_grand($mot)
$nombre .= $par3;
}
if (strlen($nombre) > 3) {
# On n'accepte que les nombres inférieurs au millinillion
# On n'accepte que les nombres inférieurs au millinillion
# pour limiter le temps de calcul
return 0;
}
@ -642,7 +642,7 @@ function enchiffres_ajouter_grand(&$table_grands, $mantisse, $exposant)
function enchiffres($nom)
{
$nom = preg_replace('/[éèÉÈ]/', 'e', $nom);
$nom = preg_replace('/[éèÉÈ]/', 'e', $nom);
$nom = strtolower($nom);
$table_mots = preg_split('/[^a-z]+/', $nom);
@ -668,7 +668,7 @@ function enchiffres($nom)
}
if ($grand == 0) {
# Ce nombre était trop grand (millinillion et plus) : on annule le
# Ce nombre était trop grand (millinillion et plus) : on annule le
# tout pour limiter le temps de calcul.
$mantisse = 0;
$exposant = 0;
@ -709,7 +709,7 @@ function enchiffres($nom)
function enchiffres_aerer($nombre, $blanc=' ', $virgule=',', $tranche=3)
{
# Si c'est un nombre à virgule, on traite séparément les deux parties
# Si c'est un nombre à virgule, on traite séparément les deux parties
if ($virgule !== NULL) {
$ent_dec = preg_split("/$virgule/", $nombre);
if (count($ent_dec) >= 2) {
@ -723,18 +723,18 @@ function enchiffres_aerer($nombre, $blanc=' ', $virgule=',', $tranche=3)
$nombre = preg_replace('/[^0-9]/', '', $nombre);
# Il est plus logique d'avoir un nombre positif pour les entiers,
# donc négatif pour la partie décimale, mais plus pratique de
# donc négatif pour la partie décimale, mais plus pratique de
# faire le contraire pour les substr().
$tranche = - (int)$tranche;
if ($tranche == 0) {
# on voulait juste supprimer les caractères en trop, pas en rajouter
# on voulait juste supprimer les caractères en trop, pas en rajouter
return $nombre;
}
$nombre_aere = '';
if ($tranche < 0) {
# entier, ou partie entière d'un nombre décimal
# entier, ou partie entière d'un nombre décimal
while ($nombre != '') {
$par3 = substr($nombre, $tranche);
$nombre = substr($nombre, 0, $tranche);
@ -745,7 +745,7 @@ function enchiffres_aerer($nombre, $blanc=' ', $virgule=',', $tranche=3)
}
}
} else {
# partie décimale
# partie décimale
while ($nombre != '') {
$par3 = substr($nombre, 0, $tranche);
$nombre = substr($nombre, $tranche);

View File

@ -1,7 +1,7 @@
<?
/** Parse une page Html et retourne son contenu dans un tableau :
** "code" => Code réponse Serveur
** "code" => Code réponse Serveur
** "header" => Headers du serveur
** "body" => Page HTML
**/
@ -25,22 +25,22 @@ function parse_response($this_response) {
if ($header=='Set-cookie' && substr($value,0,5)=='RMID=' && $nbRMID<5)//{
$nbRMID++;
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
// 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)
/** 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
** "code" => Code réponse Serveur
** "header" => Headers du serveur
** "body" => Page HTML
**/
@ -56,7 +56,7 @@ function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
if ($proxy<>'') curl_setopt($ch, CURLOPT_PROXY, $proxy);
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
if (((int)$timeout)<>0) {
curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);
@ -192,16 +192,16 @@ function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=
$nbOccTrouve++;
if ($nbOcc==$nbOccTrouve) {
// echo "j'ai trouvé le nb demandé, je sort\r\n";
// 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>
<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>
*/
}
@ -250,12 +250,12 @@ function simpleWhois($domain, $tdl, $debug=false) {
// 0 => Info, le nom est pris
// 1 => Info, le nom est libre
// 2 => Info, le nom est en pending
// 3 => Avertissement, trop de requêtes
// 4 => Erreur, il faut spécifier une chaine à rechercher (regexp)
// 5 => Erreur, la requête retournée était vide
// 3 => Avertissement, trop de requêtes
// 4 => Erreur, il faut spécifier une chaine à rechercher (regexp)
// 5 => Erreur, la requête retournée était vide
// -----------------------------------------------
// Informations spécifiques aux extensions
// Informations spécifiques aux extensions
$info = array(
'fr' => array(
'host' => 'whois.nic.fr',
@ -274,9 +274,9 @@ function simpleWhois($domain, $tdl, $debug=false) {
// Initialisation de la sortie
$output = '';
// Initialisation de la requête
$req = fsockopen($info[$tdl]['host'], 43, $errno, $errstr, 5); // le 5 permet de stopper la requete si aucune réponse au bout de 5 secondes
// Récupération de la requête
// Initialisation de la requête
$req = fsockopen($info[$tdl]['host'], 43, $errno, $errstr, 5); // le 5 permet de stopper la requete si aucune réponse au bout de 5 secondes
// Récupération de la requête
if($req){
fputs($req, $domain.'.'.$tdl."rn");
while(!feof($req)) $output .= fgets($req, 4096);
@ -286,7 +286,7 @@ function simpleWhois($domain, $tdl, $debug=false) {
if($debug) return $output;
// Sortie vide
if(empty($output)) return 5;
// Trop de requêtes
// Trop de requêtes
if(preg_match("/(Too[s]+many[s]+requests|Your[s]+connection[s]+limit[s]+exceeded|daily[s]+whois[s]+limit[s]+exceeded|Maximum[s]+queries|WHOIS[s]+LIMIT[s]+EXCEEDED|referral[s]+host[s]+not[s]+responding|Excessive[s]+querying)/i", $output)) return 3;
// Pending
if(isset($info[$tdl]['pending']) && !empty($info[$tdl]['pending']) && preg_match("/".$info[$tdl]['pending']."/i", $output)) return 2;

View File

@ -4,14 +4,14 @@ include_once('chiffres.php');
/**
* Classe de gestion des méthodes relatives à la date et à l'heure
* Classe de gestion des méthodes relatives à la date et à l'heure
*
* <p>détail de la classe</p>
* <p>détail de la classe</p>
*
* @name nom de la classe
* @author Nom de l'auteur <adresse@Email.dom>
* @link
* @copyright Prénom Nom Année
* @copyright Prénom Nom Année
* @version 1.0.0
* @package Nom du package
*/
@ -19,31 +19,31 @@ include_once('chiffres.php');
class WDate {
private static $tabMoisEnLettres = array( 1=>'Janvier',
2=>'Février',
2=>'Février',
3=>'Mars',
4=>'Avril',
5=>'Mai',
6=>'Juin',
7=>'Juillet',
8=>'Août',
8=>'Août',
9=>'Septembre',
10=>'Octobre',
11=>'Novembre',
12=>'Décembre');
12=>'Décembre');
/** Retourne le numéro du mois donné au format texte (janvier, mars, etc...)
/** Retourne le numéro du mois donné au format texte (janvier, mars, etc...)
* @param string Mois en toute lettres (janvier, mars, etc...)
* @return string Mois en Chiffe (1, 3, 12) / false en cas d'erreur
*/
public function getNumMois($moisEnLettres) {
foreach (self::$tabMoisEnLettres as $num=>$mois)
$tabMoisSansAccents[$num]=strtr($mois, 'ééûÉÉÛ','eeueeu');
return array_search(ucfirst(strtolower(strtr($moisEnLettres, 'ééûÉÉÛ','eeuEEU'))), $tabMoisSansAccents);
$tabMoisSansAccents[$num]=strtr($mois, 'ééûÉÉÛ','eeueeu');
return array_search(ucfirst(strtolower(strtr($moisEnLettres, 'ééûÉÉÛ','eeuEEU'))), $tabMoisSansAccents);
}
/** Retourne le libellé nu numéro du mois passé en paramètre
/** Retourne le libellé nu numéro du mois passé en paramètre
* @param int $moisEnChiffre
* @return string Libellé du mois / false si le mois passé en paramètre est invalide
* @return string Libellé du mois / false si le mois passé en paramètre est invalide
*/
public function getLibelleMois($moisEnChiffre) {
if ($moisEnChiffre>0 && $moisEnChiffre<13)
@ -54,8 +54,8 @@ include_once('chiffres.php');
/** Retourne le nombre de mois entre 2 dates au format Ymd
**
** @param int $dateDeb Date de début au format Ymd
** @param int $dateFin Date de fin (ultérieur à la date de début) au format Ymd
** @param int $dateDeb Date de début au format Ymd
** @param int $dateFin Date de fin (ultérieur à la date de début) au format Ymd
** @return int Nombre de mois
**/
function nbMoisEntre($dateDeb, $dateFin=TODAY) {
@ -65,11 +65,11 @@ include_once('chiffres.php');
}
/**
* Conversion de formats de dates selon les formats de dates définits en php
* @param string Format de la date d'entrée
* Conversion de formats de dates selon les formats de dates définits en php
* @param string Format de la date d'entrée
* @param string Format de la date de sortie
* @param string Date d'entrée
* @return string Date formatée
* @param string Date d'entrée
* @return string Date formatée
*/
public function dateT($formatIN, $formatOUT, $date) {
$M='';
@ -118,7 +118,7 @@ include_once('chiffres.php');
}
}
/** Calcul de la date après application de la période textuelle (deux ans, six mois, quinze jours, etc...)
/** Calcul de la date après application de la période textuelle (deux ans, six mois, quinze jours, etc...)
* @todo Fonction ne fonctionnant qu'avec un chiffre en un seul mot du genre dix mais pas quatre vingt dix !!!
* @param date $dateIN au format Ymd
* @param string $period (ex : cinq mois, six ans, un jour, 3 mois)
@ -148,9 +148,9 @@ include_once('chiffres.php');
}
/** le jour est il ferié
/** le jour est il ferié
* @param date $date Date au format SSAA-MM-JJ ou SSAAMMJJ
* @param bool $weekend Considérer les WeekEnd comme feriés ? 1=Oui
* @param bool $weekend Considérer les WeekEnd comme feriés ? 1=Oui
* @return bool
**/
function jourFerie($date, $weekend=false) {
@ -160,7 +160,7 @@ function jourFerie($date, $weekend=false) {
$annee=self::dateT('Ymd', 'Y', $date);
$ferie=false;
// Jours feriées fixes
// Jours feriées fixes
if($jour == 1 && $mois == 1) $ferie = true; // 1er janvier
if($jour == 1 && $mois == 5) $ferie = true; // 1er mai
if($jour == 8 && $mois == 5) $ferie = true; // 8 mai
@ -168,17 +168,17 @@ function jourFerie($date, $weekend=false) {
if($jour == 15 && $mois == 8) $ferie = true; // 15 aout
if($jour == 1 && $mois == 11) $ferie = true; // 1 novembre
if($jour == 11 && $mois == 11) $ferie = true; // 11 novembre
if($jour == 25 && $mois == 12) $ferie = true; // 25 décembre
if($jour == 25 && $mois == 12) $ferie = true; // 25 décembre
// fêtes religieuses mobiles
// fêtes religieuses mobiles
$pak = @easter_date($annee);
$jp = date("d", $pak);
$mp = date("m", $pak);
if($jp == $jour && $mp == $mois){ $ferie = true;} // Pâques
if($jp == $jour && $mp == $mois){ $ferie = true;} // Pâques
$lpk = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) +1, date("Y", $pak) );
$jp = date("d", $lpk);
$mp = date("m", $lpk);
if($jp == $jour && $mp == $mois){ $ferie = true; }// Lundi de Pâques
if($jp == $jour && $mp == $mois){ $ferie = true; }// Lundi de Pâques
$asc = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) + 39, date("Y", $pak) );
$jp = date("d", $asc);
$mp = date("m", $asc);
@ -186,11 +186,11 @@ function jourFerie($date, $weekend=false) {
$pe = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) + 49, date("Y", $pak) );
$jp = date("d", $pe);
$mp = date("m", $pe);
if($jp == $jour && $mp == $mois) {$ferie = true;}// Pentecôte
if($jp == $jour && $mp == $mois) {$ferie = true;}// Pentecôte
$lp = mktime(date("H", $asc), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) + 50, date("Y", $pak) );
$jp = date("d", $lp);
$mp = date("m", $lp);
if($jp == $jour && $mp == $mois) {$ferie = true;}// lundi Pentecôte
if($jp == $jour && $mp == $mois) {$ferie = true;}// lundi Pentecôte
// Samedis et Dimanches
if ($weekend) {

View File

@ -12,11 +12,11 @@ function ftp_mget($ftp_url, $ftp_user, $ftp_pass, $ftp_dir, $local_dir, $debug=n
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP (user=$ftp_user)!".EOL;
return false;
}
// Récupération du contenu d'un dossier
// Récupération du contenu d'un dossier
$contents = ftp_nlist($conn_id, $ftp_dir);
// print_r($contents);
// print_r(ftp_rawlist($conn_id, $ftp_dir));
$nbFic=0; // Nombre de fichiers récupérés
$nbFic=0; // Nombre de fichiers récupérés
if (is_array($contents))
foreach($contents as $k => $server_file) {
$tailleDist = ftp_size($conn_id, $server_file);
@ -24,10 +24,10 @@ function ftp_mget($ftp_url, $ftp_user, $ftp_pass, $ftp_dir, $local_dir, $debug=n
$tailleLoc=0;
if ($dateDist != -1) {
$tabFichiers[$server_file]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
// echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_file a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
// echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_file a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
} else {
$tabFichiers[$server_file]['dateDispo']=NULL;
// echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
// echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
}
$tabFichiers[$server_file]['taille']=$tailleDist;
if ($tailleDist != -1) {
@ -41,10 +41,10 @@ function ftp_mget($ftp_url, $ftp_user, $ftp_pass, $ftp_dir, $local_dir, $debug=n
}
if ($tailleDist<>$tailleLoc) {
if (ftp_get($conn_id, $local_dir. $server_file, $server_file, FTP_BINARY))
//echo date ('Y/m/d - H:i:s')." - Fichier distant $server_file téléchargé avec succès".EOL;
//echo date ('Y/m/d - H:i:s')." - Fichier distant $server_file téléchargé avec succès".EOL;
$nbFic++;
else {
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL;
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL;
return false;
}
}

View File

@ -20,16 +20,15 @@ class WDB {
if ($database=='') $this->database=MYSQL_DEFAULT_DB;
else $this->database=$database;
$this->con_id = mysql_pconnect($this->host, $this->user,
$this->password);
$this->con_id = mysql_pconnect($this->host, $this->user, $this->password);
if (!($this->con_id === false)) {
if (mysql_select_db($this->database, $this->con_id) === false) {
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
}
return mysql_query("SET NAMES 'latin1';", $this->con_id);
return mysql_query("SET NAMES 'utf8';", $this->con_id);
}
public function setCharSet($charSet) {
@ -41,10 +40,10 @@ $this->password);
}
/** INSERTION d'un tableau dans une table.
** Les index doivent avoir les mêmes noms que les champs.
** Les index doivent avoir les mêmes noms que les champs.
** @param string Table
** @param array Valeurs insérer
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
** @param array Valeurs insérer
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
**/
public function insert($table, $toAdd, $debug=false, $low_priority=false){
$this->setDB();
@ -112,7 +111,7 @@ public function delete($table, $where, $debug=false, $low_priority=false) {
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false) {
$this->setDB();
if (mysql_select_db($this->database, $this->con_id) === false) {
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
@ -157,38 +156,38 @@ public function trace($query, $res='', $tdeb=-1) {
return true;
}
/** Exécute la requête passé en paramètre **/
/** Exécute la requête passé en paramètre **/
public function query($query, $debug=false){
$this->setDB();
$this->result=mysql_query($query, $this->con_id);
return $this->result;
}
/** Retourne le nombre de records de la dernière requête de sélection **
/** Retourne le nombre de records de la dernière requête de sélection **
public function getNumRows() {
return mysql_num_rows($this->con_id);
}
*/
/** Retourne le libellé de la dernière erreur **/
/** Retourne le libellé de la dernière erreur **/
public function getLastErrorMsg() {
return mysql_error($this->con_id);
}
/** Retourne le numéro de la dernière erreur **/
/** Retourne le numéro de la dernière erreur **/
public function getLastErrorNum() {
return mysql_errno($this->con_id);
}
/** Retourne le libellé et le numéro de la dernière erreur **/
/** Retourne le libellé et le numéro de la dernière erreur **/
public function getLastError() {
return mysql_error($this->con_id).' ('.mysql_errno($this->con_id).')';
}
/** Retourne le nombre de lignes modifiées par la dernière requête **/
/** Retourne le nombre de lignes modifiées par la dernière requête **/
public function getAffectedRows() {
return mysql_affected_rows($this->con_id);
}
/** Génère le fichier CSV pour la requete SQL
/** Génère le fichier CSV pour la requete SQL
**
** @param string $query
** @param string $fileCsv

View File

@ -7,12 +7,12 @@ define ('ALIGN_LEFT', 0);
define ('ALIGN_RIGHT', 1);
/**Initialisation d'une chaîne de caractère
/**Initialisation d'une chaîne de caractère
*
* @param string $chaine Chaîne de caractère initiale
* @param int $taille Taille de la chaîne de caractère à initialiser
* @param string $caractere_pour_combler Caractère à utiliser pour combler la chaîne de caractère (espace par défaut)
* @param string $align Aligner la chaîne de caractère à droite (right) ou à gauche (left, par défaut)
* @param string $chaine Chaîne de caractère initiale
* @param int $taille Taille de la chaîne de caractère à initialiser
* @param string $caractere_pour_combler Caractère à utiliser pour combler la chaîne de caractère (espace par défaut)
* @param string $align Aligner la chaîne de caractère à droite (right) ou à gauche (left, par défaut)
* @return string
*/
function initstr($chaine, $taille, $caractere_pour_combler=' ', $align=ALIGN_LEFT) {
@ -34,7 +34,7 @@ define ('ALIGN_RIGHT', 1);
/**
* Ajout d'anti-slashs s'il y a lieu en vu d'une insertion en BDD
*
* @param string $str Chaine de caractère
* @param string $str Chaine de caractère
* @return unknown
*/
@ -100,7 +100,7 @@ define ('ALIGN_RIGHT', 1);
$strIn=str_replace('y', 'i', $strIn);
/** On supprime les accents **/
$strIn=trimAccent($strIn);
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
$strIn = preg_replace ('/(?<![CS])H/', '', $strIn);
/** On remplace les 'PH' par des 'F' **/
$strIn=str_replace('ph', 'f', $strIn);
@ -122,14 +122,14 @@ define ('ALIGN_RIGHT', 1);
$strIn=str_replace('oua', '2', $strIn);
$strIn=str_replace('ein', '4', $strIn);
$strIn=str_replace('ain', '4', $strIn);
/** Remplacement du son 'é' **/
/** Remplacement du son 'é' **/
$strIn=str_replace('ai', 'y', $strIn);
$strIn=str_replace('ei', 'y', $strIn);
$strIn=str_replace('er', 'yr', $strIn);
$strIn=str_replace('ess', 'yss', $strIn);
$strIn=str_replace('et', 'yt', $strIn);
$strIn=str_replace('ez', 'yz', $strIn);
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
$strIn=str_replace_except_voy('an', '1', $strIn, BEFORE);
$strIn=str_replace_except_voy('am', '1', $strIn, BEFORE);
$strIn=str_replace_except_voy('en', '1', $strIn, BEFORE);
@ -137,7 +137,7 @@ define ('ALIGN_RIGHT', 1);
$strIn=str_replace_except_voy('in', '4', $strIn, BEFORE);
/** Remplacement du son 'SCH' **/
$strIn=str_replace('sch', '5', $strIn);
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
$strIn=str_replace_except_voy('in', '4', $strIn, BOTH);
/** Remplacement de groupe de 2 lettres diverses **/
$strIn=str_replace('oe', 'e', $strIn);
@ -174,7 +174,7 @@ define ('ALIGN_RIGHT', 1);
$strIn=str_replace('v', 'f', $strIn);
$strIn=str_replace('m', 'n', $strIn);
/** Supression des lettres dupliquées **/
/** Supression des lettres dupliquées **/
$let=$strIn[0];
$strIn2=$let;
for ($i=1; $i<strlen($strIn); $i++)
@ -192,7 +192,7 @@ define ('ALIGN_RIGHT', 1);
if ($strIn2=='t' || $strIn2=='k' || $strIn2=='s' || $strIn2=='z')
$strIn=substr($strIn,0,-1);
/** Supression des caractères non autorisés **/
/** Supression des caractères non autorisés **/
$j=10;
$sout=array();
for ($i=0; $i<strlen($strIn); $i++)
@ -220,7 +220,7 @@ define ('ALIGN_RIGHT', 1);
/**
* CLASS soundex2
* soundex2 French version
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
*
* author Johan Barbier <barbier_johan@hotmail.com>
*/

View File

@ -3,11 +3,11 @@
) o------------------------------------------------------------------------------o
* | This is HTMLMimeMail5. It is dual licensed as GPL and a commercial license. |
* | If you use the code commercially (or if you don't want to be restricted by |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | roughly $98 depending on the exchange rate) and helps me out a lot. Thanks. |
* o------------------------------------------------------------------------------o
*
* © Copyright 2005 Richard Heyes
* © Copyright 2005 Richard Heyes
*/
/**

View File

@ -3,11 +3,11 @@
* o------------------------------------------------------------------------------o
* | This is HTMLMimeMail5. It is dual licensed as GPL and a commercial license. |
* | If you use the code commercially (or if you don't want to be restricted by |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | roughly $98 depending on the exchange rate) and helps me out a lot. Thanks. |
* o------------------------------------------------------------------------------o
*
* © Copyright Richard Heyes
* © Copyright Richard Heyes
*/
require_once(dirname(__FILE__) . '/mimePart.php');

View File

@ -3,11 +3,11 @@
* o------------------------------------------------------------------------------o
* | This is HTMLMimeMail5. It is dual licensed as GPL and a commercial license. |
* | If you use the code commercially (or if you don't want to be restricted by |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | roughly $98 depending on the exchange rate) and helps me out a lot. Thanks. |
* o------------------------------------------------------------------------------o
*
* © Copyright Richard Heyes
* © Copyright Richard Heyes
*/
/**

View File

@ -32,7 +32,7 @@ $msg = "";
$footer="";/*
_______________________________________________________________________
Ce message et toutes les pièces jointes (ci-après le \"message\") sont établis a l'intention exclusive de ses destinataires.Si vous recevez ce message par erreur, merci de le détruire et d'en avertir immédiatement l'expéditeur par e-mail. Toute utilisation de ce message non conforme a sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse. Les communications sur Internet n'étant pas sécurisées, SCORES & DECISIONS S.A.S. informe qu'elle ne peut accepter aucune responsabilite quant au contenu de ce message.
Ce message et toutes les pièces jointes (ci-après le \"message\") sont établis a l'intention exclusive de ses destinataires.Si vous recevez ce message par erreur, merci de le détruire et d'en avertir immédiatement l'expéditeur par e-mail. Toute utilisation de ce message non conforme a sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse. Les communications sur Internet n'étant pas sécurisées, SCORES & DECISIONS S.A.S. informe qu'elle ne peut accepter aucune responsabilite quant au contenu de ce message.
This mail message and attachments (the \"message\") are solely intended for the addressees. It is confidential in nature . If you receive this message in error, please delete it and immediately notify the sender by e-mail. Any use other than its intended purpose, dissemination or disclosure, either whole or partial, is prohibited except if formal approval is granted. As communication on the Internet is not secure, SCORES & DECISIONS S.A.S. does not accept responsability for the content of this message.
@ -76,7 +76,7 @@ This mail message and attachments (the \"message\") are solely intended for the
$send = $mail_object->send($to, $headers, $body);
$nbEssais++;
if (PEAR::isError($send)) {
/** @todo tester les différents codes erreur **/
/** @todo tester les différents codes erreur **/
echo date('Y-m-d H:i:s'). " sendMail.php - essai #$nbEssais : ".$send->getMessage().EOL;
if (preg_match('/too many connections|421/i', $send->getMessage()))
sleep($nbEssais);
@ -90,7 +90,7 @@ This mail message and attachments (the \"message\") are solely intended for the
} else {
/** Si nous sommes en mode CLI, alors on fait en sorte de ne pas atteindre
la limite des 25 mails par minute (ramené à 100 / minute)
la limite des 25 mails par minute (ramené à 100 / minute)
**/
if (MODE_EXEC==MODE_CLI) usleep(500000);
break;

View File

@ -3,11 +3,11 @@
) o------------------------------------------------------------------------------o
* | This is HTMLMimeMail5. It is dual licensed as GPL and a commercial license. |
* | If you use the code commercially (or if you don't want to be restricted by |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | the GPL license), you will need the commercial license. It's only £49 (GBP - |
* | roughly $98 depending on the exchange rate) and helps me out a lot. Thanks. |
* o------------------------------------------------------------------------------o
*
* © Copyright 2005 Richard Heyes
* © Copyright 2005 Richard Heyes
*/
define('SMTP_STATUS_NOT_CONNECTED', 1, true);

View File

@ -18,181 +18,133 @@ function getNextDate($dateCour, $nbJours=7) {
return $nextDate;
}
//print_r(getPdfInfo('/home/data/bilans_asso/333512119_31122006.pdf'));
//die();
/*$tabReg=array( '', // Test pour récupérer les manquants
'Aquitaine', // Aquitaine
'Alsace', // Alsace
'Auvergne', // Auvergne
'Basse-Normandie', // Basse-Normandie
'Bourgogne', // Bourgogne
'Bretagne', // Bretagne
'Centre', // Centre
'Champagne', // Champagne
'Corse', // Corse
'Franche-Comté', // Franche-Comté
'Haute-Normandie', // Haute-Normandie
'Île-de-France', // Île-de-France
'Languedoc-Roussillon', // Languedoc-Roussillon
'Limousin', // Limousin
'Lorraine', // Lorraine
'Midi Pyrénées', // Midi Pyrénées
'Nord-Pas-de-Calais', // Nord-Pas-de-Calais
'Outre-Mer', // Outre-Mer
'Pays-de-la-Loire', // Pays-de-la-Loire
'Picardie', // Picardie
'Poitou-Charentes', // Poitou-Charentes
'Provence-Alpes-Côte-d\'Azur', // Provence-Alpes-Côte-d'Azur
'Rhône-Alpes',); // Rhône-Alpes
);*/
global $tabDep;
$tabDep=array( 'Dordogne'=>'24',
'Gironde'=>'33',
'Landes'=>'40',
'Lot-et-Garonne'=>'47',
'Pyrénées-Atlantiques'=>'64',
'Bas-Rhin'=>'67',
'Haut-Rhin'=>'68',
'Allier'=>'03',
'Cantal'=>'15',
'Haute-Loire'=>'43',
'Puy-de-Dôme'=>'63',
'Calvados'=>'14',
'Manche'=>'50',
'Orne'=>'61',
'Côte-d\'Or'=>'21',
'Nièvre'=>'58',
'Saône-et-Loire'=>'71',
'Yonne'=>'89',
'Côtes-d\'Armor'=>'22',
'Finistère'=>'29',
'Ille-et-Vilaine'=>'35',
'Morbihan'=>'56',
'Cher'=>'18',
'Eure-et-Loir'=>'28',
'Indre'=>'36',
'Indre-et-Loire'=>'37',
'Loir-et-Cher'=>'41',
'Loiret'=>'45',
'Ardennes'=>'08',
'Aube'=>'10',
'Haute-Marne'=>'52',
'Marne'=>'51',
'Corse-du-sud'=>'2A',
'Haute-Corse'=>'2B',
'Doubs'=>'25',
'Haute-Saône'=>'70',
'Jura'=>'39',
'Territoire-de-Belfort'=>'90',
'Eure'=>'27',
'Seine-Maritime'=>'76',
'Essonne'=>'91',
'Hauts-de-Seine'=>'92',
'Paris'=>'75',
'Seine-et-Marne'=>'77',
'Seine-Saint-Denis'=>'93',
'Val-d\'Oise'=>'95',
'Val-de-Marne'=>'94',
'Yvelines'=>'78',
'Aude'=>'11',
'Gard'=>'30',
'Hérault'=>'34',
'Lozère'=>'48',
'Pyrénées-Orientales'=>'66',
'Corrèze'=>'19',
'Creuse'=>'23',
'Haute-Vienne'=>'87',
'Moselle'=>'57',
'Meurthe-et-Moselle'=>'54',
'Meuse'=>'55',
'Vosges'=>'88',
'Ariège'=>'09',
'Aveyron'=>'12',
'Gers'=>'32',
'Haute-Garonne'=>'31',
'Hautes-Pyrénées'=>'65',
'Lot'=>'46',
'Tarn'=>'81',
'Tarn-et-Garonne'=>'82',
'Nord'=>'59',
'Pas-de-calais'=>'62',
'Guadeloupe'=>'971',
'Guyane'=>'973',
'Martinique'=>'972',
'Réunion'=>'974',
'Saint-Pierre-et-Miquelon'=>'975',
'Mayotte'=>'976',
'Loire-Atlantique'=>'44',
'Maine-et-Loire'=>'49',
'Mayenne'=>'53',
'Sarthe'=>'72',
'Vendée'=>'85',
'Aisne'=>'02',
'Oise'=>'60',
'Somme'=>'80',
'Charente'=>'16',
'Charente-Maritime'=>'17',
'Deux-Sèvres'=>'79',
'Vienne'=>'86',
'Alpes-de-Haute-Provence'=>'04',
'Alpes-Maritimes'=>'06',
'Bouches-du-Rhone'=>'13',
'Hautes-Alpes'=>'05',
'Var'=>'83',
'Vaucluse'=>'84',
'Ain'=>'01',
'Ardèche'=>'07',
'Drôme'=>'26',
'Haute-Savoie'=>'74',
'Isère'=>'38',
'Loire'=>'42',
'Rhône'=>'69',
'Savoie'=>'73',);
/*$tabReg=array(//'R1', // ALSACE
'R2', // AQUITAINE
'R3', // AUVERGNE
'R4', // BOURGOGNE
'R5', // BRETAGNE
'R6', // CENTRE
'R7', // CHAMPAGNE-ARDENNES
'R8', // CORSE
'R9', // FRANCHE-COMTE;
'R10', // ILE-DE-FRANCE
'R11', // LANGUEDOC-ROUSSILLON
'R12', // LIMOUSIN
'R13', // LORRAINE
'R14', // MIDI-PYRENEES
'R15', // NORD-PAS-DE-CALAIS
'R16', // BASSE-NORMANDIE
'R17', // HAUTE-NORMANDIE
'R18', // PAYS-DE-LA-LOIRE
'R19', // PICARDIE
'R20', // POITOU-CHARENTES
'R21', // PROVENCE-ALPES-COTE-D'AZUR
'R22', // RHONE-ALPES
'R100', ); // OUTRE-MER
*/
function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
$tabDep = array(
'Dordogne'=>'24',
'Gironde'=>'33',
'Landes'=>'40',
'Lot-et-Garonne'=>'47',
'Pyrénées-Atlantiques'=>'64',
'Bas-Rhin'=>'67',
'Haut-Rhin'=>'68',
'Allier'=>'03',
'Cantal'=>'15',
'Haute-Loire'=>'43',
'Puy-de-Dôme'=>'63',
'Calvados'=>'14',
'Manche'=>'50',
'Orne'=>'61',
'Côte-d\'Or'=>'21',
'Nièvre'=>'58',
'Saône-et-Loire'=>'71',
'Yonne'=>'89',
'Côtes-d\'Armor'=>'22',
'Finistère'=>'29',
'Ille-et-Vilaine'=>'35',
'Morbihan'=>'56',
'Cher'=>'18',
'Eure-et-Loir'=>'28',
'Indre'=>'36',
'Indre-et-Loire'=>'37',
'Loir-et-Cher'=>'41',
'Loiret'=>'45',
'Ardennes'=>'08',
'Aube'=>'10',
'Haute-Marne'=>'52',
'Marne'=>'51',
'Corse-du-sud'=>'2A',
'Haute-Corse'=>'2B',
'Doubs'=>'25',
'Haute-Saône'=>'70',
'Jura'=>'39',
'Territoire-de-Belfort'=>'90',
'Eure'=>'27',
'Seine-Maritime'=>'76',
'Essonne'=>'91',
'Hauts-de-Seine'=>'92',
'Paris'=>'75',
'Seine-et-Marne'=>'77',
'Seine-Saint-Denis'=>'93',
'Val-d\'Oise'=>'95',
'Val-de-Marne'=>'94',
'Yvelines'=>'78',
'Aude'=>'11',
'Gard'=>'30',
'Hérault'=>'34',
'Lozère'=>'48',
'Pyrénées-Orientales'=>'66',
'Corrèze'=>'19',
'Creuse'=>'23',
'Haute-Vienne'=>'87',
'Moselle'=>'57',
'Meurthe-et-Moselle'=>'54',
'Meuse'=>'55',
'Vosges'=>'88',
'Ariège'=>'09',
'Aveyron'=>'12',
'Gers'=>'32',
'Haute-Garonne'=>'31',
'Hautes-Pyrénées'=>'65',
'Lot'=>'46',
'Tarn'=>'81',
'Tarn-et-Garonne'=>'82',
'Nord'=>'59',
'Pas-de-calais'=>'62',
'Guadeloupe'=>'971',
'Guyane'=>'973',
'Martinique'=>'972',
'Réunion'=>'974',
'Saint-Pierre-et-Miquelon'=>'975',
'Mayotte'=>'976',
'Loire-Atlantique'=>'44',
'Maine-et-Loire'=>'49',
'Mayenne'=>'53',
'Sarthe'=>'72',
'Vendée'=>'85',
'Aisne'=>'02',
'Oise'=>'60',
'Somme'=>'80',
'Charente'=>'16',
'Charente-Maritime'=>'17',
'Deux-Sèvres'=>'79',
'Vienne'=>'86',
'Alpes-de-Haute-Provence'=>'04',
'Alpes-Maritimes'=>'06',
'Bouches-du-Rhone'=>'13',
'Hautes-Alpes'=>'05',
'Var'=>'83',
'Vaucluse'=>'84',
'Ain'=>'01',
'Ardèche'=>'07',
'Drôme'=>'26',
'Haute-Savoie'=>'74',
'Isère'=>'38',
'Loire'=>'42',
'Rhône'=>'69',
'Savoie'=>'73',
);
function getInfosAnnonceAsso($annonceHtml, $depotComptes=false)
{
$tabAnn=array();
global $tabDep;
global $iInsee;
$tabAnn['Assoc_Nom']=htm2txt(@getTextInHtml($annonceHtml, '<p>Association : <b>', '<b>', '</b>'));
if (substr($tabAnn['Assoc_Nom'],-1)=='.')
$tabAnn['Assoc_Nom']=substr($tabAnn['Assoc_Nom'],0,-1);
// $tabAnn['Siret']='';//@getTextInHtml($annonceHtml, '<p>No/Identifiant : <b>', '<b>', '</b>');
$tabAnn['Siren']=str_replace(' ','', strtr(htm2txt(@getTextInHtml($annonceHtml, '<p>Siren : <b>', '<b>', '</b>')),' .-/;,',' '))*1;
$tabAnn['sirenValide']=$iInsee->valideSiren($tabAnn['Siren']);
$tabAnn['Waldec']=strtoupper(@getTextInHtml($annonceHtml, '<p>Identification R.N.A. : <b>', '<b>', '</b>'));
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="LEFT"><br>', '<br>', '</p>'))));
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="left"></p> <p align="left">', '</p> <p align="left">', '</p>'))));
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
$tabAnn['Annonce_Html']='#####'.str_replace(chr(160), ' ', html_entity_decode($annonceHtml));
$tabAnn['Assoc_Nom']=htm2txt(@getTextInHtml($annonceHtml, '<p>Association : <b>', '<b>', '</b>'));
if (substr($tabAnn['Assoc_Nom'],-1)=='.') $tabAnn['Assoc_Nom']=substr($tabAnn['Assoc_Nom'],0,-1);
$tabAnn['Siren']=str_replace(' ','', strtr(htm2txt(@getTextInHtml($annonceHtml, '<p>Siren : <b>', '<b>', '</b>')),' .-/;,',' '))*1;
$tabAnn['sirenValide']=$iInsee->valideSiren($tabAnn['Siren']);
$tabAnn['Waldec']=strtoupper(@getTextInHtml($annonceHtml, '<p>Identification R.N.A. : <b>', '<b>', '</b>'));
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="LEFT"><br>', '<br>', '</p>'))));
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
$tabAnn['Annonce_Html']=str_replace('</p>','',str_replace(chr(160), ' ', html_entity_decode(@getTextInHtml($annonceHtml, '<p align="left"></p> <p align="left">', '</p> <p align="left">', '</p>'))));
if ($tabAnn['Annonce_Html']=='') // Les fondations n'ont pas le même corps HTML
$tabAnn['Annonce_Html']='#####'.str_replace(chr(160), ' ', html_entity_decode($annonceHtml));
if ($depotComptes) {
$tmp=@getTextInHtml($annonceHtml, 'Date de clôture de l\'exercice : <b>', '<b>', '</b>');
$tmp=@getTextInHtml($annonceHtml, 'Date de clôture de l\'exercice : <b>', '<b>', '</b>');
$tabAnn['dateCloture']=WDate::dateT('d/m/Y', 'Y-m-d', $tmp);
$tabAnn['pdfLink']=@getTextInHtml($annonceHtml, '<a href="/', '/', '">');
$tabAnn['typeCompte']=@getTextInHtml($annonceHtml, '<a href="/', '">>', '</a>');
@ -209,10 +161,10 @@ function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
$tabDepReg=explode('(', $depReg);
$dep=trim($tabDepReg[0]);
$numDep=$tabDep[$dep];
if ($numDep=='') echo date ('Y/m/d - H:i:s') ." - Attention, département '$dep' non trouvé !". EOL;
if ($numDep=='') echo date ('Y/m/d - H:i:s') ." - Attention, département '$dep' non trouvé !". EOL;
$region=trim(substr($tabDepReg[1],0,strlen($tabDepReg[1])-1));
$tabAnn['Departement']=$numDep;
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, '<p>Lieu parution : <b>Déclaration à la ', ' à la ', '</b>'));
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, '<p>Lieu parution : <b>Déclaration à la ', ' à la ', '</b>'));
$tabAnn['Type_Annonce']=htm2txt(@getTextInHtml($annonceHtml, 'Type d\'annonce : <b>', '<b>', '</b>'));
/** Recherche du type d'association
@ -235,16 +187,16 @@ function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
else
$tabAnn['typeAnnonce']='Insertion';
$tabAnn['Assoc_Duree']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Durée :', 'Durée :', '.<br>')));
$tabAnn['Assoc_Duree']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Durée :', 'Durée :', '.<br>')));
$tabAnn['Assoc_Dotation']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Montant de la dotation initiale :', 'initiale :', '.<br>')));
$tabAnn['Assoc_ProgAction']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'action pluriannuel :', 'pluriannuel :', '.<br>')));
$tabAnn['Assoc_Fondateurs']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], ' de chacun des fondateurs :', 'fondateurs :', '.</p>')));
//<p align="LEFT">Autorisation administrative.</p> <p align="LEFT">
//Date de signature de statuts : 21 décembre 1992.<br>
//Date de la modification des statuts : 7 février 1996, autorisation délivrée par le préfet 16 mars 1996.</p> <p align="LEFT">Autorisation tacite.</p> <p align="LEFT">
//Date de la demande de modification des statuts : 7 février 1996, sollicitée auprès du préfet de Paris.</p>
//Date de signature de statuts : 21 décembre 1992.<br>
//Date de la modification des statuts : 7 février 1996, autorisation délivrée par le préfet 16 mars 1996.</p> <p align="LEFT">Autorisation tacite.</p> <p align="LEFT">
//Date de la demande de modification des statuts : 7 février 1996, sollicitée auprès du préfet de Paris.</p>
$tabAnn['Assoc_Web']=@getTextInHtml($tabAnn['Annonce_Html'], 'ite Internet : </i>', '</i>', '<i>');
@ -252,7 +204,7 @@ function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
$tabAnn['Assoc_Web']=substr($tabAnn['Assoc_Web'],0,-1);
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Courriel : </i>', '</i>', '<i>');
if ($tabAnn['Assoc_Mail']=='')
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Mél. : </i>', '</i>', '<i>');
$tabAnn['Assoc_Mail']= @getTextInHtml($tabAnn['Annonce_Html'], '<i>Mél. : </i>', '</i>', '<i>');
if (substr($tabAnn['Assoc_Mail'],-1)=='.')
$tabAnn['Assoc_Mail']=substr($tabAnn['Assoc_Mail'],0,-1);
$tabAnn['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Objet : </i>', '</i>', '<i>'));
@ -260,28 +212,28 @@ function getInfosAnnonceAsso($annonceHtml, $depotComptes=false) {
$tabAnn['Assoc_Objet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Objet : </i>', '</i>', '<br>'));
$tabAnn['Assoc_NObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Nouvel objet : </i>', '</i>', '<i>'));
$tabAnn['Assoc_AObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Additif à l&#146;objet : </i>', '</i>', '<i>'));
$tabAnn['Assoc_NAdresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Transféré ; nouvelle adresse : </i>', '</i>', '. <i>'));
$tabAnn['Assoc_AObjet']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Additif à l&#146;objet : </i>', '</i>', '<i>'));
$tabAnn['Assoc_NAdresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Transféré ; nouvelle adresse : </i>', '</i>', '. <i>'));
$tabAnn['Assoc_Fusion']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Fusion des associations : </i>', '</i>', '<i>'));
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Siège social : </i>', '</i>', '. <i>'));
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Siège social : </i>', '</i>', '. <i>'));
// Fondations
if (trim($tabAnn['Assoc_Adresse'])=='')
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.<br>'));
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.<br>'));
if (trim($tabAnn['Assoc_Adresse'])=='')
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.</p>'));
$tabAnn['Assoc_Adresse']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Siège : </i>', '</i>', '.</p>'));
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de la déclaration : </i>', '</i>', '.'));
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de la déclaration : </i>', '</i>', '.'));
if ($tabAnn['Assoc_Date_Declaration']=='')
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de délivrance du récépissé : </i>', '</i>', '.'));
$tabAnn['Assoc_Date_Declaration']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '>Date de délivrance du récépissé : </i>', '</i>', '.'));
// Fondations
if(trim($tabAnn['Assoc_Date_Declaration'])=='') {
$tabAnn['Assoc_Date_Declaration']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'autorisation administrative :', 'administrative :', ',')));
if (trim($tabAnn['Assoc_Date_Declaration'])=='')
$tabAnn['Assoc_Date_Declaration']=trim(htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], 'Date de la modification des statuts :', 'statuts :', ',')));
if(trim($tabAnn['Sous_Prefecture'])=='')
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '<br>'));
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '<br>'));
if(trim($tabAnn['Sous_Prefecture'])=='')
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '</p>'));
$tabAnn['Sous_Prefecture']=htm2txt(@getTextInHtml($annonceHtml, 'sollicitée auprès du', 'du', '</p>'));
}
$tabAnn['Assoc_Date_Declaration2']=WDate::dateT('d M Y', 'Y-m-d', $tabAnn['Assoc_Date_Declaration']);
$tabAnn['Assoc_ANom']=htm2txt(@getTextInHtml($tabAnn['Annonce_Html'], '<i>Ancien titre : </i>', '</i>', '<i>'));
@ -305,17 +257,17 @@ $tempsMaxEntreRequetes=30;
set_time_limit(0);
$lastJO=$dateDebut=$dateFin=$dateF=$dateCour=$verif=false;
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
Recupère les annonces Association sur le site du JO Association.
Recupère les annonces Association sur le site du JO Association.
Sans aucun paramètre, récupération du dernier JO Association.
Sans aucun paramètre, récupération du dernier JO Association.
Sinon:
-d:JJ/MM/AAAA Date de début de publication
-d:JJ/MM/AAAA Date de début de publication
-f:JJ/MM/AAAA Date de fin de publication
-l Dernier JO Association uniquement (*)
-c Dépôts des comptes uniquement
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
-v Vérifier que toutes les annonces du JO sont en base !
-c Dépôts des comptes uniquement
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
-v Vérifier que toutes les annonces du JO sont en base !
";
$depotComptes=false;
@ -382,7 +334,7 @@ $iInsee=new MInsee();
$referer='http://www.journal-officiel.gouv.fr/association/';
if ($verif) {
echo date('Y/m/d - H:i:s') ." - Comptage du nombre d'annonce présentes en base par date de parution...". EOL;
echo date('Y/m/d - H:i:s') ." - Comptage du nombre d'annonce présentes en base par date de parution...". EOL;
$AnnDb=$iDb->select('asso', 'Date_Parution, count(*) as nb', '1 GROUP BY Date_Parution');
foreach ($AnnDb as $i=>$tabDates) {
if ($tabDates[0]<>'0000-00-00') {
@ -393,7 +345,7 @@ if ($verif) {
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
$body=$page['body'];
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
$nbAnnonces=@getTextInHtml($body, '<p>R&eacute;sultat de la recherche : <strong>', '<strong>', 'annonce(s)</strong>');
if ($nbAnnonces<>$parNb && $nbAnnonces<>0)
echo date('Y/m/d - H:i:s') ." - Parution du $parDate : $parNb annonces en base / $nbAnnonces annonces parues !". EOL;
@ -435,20 +387,20 @@ else {
$strDates=" du $dateDebut au $dateFin";
$dateCour=$dateDeb;
}
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO Association$strDates".EOL;
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
echo date('Y/m/d - H:i:s') ." - DEBUT du la récupération du$strLast JO Association$strDates".EOL;
echo date('Y/m/d - H:i:s') .' - La durée maximum entre chaque requête est de '. $tempsMaxEntreRequetes .' secondes.'. EOL;
flush();
$message = '';
while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
//echo date ('Y/m/d - H:i:s') ." - dateCour($dateCour) <= dateF($dateF) OU lastJO($lastJO)=true". $eol;
for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
for ($i_reg=0; isset($tabReg[$i_reg]) || $lastJO; $i_reg++) { // Boucle sur les régions
if ($lastJO==true) { // Cas récup dernier JO
if ($lastJO==true) { // Cas récup dernier JO
$region='';
$url='http://www.journal-officiel.gouv.fr/association/index.php?ACTION=showLast';
} else { // On est pas dans la récupération du JO Assoc Jiur
} else { // On est pas dans la récupération du JO Assoc Jiur
$region=$tabReg[$i_reg];
$reg5=substr($region,0,5);
$dateFmt=str_replace('/', '%2F', WDate::dateT('Ymd', 'd/m/Y',$dateCour));
@ -464,7 +416,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$page=getUrl($url, '', '', $referer, false, 'www.journal-officiel.gouv.fr');
$body=$page['body'];
//die(print_r($body));
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
$ctx=@getTextInHtml($body, '<A href="index.php?ctx=', 'ctx=', '&'); // Clé de contexte entre chaque page
$nbAnnonces=@getTextInHtml($body, 'R&eacute;sultat de la recherche :', ' :', 'annonce(s)');
$dateDerParution=@getTextInHtml($body, 'Annonce parue entre le :', ' et le ', '<br>'); // Date au format JJ/MM/AAAA
// 01/08/2010 et le 01/08/2010<br>
@ -473,12 +425,12 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
echo date('Y/m/d - H:i:s') .' - ERREUR : Il y a plus de 100 pages d\'annonces !'. EOL;
die();
}
echo date('Y/m/d - H:i:s') ." - Clé de contexte = $ctx".EOL;
echo date('Y/m/d - H:i:s') ." - Clé de contexte = $ctx".EOL;
unset($AnnDb);
$nbAnnDb=0;
if ($lastJO==true) {
echo date('Y/m/d - H:i:s') .' - Derniere parution ASSO le '. $dateDerParution .' de '. $nbAnnonces .' annonces ('. $nbPages .' pages)'. EOL;
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
$dateDb=substr($dateDerParution,6,4).'-'.substr($dateDerParution,3,2).'-'.substr($dateDerParution,0,2);
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Date_Parution='$dateDb'", false, MYSQL_ASSOC);
$nbAnnDb=$AnnDb[0]['nb'];
@ -488,13 +440,13 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
die();
}
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message=date('Y/m/d - H:i:s') .' - ATTENTION : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO Association du '. $dateDerParution .' !'. EOL;
$message=date('Y/m/d - H:i:s') .' - ATTENTION : Il n\'y a que '. $nbAnnDb .' annonces en base sur les '. $nbAnnonces .' annonces présentes au JO Association du '. $dateDerParution .' !'. EOL;
echo $message;
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO Association', $message);
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
}
} else {
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
// On recherche si nous n'avons pas déjà toutes ces annonces en base !
$dateDb=substr($dateCour,0,4).'-'.substr($dateCour,4,2).'-'.substr($dateCour,6,2);
$dateDerParution=WDate::dateT('Y-m-d', 'd/m/Y',$dateDb);
if ($depotComptes) {
@ -505,7 +457,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
case 'AUTRE%2FCOMPTE': $strRegSql=" AND typeAsso='DIV' "; break;
}
$AnnDb=$iDb->select('asso_bilans', 'count(*) AS nb', "Assoc_Date_Declaration='$dateDb' $strRegSql", false, MYSQL_ASSOC);
$strJO='depôts des comptes associations';
$strJO='depôts des comptes associations';
} else {
$AnnDb=$iDb->select('asso', 'count(*) AS nb', "Date_Parution='$dateDb'", false, MYSQL_ASSOC);
$strJO='associations';
@ -518,13 +470,13 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
continue;
}
elseif ($nbAnnDb>0 && $nbAnnDb<$nbAnnonces) {
$message.=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
$message.=date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') ." - ATTENTION : Il n'y a que $nbAnnDb annonce(s) $strJO en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') .' - Tentative de récupération des annonces...'. EOL;
}
else {
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnDb annonce(s) $strJO $reg5 en base sur les $nbAnnonces annonces présentes au JO du $dateDerParution !". EOL;
}
}
$tabAnnonces=explode('<div class="hr"><hr/></div>', $page['body']);
@ -573,7 +525,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$tabInfos=array();
preg_match_all("|<i>(.*)</i>|U", $infoAnnBalo['Annonce_Html'], $tabInfos);
$tabInfosGlobal=array_unique(array_merge($tabInfosGlobal, $tabInfos[1]));
// On recherche si nous n'avons pas déjà cette annonce en base !
// On recherche si nous n'avons pas déjà cette annonce en base !
if ($depotComptes) {
$AnnDb=$iDb->select('asso_bilans', 'count(*) AS nb', "Siren=".$infoAnnBalo['Siren']." AND Waldec='".$infoAnnBalo['Waldec']."' AND dateCloture='".$infoAnnBalo['dateCloture']."'", false, MYSQL_ASSOC);
// $AnnDb[0][0]=0;
@ -587,7 +539,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
if ($depotComptes) {
$table='asso_bilans';
// Si le bilan PDF n'est pas déjà sur le disk, on va le chercher !
// Si le bilan PDF n'est pas déjà sur le disk, on va le chercher !
switch ($region) {
case 'ASSOCIATION%2FCOMPTE': $infoAnnBalo['typeAsso']='ASS'; break;
case 'FONDATION%2FCOMPTE': $infoAnnBalo['typeAsso']='FON'; break;
@ -603,8 +555,8 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
@mkdir($repPdfAssoCpt);
$fp=@fopen($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']), 'w');
if (!fwrite($fp, $page['body']) || !$fp) {
$message.=date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
$message.=date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
echo date('Y/m/d - H:i:s') .' - ERREUR : Problème de création du PDF '. basename($infoAnnBalo['pdfLink']) ." pour la parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" !'.EOL;
}
@fclose($fp);
$tabPdf=getPdfInfo($repPdfAssoCpt.'/'.basename($infoAnnBalo['pdfLink']));
@ -619,8 +571,8 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
$tabActivites=array_merge($tabActivites, $tabTmp);
}
if ($nbAnnDb==1) {
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" déjà en base !'.EOL;
// L'annonce est déjà en base !
echo date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'" déjà en base !'.EOL;
// L'annonce est déjà en base !
continue;
} else {
$message.=date('Y/m/d - H:i:s') ." - Parution du $dateAff $strRegion, Annonce $i2/$nbAnnonces, Association \"". $infoAnnBalo['Assoc_Nom'] .'"... enregistrement'.EOL;
@ -628,7 +580,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
}
if (!$iDb->insert($table, $infoAnnBalo))
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
}
if ($lastJO) {
@ -637,7 +589,7 @@ while ($dateCour<=$dateF || $lastJO) { // Boucle sur les dates
die();
}
unset($tabAnn);
} // Fin boucle région
} // Fin boucle région
if ($depotComptes)
$dateCour=getNextDate($dateCour,1);
else
@ -649,15 +601,15 @@ if ($depotComptes) {
//
$AnnDb=$iDb->select('annonces', 'MAX(dateSource) AS dateMAJ', "typeEven=3200", false, MYSQL_ASSOC);
$dateMaj=$AnnDb[0]['dateMAJ'];
// echo date('Y/m/d - H:i:s') ." - Dernière mise à jour des annonces dépots en collecte en date du $dateMaj.".EOL;
// echo date('Y/m/d - H:i:s') ." - Dernière mise à jour des annonces dépots en collecte en date du $dateMaj.".EOL;
$AnnDb=$iDb->select('asso_bilans',
"Assoc_Nom AS raisonSociale, siren, sirenValide, dateCloture AS dateEffetFinP, Assoc_Date_Declaration AS dateJugement, dateInsert AS dateSource,
'3200' AS typeEven, 'DJOFFJ' AS tribunal, 'JS' AS source, Waldec",
"dateInsert>'$dateMaj' ORDER BY dateEffetFinP DESC", false, MYSQL_ASSOC);
$nbAnnonces=count($AnnDb);
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
$message.=date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbAnnonces annonces dépots à mettre en collecte en date du $dateMaj.".EOL;
foreach ($AnnDb as $i=>$tabInsert) {
$tabTmp=$iInsee->getIdentiteLight($tabInsert['siren']);
@ -671,7 +623,7 @@ if ($depotComptes) {
//print_r($tabInsert);
//die();
if (!$iDb->insert('annonces', $tabInsert))
echo '';//date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
echo '';//date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . EOL;
}
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', 'JO Association Comptes', $message);
}

View File

@ -49,18 +49,18 @@
}
function getPage($url) {
$this->trace('URL demandée : "'. $url .'"');
$this->trace('URL demandée : "'. $url .'"');
return file_get_contents ($url);
}
function getServerUrl() {
if (!$this->server_url) {
// On récupère le site automate 1 ou 2
// On récupère le site automate 1 ou 2
$str= $this->getPage('http://automate.bil.fr/');
//$str=$this->get('http://automate.bil.fr/');
//echo $str;exit();
$tab=explode('Accès Hyperbil ',$str);
$tab=explode('Accès Hyperbil ',$str);
$tab=explode('</', $tab[1]);
$this->server_url=trim($tab[0]).'/';
//$this->server_url='http://automate1.bil.fr/';
@ -98,7 +98,7 @@
return false;
}else{
$this->connected=true;
$this->trace('Connexion OK. ID de session définitif : '. $this->session_id);
$this->trace('Connexion OK. ID de session définitif : '. $this->session_id);
//exit();
return $this->session_id;
}
@ -108,7 +108,7 @@
return false;
}
}
$this->trace('Connexion déjà existante !');
$this->trace('Connexion déjà existante !');
return true;
}
@ -128,10 +128,10 @@
if ($type=='') $typeFiche='';
else $typeFiche=$type;
/*
hbilsoid Requête IDENTITE FORMAT SO2000
hbilsoid Requête IDENTITE FORMAT SO2000
hbilsoids
hbilsoidci Fiche identité Complete INSEE SO2000
hbilsoidc Fiche identité Complete SO2000
hbilsoidci Fiche identité Complete INSEE SO2000
hbilsoidc Fiche identité Complete SO2000
*/
if ($this->connected) {
$str=strip_tags($this->getPage ($this->server_url .'cgi-bin/h2r?magic='. $this->session_id .'&rq=hbilsoid'. $typeFiche .'&QIABO='. $this->code_abonne .'&QISIR='. $siren .'&QINIC='. $nic .'&CT=text/plain'));
@ -278,17 +278,17 @@ hbilsoidc Fiche identit
switch ($ficheSO2000){
case 'ID':
$tab_ret=array(
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
'SOPRD' =>trim(substr($str, 50, 2)), // CODE PRODUIT (I) SOPRD_N
'SOSEQ' =>trim(substr($str, 52, 5)), // SEQUENCE DANS GROUPE(I) SOSEQ_N
'SODTEN'=>trim(substr($str, 57, 8)), // DATE ENVOI (I) AAAAMMJJ SODTEN_D
'SOTENR'=>trim(substr($str, 65, 1)), // CODE ENREGISTREMENT (I)
'SOTYP' =>trim(substr($str, 66, 3)), // TYPE STRUCTURE (I) "ID " SOTYP_V
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
'SOREFC'=>trim(substr($str, 70, 30)), // REFERENCE CLIENT (I) SOREFC_X
'SOORIG'=>trim(substr($str, 100, 1)), // Code Origine BIL (S)
'SOSDTX'=>trim(substr($str, 101, 1)), // INDIC. QUALITE (S)
@ -297,7 +297,7 @@ hbilsoidc Fiche identit
'SONOM2'=>trim(substr($str, 171, 30)), // RAISON SOCIALE p/2 (I) (INSEE=BLANC) SONOM_N
'SOSIG' =>trim(substr($str, 201, 30)), // SIGLE (S) (INSEE=20) SOSIG_N
'SOENS' =>trim(substr($str, 231, 60)), // ENSEIGNE (S) (INSEE=40) SOENS_X
'SONRU' =>trim(substr($str, 291, 4)), // N°DS LA RUE (S)
'SONRU' =>trim(substr($str, 291, 4)), // N°DS LA RUE (S)
'SOBTQ' =>trim(substr($str, 295, 1)), // B=BIS T=TER Q=QUAT. (S)
'SORUE' =>trim(substr($str, 296, 33)), // NOM DE LA RUE (S)
'SOCOM' =>trim(substr($str, 329, 32)), // LIBELLE COMMUNE (I)
@ -315,13 +315,13 @@ hbilsoidc Fiche identit
'SORLJ' =>trim(substr($str, 430, 1)), // Proc.Collective (C) "O"=RLJ SORLJ_N
'SOCAPM'=>trim(substr($str, 431, 2)), // MONNAIE (C) Table BDV SOCAPM_N
'SOCAPI'=>trim(substr($str, 433, 13)), // MONTANT CAPITAL (C) CAPITE_X
'SOEFF' =>trim(substr($str, 446, 7)), // EFFECTIF (+Ext) blanc=non précisé SOEFF_N
'SORCE' =>trim(substr($str, 453, 9)), // N°RC (C) RCE_X
'SOEFF' =>trim(substr($str, 446, 7)), // EFFECTIF (+Ext) blanc=non précisé SOEFF_N
'SORCE' =>trim(substr($str, 453, 9)), // N°RC (C) RCE_X
'SOETEL'=>trim(substr($str, 462, 10)), // TELEPHONE SOURCE BIL (S)
'SOEFAX'=>trim(substr($str, 472, 10)), // FAX SOURCE BIL (S)
'SOEWEB'=>trim(substr($str, 482, 40)), // SITE WEB SOURCE BIL (S) non encore renseigné SOEWEB_N
'SOEWEB'=>trim(substr($str, 482, 40)), // SITE WEB SOURCE BIL (S) non encore renseigné SOEWEB_N
'SOEDRQ'=>trim(substr($str, 522, 3)), // QUALITE DIRIGEANT (C) source BIL
'SOEDRN'=>trim(substr($str, 525, 60)), // NOM-prénom DIRIGEANT (C) source BIL SOEDRN_X
'SOEDRN'=>trim(substr($str, 525, 60)), // NOM-prénom DIRIGEANT (C) source BIL SOEDRN_X
'SDEDRD'=>trim(substr($str, 585, 8)), // DATE NAISSANCE DIRIG (C) AAAAMMJJ SOEDRD_D
'SOEDRL'=>trim(substr($str, 593, 35)), // LIEU NAISSANCE DIRIG (C) source BIL SOEDRL_N
'SORSNO'=>trim(substr($str, 628, 2)), // NOTE SUR 20 (+sc) BLANC=PAS DE NOTE
@ -333,7 +333,7 @@ hbilsoidc Fiche identit
'SOSICO'=>trim(substr($str, 643, 6)), // CODE SICOVAM (C) STE COTEE EN BOURSE SOSICO_N
'SOTYPM'=>trim(substr($str, 649, 2)), // TYPE DE MARCHE (C) STE COTEE EN BOURSE SOTYPM_N
'SOISIN'=>trim(substr($str, 651, 12)), // CODE ISIN (C) STE COTEE EN BOURSE SOISIN_N
'SOIDR1'=>trim(substr($str, 663, 41)), // réserve, non encore renseigné
'SOIDR1'=>trim(substr($str, 663, 41)), // réserve, non encore renseigné
'SONICC'=>trim(substr($str, 704, 5)), // NIC SOURCE/CIBLE (C)(+Ext) TRANSFERT ADRESSE SONICC_N
'SODCAP'=>trim(substr($str, 709, 8)), // DATE MAJ CAPITAL (C) AAAAMMJJ SODCAP_D
'SOCAPO'=>trim(substr($str, 717, 3)), // CAPITAL MONNAIE ORI (C) Table BDV
@ -392,7 +392,7 @@ hbilsoidc Fiche identit
$tabBilan['DUREE_MOIS'] =substr($fcontents[$i], 117, 2);
$tabBilan['DUREE_MOIS_PRE'] =substr($fcontents[$i], 119, 2);
$tabBilan['MONNAIE'] =substr($fcontents[$i], 121, 2);
$tabBilan['CONSOLIDE'] =substr($fcontents[$i], 123, 1); // C = Bilan consolidé
$tabBilan['CONSOLIDE'] =substr($fcontents[$i], 123, 1); // C = Bilan consolidé
$tabBilan['MONNAIE_ORI'] =substr($fcontents[$i], 793, 3);
$tabBilan['MONNAIE_LIV_UNITE'] =substr($fcontents[$i], 796, 1);
$tabBilan['MONNAIE_LIV'] =substr($fcontents[$i], 797, 3);
@ -422,122 +422,122 @@ hbilsoidc Fiche identit
$tab_ret=$tabBilan;/*array(
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
'SOPRD' =>trim(substr($str, 50, 2)), // CODE PRODUIT (I) SOPRD_N
'SOSEQ' =>trim(substr($str, 52, 5)), // SEQUENCE DANS GROUPE(I) SOSEQ_N
'SODTEN'=>trim(substr($str, 57, 8)), // DATE ENVOI (I) AAAAMMJJ SODTEN_D
'SOTENR'=>trim(substr($str, 65, 1)), // CODE ENREGISTREMENT (I)
'SOTYP' =>trim(substr($str, 66, 3)), // TYPE STRUCTURE (I) "ID " SOTYP_V
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
'SOREFC'=>trim(substr($str, 70, 30)), // REFERENCE CLIENT (I) SOREFC_X
'SOORIG'=>trim(substr($str, 100, 1)), // Code Origine BIL (S)
'SOBICN'=>trim(substr($str, 101, 8)), // Date de cloture de l'exercice Exercice Année N au format SSAAMMJJ 20051231
'SOBIC1'=>trim(substr($str, 109, 8)), // Date de cloture de l'exercice précédent Exercice Année N-1 au format SSAAMMJJ 20041231
'SOBIDN'=>trim(substr($str, 117, 2)), // Durée en mois de l'exercice Durée de l'exercice au format MM 12
'SOBID1'=>trim(substr($str, 119, 2)), // Durée en mois de l'exercice précédent Durée de l'exercice N-1 au format MM 12
'SOBICN'=>trim(substr($str, 101, 8)), // Date de cloture de l'exercice Exercice Année N au format SSAAMMJJ 20051231
'SOBIC1'=>trim(substr($str, 109, 8)), // Date de cloture de l'exercice précédent Exercice Année N-1 au format SSAAMMJJ 20041231
'SOBIDN'=>trim(substr($str, 117, 2)), // Durée en mois de l'exercice Durée de l'exercice au format MM 12
'SOBID1'=>trim(substr($str, 119, 2)), // Durée en mois de l'exercice précédent Durée de l'exercice N-1 au format MM 12
'SOBIMO'=>trim(substr($str, 121, 2)), // Monnaie du bilan Cf. Table BDV EUR
'SOBICO'=>trim(substr($str, 123, 1)), // Type du bilan S = Bilan réel Normal / C = Bilan Consolidé S
//725 69 793 SOBIFF O AN Zone réservé Réservé usage GROUPE BIL
'SOBIMU'=>trim(substr($str, 793, 3)), // Code devise ISO de déclaration du bilan Cf. Table BDV EUR
'SOBIUL'=>trim(substr($str, 796, 1)), // Unité de la devise du bilan livré K=KILO
'SOBIML'=>trim(substr($str, 123, 3)), // Code devise ISO du bilan livré Cf. Table BDV EUR
'SOBICO'=>trim(substr($str, 123, 1)), // Type du bilan S = Bilan réel Normal / C = Bilan Consolidé S
//725 69 793 SOBIFF O AN Zone réservé Réservé usage GROUPE BIL
'SOBIMU'=>trim(substr($str, 793, 3)), // Code devise ISO de déclaration du bilan Cf. Table BDV EUR
'SOBIUL'=>trim(substr($str, 796, 1)), // Unité de la devise du bilan livré K=KILO
'SOBIML'=>trim(substr($str, 123, 3)), // Code devise ISO du bilan livré Cf. Table BDV EUR
/*
125 4 128 SOBL01 N AN Code du poste bilan dans la liasse Cerfa Poste 01 * AX
129 1 129 SOBS01 N AN Signe du poste bilan, "-" si négatif Poste 01 *
130 15 144 SOBM01 N Num Montant du poste bilan en unité monétaire Poste 01 * 000000000012345
129 1 129 SOBS01 N AN Signe du poste bilan, "-" si négatif Poste 01 *
130 15 144 SOBM01 N Num Montant du poste bilan en unité monétaire Poste 01 * 000000000012345
145 4 148 SOBL02 N AN Code du poste bilan dans la liasse Cerfa Poste 02 BX
149 1 149 SOBS02 N AN Signe du poste bilan, "-" si négatif Poste 02 -
150 15 164 SOBM02 N Num Montant du poste bilan en unité monétaire Poste 02 000000000000045
149 1 149 SOBS02 N AN Signe du poste bilan, "-" si négatif Poste 02 -
150 15 164 SOBM02 N Num Montant du poste bilan en unité monétaire Poste 02 000000000000045
165 4 168 SOBL03 N AN Code du poste bilan dans la liasse Cerfa Poste 03 DE
169 1 169 SOBS03 N AN Signe du poste bilan, "-" si négatif Poste 03 000000000012345
170 15 184 SOBM03 N Num Montant du poste bilan en unité monétaire Poste 03
169 1 169 SOBS03 N AN Signe du poste bilan, "-" si négatif Poste 03 000000000012345
170 15 184 SOBM03 N Num Montant du poste bilan en unité monétaire Poste 03
185 4 188 SOBL04 N AN Code du poste bilan dans la liasse Cerfa Poste 04
189 1 189 SOBS04 N AN Signe du poste bilan, "-" si négatif Poste 04
190 15 204 SOBM04 N Num Montant du poste bilan en unité monétaire Poste 04
189 1 189 SOBS04 N AN Signe du poste bilan, "-" si négatif Poste 04
190 15 204 SOBM04 N Num Montant du poste bilan en unité monétaire Poste 04
205 4 208 SOBL05 N AN Code du poste bilan dans la liasse Cerfa Poste 05
209 1 209 SOBS05 N AN Signe du poste bilan, "-" si négatif Poste 05
210 15 224 SOBM05 N Num Montant du poste bilan en unité monétaire Poste 05
209 1 209 SOBS05 N AN Signe du poste bilan, "-" si négatif Poste 05
210 15 224 SOBM05 N Num Montant du poste bilan en unité monétaire Poste 05
225 4 228 SOBL06 N AN Code du poste bilan dans la liasse Cerfa Poste 06
229 1 229 SOBS06 N AN Signe du poste bilan, "-" si négatif Poste 06
230 15 244 SOBM06 N Num Montant du poste bilan en unité monétaire Poste 06
229 1 229 SOBS06 N AN Signe du poste bilan, "-" si négatif Poste 06
230 15 244 SOBM06 N Num Montant du poste bilan en unité monétaire Poste 06
245 4 248 SOBL07 N AN Code du poste bilan dans la liasse Cerfa Poste 07
249 1 249 SOBS07 N AN Signe du poste bilan, "-" si négatif Poste 07
250 15 264 SOBM07 N Num Montant du poste bilan en unité monétaire Poste 07
249 1 249 SOBS07 N AN Signe du poste bilan, "-" si négatif Poste 07
250 15 264 SOBM07 N Num Montant du poste bilan en unité monétaire Poste 07
265 4 268 SOBL08 N AN Code du poste bilan dans la liasse Cerfa Poste 08
269 1 269 SOBS08 N AN Signe du poste bilan, "-" si négatif Poste 08
270 15 284 SOBM08 N Num Montant du poste bilan en unité monétaire Poste 08
269 1 269 SOBS08 N AN Signe du poste bilan, "-" si négatif Poste 08
270 15 284 SOBM08 N Num Montant du poste bilan en unité monétaire Poste 08
285 4 288 SOBL09 N AN Code du poste bilan dans la liasse Cerfa Poste 09
289 1 289 SOBS09 N AN Signe du poste bilan, "-" si négatif Poste 09
290 15 304 SOBM09 N Num Montant du poste bilan en unité monétaire Poste 09
289 1 289 SOBS09 N AN Signe du poste bilan, "-" si négatif Poste 09
290 15 304 SOBM09 N Num Montant du poste bilan en unité monétaire Poste 09
305 4 308 SOBL10 N AN Code du poste bilan dans la liasse Cerfa Poste 10
309 1 309 SOBS10 N AN Signe du poste bilan, "-" si négatif Poste 10
310 15 324 SOBM10 N Num Montant du poste bilan en unité monétaire Poste 10
309 1 309 SOBS10 N AN Signe du poste bilan, "-" si négatif Poste 10
310 15 324 SOBM10 N Num Montant du poste bilan en unité monétaire Poste 10
325 4 328 SOBL11 N AN Code du poste bilan dans la liasse Cerfa Poste 11
329 1 329 SOBS11 N AN Signe du poste bilan, "-" si négatif Poste 11
330 15 344 SOBM11 N Num Montant du poste bilan en unité monétaire Poste 11
329 1 329 SOBS11 N AN Signe du poste bilan, "-" si négatif Poste 11
330 15 344 SOBM11 N Num Montant du poste bilan en unité monétaire Poste 11
345 4 348 SOBL12 N AN Code du poste bilan dans la liasse Cerfa Poste 12
349 1 349 SOBS12 N AN Signe du poste bilan, "-" si négatif Poste 12
350 15 364 SOBM12 N Num Montant du poste bilan en unité monétaire Poste 12
349 1 349 SOBS12 N AN Signe du poste bilan, "-" si négatif Poste 12
350 15 364 SOBM12 N Num Montant du poste bilan en unité monétaire Poste 12
365 4 368 SOBL13 N AN Code du poste bilan dans la liasse Cerfa Poste 13
369 1 369 SOBS13 N AN Signe du poste bilan, "-" si négatif Poste 13
370 15 384 SOBM13 N Num Montant du poste bilan en unité monétaire Poste 13
369 1 369 SOBS13 N AN Signe du poste bilan, "-" si négatif Poste 13
370 15 384 SOBM13 N Num Montant du poste bilan en unité monétaire Poste 13
385 4 388 SOBL14 N AN Code du poste bilan dans la liasse Cerfa Poste 14
389 1 389 SOBS14 N AN Signe du poste bilan, "-" si négatif Poste 14
390 15 404 SOBM14 N Num Montant du poste bilan en unité monétaire Poste 14
389 1 389 SOBS14 N AN Signe du poste bilan, "-" si négatif Poste 14
390 15 404 SOBM14 N Num Montant du poste bilan en unité monétaire Poste 14
405 4 408 SOBL15 N AN Code du poste bilan dans la liasse Cerfa Poste 15
409 1 409 SOBS15 N AN Signe du poste bilan, "-" si négatif Poste 15
410 15 424 SOBM15 N Num Montant du poste bilan en unité monétaire Poste 15
409 1 409 SOBS15 N AN Signe du poste bilan, "-" si négatif Poste 15
410 15 424 SOBM15 N Num Montant du poste bilan en unité monétaire Poste 15
425 4 428 SOBL16 N AN Code du poste bilan dans la liasse Cerfa Poste 16
429 1 429 SOBS16 N AN Signe du poste bilan, "-" si négatif Poste 16
430 15 444 SOBM16 N Num Montant du poste bilan en unité monétaire Poste 16
429 1 429 SOBS16 N AN Signe du poste bilan, "-" si négatif Poste 16
430 15 444 SOBM16 N Num Montant du poste bilan en unité monétaire Poste 16
445 4 448 SOBL17 N AN Code du poste bilan dans la liasse Cerfa Poste 17
449 1 449 SOBS17 N AN Signe du poste bilan, "-" si négatif Poste 17
450 15 464 SOBM17 N Num Montant du poste bilan en unité monétaire Poste 17
449 1 449 SOBS17 N AN Signe du poste bilan, "-" si négatif Poste 17
450 15 464 SOBM17 N Num Montant du poste bilan en unité monétaire Poste 17
465 4 468 SOBL18 N AN Code du poste bilan dans la liasse Cerfa Poste 18
469 1 469 SOBS18 N AN Signe du poste bilan, "-" si négatif Poste 18
470 15 484 SOBM18 N Num Montant du poste bilan en unité monétaire Poste 18
469 1 469 SOBS18 N AN Signe du poste bilan, "-" si négatif Poste 18
470 15 484 SOBM18 N Num Montant du poste bilan en unité monétaire Poste 18
485 4 488 SOBL19 N AN Code du poste bilan dans la liasse Cerfa Poste 19
489 1 489 SOBS19 N AN Signe du poste bilan, "-" si négatif Poste 19
490 15 504 SOBM19 N Num Montant du poste bilan en unité monétaire Poste 19
489 1 489 SOBS19 N AN Signe du poste bilan, "-" si négatif Poste 19
490 15 504 SOBM19 N Num Montant du poste bilan en unité monétaire Poste 19
505 4 508 SOBL20 N AN Code du poste bilan dans la liasse Cerfa Poste 20
509 1 509 SOBS20 N AN Signe du poste bilan, "-" si négatif Poste 20
510 15 524 SOBM20 N Num Montant du poste bilan en unité monétaire Poste 20
509 1 509 SOBS20 N AN Signe du poste bilan, "-" si négatif Poste 20
510 15 524 SOBM20 N Num Montant du poste bilan en unité monétaire Poste 20
525 4 528 SOBL21 N AN Code du poste bilan dans la liasse Cerfa Poste 21
529 1 529 SOBS21 N AN Signe du poste bilan, "-" si négatif Poste 21
530 15 544 SOBM21 N Num Montant du poste bilan en unité monétaire Poste 21
529 1 529 SOBS21 N AN Signe du poste bilan, "-" si négatif Poste 21
530 15 544 SOBM21 N Num Montant du poste bilan en unité monétaire Poste 21
545 4 548 SOBL22 N AN Code du poste bilan dans la liasse Cerfa Poste 22
549 1 549 SOBS22 N AN Signe du poste bilan, "-" si négatif Poste 22
550 15 564 SOBM22 N Num Montant du poste bilan en unité monétaire Poste 22
549 1 549 SOBS22 N AN Signe du poste bilan, "-" si négatif Poste 22
550 15 564 SOBM22 N Num Montant du poste bilan en unité monétaire Poste 22
565 4 568 SOBL23 N AN Code du poste bilan dans la liasse Cerfa Poste 23
569 1 569 SOBS23 N AN Signe du poste bilan, "-" si négatif Poste 23
570 15 584 SOBM23 N Num Montant du poste bilan en unité monétaire Poste 23
569 1 569 SOBS23 N AN Signe du poste bilan, "-" si négatif Poste 23
570 15 584 SOBM23 N Num Montant du poste bilan en unité monétaire Poste 23
585 4 588 SOBL24 N AN Code du poste bilan dans la liasse Cerfa Poste 24
589 1 589 SOBS24 N AN Signe du poste bilan, "-" si négatif Poste 24
590 15 604 SOBM24 N Num Montant du poste bilan en unité monétaire Poste 24
589 1 589 SOBS24 N AN Signe du poste bilan, "-" si négatif Poste 24
590 15 604 SOBM24 N Num Montant du poste bilan en unité monétaire Poste 24
605 4 608 SOBL25 N AN Code du poste bilan dans la liasse Cerfa Poste 25
609 1 609 SOBS25 N AN Signe du poste bilan, "-" si négatif Poste 25
610 15 624 SOBM25 N Num Montant du poste bilan en unité monétaire Poste 25
609 1 609 SOBS25 N AN Signe du poste bilan, "-" si négatif Poste 25
610 15 624 SOBM25 N Num Montant du poste bilan en unité monétaire Poste 25
625 4 628 SOBL26 N AN Code du poste bilan dans la liasse Cerfa Poste 26
629 1 629 SOBS26 N AN Signe du poste bilan, "-" si négatif Poste 26
630 15 644 SOBM26 N Num Montant du poste bilan en unité monétaire Poste 26
629 1 629 SOBS26 N AN Signe du poste bilan, "-" si négatif Poste 26
630 15 644 SOBM26 N Num Montant du poste bilan en unité monétaire Poste 26
645 4 648 SOBL27 N AN Code du poste bilan dans la liasse Cerfa Poste 27
649 1 649 SOBS27 N AN Signe du poste bilan, "-" si négatif Poste 27
650 15 664 SOBM27 N Num Montant du poste bilan en unité monétaire Poste 27
649 1 649 SOBS27 N AN Signe du poste bilan, "-" si négatif Poste 27
650 15 664 SOBM27 N Num Montant du poste bilan en unité monétaire Poste 27
665 4 668 SOBL28 N AN Code du poste bilan dans la liasse Cerfa Poste 28
669 1 669 SOBS28 N AN Signe du poste bilan, "-" si négatif Poste 28
670 15 684 SOBM28 N Num Montant du poste bilan en unité monétaire Poste 28
669 1 669 SOBS28 N AN Signe du poste bilan, "-" si négatif Poste 28
670 15 684 SOBM28 N Num Montant du poste bilan en unité monétaire Poste 28
685 4 688 SOBL29 N AN Code du poste bilan dans la liasse Cerfa Poste 29
689 1 689 SOBS29 N AN Signe du poste bilan, "-" si négatif Poste 29
690 15 704 SOBM29 N Num Montant du poste bilan en unité monétaire Poste 29
689 1 689 SOBS29 N AN Signe du poste bilan, "-" si négatif Poste 29
690 15 704 SOBM29 N Num Montant du poste bilan en unité monétaire Poste 29
705 4 708 SOBL30 N AN Code du poste bilan dans la liasse Cerfa Poste 30
709 1 709 SOBS30 N AN Signe du poste bilan, "-" si négatif Poste 30
710 15 724 SOBM30 N Num Montant du poste bilan en unité monétaire Poste 30
709 1 709 SOBS30 N AN Signe du poste bilan, "-" si négatif Poste 30
710 15 724 SOBM30 N Num Montant du poste bilan en unité monétaire Poste 30
@ -568,10 +568,10 @@ hbilsoidc Fiche identit
$tab_ret=array(
'RETOUR' =>'',
'PRODUIT' =>'BILANS',
'RISIR' =>$data2[3],// N° SIREN
'RINUME' =>$data2[4], // N° ENTREPRISE
'RBDTCN' =>$data2[5],// N° SIREN
'RDDURN' =>trim($data2[6]),// N° SIREN
'RISIR' =>$data2[3],// N° SIREN
'RINUME' =>$data2[4], // N° ENTREPRISE
'RBDTCN' =>$data2[5],// N° SIREN
'RDDURN' =>trim($data2[6]),// N° SIREN
);
$tab2[$ligne]=$tab_ret;
break;
@ -579,8 +579,8 @@ hbilsoidc Fiche identit
$tab_ret=array(
'RETOUR'=>'',
'PRODUIT'=>'PRODUITS',
'RINUME'=>$data2[0],// N° ENTREPRISE
'RISIR' =>$data2[1],// N° SIREN
'RINUME'=>$data2[0],// N° ENTREPRISE
'RISIR' =>$data2[1],// N° SIREN
'RIANNL'=>$data2[2],// PRESENCE D'INFORMATION(S) LEGALE(S)
'RIELML'=>$data2[3],// PRESENCE D'ELEMENTS FINANCIERS
'RIBILL'=>$data2[4],// PRESENCE DE BILAN(S), ANNEXES OU RATIOS
@ -600,12 +600,12 @@ hbilsoidc Fiche identit
$tab_ret=array('actionnaire'=>array(
'RETOUR' =>'',
'PRODUIT' =>'ACTIONNAIRES',
'XLABO' =>str_replace('<HTML>','',$data2[0]),// N° SIREN
'RISIR' =>$data2[2],// N° SIREN
'RINUME' =>$data2[3], // N° ENTREPRISE
'RLPSIR' =>$data2[4],// N° SIREN
'RLPNOM' =>$data2[5],// N° SIREN
'RLPOUR' =>$data2[6],// N° SIREN
'XLABO' =>str_replace('<HTML>','',$data2[0]),// N° SIREN
'RISIR' =>$data2[2],// N° SIREN
'RINUME' =>$data2[3], // N° ENTREPRISE
'RLPSIR' =>$data2[4],// N° SIREN
'RLPNOM' =>$data2[5],// N° SIREN
'RLPOUR' =>$data2[6],// N° SIREN
));
$tab2[$ligne]=$tab_ret;
@ -614,8 +614,8 @@ hbilsoidc Fiche identit
$tab_ret=array(
'RETOUR' =>'',
'PRODUIT' =>'SOLVABIL3',
'RNISIR' =>$data2[3],// N° SIREN
'RINUME' =>'', // N° ENTREPRISE
'RNISIR' =>$data2[3],// N° SIREN
'RINUME' =>'', // N° ENTREPRISE
'RNNIV' =>$data2[0],
'RNDATN' =>$data2[1],
'RNREFC' =>$data2[2],
@ -939,7 +939,7 @@ hbilsoidc Fiche identit
for ($i=0; $i<(int)($data2[318]); $i++){
$j=$i+319;
$tabRNTX[$i]=$data2[$j];
$this->trace ( "Ligne de commentaire n°$i ($j) = ". $data2[$j] );
$this->trace ( "Ligne de commentaire n°$i ($j) = ". $data2[$j] );
}
$tab_RNTX=array('RNTX'=>$tabRNTX);
$tab_ret=array_merge($tab_ret, $tab_RNTX);
@ -955,7 +955,7 @@ hbilsoidc Fiche identit
'POURCENTAGE'=>$data2[$j+2],
);
$this->trace ( "Ligne d'actionnaire n°$k ($j) = ". $data2[$j] .' '. $data2[$j+1] .' '. $data2[$j+2]);
$this->trace ( "Ligne d'actionnaire n°$k ($j) = ". $data2[$j] .' '. $data2[$j+1] .' '. $data2[$j+2]);
}
$tab_ACT=array('ACTIONNAIRES'=>$tabACT);
$tab_ret=array_merge($tab_ret, $tab_ACT);
@ -971,7 +971,7 @@ hbilsoidc Fiche identit
'POURCENTAGE'=>$data2[$j+2],
);
$this->trace ( "Ligne de participation n°$k ($j) = ". $data2[$j] .' '. $data2[$j+1] .' '. $data2[$j+2]);
$this->trace ( "Ligne de participation n°$k ($j) = ". $data2[$j] .' '. $data2[$j+1] .' '. $data2[$j+2]);
}
$tab_PART=array('PARTICIPATIONS'=>$tabPART);
$tab_ret=array_merge($tab_ret, $tab_PART);

View File

@ -6,27 +6,27 @@
/* Email : bernard@ediweb.org */
/* */
/* Cette classe permet de : */
/* - créer un formulaire */
/* - le contrôler et l'afficher pour confirmation */
/* - créer un formulaire */
/* - le contrôler et l'afficher pour confirmation */
/* - et retourner son contenu */
/***********************************************************************************************************/
define("_SEPA_AFFICHE_MULTIPLE", ", ");
define("_SEPA_VALEUR_MULTIPLE", "###");
$erreur_message = array("min" => "caractères minimum",
"max" => "caractères maximum",
$erreur_message = array("min" => "caractères minimum",
"max" => "caractères maximum",
"texte" => "texte non valide",
"alphanum" => "texte alphanumérique non valide",
"num" => "valeur numérique non valide",
"num-strict" => "valeur numérique non valide",
"tel" => "numéro de téléphone non valide",
"alphanum" => "texte alphanumérique non valide",
"num" => "valeur numérique non valide",
"num-strict" => "valeur numérique non valide",
"tel" => "numéro de téléphone non valide",
"email" => "e-mail non valide",
"url" => "url non valide",
"date" => "date non valide",
"datej" => "jour non valide",
"datem" => "mois non valide",
"datem" => "année non valide",
"option" => "aucune option n'a été sélectionnée",
"datem" => "année non valide",
"option" => "aucune option n'a été sélectionnée",
"vide" => "champ obligatoire");
class ClasseForm {
@ -248,7 +248,7 @@ class ClasseForm {
$html .= " onClick='soumettre(\"confirme\")'; />";
}
}
$html .= " <input class='form-bouton' type='reset' value='Rétablir' onClick='soumettre(\"annuler\")' />\n";
$html .= " <input class='form-bouton' type='reset' value='Rétablir' onClick='soumettre(\"annuler\")' />\n";
if ($this->closeButton)
$html .= " <input class='form-bouton' type='button' value='Annuler & Fermer' onClick='soumettre(\"fermer\")' />\n";
$html .= "</td></tr>";
@ -441,13 +441,13 @@ class ClasseFormChamp {
if ($this->champAOptions()) {
if (is_array($options)) {
foreach ($options as $option) {
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
$this->options[] = new ClasseFormOption($regs[1], true);
else $this->options[] = new ClasseFormOption($option);
}
}
else {
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
$this->options[] = new ClasseFormOption($regs[1], true);
else $this->options[] = new ClasseFormOption($options);
}
@ -546,7 +546,7 @@ class ClasseFormChamp {
function retournerTableauValeurs(&$tableau, $mode_retour) {
if (is_array($this->valeur)) {$valeur = implode(_SEPA_VALEUR_MULTIPLE, $this->valeur);
print_r($this->valeur);
die('Cas non géré dans inc_classeform.php');
die('Cas non géré dans inc_classeform.php');
}
else $valeur = $this->valeur_db;

View File

@ -6,24 +6,24 @@
/* Email : bernard@ediweb.org */
/* */
/* Cette classe permet de : */
/* - créer un formulaire */
/* - le contrôler et l'afficher pour confirmation */
/* - créer un formulaire */
/* - le contrôler et l'afficher pour confirmation */
/* - et retourner son contenu */
/***********************************************************************************************************/
define("_SEPA_AFFICHE_MULTIPLE", ", ");
define("_SEPA_VALEUR_MULTIPLE", "###");
$erreur_message = array("min" => "caractères minimum",
"max" => "caractères maximum",
$erreur_message = array("min" => "caractères minimum",
"max" => "caractères maximum",
"texte" => "texte non valide",
"alphanum" => "texte alphanumérique non valide",
"num" => "valeur numérique non valide",
"num-strict" => "valeur numérique non valide",
"tel" => "numéro de téléphone non valide",
"alphanum" => "texte alphanumérique non valide",
"num" => "valeur numérique non valide",
"num-strict" => "valeur numérique non valide",
"tel" => "numéro de téléphone non valide",
"email" => "e-mail non valide",
"url" => "url non valide",
"date" => "date non valide",
"option" => "aucune option n'a été sélectionnée",
"option" => "aucune option n'a été sélectionnée",
"vide" => "champ obligatoire");
class ClasseForm {
@ -410,13 +410,13 @@ class ClasseFormChamp {
if ($this->champAOptions()) {
if (is_array($options)) {
foreach ($options as $option) {
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
$this->options[] = new ClasseFormOption($regs[1], true);
else $this->options[] = new ClasseFormOption($option);
}
}
else {
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
$this->options[] = new ClasseFormOption($regs[1], true);
else $this->options[] = new ClasseFormOption($options);
}
@ -511,7 +511,7 @@ class ClasseFormChamp {
function retournerTableauValeurs(&$tableau, $mode_retour) {
if (is_array($this->valeur)) {$valeur = implode(_SEPA_VALEUR_MULTIPLE, $this->valeur);
print_r($this->valeur);
die('Cas non géré dans inc_classeform.php');
die('Cas non géré dans inc_classeform.php');
}
else $valeur = $this->valeur_db;
switch ($mode_retour) {

View File

@ -98,7 +98,7 @@ if(is_array($list)) {
echo imap_utf7_decode($val) . "<br />\n";
}
} else {
echo "imap_list a échoué : " . imap_last_error() . "\n";
echo "imap_list a échoué : " . imap_last_error() . "\n";
}
echo "<p><h1>Entetes de mail dans INBOX</h1>\n";
@ -117,12 +117,12 @@ if($check) {
echo "Pilote: " . $check->Driver ."<br />\n" ;
echo "Mailbox: " . $check->Mailbox ."<br />\n" ;
echo "Messages: ". $check->Nmsgs ."<br />\n" ;
echo "Récent: " . $check->Recent ."<br />\n" ;
echo "Récent: " . $check->Recent ."<br />\n" ;
echo "Non lus: " . $check->Unread ."<br />\n" ;
echo "Effacés: " . $check->Deleted ."<br />\n" ;
echo "Effacés: " . $check->Deleted ."<br />\n" ;
echo "Taille: " . $check->Size ."<br />\n" ;
} else {
echo "imap_check() a échoué: ".imap_last_error(). "<br />\n";
echo "imap_check() a échoué: ".imap_last_error(). "<br />\n";
}
$imap_obj = imap_check($mbox);
@ -141,18 +141,18 @@ $partsarray=array();
/*$unsorted[$k]["subject"]=imap_utf8($val->subject); // Le sujet du message
$unsorted[$k]['from']=$val->from;
$unsorted[$k]['to']=$val->to;
$unsorted[$k]['date']=$val->date;// Date d'expédition
$unsorted[$k]['date']=$val->date;// Date d'expédition
$unsorted[$k]['message_id - Identification du message
references - est une référence sur l'id de ce message
in_reply_to - est une réponse à cet identifiant de message
references - est une référence sur l'id de ce message
in_reply_to - est une réponse à cet identifiant de message
size - taille en octets
uid - UID du message dans la boîte aux lettres
msgno - numéro de séquence du message dans la boîte
recent - Ce message est récent
flagged - Ce message est marqué
answered - Ce message a donné lieu à une réponse
deleted - Ce message est marqué pour l'effacement
seen - Ce message est déjà lu
uid - UID du message dans la boîte aux lettres
msgno - numéro de séquence du message dans la boîte
recent - Ce message est récent
flagged - Ce message est marqué
answered - Ce message a donné lieu à une réponse
deleted - Ce message est marqué pour l'effacement
seen - Ce message est déjà lu
draft - Ce message est un brouillon
*/
$s=imap_fetchstructure($mbox,$val->message_id);

View File

@ -54,7 +54,7 @@ define ('BOTH', 2);
$strIn=str_replace('y', 'i', $strIn);
/** On supprime les accents **/
$strIn=trimAccent($strIn);
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
$strIn = preg_replace ('/(?<![CS])H/', '', $strIn);
/** On remplace les 'PH' par des 'F' **/
$strIn=str_replace('ph', 'f', $strIn);
@ -76,14 +76,14 @@ define ('BOTH', 2);
$strIn=str_replace('oua', '2', $strIn);
$strIn=str_replace('ein', '4', $strIn);
$strIn=str_replace('ain', '4', $strIn);
/** Remplacement du son 'é' **/
/** Remplacement du son 'é' **/
$strIn=str_replace('ai', 'y', $strIn);
$strIn=str_replace('ei', 'y', $strIn);
$strIn=str_replace('er', 'yr', $strIn);
$strIn=str_replace('ess', 'yss', $strIn);
$strIn=str_replace('et', 'yt', $strIn);
$strIn=str_replace('ez', 'yz', $strIn);
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
$strIn=str_replace_except_voy('an', '1', $strIn, BEFORE);
$strIn=str_replace_except_voy('am', '1', $strIn, BEFORE);
$strIn=str_replace_except_voy('en', '1', $strIn, BEFORE);
@ -91,7 +91,7 @@ define ('BOTH', 2);
$strIn=str_replace_except_voy('in', '4', $strIn, BEFORE);
/** Remplacement du son 'SCH' **/
$strIn=str_replace('sch', '5', $strIn);
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
$strIn=str_replace_except_voy('in', '4', $strIn, BOTH);
/** Remplacement de groupe de 2 lettres diverses **/
$strIn=str_replace('oe', 'e', $strIn);
@ -128,7 +128,7 @@ define ('BOTH', 2);
$strIn=str_replace('v', 'f', $strIn);
$strIn=str_replace('m', 'n', $strIn);
/** Supression des lettres dupliquées **/
/** Supression des lettres dupliquées **/
$let=$strIn[0];
$strIn2=$let;
for ($i=1; $i<strlen($strIn); $i++)
@ -146,7 +146,7 @@ define ('BOTH', 2);
if ($strIn2=='t' || $strIn2=='k' || $strIn2=='s' || $strIn2=='z')
$strIn=substr($strIn,0,-1);
/** Supression des caractères non autorisés **/
/** Supression des caractères non autorisés **/
$j=10;
$sout=array();
for ($i=0; $i<strlen($strIn); $i++)

View File

@ -2,7 +2,7 @@
/**
* CLASS soundex2
* soundex2 French version
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
*
* author Johan Barbier <barbier_johan@hotmail.com>
*/

View File

@ -10,7 +10,7 @@ function microtime_float($onlyMiliSec=false) {
return $usec;
}
/** Fait une pause entre 0 et 15 secondes par défaut
/** Fait une pause entre 0 et 15 secondes par défaut
**/
function randsleep($min_sec=0, $max_sec=15) {
sleep(rand($min_sec, $max_sec));
@ -19,17 +19,17 @@ function randsleep($min_sec=0, $max_sec=15) {
/**************Fonctions de dates/heures ****/
global $tabMois;
$tabMois=array( 1=>'Janvier',
2=>'Février',
2=>'Février',
3=>'Mars',
4=>'Avril',
5=>'Mai',
6=>'Juin',
7=>'Juillet',
8=>'Août',
8=>'Août',
9=>'Septembre',
10=>'Octobre',
11=>'Novembre',
12=>'Décembre');
12=>'Décembre');
function getLibelleMois($numMois) {
global $tabMois;

View File

@ -1,10 +1,10 @@
<?
/** Test de la validité du siren demandé */
/** Test de la validité du siren demandé */
function valideSiren($siren, $nic='', $erreur=false) {
$lenSIREN=strlen($siren);
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
return $erreur;
else
{
@ -25,7 +25,7 @@ function valideSiren($siren, $nic='', $erreur=false) {
if ((integer)($somme/10)!=($somme/10))
{ // Le Siren est faux
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
return $erreur;
}
} else {

View File

@ -6,7 +6,7 @@
define ('TIME_LISIBLE', substr(DATETIME,8,2).':'.substr(DATETIME,10,2).':'.substr(DATETIME,12,2));
/**
* Inclusion du fichier de configuration des includes Métiers de S&D
* Inclusion du fichier de configuration des includes Métiers de S&D
*/
include_once realpath(dirname(__FILE__).'/config.php');
@ -18,8 +18,8 @@
/** Instance de la connexion à la base de données
* Cette instance est utilisée par tous les scripts pour accéder à la base de données
/** Instance de la connexion à la base de données
* Cette instance est utilisée par tous les scripts pour accéder à la base de données
*//*
class DB extends DB_sql
{

View File

@ -4,37 +4,37 @@ class MBalo {
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;
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 . 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("/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("/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;
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;
//else/*if (preg_match("/AVIS DIVERS/i", $strEven))*/ $even=9015;
return $even;
@ -50,24 +50,24 @@ class MBoamp {
case 10: $libEvenSd='Annulation'; break;
case 11: $libEvenSd='Annulation - Rectificatif'; break;
case 20: $libEvenSd='Rectificatif'; break;
case 22: $libEvenSd='Procédures accélérées'; break;
case 30: $libEvenSd='Avis d\'appel public à la concurrence - Délai d\'urgence'; break;
case 22: $libEvenSd='Procédures accélérées'; break;
case 30: $libEvenSd='Avis d\'appel public à la concurrence - Délai d\'urgence'; break;
case 33: $libEvenSd='Avis de mise en concurrence'; break;
case 44: $libEvenSd='Concessions'; break;
case 50: $libEvenSd='Avis d\'appel public à la concurrence'; break;
case 50: $libEvenSd='Avis d\'appel public à la concurrence'; break;
case 51: $libEvenSd='Avis informatifs'; break;
case 55: $libEvenSd='Avis d\'appel public à la concurrence'; break;
case 55: $libEvenSd='Avis d\'appel public à la concurrence'; break;
case 6 : $libEvenSd='Avis d\'attribution'; break;
case 8 : $libEvenSd='Avis d\'attribution'; break;
case 81: $libEvenSd='Avis d\'attribution - Annulation'; break;
case 82: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
case 83: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
case 84: $libEvenSd='Avis d\'attribution comportant des lots infructueux'; break;
case 9 : $libEvenSd='Résultat de marché'; break;
case 91: $libEvenSd='Résultat de marché - Annulation'; break;
case 92: $libEvenSd='Résultat de marché - Rectificatif'; break;
case 93: $libEvenSd='Résultat de marché Infructueux/Sans suite'; break;
case 94: $libEvenSd='Résultat de marché comportant des lots infructueux'; break;
case 9 : $libEvenSd='Résultat de marché'; break;
case 91: $libEvenSd='Résultat de marché - Annulation'; break;
case 92: $libEvenSd='Résultat de marché - Rectificatif'; break;
case 93: $libEvenSd='Résultat de marché Infructueux/Sans suite'; break;
case 94: $libEvenSd='Résultat de marché comportant des lots infructueux'; break;
case 96: $libEvenSd='Annulation/Rectificatif/Sans suite/Infructueux'; break;
default: $libEvenSd=$strEvenBoamp; break;
}

File diff suppressed because it is too large Load Diff

View File

@ -188,14 +188,14 @@ class ICotation {
for ($j=0; isset($this->tabActivite[$i][$j]); $j++)
{
if ($this->tabActivite[$i][$j]==$naf)
// echo 'NAF '.$naf.' TROUVÉ !<br>';
// echo 'NAF '.$naf.' TROUVÉ !<br>';
return $i;
}
}
// echo 'NAF '.$naf.' non trouvé !<br>';
// echo 'NAF '.$naf.' non trouvé !<br>';
$naf=substr($naf,0,strlen($naf)-1);
}
return 17; // Secteur d'activité par défaut si non trouvé
return 17; // Secteur d'activité par défaut si non trouvé
}
function getBorne($note, $borne, $secteur) {
@ -218,7 +218,7 @@ class ICotation {
}
// echo "NOK $note < ".$tabMinMax[0]." ou $note > ". $tabMinMax[1].'<br/>';
}
return 3; // On retourne la plus basse note par défaut
return 3; // On retourne la plus basse note par défaut
}
@ -294,7 +294,7 @@ class ICotation {
$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";
$str.='Probabilité de défaillance : '. $this->tabNotation[$notation][4]." %\r\n";
return $str;
}
}

View File

@ -9,8 +9,8 @@ function isinPoidsLettre($lettre) {
return false;
}
/** Test si un code ISIN donné est valable à partir de son algo de contrôle.
** @param string $isin Code ISIN à vérifier
/** 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) {

View File

@ -1,6 +1,6 @@
<?
/** Parse une page Html et retourne son contenu dans un tableau :
** "code" => Code réponse Serveur
** "code" => Code réponse Serveur
** "header" => Headers du serveur
** "body" => Page HTML
**/
@ -24,22 +24,22 @@ function parse_response($this_response) {
if ($header=='Set-cookie' && substr($value,0,5)=='RMID=' && $nbRMID<5)//{
$nbRMID++;
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
// 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)
/** 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
** "code" => Code réponse Serveur
** "header" => Headers du serveur
** "body" => Page HTML
**/
@ -56,7 +56,7 @@ function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $
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_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
@ -152,7 +152,7 @@ function rechercheTelephone($raisonSociale='', $adresse='', $localite='', $depar
$input_image=$VALID_ARR=$NUM_RUE=$NEW_DEPARTEMENT=$OBJ_GEO='';
// Requête d'interrogation
// Requête d'interrogation
$postData=array(
'ACTIVITE_VALIDATED_ASCII'=>'',
'ID_THEME_SDE'=>'',
@ -185,8 +185,8 @@ sleep(1);
if (count($tabNT=getTabListeNonTrouve($pageHtml))>0)
{
// Pas de réponses pour ces critères
// Il faut élargir la recherche !
// 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';
@ -195,7 +195,7 @@ sleep(1);
}
elseif (count($tabGU=getTabListeGU($pageHtml))>0)
{
// Plusieurs Adresses possibles pour l'adresse donnée
// Plusieurs Adresses possibles pour l'adresse donnée
// print_r($tabGU);
$input_image=getBonneAdresse($adresse, $tabGU);
$DEFAULT_ACTION='jf_inscriptions_req';
@ -213,7 +213,7 @@ sleep(1);
'input_image'=>$input_image,// diff
'SESSION_ID'=>$SESSION_ID,
'VID'=>$VID,
'INFO_VILLE'=>'oui', // non dans la recherche préc.
'INFO_VILLE'=>'oui', // non dans la recherche préc.
'CODE_LOC_INFO_VILLE'=>$CODE_LOC_INFO_VILLE, // diff
'IV_ACTIVATION'=>'oui',
'lang'=>'FR',
@ -273,14 +273,14 @@ function getTabResponses($pageHtml) {
$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";*/
/*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,
@ -296,42 +296,42 @@ function getTabResponses($pageHtml) {
function getBonneAdresse($adresse, $tabGU) {
// tableau de mots à vérifier
// tableau de mots à vérifier
$words = array_keys($tabGU);
// aucune distance de trouvée pour le moment
// aucune distance de trouvée pour le moment
$shortest = -1;
// boucle sur les des mots pour trouver le plus près
// 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,
// 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)
// 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
// 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é
// 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
// définission du mot le plus près ainsi que la distance
$closest = $word;
$shortest = $lev;
}
}
/*
echo "Mot entré : $adresse\n";
echo "Mot entré : $adresse\n";
if ($shortest == 0) {
echo "Correspondance exacte trouvée : $closest\n";
echo "Correspondance exacte trouvée : $closest\n";
} else {
echo "Vous voulez dire : $closest ?\n";
}*/

View File

@ -9,17 +9,17 @@ function getDataEtablissement($pageHtml)
$responseSiege=$pageHtml;
$tabRet=array();
// On recherche si on est sur un établissement siège ou secondaire
// 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>');
$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';
$tabRet['typeEtablissement']='siège';
// Recherche Dernière MAJ / Activité
$pos=strpos($responseSiege, '<font face="Arial" size="2">(dernière mise à jour :');
// 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']='';
@ -27,21 +27,21 @@ function getDataEtablissement($pageHtml)
} else {
$tabRet['active']='N';
$tabRet['dateMAJ']='';
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité notée&nbsp;le&nbsp;:&nbsp;');
$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é');
$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>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">');
$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))));
$tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109))));
}
else $tabRet['dateCreation']='';
@ -61,10 +61,10 @@ function getDataEtablissement($pageHtml)
$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])));
$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">');
$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));
@ -82,15 +82,15 @@ function getDataEtablissement($pageHtml)
$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;');
$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;');
$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';
$tabRet['etatJuridique']='cessée';
}
//echo 'GetDataEtab="'.$libelleErreur."\"\r\n";
@ -108,7 +108,7 @@ function getDataEntreprise($pageHtml)
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">');
$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
@ -119,11 +119,11 @@ function getDataEntreprise($pageHtml)
$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])));
$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">');
// 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));
@ -133,9 +133,9 @@ function getDataEntreprise($pageHtml)
$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">');
$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)))));
$tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(substr($responseEntreprise, $pos+118, $posFin-($pos+118)))));
}
return $tabRet;
}
@ -224,11 +224,11 @@ function getDataEntrepriseRNCS($pageHtml) {
// Forme Juridique
// Nationalité
// Nationalité
// Activité
// Activité
// Siège social
// Siège social
/*
<tr>
<td bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
@ -260,7 +260,7 @@ function getDataEntrepriseRNCS($pageHtml) {
<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>
<td width="385" bgcolor="#EBF0F5" class="basictext">SA à conseil d'administration</td>
</tr>
<tr align="left" valign="top">
@ -307,7 +307,7 @@ function getDataEntrepriseRNCS($pageHtml) {
<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>
<td width="385" align="left" valign="top" bgcolor="#EBF0F5" class="basictext">De 5150 à 5720</td>
</tr>
</table>
@ -327,21 +327,21 @@ function getDataEcoCoface($pageHtml) {
$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>');
$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>');
$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['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['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>');
@ -355,8 +355,8 @@ function getDataEcoCoface($pageHtml) {
$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é'
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 ' )
{
@ -374,17 +374,17 @@ function getDataEcoCoface($pageHtml) {
// 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';
if (strpos($strTmp, 'Néant')>0)
$tabRet['LiensFinanciers']='Néant';
else
$tabRet['LiensFinanciers']='Présence liens';
$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';
if (strpos($strTmp, 'Néant')>0)
$tabRet['ElementsFinanciers']='Néant';
else
$tabRet['ElementsFinanciers']='Présence El.Fi.';
$tabRet['ElementsFinanciers']='Présence El.Fi.';
}
else
$tabRet['infoEco']='NON';
@ -408,7 +408,7 @@ function getDataEntrepriseCoface($pageHtml) {
//$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
// 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]);
@ -420,8 +420,8 @@ function getDataEntrepriseCoface($pageHtml) {
$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>');
// 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]);
@ -439,8 +439,8 @@ function getDataEntrepriseCoface($pageHtml) {
$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>')));
// 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>');
@ -533,16 +533,16 @@ function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=
$nbOccTrouve++;
if ($nbOcc==$nbOccTrouve) {
// echo "j'ai trouvé le nb demandé, je sort\r\n";
// 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>
<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

@ -7,13 +7,13 @@
//$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 !
/** 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 $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 $codPos Code Postal (ou département)
** @param $ville Ville (orthographe correcte si possible si pas de CP)
** @return array
**/
@ -43,21 +43,21 @@
$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
// 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['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);
// 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_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);
@ -67,7 +67,7 @@
}
/*
<td class="gris2" valign=top><span class=grasnoir>Détails :</span><br>
<td class="gris2" valign=top><span class=grasnoir>Détails :</span><br>
00441644 <br>

View File

@ -2,38 +2,38 @@
$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('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['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->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[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[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[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->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');

View File

@ -80,211 +80,211 @@ $tabEvenSolib=array(1=>'CR',
);
$tabEven2SO=array( // PROCOL
1010=>92, // Déclaration de cessation de paiement
1010=>92, // Déclaration de cessation de paiement
1050=>7, // Homologation de la conciliation
1055=>7, // Résolution 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
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
1207=>53, // Règlemement amiable
1208=>78,
1209=>51, // Règlement Judiciaire
1209=>51, // Règlement Judiciaire
1210=>77, // Production
1211=>52, // Redressement Judiciaire par extension au(x) gérant(s)
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
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
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
1306=>66, // Liquidation Judiciaire simplifiée
1307=>62, // Conversion sauvegarde en Liquidation Judiciaire
1308=>62, // Fin du régime de Liquidation Judiciaire Simplifiée
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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é
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
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
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
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
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
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
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é
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é
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é
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...
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...
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
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
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...
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)
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
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
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,
@ -292,94 +292,94 @@ $tabEven2SO=array( // PROCOL
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
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
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
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
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
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é
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
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)
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
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
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
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)
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
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
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
1414=>'M', // Arrêt du plan de redressement
);
function exporte($txt, $lon, $sep='') {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
@ -410,7 +410,7 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$dateJ=date('Ymd');
$ecrireLignePre=false;
/** Codes/Variables à gérer **/
/** Codes/Variables à gérer **/
$depPar=0;
$SOSTAE='';
$typeFicheId='I'; // Fiche Identifiant
@ -418,15 +418,15 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
/** Type de fiche Id **/
if (strpos($optionFicheId, 'S')==true) $typeFicheId='S'; // Fiche Standard
elseif (strpos($optionFicheId, 'C')==true) $typeFicheId='C'; // Fiche Complète
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
case 1: // Ligne ignorée
// Ecriture de l'entête
$ligne001++;
break;
case 100: // Structure Bodacc
@ -438,21 +438,21 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
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 ?
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.=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('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($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
@ -472,55 +472,55 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
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
$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
$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
$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é
$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é
$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é
$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
$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) {
@ -532,7 +532,7 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
else
$txtEven.='';
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
$dateCess= substr($ligne, 1136, 8 )*1; // Date de cessat° des paiements
$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;
@ -567,23 +567,23 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$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($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($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('ID', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client
$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($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('', 9); // Témoin de MAJ
$DBILS2.=exporte($rs, 60); //
$DBILS2.=exporte(substr($rs,60),30); //
$DBILS2.=exporte($tabIdentite['Sigle'], 30); // Vide !
@ -594,8 +594,8 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$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['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
@ -613,8 +613,8 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$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.=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
@ -643,32 +643,32 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$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('', 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.=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.=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); // 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 ?
@ -680,21 +680,21 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$DBILS2.=exporte('', 1); // Taille UU
$DBILS2.=exporte('', 2); // UU etab
$DBILS2.=exporte('', 5); // Code rivoli
$DBILS2.=exporte('', 2); // PPale région entrep
$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
$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);
$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;
@ -702,7 +702,7 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri);
$SOSEQ++;
@ -710,32 +710,32 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
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($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.=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('ANN', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client
$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($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
$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
$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*/
@ -751,20 +751,20 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$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.=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('', 33); // Particularité
$DBILS2.=exporte('', 4); // Code rubrique du Bodacc A1xx
$DBILS2.=exporte('', 6); // Code lib injecté
$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['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.=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
@ -783,7 +783,7 @@ function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFi
$ligne104++;
$txtAnn=trim($txtAnn.' '.trim(substr($ligne, 89 , 1910))); // Texte Annonce
break;
default: // Ligne non gérée
default: // Ligne non gérée
break;
}
if ($ecrireLignePre) {

File diff suppressed because it is too large Load Diff

View File

@ -27,7 +27,7 @@ class MSirene {
}
/**
* Récupère les informations relatives à un établissement et son entreprise (par défaut le siège si pas de NIC)
* Récupère les informations relatives à un établissement et son entreprise (par défaut le siège si pas de NIC)
*
* @param unknown_type $sirenLu
* @param unknown_type $nicLu
@ -36,16 +36,16 @@ class MSirene {
{
$tabRet=array();
/** 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
/** 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;
// Requête d'interrogation
// Requête d'interrogation
$postData=array('siren'=>$sirenLu,
'option'=>$option,
'nic'=>$nicLu,
@ -58,7 +58,7 @@ class MSirene {
{
//$libelleErreur='Erreur INSEE inconnue 1';
// Siren Invalide ou autre erreur non répertoriée !
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
{
@ -73,43 +73,43 @@ class MSirene {
}
else
{ if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege')
// L'établissement demandé est un siège !
// L'établissement demandé est un siège !
$option=1;
if ($option==3)
{
// On déroule les URLs d'appels établissement
// On déroule les URLs d'appels établissement
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false',false,HOST_INSEE);
//sleep(1);
// Frames réponse niveau Etab
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE);
$responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=etablissement', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false,HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=etablissement', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE);
$responseEtab=$responseEtab['body'];
// On recherche si on est bien sur un fiche établissement
// 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)
$tabRet['erreur']='Erreur SCRIPT Fiche Etablissement non trouvée';
$tabRet['erreur']='Erreur SCRIPT Fiche Etablissement non trouvée';
$responseSiege=$responseEtab;
}
else
{
// On déroule les URLs d'appels Sièges
// On déroule les URLs d'appels Sièges
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false',false,HOST_INSEE);
//sleep(1);
// Frames réponse niveau sièges
// Frames réponse niveau sièges
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE);
$responseSiege=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false,HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE);
$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>');
// 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)
$tabRet['erreur']='Erreur SCRIPT Fiche Siège non trouvée';
$tabRet['erreur']='Erreur SCRIPT Fiche Siège non trouvée';
}
// Niveau entreprise
@ -123,14 +123,14 @@ class MSirene {
$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) {
$tabRet['erreur']='Erreur SCRIPT Fiche Entreprise non trouvée';
$tabRet['erreur']='Erreur SCRIPT Fiche Entreprise non trouvée';
}
/** Recherche des données établissement
/** Recherche des données établissement
**/
$tabRet['etablissement']=$this->getDataEtablissement($responseSiege);
/** Recherche des données entreprise
/** Recherche des données entreprise
**/
$tabRet['entreprise']=$this->getDataEntreprise($responseEntreprise);
@ -141,13 +141,13 @@ class MSirene {
}
/**
* Récupère la liste de tous les établissements d'une entreprise
* Récupère la liste de tous les établissements d'une entreprise
*
* @param unknown_type $sirenLu
*/
function getListeEtabs($sirenLu)
{
// Requête d'interrogation
// Requête d'interrogation
$postData=array('siren'=>$sirenLu,
'option'=>2,
'nic'=>'',
@ -168,7 +168,7 @@ class MSirene {
{
//$libelleErreur='Erreur INSEE inconnue 1';
// Siren Invalide ou autre erreur non répertoriée !
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
{
@ -182,10 +182,10 @@ class MSirene {
$libelleErreur='Erreur INSEE inconnue';
}
// On déroule les URLs d'appels liste des établissements
// On déroule les URLs d'appels liste des établissements
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE);
//sleep(1);
// Frames réponse niveau Etab
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE);
@ -193,7 +193,7 @@ class MSirene {
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Liste_bas.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE);
$responseListe=$responseListe['body'];
$pos=strpos($responseListe, 'Nombre total de réponses&nbsp;:&nbsp;'."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
$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)));
@ -212,26 +212,26 @@ class MSirene {
$nbRepParPage=trim(substr($responseListe, $pos+60, $posFin-($pos+60)));
}
/* TODO = Récupérer les infos étab + entrep pour chaque ligne du tableau !!!*
/* 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...
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, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp', false, HOST_INSEE);
if ($responseQ['code']==302)
{
// Siren Invalide ou autre erreur non répertoriée !
// 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
// 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, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE);
//sleep(1);
// Frames réponse niveau Etab
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false, HOST_INSEE);
@ -239,7 +239,7 @@ class MSirene {
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i, false, HOST_INSEE);
$responseEtab=$responseEtab['body'];
// Récupération de la fiche entreprise INSEE
// 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, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege&numtableau='.$i.'&origine=liste', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE);
@ -250,10 +250,10 @@ class MSirene {
}
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
// On déroule les URLs d'appels établissement
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement&numtableau='.$i, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE);
//sleep(1);
// Frames réponse niveau Etab
// Frames réponse niveau Etab
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false, HOST_INSEE);
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false, HOST_INSEE);
@ -267,9 +267,9 @@ class MSirene {
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
else $siret=$tabInfoEtab['siret'];
/*$str= date('d/m/Y à H:i:s') .';'.
/*$str= date('d/m/Y à H:i:s') .';'.
$libelleErreur .';'.
// Siège
// Siège
$siret .';'.
$tabInfoEtab['active'] .';'.
$tabInfoEtab['dateAbsActivite'] .';'.
@ -306,7 +306,7 @@ class MSirene {
}//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
// 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';
@ -324,17 +324,17 @@ private function getDataEtablissement($pageHtml)
$responseSiege=$pageHtml;
$tabRet=array();
// On recherche si on est sur un établissement siège ou secondaire
// 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>');
$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';
$tabRet['typeEtablissement']='siège';
// Recherche Dernière MAJ / Activité
$pos=strpos($responseSiege, '<font face="Arial" size="2">(dernière mise à jour :');
// 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']='';
@ -342,21 +342,21 @@ private function getDataEtablissement($pageHtml)
} else {
$tabRet['active']='N';
$tabRet['dateMAJ']='';
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité notée&nbsp;le&nbsp;:&nbsp;');
$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é');
$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>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">');
$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))));
$tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109))));
}
else $tabRet['dateCreation']='';
@ -376,9 +376,9 @@ private function getDataEtablissement($pageHtml)
$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['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));
@ -396,15 +396,15 @@ private function getDataEtablissement($pageHtml)
$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;');
$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;');
$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';
$tabRet['etatJuridique']='cessée';
}
//echo 'GetDataEtab="'.$libelleErreur."\"\r\n";
return $tabRet;
@ -421,7 +421,7 @@ private function getDataEntreprise($pageHtml)
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">');
$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
@ -432,11 +432,11 @@ private function getDataEntreprise($pageHtml)
$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])));
$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">');
// 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));
@ -446,7 +446,7 @@ private function getDataEntreprise($pageHtml)
$tabRet['FJLibEntrep']=trim(substr($responseEntreprise, $pos+133, 70));
// Nb Etab Actifs
$tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(@getTextInHtml($responseEntreprise, '<B>Nb&nbsp;établissements&nbsp;actifs&nbsp;:</B>', '<font face="Arial" size="-1">', '</font>'))));
$tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(@getTextInHtml($responseEntreprise, '<B>Nb&nbsp;établissements&nbsp;actifs&nbsp;:</B>', '<font face="Arial" size="-1">', '</font>'))));
}
return $tabRet;
}

View File

@ -107,9 +107,9 @@ class MAmabis {
} else {
try {
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
$rep=$this->client->zonage( new SoapParam(strtr("$raisonSociale:$adresse:$cp:$ville",
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
' aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'),'adresse'),
new SoapParam(':','separateur'),
new SoapParam('type=M','options')
@ -118,7 +118,7 @@ class MAmabis {
"<separateur>:</separateur>".
"<options>type=M</options>");*/
/** Découpage des ZFU, CUCS etcs...
/** Découpage des ZFU, CUCS etcs...
**/
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s').' - '.implode("\n", $rep)."\n============================================================================\n");
@ -213,8 +213,8 @@ class MAmabis {
$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");
fwrite($fp, "Requête : ".$this->client->__getLastRequest()."\n");
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");
fclose($fp);
}

View File

@ -100,9 +100,9 @@ class MArtisanat {
if (preg_match_all('/<a class="turquoise" href="(rm\.php\?dom=Gerer&amp;fonction=dossier&amp;(.*))">/Uis', $this->body, $matches)) {
$tabUrls=array_unique($matches[1]);
$anRadMax=0;
// Recherche de la dernière inscription
// Recherche de la dernière inscription
foreach ($tabUrls as $iUrl=>$url) {
// On prend la dernière inscription
// On prend la dernière inscription
$tabTmp=explode('&amp;',$url);
if (substr($tabTmp[3],0,8)=='an_rera=') {
$anRad=substr($tabTmp[3],8);
@ -114,7 +114,7 @@ class MArtisanat {
}
}
if ($iRadMax==-1) die('$iRadMax==-1 Cas impossible !'.EOL.print_r($tabUrls,true).EOL.print_r($matches,true));
// Accès à la dernière fiche
// Accès à la dernière fiche
$url='http://www.cma-paris.fr/CMP/'.strtr(trim($tabUrls[$iRadMax]),array('&amp;'=>'&'));
randsleep(1,2);
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.cma-paris.fr', false, '', '', 21);
@ -160,7 +160,7 @@ class MArtisanat {
$tabInsert['actif']=$actif;
if ($actif===null) {
//die("siren=$siren".EOL."sirenLu=$sirenLu".EOL.$this->body);
$this->libErreur='Erreur Actif/Radié non trouvé !';
$this->libErreur='Erreur Actif/Radié non trouvé !';
return false;
}
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">d&eacute;nomination<\/span><\/td>(?:.*)<td align="left" colspan="5">(.*)<\/td>/Uis', $this->body, $matches)) {
@ -255,7 +255,7 @@ class MArtisanat {
}
// Insertion en base de données
// Insertion en base de données
$tabInsert['dateInsert']=date('Y-m-d H:i:s');
$id=$this->iDb->insert('artisanat', $tabInsert, true);
$tabInsert['id']=$id;
@ -268,7 +268,7 @@ class MArtisanat {
unset($tabInsert['dateInsert']);
/*
$tabRet=array( 'id' => $id,// A calculer après insert
$tabRet=array( 'id' => $id,// A calculer après insert
'Pertinence' => 100,
'Siret' => $siren.'00000',
'Siege' => $siege,

View File

@ -4,13 +4,13 @@ include_once(FWK_PATH.'common/dates.php');
class MBanques {
public $tabActivite=array( 0=>'établissements et services autorisés à effectuer des opérations de banque',
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',
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)',
@ -20,27 +20,27 @@ class MBanques {
'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',
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',
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',
29=>'Crédit Immobilier France Développement',
30=>'BPCE',
98=>'non concerné',
99=>'en instance d\'adhésion');
98=>'non concerné',
99=>'en instance d\'adhésion');
private $iDb;
function __construct() {

View File

@ -9,92 +9,92 @@ define ('ECART_CTRL_MAX', 5); // Ecart maximal acceptable dans la saisie +/-5 en
global $tabCtrl;
$tabCtrl=array(
/** Bilans Réel Normal **/
/** Bilans Réel Normal **/
'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)',
// 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é
// 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é
// 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',
'232-264=270'=>'Résultat d\'exploitation',
'232+280+290-264-294-300-306=310'=>'Résultat d\'exploitation',
),
'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)',
// 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-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)',
'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',
@ -102,7 +102,7 @@ $tabCtrl=array(
'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)',
'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
@ -115,48 +115,48 @@ $tabCtrl=array(
'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',
'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',
'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',
'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',
'HL-HM=HN'=>'5 - Résultat de l\'exercice',
// Immobilisations
/* 'LY+MB+ME+MH+MK+MN+MQ+MT+MW+NA+NE=NH'=>'2054: Immos Total III Brut fin ex. incohérent',
'0V+0Y+2C+2F=NK'=>'2054: Immos Total IV Brut fin ex. incohérent',
'LU+LW+NH+NK=0L'=>'2054: Immos Total Général Brut fin ex. incohérent',
'0L=BJ'=>'Immos Total Général Brut du 2054 <> BJ du 2050',*/
/* 'LY+MB+ME+MH+MK+MN+MQ+MT+MW+NA+NE=NH'=>'2054: Immos Total III Brut fin ex. incohérent',
'0V+0Y+2C+2F=NK'=>'2054: Immos Total IV Brut fin ex. incohérent',
'LU+LW+NH+NK=0L'=>'2054: Immos Total Général Brut fin ex. incohérent',
'0L=BJ'=>'Immos Total Général Brut du 2054 <> BJ du 2050',*/
),
);
$tabLibCodeSaisie=array(
'_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',
'_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',
'_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)',
'_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)',
'_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',
'_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',
'_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',
);
class MBilans {
@ -202,14 +202,14 @@ class MBilans {
if ($ENV=='PRD') { // A supprimer le jour ou on vire l'ancien serveur car curl plantait sur Infogreffe !!!
$tabRefXml=$tabRefPdf=array();
// Tableau des références de bilans XML Infogreffe
// Tableau des références de bilans XML Infogreffe
foreach ($tabRet as $idxTmp=>$bilanTmp) {
if ((substr($idxTmp,-4)*1)>(date(Y)-4))
$tabRefXml[]=$bilanTmp['ref'];
}
$tabImg=$this->igreffe->getBilansImages($this->siren);
// Tableau des références de bilans PDF Infogreffe
// Tableau des références de bilans PDF Infogreffe
foreach ($tabImg as $idxTmp=>$bilanTmp) {
if ($bilanTmp['annee']>(date(Y)-4))
$tabRefPdf[]=$bilanTmp['ref'];
@ -223,7 +223,7 @@ class MBilans {
$strMillesimes.=$tabTmp[0].', ';
}
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Bilans non saisit sur $this->siren pour $strMillesimes",
'Différence :'.EOL.print_r($tabDiff,true) .EOL.
'Différence :'.EOL.print_r($tabDiff,true) .EOL.
'Liste XML:'.EOL.print_r($tabRefXml, true) .EOL.
'Liste PDF:'.EOL.print_r($tabRefPdf,true) .EOL
);
@ -236,7 +236,7 @@ class MBilans {
$dateExercice=WDate::dateT('d/m/Y','Ymd',substr($millesime,1,10));
$tabTri[''.$dateExercice.'-'.$typeBilan]=$millesime;
}
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "listeBilans sur $this->siren après accès partenaire", print_r($tabRet2, true));
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "listeBilans sur $this->siren après accès partenaire", print_r($tabRet2, true));
foreach ($ret as $i=>$bil) {
$millesime=WDate::dateT('Ymd','d/m/Y',$bil['dateExercice']);
@ -265,12 +265,12 @@ class MBilans {
$type=substr($tmp,9,1);
$ref=$tabRet[''.$typeMillesime]['ref'];
if ($exercice==$exercicePre && $type=='N' && $typePre=='S' && $refPre=='') {
// Suppression du bilan RN de la liste si Réel Normal et Réel Simplifiés présents en base
// Suppression du bilan RN de la liste si Réel Normal et Réel Simplifiés présents en base
unset($tabTri[$tmp]);
$strInfos.="Suppression de '$tmp'".EOL;
}
elseif ($exercice==$exercicePre && $type=='N' && $typePre=='S' && $refPre<>'') {
// Suppression du bilan RS de la liste si Réel Normal Présent en base et réel simplifié non encore en base
// Suppression du bilan RS de la liste si Réel Normal Présent en base et réel simplifié non encore en base
if ($tmpPre<>false) {
unset($tabTri[$tmpPre]);
$strInfos.="Suppression de '$tmpPre'".EOL;
@ -283,12 +283,12 @@ class MBilans {
}
krsort($tabTri);
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "listeBilans sur $this->siren après le tri", print_r($tabTri, true).EOL.$strInfos.EOL);
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "listeBilans sur $this->siren après le tri", print_r($tabTri, true).EOL.$strInfos.EOL);
$tabRet3=array();
foreach ($tabTri as $tmp=>$typeMillesime)
$tabRet3[''.$typeMillesime]=$tabRet[''.$typeMillesime];
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "listeBilans sur $this->siren après le tri / retour", print_r($tabRet3, true));
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "listeBilans sur $this->siren après le tri / retour", print_r($tabRet3, true));
return $tabRet3;
}
@ -297,7 +297,7 @@ class MBilans {
$millesimeDB=WDate::dateT('d/m/Y','Ymd',$millesime);
$iDb2=new WDB();
if ($accesPartenaire)
// On ne veut pas de bilans "Téléchargés" directement sur Internet
// On ne veut pas de bilans "Téléchargés" directement sur Internet
$strSansBilansWeb=' AND partenaire<>7 ';
else
$strSansBilansWeb='';
@ -356,12 +356,12 @@ class MBilans {
$tabBilan['DUREE_MOIS'] = $bilan['dureeExercice'];
$tabBilan['DUREE_MOIS_PRE'] = $bilan['dureeExercicePre'];
$tabBilan['MONNAIE'] = $bilan['monnaie'];
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
$tabBilan['SOURCE'] = $bilan['partenaire'];
// Devise et Unité
// Devise et Unité
if ($bilan['monnaie']=='EUR') $monnaie='&euro;'; else $monnaie=$bilan['monnaie'];
switch (strtoupper($bilan['unite'])) {
case 'K': $unite='K'; break;
@ -373,7 +373,7 @@ class MBilans {
}
$tabBilan['devise'] = /*$unite.*/$monnaie;
/** Remplissage du tableau des postes du Bilan avec prise en compte de l'unité de la monnaie
/** Remplissage du tableau des postes du Bilan avec prise en compte de l'unité de la monnaie
**/
$tabTmp=explode(';', $bilan['postes']);
foreach ($tabTmp as $i=>$strTmp) {
@ -455,14 +455,14 @@ class MBilans {
if (!isset($tabBilan['099']) && (isset($tabBilan['096'])||isset($tabBilan['098']))) $tabBilan['099']=$tabBilan['096']-$tabBilan['098'];
if (!isset($tabBilan['113']) && (isset($tabBilan['110'])||isset($tabBilan['112']))) $tabBilan['113']=$tabBilan['110']-$tabBilan['112'];
}
/** Y a t'il suffisament d'informations sur le bilan précédent
/** Y a t'il suffisament d'informations sur le bilan précédent
**/
if ($bilan['dateExercicePre']*1==0 || $bilan['dureeExercicePre']*1==0 ||
(($tabBilan['FL1']*1==0 || $tabBilan['EE1']*1==0) && ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C')) || // Réel Normal ou Consolidé
(($tabBilan['FL1']*1==0 || $tabBilan['EE1']*1==0) && ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C')) || // Réel Normal ou Consolidé
(($tabBilan['NA3']*1==0 || $tabBilan['NP3']*1==0) && ($tabBilan['CONSOLIDE']=='A' || $tabBilan['CONSOLIDE']=='B')) || // Banque ou Assurance
(($tabBilan['N15']*1==0 || $tabBilan['N32']*1==0) && $tabBilan['CONSOLIDE']=='S') // Réel Simplifié
(($tabBilan['N15']*1==0 || $tabBilan['N32']*1==0) && $tabBilan['CONSOLIDE']=='S') // Réel Simplifié
) {
/** Il n'y a aucune information sur le bilan précédent
/** Il n'y a aucune information sur le bilan précédent
**/
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice<'$millesimeDB' ORDER BY dateExercice DESC LIMIT 0,1", true);
$bilanPre=$ret[0];
@ -626,7 +626,7 @@ class MBilans {
if (!isset($tabBilan['EF1']) && isset($tabBilanPre['EF'])) $tabBilan['EF1']=$tabBilanPre['EF'];
if (!isset($tabBilan['EG1']) && isset($tabBilanPre['EG'])) $tabBilan['EG1']=$tabBilanPre['EG'];
if (!isset($tabBilan['EH1']) && isset($tabBilanPre['EH'])) $tabBilan['EH1']=$tabBilanPre['EH'];
// Compte de Résultats
// Compte de Résultats
if (!isset($tabBilan['FC1']) && isset($tabBilanPre['FC'])) $tabBilan['FC1']=$tabBilanPre['FC'];
if (!isset($tabBilan['FF1']) && isset($tabBilanPre['FF'])) $tabBilan['FF1']=$tabBilanPre['FF'];
if (!isset($tabBilan['FI1']) && isset($tabBilanPre['FI'])) $tabBilan['FI1']=$tabBilanPre['FI'];
@ -713,7 +713,7 @@ class MBilans {
if (!isset($tabBilanPre['095']) && (isset($tabBilanPre['092'])||isset($tabBilanPre['094'])))$tabBilanPre['095']=$tabBilanPre['092']-$tabBilanPre['094'];
if (!isset($tabBilanPre['099']) && (isset($tabBilanPre['096'])||isset($tabBilanPre['098'])))$tabBilanPre['099']=$tabBilanPre['096']-$tabBilanPre['098'];
if (!isset($tabBilanPre['113']) && (isset($tabBilanPre['110'])||isset($tabBilanPre['112'])))$tabBilanPre['113']=$tabBilanPre['110']-$tabBilanPre['112'];
// Récupération des chiffres N-1 si absent du bilan N
// Récupération des chiffres N-1 si absent du bilan N
// ACTIF 2033
if (!isset($tabBilan['N00']) && isset($tabBilanPre['013'])) $tabBilan['N00']=$tabBilanPre['013'];
if (!isset($tabBilan['N01']) && isset($tabBilanPre['017'])) $tabBilan['N01']=$tabBilanPre['017'];

View File

@ -100,7 +100,7 @@ class MBilans {
$tabBilan['DUREE_MOIS'] = $bilan['dureeExercice'];
$tabBilan['DUREE_MOIS_PRE'] = $bilan['dureeExercicePre'];
$tabBilan['MONNAIE'] = $bilan['monnaie'];
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
if ($bilan['monnaie']=='EUR') $monnaie='&euro;'; else $monnaie=$bilan['monnaie'];
@ -151,7 +151,7 @@ class MBilans {
$this->cookie=$this->header['Set-Cookie'];
$postData=array('rq'=>'hbilabon', 'QPABO'=>'101001002', 'QPPAS'=>'otY66');
$urlConn=$this->url.'/cgi-bin/h2r';
//echo "Connexion à $urlConn<br/>";
//echo "Connexion à $urlConn<br/>";
$page=getUrl($urlConn, $this->cookie, $postData, $this->url, false, $this->domaine);
$this->body=$page['body'];
$this->codeRetour=$page['code'];
@ -173,11 +173,11 @@ class MBilans {
//echo "Recherche du siren $this->siren<br/>\n";
$this->partConnection();
/** Liste des établissements **/
/** Liste des établissements **/
$urlEntrep=$this->url .'/cgi-bin/h2r?rq=hbilentl&QEREC=B&QESIR='.$this->siren
.'&QENOM=&QEPRN=&QENAIA=&QENAIM=&QECP=&QESIEG=A&QEVIL=&QENRU=&QERUE=&QEAPE=&QETEL=&QENAOB&wi=1';
/* QESIEG :
"" = Tous les étab
"" = Tous les étab
"A" = Dernier Si&egrave;ge Actif connu
"S" = Historique des Si&egrave;ges
"E" = Historique des &eacute;tablissements secondaires
@ -187,7 +187,7 @@ class MBilans {
$bil=$page['body'];
preg_match_all('/"\/cgi-bin\/h2r\?rq=hbiliden&QINUME=(\d*)&QISIR=(\d*)&(.*)"/', $bil, $matches);
//print_r($matches);
/** Fiche d'identité du siège **/
/** Fiche d'identité du siège **/
$urlEntrep=$url. str_replace('"', '', $matches[0][0]);
sleep(1);
$page=getUrl($urlEntrep, $this->cookie, '', $this->url, false, $this->domaine);
@ -236,7 +236,7 @@ class MBilans {
$tabBilan['DATE_CLOTURE_PRE'] =trim(substr($fcontents[1], 109, 8)); // SSAAMMJJ
$tabBilan['DUREE_MOIS'] =trim(substr($fcontents[1], 117, 2));
$tabBilan['DUREE_MOIS_PRE'] =trim(substr($fcontents[1], 119, 2));
$type =trim(substr($fcontents[1], 123, 1)); // C = Bilan consolidé
$type =trim(substr($fcontents[1], 123, 1)); // C = Bilan consolidé
if ($type=='') $tabBilan['CONSOLIDE']='N';
elseif ($type=='C') $tabBilan['CONSOLIDE']='C';
else { $tabBilan['CONSOLIDE']=$type;

View File

@ -21,7 +21,7 @@ class MBourse {
}
}
/** Obtenir le code ISIN à partir d'un siren
/** Obtenir le code ISIN à partir d'un siren
**
** @param integer $siren
** @return string
@ -35,7 +35,7 @@ class MBourse {
return trim(@$tabTmp[0]['isin']);
}
/** Obtenir le SIREN à partir d'un code ISIN
/** Obtenir le SIREN à partir d'un code ISIN
**
** @param string $isin Code ISIN
** @return integer
@ -46,7 +46,7 @@ class MBourse {
return trim($tabTmp[0]['siren']);
}
/** A partir d'un siren, récupère les informations règlementés
/** A partir d'un siren, récupère les informations règlementés
**
** @param integer $siren
** @param integer $id
@ -99,7 +99,7 @@ class MBourse {
return $tabRet;
}
/** A partir d'un siren, récupère les informations boursières
/** A partir d'un siren, récupère les informations boursières
**
** @param integer $siren
** @return unknown
@ -150,18 +150,18 @@ class MBourse {
$tabTmp=$tabRes[0];
print_r($tabTmp);
*/
/* Variations en clôture du 07/03/2008
/* 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
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
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,

View File

@ -7,71 +7,71 @@ class MCadastre {
/** Droits des locaux **/
private static $tabCodeDroit=array(
'P'=>'Propriétaire',
'U'=>'Usufruitier', // (associé avec N)
'N'=>'Nu-propriétaire', // (associé avec U)
'B'=>'Bailleur à construction', // (associé avec R)
'R'=>'Preneur à construction', // (associé avec B)
'F'=>'Foncier', // (associé avec D ou T)
'T'=>'Tenuyer', // (associé avec F)
'D'=>'Domanier', // (associé avec F)
'V'=>'Bailleur d\'un bail à réhabilitation', // (associé avec W)
'W'=>'Preneur d\'un bail à réhabilitation', // (associé avec V)
'A'=>'Locataire-Attributaire', // (associé avec P)
'E'=>'Emphytéote', // (associé avec P)
'K'=>'Antichrésiste', // (associé avec P)
'L'=>'Fonctionnaire logé',
'G'=>'Gérant, mandataire, gestionnaire',
'S'=>'Syndic de copropriété',
'H'=>'Associé dans une société en transparence fiscale',// (associé avec P)
'P'=>'Propriétaire',
'U'=>'Usufruitier', // (associé avec N)
'N'=>'Nu-propriétaire', // (associé avec U)
'B'=>'Bailleur à construction', // (associé avec R)
'R'=>'Preneur à construction', // (associé avec B)
'F'=>'Foncier', // (associé avec D ou T)
'T'=>'Tenuyer', // (associé avec F)
'D'=>'Domanier', // (associé avec F)
'V'=>'Bailleur d\'un bail à réhabilitation', // (associé avec W)
'W'=>'Preneur d\'un bail à réhabilitation', // (associé avec V)
'A'=>'Locataire-Attributaire', // (associé avec P)
'E'=>'Emphytéote', // (associé avec P)
'K'=>'Antichrésiste', // (associé avec P)
'L'=>'Fonctionnaire logé',
'G'=>'Gérant, mandataire, gestionnaire',
'S'=>'Syndic de copropriété',
'H'=>'Associé dans une société en transparence fiscale',// (associé avec P)
'O'=>'Autorisation d\'occupation temporaire (70 ans)',
'J'=>'Jeune agriculteur',
'Q'=>'Gestionnaire taxe sur les bureaux (Ile-de-France)',
'X'=>'La Poste Occupant et propriétaire',
'Y'=>'La Poste Occupant et non propriétaire',
'X'=>'La Poste Occupant et propriétaire',
'Y'=>'La Poste Occupant et non propriétaire',
'C'=>'Fiduciaire',
);
/** Nature des locaux **/
private static $tabNatureLoc=array(
'AP'=>'Appartement',
'AT'=>'Antenne téléphone',
'AT'=>'Antenne téléphone',
'AU'=>'Autoroute',
'CA'=>'Commerce sans boutique',
'CB'=>'Local divers',
'CD'=>'Dépendance commerciale',
'CD'=>'Dépendance commerciale',
'CH'=>'Chantier',
'CM'=>'Commerce avec boutique',
'DC'=>'Dépendance lieux communs',
'DE'=>'Dépendance bâtie isolée',
'DC'=>'Dépendance lieux communs',
'DE'=>'Dépendance bâtie isolée',
'LC'=>'Local commun',
'MA'=>'Maison',
'ME'=>'Maison exceptionnelle',
'MP'=>'Maison partagée par une limite territoriale',
'MP'=>'Maison partagée par une limite territoriale',
'SM'=>'Sol de maison',
'U' =>'Etablissement industriel',
'U1'=>'Gare',
'U2'=>'Gare - Triage',
'U3'=>'Gare - Atelier matériel',
'U3'=>'Gare - Atelier matériel',
'U4'=>'Gare - Atelier magasin',
'U5'=>'Gare - Dépôt Titulaire',
'U6'=>'Gare - Dépôt Réel',
'U7'=>'Gare - Matériel transport',
'U8'=>'Gare - Entretien matériel roulant',
'U5'=>'Gare - Dépôt Titulaire',
'U6'=>'Gare - Dépôt Réel',
'U7'=>'Gare - Matériel transport',
'U8'=>'Gare - Entretien matériel roulant',
'U9'=>'Gare - Station usine',
'UE'=>'Transformateur électrique',
'UG'=>'Appareil à gaz',
'UN'=>'Usine nucléaire',
'UE'=>'Transformateur électrique',
'UG'=>'Appareil à gaz',
'UN'=>'Usine nucléaire',
'US'=>'Etablissement industriel',
);
/** Code Affectation des PEV (Partie d'EValuation) **/
private static $tabCodePEV=array(
'B'=>'Bâtiment industriel',
'B'=>'Bâtiment industriel',
'C'=>'Commerce',
'H'=>'Habitation',
'K'=>'Locaux administratifs non passibles de la Taxe d\'Habitation',
'L'=>'Hôtel',
'L'=>'Hôtel',
'P'=>'Professionnel',
'S'=>'Biens divers passibles de la Taxe d\'Habitation',
'T'=>'Terrain industriel',
@ -81,44 +81,44 @@ class MCadastre {
private static $tabGrpPerMor=array(
0=>'Personne morale', // non remarquable
1=>'Etat',
2=>'Région',
3=>'Département',
2=>'Région',
3=>'Département',
4=>'Commune',
5=>'Office HLM',
6=>'Personne morale représentant des sociétés',
7=>'Copropriétaire',
8=>'Associé',
9=>'Etablissement public ou organismes assimilés',
6=>'Personne morale représentant des sociétés',
7=>'Copropriétaire',
8=>'Associé',
9=>'Etablissement public ou organismes assimilés',
);
/** Nature des parcelles (cultures) **/
private static $tabNaturePar=array(
'AB'=>'Terrains à batir',
'AG'=>'Terrains d\'agrément',
'AB'=>'Terrains à batir',
'AG'=>'Terrains d\'agrément',
'B' =>'Bois',
'BF'=>'Futaies feuillues',
'BM'=>'Futaies mixtes',
'BO'=>'Oseraies',
'BP'=>'Peupleraies',
'BR'=>'Futaies résineuses',
'BR'=>'Futaies résineuses',
'BS'=>'Taillies sous futaies',
'BT'=>'Taillies simples',
'CA'=>'Carrières',
'CA'=>'Carrières',
'CH'=>'Chemins de fer, Canaux de Navigation',
'E' =>'Eaux',
'J' =>'Jardins',
'L' =>'Landes',
'LB'=>'Landes Boisées',
'P' =>'Prés',
'PA'=>'Pâtures ou Pâturages',
'PC'=>'Pacages ou Pâtis',
'PE'=>'Prés d\'embouche',
'LB'=>'Landes Boisées',
'P' =>'Prés',
'PA'=>'Pâtures ou Pâturages',
'PC'=>'Pacages ou Pâtis',
'PE'=>'Prés d\'embouche',
'PH'=>'Herbages',
'PP'=>'Prés, Pâtures ou Herbages plantes',
'PP'=>'Prés, Pâtures ou Herbages plantes',
'S' =>'Sols',
'T' =>'Terre',
'TP'=>'Terres plantées',
'TP'=>'Terres plantées',
'VE'=>'Vergers',
'VI'=>'Vignes',
);
@ -189,13 +189,13 @@ class MCadastre {
$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_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_CUM nombre Cadastre Cumul Surfaces des terrains à l'addresse
CADTER_SURF_TOT nombre Cadastre Surface totale des terrains du SIREN
*/
}

View File

@ -8,13 +8,13 @@ class MCoface {
public $header = '';
public $codeRetour = 0;
public $nscrl = 0; // Numéro interne SCRL
public $nscrl = 0; // Numéro interne SCRL
public $rcsVille='';
public $rcsType='';
public $rSocAdrCPVille=''; // RaisonSocialeAdresseVille (utile pour le débug)
public $rSocAdrCPVille=''; // RaisonSocialeAdresseVille (utile pour le débug)
public $raisonSociale=''; // Raison Sociale
public $adresse=''; // Adresse complète (avec CP et Cille)
public $adresse=''; // Adresse complète (avec CP et Cille)
public $sigle='';
public $enseigne='';
@ -31,7 +31,7 @@ class MCoface {
public $fax='';
public $web='';
public $mail='';
public $activite=''; // Activité Déclarée au bodacc
public $activite=''; // Activité Déclarée au bodacc
public $naf=''; // NAF
public $nafLib='';
@ -90,8 +90,8 @@ class MCoface {
$this->raisonSociale=trim($tmp[0]);
unset($tmp[0]);
$this->adresse=trim(strip_tags(implode(',', $tmp)));
$this->tel=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
$this->fax=trim(@getTextInHtml($this->body, 'Télécopie</b></td>', '<br>', '</td>'));
$this->tel=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
$this->fax=trim(@getTextInHtml($this->body, 'Télécopie</b></td>', '<br>', '</td>'));
$this->web=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Adresse internet <br>', ' class="tabval"><a class="tabval" HREF="', '" target="_new">'));
$this->mail=trim(@getTextInHtml($this->body, '<a class="tabval" href="mailto:', ':', '">'));
@ -101,19 +101,19 @@ class MCoface {
$this->bourseMarche=trim($tmp[1]);
$this->bourseVille=trim($tmp[2]);
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
$tabTmp=explode('<a href="', $infosDispo);
foreach ($tabTmp as $k=>$lien) {
preg_match('/^(.*)">(.*)<\/a>/i', $lien, $matches);
if ($matches[2]<>'') $this->tabInfos[$matches[2]]=$matches[1];
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];//ip=pagespro&
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];//ip=pagespro&
elseif (substr($matches[2], 0, 6)=='bilan ') $this->tabBilans[]=substr($matches[2], 6,strlen($matches[2])-6);
}
$this->activite=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
$this->activite=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
$this->naf=trim(@getTextInHtml($this->body, '<a href="../chaineeco_dynaeco/DynaEco.asp?cnaf=', 'cnaf=', '&'));
/**
** Recherche du NIC sur Société .com
** Recherche du NIC sur Société .com
**/
/*
@ -128,12 +128,12 @@ class MCoface {
$this->rcsVille=$tabTmp[0];//<td class="txtBlanc" align="left"><b><span class="size10">RCS Paris B 552 144 503<br></span></b></td>
$this->rcsType=$tabTmp[1];
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Code activité</div>', '<div class="ficheAltCol2 size11">', '</div>'));
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Code activité</div>', '<div class="ficheAltCol2 size11">', '</div>'));
$tabTmp=explode(' - ', $strTmp);
$this->naf=$tabTmp[0];
$this->nafLib=$tabTmp[1];
// <div class="ficheAltCol1 size11">Siège social</div><div class="ficheAltCol2 size11">75 Avenue la Grande Armee - 75116 PARIS 16</div>
// <div class="ficheAltCol1 size11">Siège social</div><div class="ficheAltCol2 size11">75 Avenue la Grande Armee - 75116 PARIS 16</div>
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Capital social', '<div class="ficheAltCol2 size11">', '</div>'));
$this->capitalType='social';
@ -149,7 +149,7 @@ class MCoface {
foreach ($tabTmp as $k=>$dir) {
if (trim($dir)=='') break;
$tabTmp1=explode('</div><div class="ficheAltCol2 size11">', $dir);
$tabTmp2=explode('représenté par', $tabTmp1[1]);
$tabTmp2=explode('représenté par', $tabTmp1[1]);
if (isset($tabTmp2[1]) && $tabTmp2[1]<>'') {
$soc=trim($tabTmp2[0]);
$diri=trim($tabTmp2[1]);
@ -193,7 +193,7 @@ class MCoface {
$urlInfoD='';
$page=getUrl($this->infoEco, '', '', $url, false, 'www.cofacerating.fr');
if (strpos($page['body'], '<b>Choix du mode de paiement</b>')===false) { // Le rapport éco. est cadeau !!!
if (strpos($page['body'], '<b>Choix du mode de paiement</b>')===false) { // Le rapport éco. est cadeau !!!
$this->infoEco=true;
$eco=$page['body'];
//die ($eco);
@ -204,13 +204,13 @@ class MCoface {
$this->capitalMontant=trim(str_replace(chr(160), '', $tabTmp[0]));
$this->capitalDevise =trim(str_replace(chr(160), '', $tabTmp[1]));
$this->steInactive=trim(@getTextInHtml($eco, ' class="tabligne" > Société inactive</td>', 'class="tabval" >', '</td>'));
$this->steInactive=trim(@getTextInHtml($eco, ' class="tabligne" > Société inactive</td>', 'class="tabval" >', '</td>'));
$this->dateCreation=trim(@getTextInHtml($eco, ' class="tabligne" > Date de création</td>', 'class="tabval" >', '</td>'));
$this->dateCreation=trim(@getTextInHtml($eco, ' class="tabligne" > Date de création</td>', 'class="tabval" >', '</td>'));
$this->fj=trim(@getTextInHtml($eco, ' class="tabligne" > Forme juridique</td>', 'class="tabval" >', '</td>'));
$this->effectif=trim(@getTextInHtml($eco, ' class="tabligne" > Effectif', 'class="tabval" >', '</td>'));
if (count($this->tabDirigeants)==0) { // Si il y a déjà des dirigeants on garde ceux de Société.com !!!
if (count($this->tabDirigeants)==0) { // Si il y a déjà des dirigeants on garde ceux de Société.com !!!
$strTmp=trim(@getTextInHtml($eco, ' class="tabligne" > Cotation en bourse</td>', '<td bgcolor="#F3E5CC" class="tabligne" >', '<td bgcolor="#F3E5CC" class="tabligne" > Effectif'));
$tabTmp=explode('<td bgcolor="#F3E5CC" class="tabligne" >', $strTmp);
foreach ($tabTmp as $k=>$dir) {
@ -293,7 +293,7 @@ class MCoface {
}
}
/** CA et Résultat **/
/** 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]);
@ -353,12 +353,12 @@ class MCoface {
$this->dateFermeture=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Date de fin d\'exploitation</td>', '<td class="ligne2_2">', '</td></tr>'));
if ($this->tel=='' || $this->tel=='0')
$this->tel=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Téléphone</td>', '<td class="ligne2_2">', '</td></tr>'));
$this->tel=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Téléphone</td>', '<td class="ligne2_2">', '</td></tr>'));
if ($this->fax=='' || $this->fax=='0')
$this->fax=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Fax</td>', '<td class="ligne2_2">', '</td></tr>'));
$strTmp=trim(@getTextInHtml($pou, 'Procédures collectives</td></tr>', '</table></td>', '</td><td background'));
$strTmp=trim(@getTextInHtml($pou, 'Procédures collectives</td></tr>', '</table></td>', '</td><td background'));
if(preg_match_all('/<tr><td class="ligne1_2">(.*)<\/td><td class="ligne2_2">(.*)<\/td><\/tr>/isU', $strTmp, $matches)) {
foreach ($matches[1] as $i=>$jug) {
$this->tabJug[$i]['date']=$matches[1][$i];
@ -377,7 +377,7 @@ class MCoface {
}
/* Siret SIEGE
2 Fonction, Nom Prénoù ET Date NAissance du PP
2 Fonction, Nom Prénoù ET Date NAissance du PP
5 Liste des actes
*/
if ($this->codeRetour==200)

View File

@ -18,15 +18,15 @@ function formatPct($pct) {
}
$siret=trim(preg_replace('/[^0-9]/', '', $_REQUEST['siret']));
if (strlen($siret)<>9 && strlen($siret)<>14) die('Paramètres incorrects !');
if (strlen($siret)<>9 && strlen($siret)<>14) die('Paramètres incorrects !');
if (strlen($siret)==9) $siret=$tabInfo['entrep']['siret'];
$id=trim(preg_replace('/[^0-9]/', '', $_REQUEST['id']))*1; // Si id=0 alors non communiqué
if (($siret*1)==0 && $id==0) die('Paramètres incorrects !');
$id=trim(preg_replace('/[^0-9]/', '', $_REQUEST['id']))*1; // Si id=0 alors non communiqué
if (($siret*1)==0 && $id==0) die('Paramètres incorrects !');
$siren=substr($siret,0,9);
$action=$_REQUEST['action'];
if ($action<>'' && $action<>'commande') die('Paramètres incorrects !');
if ($action<>'' && $action<>'commande') die('Paramètres incorrects !');
$raisonSociale=$tabInfo['entrep']['raisonSociale'];
@ -132,7 +132,7 @@ $client = new SoapClient(null, array( 'trace' => 1,
$xpath = new Domxpath($dom_object);
$result = $xpath->query("//liste_depot_acte/depot_acte/.");
foreach ($result as $annonce) {
// N° Gestion
// N° Gestion
$title = $xpath->query ("num_gest/greffe", $annonce);
$num_gest_greffe=$title->item(0)->nodeValue;
*/
@ -150,14 +150,14 @@ foreach ($result as $annonce) {
if ($rating>=40) {
$fontColor='green';
$imgFeux='<img src="/creditsafe/img/feux_vert.png"/>';
if ($rating>=71) $libelle='Très bonne cote de crédit/solvabilité';
elseif ($rating>=51) $libelle='Bonne cote de crédit/solvabilité';
if ($rating>=71) $libelle='Très bonne cote de crédit/solvabilité';
elseif ($rating>=51) $libelle='Bonne cote de crédit/solvabilité';
else $libelle='Solvable';
} elseif ($rating>=20) {
$fontColor='yellow';//#f2be2c';
$imgFeux='<img src="/creditsafe/img/feux_orange.png"/>';
$libelle='Précautions recommandées';
$libelle='Précautions recommandées';
} elseif (strtoupper($rating)<>strtolower($rating)) {
$fontColor='black';
$imgFeux='&nbsp;';
@ -169,8 +169,8 @@ foreach ($result as $annonce) {
else {
$fontColor='red';
$imgFeux='<img src="/creditsafe/img/feux_rouge.png"/>';
if ($rating==0) $libelle='Entreprise en situation de défaillance et ayant un très fort risque de radiation';
else $libelle='Avertissement - Crédit à votre discrétion';
if ($rating==0) $libelle='Entreprise en situation de défaillance et ayant un très fort risque de radiation';
else $libelle='Avertissement - Crédit à votre discrétion';
}
?><table width="580" border="0" align="left" bgcolor="#FFFFFF">
@ -247,7 +247,7 @@ foreach ($result as $annonce) {
} else {
if (preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',$_REQUEST['email'])) {
$message='Entreprise mise sous surveillance scoring partenaire !';
mail( 'contact@scores-decisions.com',"Demande de surveillance score CreditSafe pour $siren à ".$_REQUEST['email'],
mail( 'contact@scores-decisions.com',"Demande de surveillance score CreditSafe pour $siren à ".$_REQUEST['email'],
'REQUEST='.EOL.print_r($_REQUEST,true).'EOL'.
'SERVER='.EOL.print_r($_SERVER,true).'EOL'.
'SESSION='.EOL.print_r($_SESSION,true).'EOL'.

View File

@ -94,7 +94,7 @@ class MBilans {
$tabBilan['DUREE_MOIS'] = $bilan['dureeExercice'];
$tabBilan['DUREE_MOIS_PRE'] = $bilan['dureeExercicePre'];
$tabBilan['MONNAIE'] = $bilan['monnaie'];
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
if ($bilan['monnaie']=='EUR') $monnaie='&euro;'; else $monnaie=$bilan['monnaie'];

View File

@ -1,10 +1,10 @@
<?
include_once(FWK_PATH.'common/curl.php');
/** La classe MEuridile permet de récupérer les informations suivantes :
/** La classe MEuridile permet de récupérer les informations suivantes :
** - Bilans
** - Identité complète (dirigeants, etablissements, etc...)
** - Liste des actes déposés aux greffes
** - Identité complète (dirigeants, etablissements, etc...)
** - Liste des actes déposés aux greffes
**/
class MEuridile {
@ -130,8 +130,8 @@ class MEuridile {
$tabRet=array();
$tab=$this->getInfosDisponbiles($siren);
if ($tab['erreur']=='') {
$tabS=@array_reverse(@array_keys($tab['bilans']['S'])); // Réel simplifié
$tabN=@array_reverse(@array_keys($tab['bilans']['N'])); // Réel normal
$tabS=@array_reverse(@array_keys($tab['bilans']['S'])); // Réel simplifié
$tabN=@array_reverse(@array_keys($tab['bilans']['N'])); // Réel normal
$tabC=@array_reverse(@array_keys($tab['bilans']['C'])); // CONSOLIDE
$tabA=@array_reverse(@array_keys($tab['bilans']['A'])); // Assurance
$tabB=@array_reverse(@array_keys($tab['bilans']['B'])); // Banque
@ -215,13 +215,13 @@ class MEuridile {
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)">/i', $this->body, $matches))
$this->url=$this->urlRacine.'/'.$matches[1];
else debugLog('E',"Erreur de communication - Redirection impossible sur ".$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
if (preg_match('/\.ow\?WRNCSRV2=(.*)$/i', $matches[1], $matches)) {
$this->wrncsrv2=$matches[1];
debugLog('I','Session partenaire WRNCSRV2='.$this->wrncsrv2,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
}
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$page=getUrl($this->url, '', '',$this->referer, false, 'www.euridile.com');
$this->referer=$this->url;
@ -239,7 +239,7 @@ class MEuridile {
'cliref'=>'K5K3X5',
'PASS'=>'3180',
'WRNCSRV2'=>$this->wrncsrv2);
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
**/
$this->url=$this->urlRacine.str_replace('..','',$matches[1]);
debugLog('D',"Authentification possible vers $this->url",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
@ -252,7 +252,7 @@ class MEuridile {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
$fp=fopen('./euridile_connexion3.log', 'w');
fwrite($fp,print_r($page,true));
fclose($fp);
@ -260,7 +260,7 @@ class MEuridile {
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
{ $tabTmp=explode('"', $matches[0]);
$this->url=$this->urlRacine.$tabTmp[0];
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$this->curPage='recherche';
@ -281,7 +281,7 @@ class MEuridile {
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
{ $tabTmp=explode('"', $matches[0]);
$this->url=$this->urlRacine.$tabTmp[0];
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$this->curPage='recherche';
@ -300,7 +300,7 @@ class MEuridile {
'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
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
@ -317,7 +317,7 @@ class MEuridile {
$postData=array('codcom_srch'=>'',
'entrep_srch'=>$this->siren,
// 'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
// 'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
// 'phoneme'=>'non', // non=A l'identique, oui=approchant
'codpos_srch'=>'',
'commune_srch'=>'',
@ -342,7 +342,7 @@ class MEuridile {
echo date('Y/m/d - H:i:s') ." - Vitrine : Erreur recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
return $tabRet;
}
echo date('Y/m/d - H:i:s') ." - Vitrine : Après recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
echo date('Y/m/d - H:i:s') ." - Vitrine : Après recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
$this->url=$this->urlRacine.'/'.$this->weur.'/iden_visu_vitrine.ow?WRNCSRV2='.$this->wrncsrv2;
$page=getUrl($this->urlRacine.'/'.$this->weur.'/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
@ -389,8 +389,8 @@ class MEuridile {
$tabTmp=explode('|', $idBilan);
$dateBilan=$tabTmp[1];
switch ($tabTmp[2]) {
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'CC': $typeBilan='C'; break; // CONSOLIDE
case 'SA': $typeBilan='A'; break; // Assurance
case 'SB': $typeBilan='B'; break; // Banque
@ -411,7 +411,7 @@ class MEuridile {
$tabInsert['bilans']=serialize($tabRet['bilans']);
if (!$iDb->insert( 'rncs_vitrine', $tabInsert))
$iDb->update( 'rncs_vitrine', $tabInsert, "siren=$this->siren");
/** @todo S'il y a un enregistrement, prévoir son update
/** @todo S'il y a un enregistrement, prévoir son update
**/
return $tabRet;
@ -473,7 +473,7 @@ class MEuridile {
}
}
/** Recherche des comptes déposés **/
/** Recherche des comptes déposés **/
$tabTmp=preg_split('/<SELECT NAME=(TT|BL|CM|GS)FAM(\d)/i', $body);
$tabCpt=array();
$nb=count($tabTmp);
@ -483,16 +483,16 @@ class MEuridile {
elseif (preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|BIL\|(.*)\|(.*)\|(TT|BL|CM|GS)\|(.*)\|(.*)\|COUR">/i', $tabTmp[$i], $matches))
$vecteur='COUR';
switch ($matches[3]) {
case 'SC': $typeBilan='N'; $bil='Bilan réel normal'; break; // Réel normal
case 'SS': $typeBilan='S'; $bil='Bilan réel simplifié'; break; // Réel simplifié
case 'CC': $typeBilan='C'; $bil='Bilan consolidé'; break; // CONSOLIDE
case 'SC': $typeBilan='N'; $bil='Bilan réel normal'; break; // Réel normal
case 'SS': $typeBilan='S'; $bil='Bilan réel simplifié'; break; // Réel simplifié
case 'CC': $typeBilan='C'; $bil='Bilan consolidé'; break; // CONSOLIDE
case 'SA': $typeBilan='A'; $bil='Bilan d\'assurance'; break; // Assurance
case 'SB': $typeBilan='B'; $bil='Bilan de banque'; break; // Banque
default: $this->logEuridileError('Type de bilan non pris en charge : "'. $tabTmp[2] .'"');
}
switch ($matches[4]) {
case 'TT': $lib='Comptes annuels complets'; break;
case 'BL': $lib='Bilan et compte de résultat'; break;
case 'BL': $lib='Bilan et compte de résultat'; break;
case 'CM': $lib='Rapport des CAC'; break;
case 'GS': $lib='Rapport de gestion'; break;
default: $this->logEuridileError('Type d\'annexe de compte inconnu'); break;
@ -512,26 +512,26 @@ class MEuridile {
<INPUT TYPE="HIDDEN" NAME="dejatraite" value="">
<INPUT TYPE=IMAGE SRC=images/boutons/valider.gif ALT="Valider" BORDER=0>
<INPUT TYPE="HIDDEN" NAME="WRNCSRV2" VALUE="171932431532858">
<SELECT NAME=ACTcombo0> // 1 select par acte de depot de 0 à N !!!
<SELECT NAME=ACTcombo0> // 1 select par acte de depot de 0 à N !!!
<SELECT NAME=IMMcombo> // Dossier immatriculiation principal
// Comptes Réel Normal
<SELECT NAME=TTFAM1 // Année1 : Comptes Annuels complet
// Comptes Réel Normal
<SELECT NAME=TTFAM1 // Année1 : Comptes Annuels complet
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|TT|22|33319263105122AN9201:33319263105122BL9201:33319263105122CM9201:33319263105122GS9201|TELE">
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|TT|22|33319263105122AN9201:33319263105122BL9201:33319263105122CM9201:33319263105122GS9201|COUR">
<SELECT NAME=BLFAM1 // Année 1 : Bilan, Compte de résultat
<SELECT NAME=BLFAM1 // Année 1 : Bilan, Compte de résultat
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|BL|4|33319263105122BL9201|TELE">
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|BL|4|33319263105122BL9201|COUR">
<SELECT NAME=CMFAM1 // Année 1 : Rapport des CAC
<SELECT NAME=CMFAM1 // Année 1 : Rapport des CAC
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|CM|2|33319263105122CM9201|TELE">
<SELECT NAME=GSFAM1 // Année 1 : Rapport de Gestion
<SELECT NAME=GSFAM1 // Année 1 : Rapport de Gestion
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|GS|4|33319263105122GS9201|TELE">
// Comptes consolidés
// Comptes consolidés
<select name="TTFAM6"
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|TT|159|55210055404122AN7501:55210055404122BL7501:55210055404122CM7501:55210055404122GS7501|TELE">
@ -573,7 +573,7 @@ class MEuridile {
$postData=array('codcom_srch'=>'',
'entrep_srch'=>urlencode($nomPrenom),
'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
'phoneme'=>'non', // non=A l'identique, oui=approchant
'adress_srch'=>'',
'codpos_srch'=>'',
@ -601,25 +601,25 @@ class MEuridile {
$fp=fopen('./euridile_recherche2.log', 'w');
fwrite($fp,print_r($page,true));
fclose($fp);
/** Entreprises trouvées **/
/** Entreprises trouvées **/
//../weur2/iden_selection_bases.ow?WRNCSRV2=1711245812917368&infosBase=EURENT|densig|entreprise(s)|234 TARGET=_top>Entreprise(s)
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURENT\|densig\|entreprise\(s\)\|(.*) TARGET=_top>Ent/i', $this->body, $matches)) {
$fctEntUrl=preg_replace('/ (.*)/','',$matches[0]);
$fctEntNb=$matches[1];
}
/** Fonctions de direction trouvées **/
/** Fonctions de direction trouvées **/
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURDIR\|dirig\|dirigeant\(s\)\|(.*) TARGET=_top>Dir/i', $this->body, $matches)) {
$fctDirUrl=preg_replace('/ (.*)/','',$matches[0]);
$fctDirNb=$matches[1];
}
/** Fonctions d'administration trouvée **/
/** Fonctions d'administration trouvée **/
//../weur2/iden_selection_bases.ow?WRNCSRV2=1711245812917368&infosBase=EURDIR|admin|administrateur(s)|44 TARGET=_top>Administrateur(s)
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURDIR\|admin\|administrateur\(s\)\|(.*) TARGET=_top>Adm/i', $this->body, $matches)) {
$fctAdmUrl=preg_replace('/ (.*)/','',$matches[0]);
$fctAdmNb=$matches[1];
}
//echo date('Y/m/d - H:i:s') ." - Résultat : $fctDirNb dirigeant(s), $fctAdmNb administrateur(s) et $fctEntNb entreprise(s)".EOL;
//echo date('Y/m/d - H:i:s') ." - Résultat : $fctDirNb dirigeant(s), $fctAdmNb administrateur(s) et $fctEntNb entreprise(s)".EOL;
//echo date('Y/m/d - H:i:s') ." - URL : $fctDirUrl".EOL;
$this->url=$this->urlRacine.$fctDirUrl;
@ -671,7 +671,7 @@ class MEuridile {
return $tabRet;
}
/** Liste des entreprises dirigées */
/** Liste des entreprises dirigées */
$this->url=$this->urlRacine.'/weur2/iden_req_multibase_liste.ow?WRNCSRV2='.$this->wrncsrv2;
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
@ -751,8 +751,8 @@ class MEuridile {
$tabTmp=explode('|', $idBilan);
$dateBilan=$tabTmp[1];
switch ($tabTmp[2]) {
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'CC': $typeBilan='C'; break; // CONSOLIDE
case 'SA': $typeBilan='A'; break; // Assurance
case 'SB': $typeBilan='B'; break; // Banque
@ -788,7 +788,7 @@ class MEuridile {
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
"siren=$this->siren ORDER BY dateUpdate DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($ret)) {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**/
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
@ -806,15 +806,15 @@ class MEuridile {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
//$this->curPage='vitrine';
$tabRet=array();
/**@todo Traiter le cas données provisoires :
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
/**@todo Traiter le cas données provisoires :
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
</TABLE>
*/
// Identité
// Identité
$tabRet['siren']=$this->siren;
$tabRet['codeRetour']=$this->codeRetour;
$tabRet['rcs']=@getTextInHtml($this->body, 'FACE="ARIAL,HELVETICA" SIZE=2>RCS : ', '<b>','</b>');
@ -835,8 +835,8 @@ class MEuridile {
}
$pp_nais=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Date et lieu de naissance :', '<B>','</B>')));
$tabTmp=explode(' à ', $pp_nais);
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
$tabTmp=explode(' à ', $pp_nais);
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
$tabRet['naiss_lieu']=trim(strip_tags($tabTmp[1]));
$tabRet['sexe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Sexe :', '<B>','</B>')));
@ -850,7 +850,7 @@ class MEuridile {
$tabRet['date_crea']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date de cr&eacute;ation :', '<B>','</B>')));
$tabRet['date_imma']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date d\'immatriculation :', '<B>','</B>')));
$tabRet['greffe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Greffe :', '<B>','</B>')));
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
$strTmp=@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Capital :', '<B>','</B>');
if (preg_match('/([0-9\.,\s]*)([\D]*)/i', $strTmp, $matches)) {
$tabRet['capital_mnt']=trim(str_replace(' ','',str_replace(',','.',$matches[1])));
@ -861,17 +861,17 @@ class MEuridile {
$tabRet['capital_dev']='';
}
$tabRet['nationalite']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nationalit&eacute; :', '<B>','</B>')));
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Radiation</B>')>0) {
$tabRet['indRadiation']=true;
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
} else
$tabRet['indRadiation']=false;
// Procédures collectives
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
// Procédures collectives
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
$tabRet['indProcol']=true;
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
'</TABLE>');
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
foreach ($tabTmp as $nproc=>$proc) {
@ -902,18 +902,18 @@ class MEuridile {
$nom=trim(strip_tags($tabTmp3[0]));
$prenom=trim(strip_tags($tabTmp3[1]));
$naiss=trim(strip_tags($tabTmp2[3]));
if (strpos($naiss, 'Né(e) le')===false) {
if (strpos($naiss, 'Né(e) le')===false) {
$fonction=$naiss;
} else {
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$naiss=trim(strip_tags($tabTmp3[1]));
$tabTmp3=explode('(', $naiss);
$naiss_ville=trim(strip_tags($tabTmp3[0]));
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
$fonction=trim(strip_tags($tabTmp2[5]));
}
$tabTmp=explode('&#160;née&#160;', $prenom);
$tabTmp=explode('&#160;née&#160;', $prenom);
$prenom=$tabTmp[0];
$naiss_nom=$tabTmp[1];
$tabRet['dirigeants'][$ndir]=array( 'nom'=>$nom,
@ -935,19 +935,19 @@ class MEuridile {
$nom=trim(strip_tags($tabTmp3[0]));
$prenom=trim(strip_tags($tabTmp3[1]));
$naiss=trim(strip_tags($tabTmp2[3]));
if (strpos($naiss, 'Né(e) le')===false) {
if (strpos($naiss, 'Né(e) le')===false) {
$naiss_date=$naiss_ville=$naiss_depPays='';
$fonction=$naiss;
} else {
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$naiss=trim(strip_tags($tabTmp3[1]));
$tabTmp3=explode('(', $naiss);
$naiss_ville=trim(strip_tags($tabTmp3[0]));
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
$fonction=trim(strip_tags($tabTmp2[5]));
}
$tabTmp=explode('&#160;née&#160;', $prenom);
$tabTmp=explode('&#160;née&#160;', $prenom);
$prenom=$tabTmp[0];
$naiss_nom=$tabTmp[1];
$tabRet['dirigeants'][$nadm+$ndir+1]=array( 'nom'=>$nom,
@ -961,7 +961,7 @@ class MEuridile {
}
// Etablissements
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
foreach ($tabTmp as $netab=>$dir) {
$cp=$ville=$ensEtab=''; $j=0;
@ -979,7 +979,7 @@ class MEuridile {
$j++;
}
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
if (strtoupper($adresse[0])==strtoupper($tabRet['enseigne'])) {
$ensEtab=$adresse[0];
array_shift($adresse);
@ -1071,9 +1071,9 @@ class MEuridile {
$tabBilan['DATE_FRAICHE_BILAN']=date('Ymd');
$tabBilan['DATE_CLOTURE']=$dateBilan;
switch ($tabTmp[2]) {
case 'SC': // Bilans réels Normal
case 'SC': // Bilans réels Normal
$tabBilan['TYPE_BILAN']='N';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712291618629017&PAGE=ACTIFSC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712291618629017&PAGE=ACTIFSC (déjà vue)
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFSC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
@ -1082,7 +1082,7 @@ class MEuridile {
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=ANXSC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**/
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1109,30 +1109,30 @@ class MEuridile {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<b>&#160;','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'SS': // Bilans réels simplifiés
case 'SS': // Bilans réels simplifiés
$tabBilan['TYPE_BILAN']='S';
//http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712250539227157&PAGE=ACTPASSS (déjà vue)
//http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712250539227157&PAGE=ACTPASSS (déjà vue)
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESSS','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=IMMAMOSS','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**/
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([0-9]{3,3})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1160,30 +1160,30 @@ class MEuridile {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>','<td align=center width=80><b>','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>&#160;','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>&#160;','</b></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'CC': // Bilans Consolidés
case 'CC': // Bilans Consolidés
$tabBilan['TYPE_BILAN']='C';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**/
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1210,31 +1210,31 @@ class MEuridile {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'SA': // Assurance
$tabBilan['TYPE_BILAN']='A';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
/* $page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1261,30 +1261,30 @@ class MEuridile {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else die('Devise INPI non gérée : '.$strTmp);*/
} else die('Devise INPI non gérée : '.$strTmp);*/
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'SB': // Banque
$tabBilan['TYPE_BILAN']='B';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
/* $page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1311,17 +1311,17 @@ class MEuridile {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else die('Devise INPI non gérée : '.$strTmp);*/
} else die('Devise INPI non gérée : '.$strTmp);*/
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['POSTES']=$tabPostes;
break;

View File

@ -1,24 +1,24 @@
<?
/*
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 ?
Lorsqu'une cs manuelle arrive à échéance, elle est soumise à l'examen de l'analyste chaque mois. Si l'analyste n'intervient pas l'acheteur reste en cs.
B. 077 250 025 I 0000-00-00 La CS I n'est plus à prendre en compte ou au contraire, elle n'a pas de date de fin ?
L'acheteur a été sorti de cs entre le traitement de fin de mois et l'extraction ( qui a été déclenchée tardivement à la main ). L'acheteur n'est donc plus en cs.
C. 067 103 598 I 2999-12-31 La CS I n'a pas de date de fin sauf changement ultérieur de CS
Ce cas fait partie des nettoyages à faire par le Crédit ( échéance illimitée sur une cs qui ne le justifie pas ).
D. 067 200 329 I 2010-06-30 La CS est valide jusq'au 30/06/2010... Quid après ?
Cette cs ayant été positionnée par l'analyste, elle sera de nouveau soumise à son examen.
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 ?
Lorsqu'une cs manuelle arrive à échéance, elle est soumise à l'examen de l'analyste chaque mois. Si l'analyste n'intervient pas l'acheteur reste en cs.
B. 077 250 025 I 0000-00-00 La CS I n'est plus à prendre en compte ou au contraire, elle n'a pas de date de fin ?
L'acheteur a été sorti de cs entre le traitement de fin de mois et l'extraction ( qui a été déclenchée tardivement à la main ). L'acheteur n'est donc plus en cs.
C. 067 103 598 I 2999-12-31 La CS I n'a pas de date de fin sauf changement ultérieur de CS
Ce cas fait partie des nettoyages à faire par le Crédit ( échéance illimitée sur une cs qui ne le justifie pas ).
D. 067 200 329 I 2010-06-30 La CS est valide jusq'au 30/06/2010... Quid après ?
Cette cs ayant été positionnée par l'analyste, elle sera de nouveau soumise à son examen.
3. Globalement, j'ai l'impression que la CS "Paiements" à une durée de 6-12 mois et la CS "Privilèges" de 12-24 mois ?
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 ).
3. Globalement, j'ai l'impression que la CS "Paiements" à une durée de 6-12 mois et la CS "Privilèges" de 12-24 mois ?
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 {
public $risqueImpaye=false; // Y a t'il un risque d'impayé ?
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
public $profilPayeur=0; // 0:N/D, 1:Excellent, 2=Bon, 3=Normal, 4=Lent, 5=Mauvais ou Défaut
private $typeFlux = 0; // Type de flux en chargement 0:Acheteur, 1=CS, 2=Paiements
private $iDb;
@ -28,40 +28,40 @@ class MFacto {
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'),
'_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'),
'_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'),
'_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'),
'_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'),
'_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"),
'_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,
@ -186,7 +186,7 @@ class MFacto {
$strGroupBy="GROUP BY mois HAVING nbPieces>2 ";
elseif ($echelle=='trim')
$strGroupBy="GROUP BY trimestre HAVING nbPieces>2 ";
else // En mois par défaut
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',
@ -254,7 +254,7 @@ class MFacto {
$paie_max=$totFactures=$totPaiements=$totLitiges=0;
foreach ($tabPaie as $i=>$tabPai) {
if ($i==0) { $this->risqueImpayeMois=$tabPai['mois'];
// Dernier délai de paiement en jour
// Dernier délai de paiement en jour
$this->DELAIPAY=$tabPai['tranchePaiement'];
} elseif ($this->DELAIPAYp=='' && $tabPai['tranchePaiement']<>$this->DELAIPAY ) {
$this->DELAIPAYp=$tabPai['tranchePaiement'];
@ -269,31 +269,31 @@ class MFacto {
}
$tauxLitige=$totLitiges/$totFactures;
if ($tauxLitige>=0.5) $libProfil.='Litiges très importants. ';
if ($tauxLitige>=0.5) $libProfil.='Litiges très importants. ';
elseif ($tauxLitige>0.25) $libProfil.='Litiges importants. ';
elseif ($tauxLitige>0.05) $libProfil.='Présence de litiges. ';
elseif ($tauxLitige>0.05) $libProfil.='Présence de litiges. ';
if ($tabProfil[0]==$tabProfil[1] && $tabProfil[1]==$tabProfil[2]) {
if ($tranche=0) { $libProfil.='Paiements à échéance'; $this->profilPayeur=1; }
elseif ($tranche<=30) { $libProfil.='Paiements à 30 jours maximum'; $this->profilPayeur=2; }
elseif ($tranche<=60) { $libProfil.='Paiements à 60 jours maximum'; $this->profilPayeur=3; }
elseif ($tranche<=90) { $libProfil.='Paiements à 90 jours maximum'; $this->profilPayeur=4; $this->risqueImpaye=true;}
else { $libProfil.='Paiements à plus de 90 jours'; $this->profilPayeur=4; $this->risqueImpaye=true;}
if ($tranche=0) { $libProfil.='Paiements à échéance'; $this->profilPayeur=1; }
elseif ($tranche<=30) { $libProfil.='Paiements à 30 jours maximum'; $this->profilPayeur=2; }
elseif ($tranche<=60) { $libProfil.='Paiements à 60 jours maximum'; $this->profilPayeur=3; }
elseif ($tranche<=90) { $libProfil.='Paiements à 90 jours maximum'; $this->profilPayeur=4; $this->risqueImpaye=true;}
else { $libProfil.='Paiements à plus de 90 jours'; $this->profilPayeur=4; $this->risqueImpaye=true;}
} elseif ( ($tabProfil[0]<>$tabProfil[1] && $tabProfil[1]==$tabProfil[2]) ||
($tabProfil[0]==$tabProfil[1] && $tabProfil[1]<>$tabProfil[2]) ) {
// Récent changement de profil payeur
// Récent changement de profil payeur
$tranche=$tabProfil[0];
$tr_prec=$tabProfil[1];
$tr_prec2=$tabProfil[2];
if ($tranche<$tr_prec) $libProfil.='Amélioration des délais. ';
elseif ($tranche==$tr_prec && $tr_prec<$tr_prec2) $libProfil.='Amélioration des délais. ';
else { $this->risqueImpaye=true; $libProfil.='Allongement des délais. '; }
if ($tranche<$tr_prec) $libProfil.='Amélioration des délais. ';
elseif ($tranche==$tr_prec && $tr_prec<$tr_prec2) $libProfil.='Amélioration des délais. ';
else { $this->risqueImpaye=true; $libProfil.='Allongement des délais. '; }
if ($tranche=0) { $libProfil.='Paiements à échéance'; $this->profilPayeur=1; }
elseif ($tranche<=30) { $libProfil.='Paiements à 30 jours maximum'; $this->profilPayeur=2; }
elseif ($tranche<=60) { $libProfil.='Paiements à 60 jours maximum'; $this->profilPayeur=3; }
elseif ($tranche<=90) { $libProfil.='Paiements à 90 jours maximum'; $this->profilPayeur=4; $this->risqueImpaye=true;}
else { $libProfil.='Paiements à plus de 90 jours'; $this->profilPayeur=4; $this->risqueImpaye=true;}
if ($tranche=0) { $libProfil.='Paiements à échéance'; $this->profilPayeur=1; }
elseif ($tranche<=30) { $libProfil.='Paiements à 30 jours maximum'; $this->profilPayeur=2; }
elseif ($tranche<=60) { $libProfil.='Paiements à 60 jours maximum'; $this->profilPayeur=3; }
elseif ($tranche<=90) { $libProfil.='Paiements à 90 jours maximum'; $this->profilPayeur=4; $this->risqueImpaye=true;}
else { $libProfil.='Paiements à plus de 90 jours'; $this->profilPayeur=4; $this->risqueImpaye=true;}
} else {
if ($paie_max<=30) $this->profilPayeur=1;
elseif ($paie_max<=60) $this->profilPayeur=2;
@ -328,11 +328,11 @@ class MFacto {
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
$tabMtAn=array(); // Tableau de travail du nombre de factures par montant et par tranches de délais de paiements
$tabNbr=array(); // Tableau de travail du nombre de factures par trimestre et par tranches de délais de paiements
$tabMtAn=array(); // Tableau de travail du nombre de factures par montant et par tranches de délais de paiements
$tabNbr2=array(); // Tableau retour du nombre de factures par trimestre et par tranches de délais de paiements
$tabMtAn2=array(); // Tableau retour du nombre de factures par montant et par tranches de délais de paiements
$tabNbr2=array(); // Tableau retour du nombre de factures par trimestre et par tranches de délais de paiements
$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) {
@ -351,10 +351,10 @@ class MFacto {
//@$tabMtAn['all'][$tabPai['tranchePaiement']]++;
}
// Recalcul des délais par Trimestre
// Recalcul des délais par Trimestre
foreach ($tabNbr as $trim=>$tabTranche) {
ksort($tabTranche);
// Initialisation des tranches à 0
// Initialisation des tranches à 0
foreach ($this->tabTranches as $tranche=>$vide)
$tabNbr2[$trim]['nb']=$tabNbr2[$trim]['d='.$tranche]=0;
foreach ($tabTranche as $tranche=>$mt3) {
@ -364,13 +364,13 @@ class MFacto {
}
}
// Initialisation des tranches à 0 par Montants
// Initialisation des tranches à 0 par Montants
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
// Recalcul des délais par Montants
ksort($tabMtAn);
foreach ($tabMtAn as $mt=>$tabTranche) {
ksort($tabTranche);

View File

@ -7,8 +7,8 @@
102 => 'Document inattendu',
103 => 'Page blanche',
104 => 'Fichier absent',
105 => 'page partiellement scannée',
106 => 'Document complémentaire concernant une autre société',
105 => 'page partiellement scannée',
106 => 'Document complémentaire concernant une autre société',
107 => 'Page(s) manquante(s)',//NEW
108 => 'Document(s) non Francophone',
200 => 'Aucune information dirigeants',
@ -17,10 +17,10 @@
220 => 'Aucune information RIB',
221 => 'Code guichet inconnu',
250 => 'Raison Sociale absente',//NEW
251 => 'Raison Sociale en double : entête retenue',//NEW
252 => 'Raison Sociale en double : entête non retenue',//NEW
300 => 'Code pays absent du réferentiel',
301 => 'Code devise absent du référentiel',
251 => 'Raison Sociale en double : entête retenue',//NEW
252 => 'Raison Sociale en double : entête non retenue',//NEW
300 => 'Code pays absent du réferentiel',
301 => 'Code devise absent du référentiel',
201 => 'Code fonction inexistant',
);

View File

@ -12,7 +12,7 @@ class MGlobal {
$c_soc = curl_init();
$c_pou = curl_init();
// Définit l'URL ainsi que d'autres options
// Définit l'URL ainsi que d'autres options
curl_setopt($c_cof, CURLOPT_URL, 'http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren);
curl_setopt($c_cof, CURLOPT_HEADER, 0);
curl_setopt($c_cof, CURLOPT_TIMEOUT, $timeout);
@ -21,7 +21,7 @@ curl_setopt($c_cof, CURLOPT_REFERER, '');
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);
// Création du gestionnaire multiple
// Création du gestionnaire multiple
$mh = curl_multi_init();
// Ajoute les deux gestionnaires
@ -29,7 +29,7 @@ curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
$running=null;
// Exécute le gestionnaire
// Exécute le gestionnaire
do {
curl_multi_exec($mh,$running);
} while($running > 0);
@ -53,8 +53,8 @@ curl_multi_close($mh);
$this->raisonSociale=trim($tmp[0]);
unset($tmp[0]);
$this->adresse=trim(strip_tags(implode(',', $tmp)));
$this->tel=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
$this->fax=trim(@getTextInHtml($this->body, 'Télécopie</b></td>', '<br>', '</td>'));
$this->tel=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
$this->fax=trim(@getTextInHtml($this->body, 'Télécopie</b></td>', '<br>', '</td>'));
$this->web=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Adresse internet <br>', ' class="tabval"><a class="tabval" HREF="', '" target="_new">'));
$this->mail=trim(@getTextInHtml($this->body, '<a class="tabval" href="mailto:', ':', '">'));
@ -64,19 +64,19 @@ curl_multi_close($mh);
$this->bourseMarche=trim($tmp[1]);
$this->bourseVille=trim($tmp[2]);
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
$tabTmp=explode('<a href="', $infosDispo);
foreach ($tabTmp as $k=>$lien) {
preg_match('/^(.*)">(.*)<\/a>/i', $lien, $matches);
if ($matches[2]<>'') $this->tabInfos[$matches[2]]=$matches[1];
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];//ip=pagespro&
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];//ip=pagespro&
elseif (substr($matches[2], 0, 6)=='bilan ') $this->tabBilans[]=substr($matches[2], 6,strlen($matches[2])-6);
}
$this->activite=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
$this->activite=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
$this->naf=trim(@getTextInHtml($this->body, '<a href="../chaineeco_dynaeco/DynaEco.asp?cnaf=', 'cnaf=', '&'));
/**
** Recherche du NIC sur Société .com
** Recherche du NIC sur Société .com
**/
/*
@ -91,12 +91,12 @@ curl_multi_close($mh);
$this->rcsVille=$tabTmp[0];//<td class="txtBlanc" align="left"><b><span class="size10">RCS Paris B 552 144 503<br></span></b></td>
$this->rcsType=$tabTmp[1];
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Code activité</div>', '<div class="ficheAltCol2 size11">', '</div>'));
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Code activité</div>', '<div class="ficheAltCol2 size11">', '</div>'));
$tabTmp=explode(' - ', $strTmp);
$this->naf=$tabTmp[0];
$this->nafLib=$tabTmp[1];
// <div class="ficheAltCol1 size11">Siège social</div><div class="ficheAltCol2 size11">75 Avenue la Grande Armee - 75116 PARIS 16</div>
// <div class="ficheAltCol1 size11">Siège social</div><div class="ficheAltCol2 size11">75 Avenue la Grande Armee - 75116 PARIS 16</div>
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Capital social', '<div class="ficheAltCol2 size11">', '</div>'));
$this->capitalType='social';
@ -112,7 +112,7 @@ curl_multi_close($mh);
foreach ($tabTmp as $k=>$dir) {
if (trim($dir)=='') break;
$tabTmp1=explode('</div><div class="ficheAltCol2 size11">', $dir);
$tabTmp2=explode('représenté par', $tabTmp1[1]);
$tabTmp2=explode('représenté par', $tabTmp1[1]);
if (isset($tabTmp2[1]) && $tabTmp2[1]<>'') {
$soc=trim($tabTmp2[0]);
$diri=trim($tabTmp2[1]);
@ -157,7 +157,7 @@ curl_multi_close($mh);
$urlInfoD='';
$page=getUrl($this->infoEco, '', '', $url, false, 'www.cofacerating.fr');
if (strpos($page['body'], '<b>Choix du mode de paiement</b>')===false) { // Le rapport éco. est cadeau !!!
if (strpos($page['body'], '<b>Choix du mode de paiement</b>')===false) { // Le rapport éco. est cadeau !!!
$this->infoEco=true;
$eco=$page['body'];
//die ($eco);
@ -168,13 +168,13 @@ curl_multi_close($mh);
$this->capitalMontant=trim(str_replace(chr(160), '', $tabTmp[0]));
$this->capitalDevise =trim(str_replace(chr(160), '', $tabTmp[1]));
$this->steInactive=trim(@getTextInHtml($eco, ' class="tabligne" > Société inactive</td>', 'class="tabval" >', '</td>'));
$this->steInactive=trim(@getTextInHtml($eco, ' class="tabligne" > Société inactive</td>', 'class="tabval" >', '</td>'));
$this->dateCreation=trim(@getTextInHtml($eco, ' class="tabligne" > Date de création</td>', 'class="tabval" >', '</td>'));
$this->dateCreation=trim(@getTextInHtml($eco, ' class="tabligne" > Date de création</td>', 'class="tabval" >', '</td>'));
$this->fj=trim(@getTextInHtml($eco, ' class="tabligne" > Forme juridique</td>', 'class="tabval" >', '</td>'));
$this->effectif=trim(@getTextInHtml($eco, ' class="tabligne" > Effectif', 'class="tabval" >', '</td>'));
if (count($this->tabDirigeants)==0) { // Si il y a déjà des dirigeants on garde ceux de Société.com !!!
if (count($this->tabDirigeants)==0) { // Si il y a déjà des dirigeants on garde ceux de Société.com !!!
$strTmp=trim(@getTextInHtml($eco, ' class="tabligne" > Cotation en bourse</td>', '<td bgcolor="#F3E5CC" class="tabligne" >', '<td bgcolor="#F3E5CC" class="tabligne" > Effectif'));
$tabTmp=explode('<td bgcolor="#F3E5CC" class="tabligne" >', $strTmp);
foreach ($tabTmp as $k=>$dir) {
@ -257,7 +257,7 @@ curl_multi_close($mh);
}
}
/** CA et Résultat **/
/** 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]);
@ -317,12 +317,12 @@ curl_multi_close($mh);
$this->dateFermeture=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Date de fin d\'exploitation</td>', '<td class="ligne2_2">', '</td></tr>'));
if ($this->tel=='' || $this->tel=='0')
$this->tel=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Téléphone</td>', '<td class="ligne2_2">', '</td></tr>'));
$this->tel=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Téléphone</td>', '<td class="ligne2_2">', '</td></tr>'));
if ($this->fax=='' || $this->fax=='0')
$this->fax=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Fax</td>', '<td class="ligne2_2">', '</td></tr>'));
$strTmp=trim(@getTextInHtml($pou, 'Procédures collectives</td></tr>', '</table></td>', '</td><td background'));
$strTmp=trim(@getTextInHtml($pou, 'Procédures collectives</td></tr>', '</table></td>', '</td><td background'));
if(preg_match_all('/<tr><td class="ligne1_2">(.*)<\/td><td class="ligne2_2">(.*)<\/td><\/tr>/isU', $strTmp, $matches)) {
foreach ($matches[1] as $i=>$jug) {
$this->tabJug[$i]['date']=$matches[1][$i];
@ -341,7 +341,7 @@ curl_multi_close($mh);
}
/* Siret SIEGE
2 Fonction, Nom Prénoù ET Date NAissance du PP
2 Fonction, Nom Prénoù ET Date NAissance du PP
5 Liste des actes
*/
if ($this->codeRetour==200)

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?
include_once(FWK_PATH.'common/curl.php');
/** @todo A faire et sortir du coup la méthode de commande d'enqêtes du WS **/
/** @todo A faire et sortir du coup la méthode de commande d'enqêtes du WS **/
class MIntersud {
private $body = '';
@ -48,13 +48,13 @@ class MIntersud {
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)">/i', $this->body, $matches))
$this->url=$this->urlRacine.'/'.$matches[1];
else debugLog('E',"Erreur de communication - Redirection impossible sur ".$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
if (preg_match('/\.ow\?WRNCSRV2=(.*)$/i', $matches[1], $matches)) {
$this->wrncsrv2=$matches[1];
debugLog('I','Session partenaire WRNCSRV2='.$this->wrncsrv2,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
}
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$page=getUrl($this->url, '', '',$this->referer, false, 'www.euridile.com');
$this->referer=$this->url;
@ -72,7 +72,7 @@ class MIntersud {
'cliref'=>'K5K3X5',
'PASS'=>'3180',
'WRNCSRV2'=>$this->wrncsrv2);
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
**/
$this->url=$this->urlRacine.str_replace('..','',$matches[1]);
debugLog('D',"Authentification possible vers $this->url",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
@ -85,7 +85,7 @@ class MIntersud {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
$fp=fopen('./euridile_connexion3.log', 'w');
fwrite($fp,print_r($page,true));
fclose($fp);
@ -93,7 +93,7 @@ class MIntersud {
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
{ $tabTmp=explode('"', $matches[0]);
$this->url=$this->urlRacine.$tabTmp[0];
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$this->curPage='recherche';
@ -112,7 +112,7 @@ class MIntersud {
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
"siren=$this->siren ORDER BY dateUpdate DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($ret)) {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**/
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
@ -130,15 +130,15 @@ class MIntersud {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
//$this->curPage='vitrine';
$tabRet=array();
/**@todo Traiter le cas données provisoires :
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
/**@todo Traiter le cas données provisoires :
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
</TABLE>
*/
// Identité
// Identité
$tabRet['siren']=$this->siren;
$tabRet['codeRetour']=$this->codeRetour;
$tabRet['rcs']=@getTextInHtml($this->body, 'FACE="ARIAL,HELVETICA" SIZE=2>RCS : ', '<b>','</b>');
@ -159,8 +159,8 @@ class MIntersud {
}
$pp_nais=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Date et lieu de naissance :', '<B>','</B>')));
$tabTmp=explode(' à ', $pp_nais);
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
$tabTmp=explode(' à ', $pp_nais);
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
$tabRet['naiss_lieu']=trim(strip_tags($tabTmp[1]));
$tabRet['sexe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Sexe :', '<B>','</B>')));
@ -174,7 +174,7 @@ class MIntersud {
$tabRet['date_crea']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date de cr&eacute;ation :', '<B>','</B>')));
$tabRet['date_imma']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date d\'immatriculation :', '<B>','</B>')));
$tabRet['greffe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Greffe :', '<B>','</B>')));
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
$strTmp=@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Capital :', '<B>','</B>');
if (preg_match('/([0-9\.,\s]*)([\D]*)/i', $strTmp, $matches)) {
$tabRet['capital_mnt']=trim(str_replace(' ','',str_replace(',','.',$matches[1])));
@ -185,17 +185,17 @@ class MIntersud {
$tabRet['capital_dev']='';
}
$tabRet['nationalite']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nationalit&eacute; :', '<B>','</B>')));
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Radiation</B>')>0) {
$tabRet['indRadiation']=true;
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
} else
$tabRet['indRadiation']=false;
// Procédures collectives
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
// Procédures collectives
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
$tabRet['indProcol']=true;
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
'</TABLE>');
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
foreach ($tabTmp as $nproc=>$proc) {
@ -226,18 +226,18 @@ class MIntersud {
$nom=trim(strip_tags($tabTmp3[0]));
$prenom=trim(strip_tags($tabTmp3[1]));
$naiss=trim(strip_tags($tabTmp2[3]));
if (strpos($naiss, 'Né(e) le')===false) {
if (strpos($naiss, 'Né(e) le')===false) {
$fonction=$naiss;
} else {
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$naiss=trim(strip_tags($tabTmp3[1]));
$tabTmp3=explode('(', $naiss);
$naiss_ville=trim(strip_tags($tabTmp3[0]));
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
$fonction=trim(strip_tags($tabTmp2[5]));
}
$tabTmp=explode('&#160;née&#160;', $prenom);
$tabTmp=explode('&#160;née&#160;', $prenom);
$prenom=$tabTmp[0];
$naiss_nom=$tabTmp[1];
$tabRet['dirigeants'][$ndir]=array( 'nom'=>$nom,
@ -259,19 +259,19 @@ class MIntersud {
$nom=trim(strip_tags($tabTmp3[0]));
$prenom=trim(strip_tags($tabTmp3[1]));
$naiss=trim(strip_tags($tabTmp2[3]));
if (strpos($naiss, 'Né(e) le')===false) {
if (strpos($naiss, 'Né(e) le')===false) {
$naiss_date=$naiss_ville=$naiss_depPays='';
$fonction=$naiss;
} else {
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$naiss=trim(strip_tags($tabTmp3[1]));
$tabTmp3=explode('(', $naiss);
$naiss_ville=trim(strip_tags($tabTmp3[0]));
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
$fonction=trim(strip_tags($tabTmp2[5]));
}
$tabTmp=explode('&#160;née&#160;', $prenom);
$tabTmp=explode('&#160;née&#160;', $prenom);
$prenom=$tabTmp[0];
$naiss_nom=$tabTmp[1];
$tabRet['dirigeants'][$nadm+$ndir+1]=array( 'nom'=>$nom,
@ -285,7 +285,7 @@ class MIntersud {
}
// Etablissements
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
foreach ($tabTmp as $netab=>$dir) {
$cp=$ville=$ensEtab=''; $j=0;
@ -303,7 +303,7 @@ class MIntersud {
$j++;
}
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
if (strtoupper($adresse[0])==strtoupper($tabRet['enseigne'])) {
$ensEtab=$adresse[0];
array_shift($adresse);

View File

@ -7,29 +7,29 @@ class MLiens {
private $iInsee;
public $tabSirenVisites;
private $tabChars=array('é'=>'é', 'ç'=>'ç','è'=>'è','à '=>'à');
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é',
'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',
'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.',
'PRD'=>'Président du directoire',
'PRE'=>'Président du Conseil d\'Administration',
'VIC'=>'Vice président du CA ou Surv.',
);
private $tabSources=array( 0=>'Presse', // Old liens
1000=>'Presse', // 4 ?
1500=>'Actes', // Fedaso
1600=>'Actes', // S&D : 69642, Associé-Gérant
1600=>'Actes', // S&D : 69642, Associé-Gérant
1700=>'SED',
1800=>'Collecte', // Infolégales
1800=>'Collecte', // Infolégales
1900=>'Collecte');
@ -80,9 +80,9 @@ class MLiens {
if ($lien['MajMin']=='F') $majMin='A';
else $majMin=$lien['MajMin'];
switch ($tabIdentite['FJ']*1) {
case 5488: // Entreprise Unipersonnelle à Responsabilité Limitée
case 5488: // Entreprise Unipersonnelle à Responsabilité Limitée
case 5498: // SARL unipersonnelle
case 5720: // Société par actions simplifiée à associé unique
case 5720: // Société par actions simplifiée à associé unique
$lien['Pmin']=100;
$unique=true;
break;
@ -92,7 +92,7 @@ class MLiens {
$dateMaj=$lien['dateLien'];
$pctLien=$lien['Pmin']*1;
$pctTot+=$pctLien;
// On évite d'afficher des totaux de détention > à 100%
// On évite d'afficher des totaux de détention > à 100%
if($pctTot>100) $pctLien=0;
if ($lien['dateInsert']>$dateMaj) $dateMaj=$lien['dateInsert'];
@ -114,13 +114,13 @@ class MLiens {
if (count($tabRet)==0) {
switch ($tabIdentite['FJ']*1) {
case 7112: // Autorité administrative indépendante
case 7160: // Service déconcentré à compétence nation. D'un ministère (hors Défense)
case 7171: // Service déconcentré de l'État à compétence (inter) régionale
case 7172: // Service déconcentré de l'État à compétence (inter) départementale
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
case 7112: // Autorité administrative indépendante
case 7160: // Service déconcentré à compétence nation. D'un ministère (hors Défense)
case 7171: // Service déconcentré de l'État à compétence (inter) régionale
case 7172: // Service déconcentré de l'État à compétence (inter) départementale
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
case 7381: // Organisme consulaire
/** Ces établissements sont dans le fichier des tribunaux **/
/** 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);
$tabCC=$tmp[0];
//$sirenCC=substr(,0,9);
@ -137,57 +137,57 @@ class MLiens {
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
);
case 7111: // Autorité constitutionnelle
case 7113: // Ministère
case 7120: // Service central d'un ministère
case 7150: // Service du ministère de la Défense
case 7111: // Autorité constitutionnelle
case 7113: // Ministère
case 7120: // Service central d'un ministère
case 7150: // Service du ministère de la Défense
case 7190: // Ecole nationale non dotée de la personnalité morale
// case 7210: // COMMUNE (traité après)
// case 7220: // DEPARTEMENT (traité après)
case 7190: // Ecole nationale non dotée de la personnalité morale
// case 7210: // COMMUNE (traité après)
// case 7220: // DEPARTEMENT (traité après)
case 7225: // Territoire d'Outre-mer
case 7229: // (Autre) Collectivité territoriale
// case 7312: // Commune associée
case 7229: // (Autre) Collectivité territoriale
// case 7312: // Commune associée
// case 7313: // Section de commune
// case 7314: // Ensemble urbain
case 7230: // Région
case 7321: // Association syndicale autorisée
case 7322: // Association foncière urbaine
case 7323: // Association foncière de remembrement
case 7331: // Établissement public local d'enseignement
case 7230: // Région
case 7321: // Association syndicale autorisée
case 7322: // Association foncière urbaine
case 7323: // Association foncière de remembrement
case 7331: // Établissement public local d'enseignement
// case 7341: // Secteur de commune
// case 7342: // District urbain
// case 7343: // Communauté urbaine
// case 7345: // Syndicat intercommunal à vocation multiple (SIVOM)
// case 7346: // Communauté de communes
// case 7347: // Communauté de villes
// case 7348: // Communauté d'agglomération
case 7349: // Autre établissement public local de coopération non spécialisé ou entente
case 7351: // Institution interdépartemental ou entente
case 7352: // Institution interrégionale ou entente
// case 7353: // Syndicat intercommunal à vocation unique (SIVU)
// case 7343: // Communauté urbaine
// case 7345: // Syndicat intercommunal à vocation multiple (SIVOM)
// case 7346: // Communauté de communes
// case 7347: // Communauté de villes
// case 7348: // Communauté d'agglomération
case 7349: // Autre établissement public local de coopération non spécialisé ou entente
case 7351: // Institution interdépartemental ou entente
case 7352: // Institution interrégionale ou entente
// case 7353: // Syndicat intercommunal à vocation unique (SIVU)
// case 7354: // Syndicat mixte communal
// case 7355: // Autre syndicat mixte
case 7356: // Commission syndicale pour la gestion des biens indivis des communes
// case 7361: // Centre communal d'action sociale
// case 7362: // Caisse des écoles
// case 7363: // Caisse de crédit municipal
case 7364: // Établissement d'hospitalisation
// case 7362: // Caisse des écoles
// case 7363: // Caisse de crédit municipal
case 7364: // Établissement d'hospitalisation
case 7365: // Syndicat inter hospitalier
case 7366: // Établissement public local social et médico-social
case 7371: // Office public d'habitation à loyer modéré (OPHLM)
case 7372: // Service départemental d'incendie
case 7373: // Établissement public local culturel
case 7378: // Régie d'une collectivité locale à caractère administratif
case 7379: // (Autre) Établissement public administratif local
case 7382: // Établissement public national ayant fonction d'administration centrale
case 7383: // Établissement public national à caractère scientifique culturel et professionnel
case 7384: // Autre établissement public national d'enseignement
case 7385: // Autre établissement public national administratif à compétence territoriale limitée
case 7389: // Établissement public national à caractère administratif
case 7410: // Groupement d'intérêt public (GIP)
case 7430: // Établissement public des cultes d'Alsace-Lorraine
case 7450: // Cercle et foyer dans les armées
case 7366: // Établissement public local social et médico-social
case 7371: // Office public d'habitation à loyer modéré (OPHLM)
case 7372: // Service départemental d'incendie
case 7373: // Établissement public local culturel
case 7378: // Régie d'une collectivité locale à caractère administratif
case 7379: // (Autre) Établissement public administratif local
case 7382: // Établissement public national ayant fonction d'administration centrale
case 7383: // Établissement public national à caractère scientifique culturel et professionnel
case 7384: // Autre établissement public national d'enseignement
case 7385: // Autre établissement public national administratif à compétence territoriale limitée
case 7389: // Établissement public national à caractère administratif
case 7410: // Groupement d'intérêt public (GIP)
case 7430: // Établissement public des cultes d'Alsace-Lorraine
case 7450: // Cercle et foyer dans les armées
case 7490: // Autre personne morale de droit administratif
if (count($tabRet)==0)
$tabRet[]=array('Pmin' => 0,
@ -216,10 +216,10 @@ class MLiens {
$tmp=$this->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
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,
@ -234,11 +234,11 @@ class MLiens {
'DateMaj' => date('Y-m-').'01',
);
break;
case 7220: // Département
// Siren du 29 22 290001 1 => Région 233 500 016
// Siren du 28 22 280001 3 => Région 234 500 023
// Siren du 75 22 750001 => Région 237 500 079
// Siren du 972 22 972001 6 => Région 239 720 014
case 7220: // Département
// Siren du 29 22 290001 1 => Région 233 500 016
// Siren du 28 22 280001 3 => Région 234 500 023
// Siren du 75 22 750001 => Région 237 500 079
// Siren du 972 22 972001 6 => Région 239 720 014
$dept=substr($siren,2,2);
if ($dept*1>95)
$dept=substr($siren,2,3);
@ -279,12 +279,12 @@ class MLiens {
if (count($tabRet)==0) {
$fj=$tabIdentite['FJ']*1;
if ($fj==5498) $strFonctions=",'Gérant'";
if ($fj==5498) $strFonctions=",'Gérant'";
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',
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
$majMin='+';
if (count($tab)>1) $majMin='-';
foreach ($tab as $i=>$lien) {
@ -362,7 +362,7 @@ class MLiens {
$errMaj=1016167;
}
/* Insertion de la participation pour l'actionnaire précédent */
/* Insertion de la participation pour l'actionnaire précédent */
$tabInsert2=array_merge($tabUpdate, array( 'ActionPart'=>2),
array( 'Siren1'=> $siren2,
'Siren2'=> $siren,
@ -398,7 +398,7 @@ class MLiens {
'fonction_lib' => 'Personne Physique',
'actif' => 1,
'dateInsert' => date('YmdHis'),
'source' => 'lag', // Lien Associé Gérant
'source' => 'lag', // Lien Associé Gérant
'cinf' => $lien['cinf'],
), true);
}
@ -408,7 +408,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 **/
/** 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) {
@ -472,13 +472,13 @@ class MLiens {
// if (count($tabRet)==0) {
$tabTmp=$this->iInsee->getIdentiteLight($siren);
switch ($tabTmp['FJ']*1) {
case 7112: // Autorité administrative indépendante
case 7160: // Service déconcentré à compétence nation. D'un ministère (hors Défense)
case 7171: // Service déconcentré de l'État à compétence (inter) régionale
case 7172: // Service déconcentré de l'État à compétence (inter) départementale
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
case 7112: // Autorité administrative indépendante
case 7160: // Service déconcentré à compétence nation. D'un ministère (hors Défense)
case 7171: // Service déconcentré de l'État à compétence (inter) régionale
case 7172: // Service déconcentré de l'État à compétence (inter) départementale
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
case 7381: // Organisme consulaire
/** Ces établissements sont dans le fichier des tribunaux **/
/** 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);
foreach ($tmp as $tabCC) {
// $sirenCC=substr($tabCC['triSiret'],0,9);
@ -498,9 +498,9 @@ class MLiens {
break;
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
//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=$this->iDb->select('insee.insee_tabVillesEpci', 'typEPCI, libEPCI, codeInsee, libCommune', "codEPCI='$siren'", true, MYSQL_ASSOC);
foreach ($tmp as $tabCom) {
$dept=substr($tabCom['codeInsee'],0,2);
@ -528,11 +528,11 @@ class MLiens {
);
}
break;
case 7230: // Région
// Siren du 29 22 290001 1 => Région 233 500 016
// Siren du 28 22 280001 3 => Région 234 500 023
// Siren du 75 22 750001 => Région 237 500 079
// Siren du 972 22 972001 6 => Région 239 720 014
case 7230: // Région
// Siren du 29 22 290001 1 => Région 233 500 016
// Siren du 28 22 280001 3 => Région 234 500 023
// Siren du 75 22 750001 => Région 237 500 079
// Siren du 972 22 972001 6 => Région 239 720 014
$dept=substr($siren,2,2);
$deptD=$dept.'000';
$deptF=$dept.'999';
@ -610,7 +610,7 @@ class MLiens {
$majTrouve=false;
foreach ($tabA as $i=>$lien) {
$sirenMere=$lien['Siren'];
// Afin de ne pas boucler à l'infini si le siren est déjà dans la sructure !
// Afin de ne pas boucler à l'infini si le siren est déjà dans la sructure !
//echo "je cherche $sirenMere dans ";
//print_r($tabSirenVisites);
if (in_array($sirenMere, $this->tabSirenVisites)) {
@ -622,26 +622,26 @@ class MLiens {
if ($debug && $sirenMere>1000) $tabIdentiteA=$this->iInsee->getIdentiteLight($sirenMere);
else $tabIdentiteA['Nom']='';
if ($siren*1==$sirenMere*1) {
if ($debug) echo "D. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
if ($debug) echo "D. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
return $siren;
}
elseif($sirenMere>100 && $lien['PminNum']>50) {
if ($debug) echo "A. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
if ($debug) echo "A. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
$majTrouve=true;
return $this->getMaisonMereFr($sirenMere, $debug, $this->tabSirenVisites);
}
elseif($sirenMere>100 && $lien['MajMin']=='+' && !$majTrouve) {
if ($debug) echo "B. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
if ($debug) echo "B. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
$majTrouve=true;
return $this->getMaisonMereFr($sirenMere, $debug, $this->tabSirenVisites);
}
elseif ($sirenMere<100) {
if ($debug) echo "C. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
if ($debug) echo "C. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
return $siren;
}
else {
if ($debug) echo "E. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
//die("Cas pas prévue $siren, $sirenMere, ".$lien['Pmin'].', '.$lien['MajMin'].EOL);
if ($debug) echo "E. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
//die("Cas pas prévue $siren, $sirenMere, ".$lien['Pmin'].', '.$lien['MajMin'].EOL);
return $siren;
}
}
@ -738,12 +738,12 @@ class MLiens {
** @param string $cpVille CP, Ville
** @param integer $siren Siren de l'actionnaire
** @param string $pays Pays de l'actionnaire
** @param string $detention Niveau de détention de l'actionnaire
** @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
** @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
** @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
** @param bool $pertinence Recherche orthographique stricte sur les noms et prénoms (si true)
** @return Liste des entreprises trouvées
** @param string $detention Niveau de détention de l'actionnaire
** @param integer $deb Position du curseur dans la liste des réponses (0 par défaut)
** @param integer $nbRep Nombre de réponses retournées au maximum par cette requete (20 par défaut)
** @param integer $maxRep Nombre de réponses recherchées au maximum (200 par défaut)
** @param bool $pertinence Recherche orthographique stricte sur les noms et prénoms (si true)
** @return Liste des entreprises trouvées
**/
public function rechercheActionnaire($nom, $cpVille='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false)
{
@ -759,7 +759,7 @@ class MLiens {
return rechercheAct($formR, $deb, $nbRep, $maxRep);
}
/** Retourne les informations relatives au groupe du siren donné
/** Retourne les informations relatives au groupe du siren donné
** @param string $siren Siren de l'entreprise
**/
public function getInfoGroupe($siren) {
@ -778,35 +778,35 @@ class MLiens {
$tabNAf2[$tmp2['codNaf2']]=$tmp2['codNaf1'];
}
$tabNaf2Lib=array( 'A'=>'Agriculture, sylviculture et pêche',
$tabNaf2Lib=array( 'A'=>'Agriculture, sylviculture et pêche',
'B'=>'Industries extractives',
'C'=>'Industrie manufacturière',
'D'=>'Production et distribution d\'électricité, de gaz, de vapeur et d\'air conditionné',
'E'=>'Production et distribution d\'eau ; assainissement, gestion des déchets et dépollution',
'C'=>'Industrie manufacturière',
'D'=>'Production et distribution d\'électricité, de gaz, de vapeur et d\'air conditionné',
'E'=>'Production et distribution d\'eau ; assainissement, gestion des déchets et dépollution',
'F'=>'Construction',
'G'=>'Commerce ; réparation d\'automobiles et de motocycles',
'G'=>'Commerce ; réparation d\'automobiles et de motocycles',
'H'=>'Transports et entreposage',
'I'=>'Hébergement et restauration',
'I'=>'Hébergement et restauration',
'J'=>'Information et communication',
'K'=>'Activités financières et d\'assurance',
'L'=>'Activités immobilières',
'M'=>'Activités spécialisées, scientifiques et techniques',
'N'=>'Activités de services administratifs et de soutien',
'K'=>'Activités financières et d\'assurance',
'L'=>'Activités immobilières',
'M'=>'Activités spécialisées, scientifiques et techniques',
'N'=>'Activités de services administratifs et de soutien',
'O'=>'Administration publique',
'P'=>'Enseignement',
'Q'=>'Santé humaine et action sociale',
'R'=>'Arts, spectacles et activités récréatives',
'S'=>'Autres activités de services',
'T'=>'Activités des ménages en tant qu\'employeurs ; activités indifférenciées des ménages en tant que producteurs de biens et services pour usage propre',
'U'=>'Activités extra-territoriales',
'Q'=>'Santé humaine et action sociale',
'R'=>'Arts, spectacles et activités récréatives',
'S'=>'Autres activités de services',
'T'=>'Activités des ménages en tant qu\'employeurs ; activités indifférenciées des ménages en tant que producteurs de biens et services pour usage propre',
'U'=>'Activités extra-territoriales',
);
$tabId=$this->iInsee->getIdentiteEntreprise($sirenGrp);
/*
[SiretSiege] => 54205118000066
[dir1Titre] => Président du conseil d'administration
[dir1Titre] => Président du conseil d'administration
[dir1NomPrenom] => JACQUIN DE MARGERIE Christophe
[Activite] => la recherche et l' exploitation des gisements miniers et notamment d'hydrocarbures sous toutes leurs formes, l'industrie, le raffinage, la transformation et le commerce de ces matières ainsi que leurs dérivés et sous-produits, ainsi que toutes activités relevant de l' énergie et de la chimie
[Activite] => la recherche et l' exploitation des gisements miniers et notamment d'hydrocarbures sous toutes leurs formes, l'industrie, le raffinage, la transformation et le commerce de ces matières ainsi que leurs dérivés et sous-produits, ainsi que toutes activités relevant de l' énergie et de la chimie
[dir1Code] => 1306
[dir1Nom] => JACQUIN DE MARGERIE
[dir1Prenom] => Christophe
@ -814,7 +814,7 @@ class MLiens {
[dir1DateNaiss] => 1951-08-06
[dir1LieuNaiss] => MAREUIL-SUR-LAY-DISSAIS
[dir2Code] => 0709
[dir2Titre] => Directeur général
[dir2Titre] => Directeur général
[dir2NomPrenom] => JACQUIN DE MARGERIE Christophe
[dir2Nom] => JACQUIN DE MARGERIE
[dir2Prenom] => Christophe
@ -898,7 +898,7 @@ class MLiens {
if ($grpCA>=500000000) $tabRet['grpGrandGroupeFr']=1; else $tabRet['grpGrandGroupeFr']=0;
// $tabRet['ape5']=$tabApe5;
$tabRet['secteur']=$tabSecteur2;
$tabRet['avisCs']=$tabAvis; // Vérifier les procol
$tabRet['avisCs']=$tabAvis; // Vérifier les procol
$strSiren=implode(',', $tabSirenGrp);
/*$tmp=$this->iDb->select('insee.insee_notices',

View File

@ -4,21 +4,21 @@ class MLiens {
public $siren=0;
private $tabChars=array('é'=>'é', 'ç'=>'ç','è'=>'è','à '=>'à');
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é',
'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',
'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.',
'PRD'=>'Président du directoire',
'PRE'=>'Président du Conseil d\'Administration',
'VIC'=>'Vice président du CA ou Surv.',
);
public function __construct($siren) {
@ -125,10 +125,10 @@ class MLiens {
$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
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,
@ -146,12 +146,12 @@ class MLiens {
$iInsee=new MInsee();
$tabTmp=$iInsee->getIdentiteLight($siren);
$fj=$tabTmp['FJ']*1;
if ($fj==5498) $strFonctions=",'Gérant'";
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);
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
$majMin='+';
if (count($tab)>1) $majMin='-';
foreach ($tab as $i=>$lien) {
@ -236,7 +236,7 @@ class MLiens {
$errMaj=1016167;
}
/* Insertion de la participation pour l'actionnaire précédent */
/* Insertion de la participation pour l'actionnaire précédent */
$tabInsert2=array_merge($tabUpdate, array( 'ActionPart'=>2),
array( 'Siren1'=> $siren2,
'Siren2'=> $siren,
@ -272,7 +272,7 @@ class MLiens {
'fonction_lib' => 'Personne Physique',
'actif' => 1,
'dateInsert' => date('YmdHis'),
'source' => 'lag', // Lien Associé Gérant
'source' => 'lag', // Lien Associé Gérant
'cinf' => $lien['cinf'],
), true);
}
@ -317,9 +317,9 @@ class MLiens {
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
//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)) ;
@ -445,7 +445,7 @@ class MLiens {
}
}
/** CA et Résultat **/
/** 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]);

View File

@ -21,7 +21,7 @@ function dec2dms($dec) {
$m = supprDecimales(($dec - $d) * 60);
$s = abs(round(((($dec - $d) * 60) - $m) * 60));
$m = abs($m);
return $d.'°'.$m."'".$s.'"';
return $d.'°'.$m."'".$s.'"';
}
/**/
@ -31,7 +31,7 @@ function ALG0001($phi,$e) {
return $L;
}
/** Calcul de la latitude à partir de la latitude isométrique
/** Calcul de la latitude à partir de la latitude isométrique
**/
function ALG0002($L,$e,$epsilon) {
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
@ -47,17 +47,17 @@ function ALG0002($L,$e,$epsilon) {
return $phi[$i];
}
/** Transformation de coordonnées en projection conique conforme de Lambert, en coordonnées géographiques
** @param double $X Coordonnée X en projection conique conforme de Lambert du point
** @param double $Y Coordonnée Y en projection conique conforme de Lambert du point
/** Transformation de coordonnées en projection conique conforme de Lambert, en coordonnées géographiques
** @param double $X Coordonnée X en projection conique conforme de Lambert du point
** @param double $Y Coordonnée Y en projection conique conforme de Lambert du point
** @param double $n Exposant de la projection
** @param double $c Constante de la projection
** @param double $Xs Coordonnée Xs en projection du pôle
** @param double $Ys Coordonnée Ys en projection du pôle
** @param double $lambdac Longitude de l'origine par rapport au méridien origine
** @param double $e Première excentricité de l'ellipsoïde
** @param double $epsilon Tolérance de convergence
** @return array lambda Longitude par rapport au méridien origine
** @param double $Xs Coordonnée Xs en projection du pôle
** @param double $Ys Coordonnée Ys en projection du pôle
** @param double $lambdac Longitude de l'origine par rapport au méridien origine
** @param double $e Première excentricité de l'ellipsoïde
** @param double $epsilon Tolérance de convergence
** @return array lambda Longitude par rapport au méridien origine
** phi Latitude
**/
function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
@ -76,7 +76,7 @@ function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
return $coords;
}
/** Transformation des coordonnées géographiques ellipsoïdales en coordonnées cartésiennes
/** Transformation des coordonnées géographiques ellipsoïdales en coordonnées cartésiennes
**
**/
function ALG0009($lambda,$phi,$he,$a,$e) {
@ -122,16 +122,16 @@ function ALG0012($X,$Y,$Z,$a,$e,$epsilon) {
return $coords;
}
/** Transformation d'un jeu de 7 paramètres entre 2 systèmes géodésiques
/** Transformation d'un jeu de 7 paramètres entre 2 systèmes géodésiques
** @param double $Tx Translation suivant l'axe des X (de 1 vers 2)
** @param double $Ty Translation suivant l'axe des Y (de 1 vers 2)
** @param double $Tz Translation suivant l'axe des Z (de 1 vers 2)
** @param double $D Facteur d'échelle de 1 vers 2
** @param double $D Facteur d'échelle de 1 vers 2
** @param double $Rx Angle de rotation autour de l'axe des X en radian (de 1 vers 2)
** @param double $Ry Angle de rotation autour de l'axe des Y en radian (de 1 vers 2)
** @param double $Rz Angle de rotation autour de l'axe des Z en radian (de 1 vers 2)
** @param double $U Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 1 : U=(Ux,Uy,Uz)
** @return array Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 2, V=(Vx,Vy,Vz)
** @param double $U Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 1 : U=(Ux,Uy,Uz)
** @return array Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 2, V=(Vx,Vy,Vz)
*/
function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
$V=array();
@ -141,8 +141,8 @@ function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
return $V;
}
/** Détermination des paramètres de calcul d'une projection Lambert conique
** dans le cas tangent, avec ou sans facteur d'échelle en fonction des paramètres de définition usuels
/** Détermination des paramètres de calcul d'une projection Lambert conique
** dans le cas tangent, avec ou sans facteur d'échelle en fonction des paramètres de définition usuels
** @return array n, C, lambdac, Xs, Ys
**/
function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
@ -163,10 +163,10 @@ function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
}
/** Calcul de la grande normale de l'ellipsoïde
/** Calcul de la grande normale de l'ellipsoïde
** @param double $phi Latitude
** @param double $a Demi-grand axe de l'ellipsoïde
** @param double $e Première excentricité de l'ellipsoïde
** @param double $a Demi-grand axe de l'ellipsoïde
** @param double $e Première excentricité de l'ellipsoïde
** @return double
**/
function ALG0021($phi,$a,$e) {
@ -174,15 +174,15 @@ function ALG0021($phi,$a,$e) {
return $N;
}
/** Calcul des constantes d'une projection Lambert conique conforme dans le cas sécant
** @param double $lambda0 Longitude origine en radian par rapport au méridien origine
/** Calcul des constantes d'une projection Lambert conique conforme dans le cas sécant
** @param double $lambda0 Longitude origine en radian par rapport au méridien origine
** @param double $phi0 Latitude origine
** @param double $X0 Coordonnée X en projection du point origine
** @param double $Y0 Coordonnée Y en projection du point origine
** @param double $phi1 Latitude en radian du 1er parallèle automécoïque
** @param double $phi2 Latitude en radian du 2ème parallèle automécoïque
** @param double $a Demi-grand axe de l'ellipsoïde
** @param double $e Première excentricité de l'ellipsoïde
** @param double $X0 Coordonnée X en projection du point origine
** @param double $Y0 Coordonnée Y en projection du point origine
** @param double $phi1 Latitude en radian du 1er parallèle automécoïque
** @param double $phi2 Latitude en radian du 2ème parallèle automécoïque
** @param double $a Demi-grand axe de l'ellipsoïde
** @param double $e Première excentricité de l'ellipsoïde
** @return array n, C, lambdac, Xs, Ys
**/
function ALG0054($lambda0,$phi0,$X0,$Y0,$phi1,$phi2,$a,$e) {
@ -210,7 +210,7 @@ function Lambert2WGS84($X,$Y,$orig='L93') {
$epsilon = 0.00000000001;
$lambdac = 0.04079234433; // pour greenwich
$e = 0.08248325676; // première excentricité de l ellipsoïde Clarke 1880 français
$e = 0.08248325676; // première excentricité de l ellipsoïde Clarke 1880 français
$he = 100;
$a = 6378249.2; // demi-grand axe de l'ellipsoide
@ -264,7 +264,7 @@ function Lambert2WGS84($X,$Y,$orig='L93') {
$coords = ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$coords);
$a = 6378137.0; // ellipsoïdes WGS84
$a = 6378137.0; // ellipsoïdes WGS84
$f = 1/298.257223563;
$b = $a*(1-$f);
$e = sqrt(($a*$a - $b*$b)/($a*$a));
@ -288,7 +288,7 @@ function geos2lambert($latitude,$longitude) {
$lambda_w = $longitude * pi()/180 ;
$phi_w = $latitude * pi()/180 ;
//1) coordonnées géographiques WGS84 (phi_w,lambda_w) en coordonnées cartésiennes WGS84 (X_w,Y_w,Z_w)
//1) coordonnées géographiques WGS84 (phi_w,lambda_w) en coordonnées cartésiennes WGS84 (X_w,Y_w,Z_w)
$a_w = 6378137.0;
$b_w = 6356752.314;
@ -303,7 +303,7 @@ function geos2lambert($latitude,$longitude) {
$Z_w = $N * (1-$e2_w) * sin($phi_w);
//Ref.: http://www.ign.fr/telechargement/MPr...RCE/NTG_80.pdf and http://de.wikipedia.org/wiki/WGS84
//2) coordonnées cartésiennes WGS84 (X_w,Y_w,Z_w) en coordonnées cartésiennes NTF (X_n,Y_n,Z_n)
//2) coordonnées cartésiennes WGS84 (X_w,Y_w,Z_w) en coordonnées cartésiennes NTF (X_n,Y_n,Z_n)
$dX = 168.0;
$dY = 60.0;
@ -314,12 +314,12 @@ function geos2lambert($latitude,$longitude) {
$Z_n = $Z_w + $dZ;
//ref.: http://support.esrifrance.fr/Documents/Generalites/Projections/Generalites/Generalites.htm#2
//3) coordonnées cartésiennes NTF (X_n,Y_n,Z_n) en coordonnées géographiques NTF (phi_n,lambda_n)
//3) coordonnées cartésiennes NTF (X_n,Y_n,Z_n) en coordonnées géographiques NTF (phi_n,lambda_n)
$a_n = 6378249.2;
$b_n = 6356515.0;
$e2_n = ($a_n*$a_n-$b_n*$b_n)/($a_n*$a_n);
//on définit une tolérance de convergence
//on définit une tolérance de convergence
$epsilon = pow(10,-10);
//puis on amorce une boucle de calcul
@ -332,15 +332,15 @@ function geos2lambert($latitude,$longitude) {
$phi_n = $p1;
$lambda_n = atan($Y_n/$X_n);
//4) coordonnées géographiques NTF (phi_n,lambda_n) en coordonnées projetées en Lambert II étendu (X_l2e, Y_l2e)
//4) coordonnées géographiques NTF (phi_n,lambda_n) en coordonnées projetées en Lambert II étendu (X_l2e, Y_l2e)
$n = 0.7289686274;
$c = 11745793.39;
$Xs = 600000.0;
$Ys = 8199695.768;
$e_n = sqrt($e2_n);
$lambda0 = 0.04079234433198; //correspond à la longitude en radian de Paris (2°20'14.025" E) par rapport à Greenwich
//puis on calcule la latitude isométrique
$lambda0 = 0.04079234433198; //correspond à la longitude en radian de Paris (2°20'14.025" E) par rapport à Greenwich
//puis on calcule la latitude isométrique
$L = log(tan(pi()/4 + $phi_n/2) * pow(((1-$e_n*sin($phi_n))/(1+$e_n*sin($phi_n))),($e_n/2)));
//enfin on projette
@ -357,20 +357,20 @@ function geos2lambert($latitude,$longitude) {
**/
function geos2lambert93($latitude,$longitude) {
// Système WGS84
// Système WGS84
$a=6378137; // demi grand axe de l'ellipsoide (m)
$e=0.08181919106; // première excentricitè de l'ellipsoide
$e=0.08181919106; // première excentricitè de l'ellipsoide
// Paramètres de projections
$l0=$lc=deg2rad(3); // longitude de référence
// Paramètres de projections
$l0=$lc=deg2rad(3); // longitude de référence
$phi0=deg2rad(46.5); // latitude d'origine en radian
$phi1=deg2rad(44); // 1er parallele automécoïque
$phi2=deg2rad(49); // 2eme parallele automécoïque
$phi1=deg2rad(44); // 1er parallele automécoïque
$phi2=deg2rad(49); // 2eme parallele automécoïque
$x0=700000; //coordonnées à l'origine
$y0=6600000; //coordonnées à l'origine
$x0=700000; //coordonnées à l'origine
$y0=6600000; //coordonnées à l'origine
// coordonnées du point à traduire
// coordonnées du point à traduire
$phi=deg2rad($latitude);
$l=deg2rad($longitude);
@ -378,7 +378,7 @@ function geos2lambert93($latitude,$longitude) {
$gN1=$a/sqrt(1-$e*$e*sin($phi1)*sin($phi1));
$gN2=$a/sqrt(1-$e*$e*sin($phi2)*sin($phi2));
//calculs de slatitudes isométriques
//calculs de slatitudes isométriques
$gl1=log(tan(pi()/4+$phi1/2)*pow((1-$e*sin($phi1))/(1+$e*sin($phi1)),$e/2));
$gl2=log(tan(pi()/4+$phi2/2)*pow((1-$e*sin($phi2))/(1+$e*sin($phi2)),$e/2));
$gl0=log(tan(pi()/4+$phi0/2)*pow((1-$e*sin($phi0))/(1+$e*sin($phi0)),$e/2));
@ -390,10 +390,10 @@ function geos2lambert93($latitude,$longitude) {
//calcul de la constante de projection
$c=(($gN1*cos($phi1))/$n)*exp($n*$gl1);//ok
//calcul des coordonnées
//calcul des coordonnées
$ys=$y0+$c*exp(-1*$n*$gl0);
//calcul des coordonnées lambert
//calcul des coordonnées lambert
$x93=$x0+$c*exp(-1*$n*$gl)*sin($n*($l-$lc));
$y93=$ys-$c*exp(-1*$n*$gl)*cos($n*($l-$lc));
@ -502,13 +502,13 @@ class MMap {
public $geocodeur='';
public $latitudeDec= 0; // Latitude en Décimal
public $latitudeDeg= 0; // Latitude en Dégrés
public $longitudeDec= 0; // Longitude en Décimal
public $longitudeDeg= 0; // Longitude en Dégrés
public $altitude = NULL; // Altitude en mètres
public $l93x = NULL; // Lambert 93, coordonnée X
public $l93y = NULL; // Lambert 93, coordonnée Y
public $latitudeDec= 0; // Latitude en Décimal
public $latitudeDeg= 0; // Latitude en Dégrés
public $longitudeDec= 0; // Longitude en Décimal
public $longitudeDeg= 0; // Longitude en Dégrés
public $altitude = NULL; // Altitude en mètres
public $l93x = NULL; // Lambert 93, coordonnée X
public $l93y = NULL; // Lambert 93, coordonnée Y
public $precision = 0;
public $adresseValidee='';
@ -677,7 +677,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$this->latitudeDeg=dec2dms($this->latitudeDec);
$this->longitudeDeg=dec2dms($this->longitudeDec);
$this->geocodeur='Yahoo';
if ($lat==0 && $lng==0 || $this->precision==0) die('Réponse Yahoo = '.$_result.EOL);
if ($lat==0 && $lng==0 || $this->precision==0) die('Réponse Yahoo = '.$_result.EOL);
return true;//array("lat"=>$lat,"lng"=>$lng,"address"=>$address);
}
else {die("URL='$_url'".EOL.print_r($page));
@ -699,8 +699,8 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
// http://maps.google.com/maps/geo?oe=utf-8&ll=48.808955,2.34227&output=xml&key=ABQIAAAAuKBtUyFonYJBl1fqfc78tRQvADPcxwXf3Q2QIE-M32vuSkrxiBRLUHDB_YSLeTscTDeWRKM_wILaaw
//die($this->body=$page['body']);
//{"name":"3 rue viète, 75017 paris, france","Status":{"code":200,"request":"geocode"},"Placemark":[{"id":"p1","address":"3, Rue Viète, 75017 17ème Arrondissement, Paris, France","AddressDetails":{"Country":{"CountryNameCode":"FR","AdministrativeArea":{"AdministrativeAreaName":"Ile-de-France","SubAdministrativeArea":{"SubAdministrativeAreaName":"Paris","Locality":{"LocalityName":"Paris","DependentLocality":{"DependentLocalityName":"17ème Arrondissement","Thoroughfare":{"ThoroughfareName":"3, Rue Viète"},"PostalCode":{"PostalCodeNumber":"75017"}}}}}},"Accuracy": 8},"Point":{"coordinates":[2.306174,48.883705,0]}}]}
/*<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Response><name>3 rue viète, 75017 paris, france</name><Status><code>200</code><request>geocode</request></Status><Placemark id="p1"><address>3, Rue Viète, 75017 17ème Arrondissement, Paris, France</address><AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>FR</CountryNameCode><AdministrativeArea><AdministrativeAreaName>Ile-de-France</AdministrativeAreaName><SubAdministrativeArea><SubAdministrativeAreaName>Paris</SubAdministrativeAreaName><Locality><LocalityName>Paris</LocalityName><DependentLocality><DependentLocalityName>17ème Arrondissement</DependentLocalityName><Thoroughfare><ThoroughfareName>3, Rue Viète</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>75017</PostalCodeNumber></PostalCode></DependentLocality></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails><Point><coordinates>2.306174,48.883705,0</coordinates></Point></Placemark></Response></kml>*/
//{"name":"3 rue viète, 75017 paris, france","Status":{"code":200,"request":"geocode"},"Placemark":[{"id":"p1","address":"3, Rue Viète, 75017 17ème Arrondissement, Paris, France","AddressDetails":{"Country":{"CountryNameCode":"FR","AdministrativeArea":{"AdministrativeAreaName":"Ile-de-France","SubAdministrativeArea":{"SubAdministrativeAreaName":"Paris","Locality":{"LocalityName":"Paris","DependentLocality":{"DependentLocalityName":"17ème Arrondissement","Thoroughfare":{"ThoroughfareName":"3, Rue Viète"},"PostalCode":{"PostalCodeNumber":"75017"}}}}}},"Accuracy": 8},"Point":{"coordinates":[2.306174,48.883705,0]}}]}
/*<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Response><name>3 rue viète, 75017 paris, france</name><Status><code>200</code><request>geocode</request></Status><Placemark id="p1"><address>3, Rue Viète, 75017 17ème Arrondissement, Paris, France</address><AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>FR</CountryNameCode><AdministrativeArea><AdministrativeAreaName>Ile-de-France</AdministrativeAreaName><SubAdministrativeArea><SubAdministrativeAreaName>Paris</SubAdministrativeAreaName><Locality><LocalityName>Paris</LocalityName><DependentLocality><DependentLocalityName>17ème Arrondissement</DependentLocalityName><Thoroughfare><ThoroughfareName>3, Rue Viète</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>75017</PostalCodeNumber></PostalCode></DependentLocality></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails><Point><coordinates>2.306174,48.883705,0</coordinates></Point></Placemark></Response></kml>*/
/*
0 Unknown location. (Since 2.59)
@ -749,7 +749,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
return false;
}
/** Géocodage d'une adresse
/** Géocodage d'une adresse
** 0 Unknown location. (Since 2.59)
1 Country level accuracy. (Since 2.59)
2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59)
@ -802,18 +802,18 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
if (substr($codeRivoli,0,3)*1==971) $pays='Guadeloupe';
elseif (substr($codeRivoli,0,3)*1==972) $pays='Martinique';
elseif (substr($codeRivoli,0,3)*1==973) $pays='Guyane';
elseif (substr($codeRivoli,0,3)*1==974) $pays='La Réunion';
elseif (substr($codeRivoli,0,3)*1==974) $pays='La Réunion';
elseif (substr($codeRivoli,0,3)*1==975) $pays='Saint-Pierre-et-Miquelon';
elseif (substr($codeRivoli,0,3)*1==976) $pays='Mayotte';
elseif (substr($codeRivoli,0,3)*1==977) $pays='Saint-Martin';
elseif (substr($codeRivoli,0,3)*1==978) $pays='Saint-Barthélémy';
elseif (substr($codeRivoli,0,3)*1==985) $pays='Saint-Pierre-et-Miquelon';//98501 à 98502 St Pierre et Miquelon (anciens codes non compatibles 97501 à 97502)
elseif (substr($codeRivoli,0,3)*1==986) $pays='Wallis-et-Futuna'; // 98601 à 98617 Mayotte (anciens codes non compatibles : 98501 à 98517)
elseif (substr($codeRivoli,0,3)*1==987) $pays='Polynésie française'; // 98711 à 98758,98799 Polynésie française (sans changement)
elseif (substr($codeRivoli,0,3)*1==988) $pays='Nouvelle Calédonie'; // 98801 à 98832 Nouvelle Calédonie (sans changement)
elseif (substr($codeRivoli,0,3)*1==989) $pays='Wallis-et-Futuna'; // 98911 à 98913 Wallis et Futuna (anciens codes non compatibles : 98611 à 98613)
elseif (substr($codeRivoli,0,3)*1==978) $pays='Saint-Barthélémy';
elseif (substr($codeRivoli,0,3)*1==985) $pays='Saint-Pierre-et-Miquelon';//98501 à 98502 St Pierre et Miquelon (anciens codes non compatibles 97501 à 97502)
elseif (substr($codeRivoli,0,3)*1==986) $pays='Wallis-et-Futuna'; // 98601 à 98617 Mayotte (anciens codes non compatibles : 98501 à 98517)
elseif (substr($codeRivoli,0,3)*1==987) $pays='Polynésie française'; // 98711 à 98758,98799 Polynésie française (sans changement)
elseif (substr($codeRivoli,0,3)*1==988) $pays='Nouvelle Calédonie'; // 98801 à 98832 Nouvelle Calédonie (sans changement)
elseif (substr($codeRivoli,0,3)*1==989) $pays='Wallis-et-Futuna'; // 98911 à 98913 Wallis et Futuna (anciens codes non compatibles : 98611 à 98613)
elseif (substr($codeRivoli,0,2)*1>96 && substr($codeRivoli,0,2)*1<99)
die("Code Rivoli non géré : '$codeRivoli'".EOL);
die("Code Rivoli non géré : '$codeRivoli'".EOL);
$retG=$this->geoCodeAdrCpVilleG($adresse, $cp, $ville, $pays);
if ($this->codeRetourG==620 || $this->precision==0)
@ -823,7 +823,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
if ($this->codeRetourY==620 || $this->codeRetourY==503 || $this->precision==0)*/
$retM=$this->geoCodeAdrCpVilleM($adresse, $cp, $ville, $pays);
// On récupère l'altitude
// On récupère l'altitude
if ($this->precision>5) {
$alt=$this->getAltitude($this->latitudeDec,$this->longitudeDec);
$this->altitude=$alt['alt'];
@ -858,7 +858,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
if ($this->latitudeDec<>0 && $this->longitudeDec<>0)
$iDb->insert('zonageXY', $tabInsert);
$ligne='Accès Google : '.print_r($tabInsert, true);
$ligne='Accès Google : '.print_r($tabInsert, true);
}
else {
$this->precision=$this->latitudeDec=$this->longitudeDec=0;
@ -880,24 +880,24 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
if (gmx < 0) gmx=gmx+Math.pow(2,32)*/
/** Retourne la distance en kilomètres entre 2 coordonnées GPS à la surface de la terre
/** Retourne la distance en kilomètres entre 2 coordonnées GPS à la surface de la terre
**
** @param double $latA Latitude du point A en décimal
** @param double $lonA Longitude du point A en décimal
** @param double $latB Latitude du point B en décimal
** @param double $lonB Longitude du point B en décimal
** @param string $sphere Type de sphère
** @param double $latA Latitude du point A en décimal
** @param double $lonA Longitude du point A en décimal
** @param double $latB Latitude du point B en décimal
** @param double $lonB Longitude du point B en décimal
** @param string $sphere Type de sphère
** @return unknown
**/
function distance($latA=0, $lonA=0, $latB=0, $lonB=0, $sphere='GRS80') {
switch ($sphere) {
case 'HAYFORD': $R=6378.388; // Demi grand axe ou Rayon de la sphère International Hayford 1909 en Kms
case 'HAYFORD': $R=6378.388; // Demi grand axe ou Rayon de la sphère International Hayford 1909 en Kms
$f=1/297; // Aplatissement
break;
case 'PICARD': $R=6371.598; // Demi grand axe ou Rayon de la sphère Picard en Kms
case 'PICARD': $R=6371.598; // Demi grand axe ou Rayon de la sphère Picard en Kms
break;
case 'GRS80':
default: $R=6378.137; // Demi grand axe ou Rayon de la sphère GRS80 en Kms
default: $R=6378.137; // Demi grand axe ou Rayon de la sphère GRS80 en Kms
$f=1/298.257222101;
break;
}
@ -909,21 +909,21 @@ function distance($latA=0, $lonA=0, $latB=0, $lonB=0, $sphere='GRS80') {
$j=acos(cos($e)*cos($g)*cos($f)*cos($h) + cos($e)*sin($f)*cos($g)*sin($h) + sin($e)*sin($g));
return round($R*$j,3); // div par 1.852 ==> résultat en miles nautiques
return round($R*$j,3); // div par 1.852 ==> résultat en miles nautiques
}
/** Retourne la distance en mètres entre 2 points sur une surface plane
** @param double $x1 Coordonnée X du point 1 en décimal
** @param double $y1 Coordonnée Y du point 1 en décimal
** @param double $x2 Coordonnée X du point 2 en décimal
** @param double $y2 Coordonnée Y du point 2 en décimal
/** Retourne la distance en mètres entre 2 points sur une surface plane
** @param double $x1 Coordonnée X du point 1 en décimal
** @param double $y1 Coordonnée Y du point 1 en décimal
** @param double $x2 Coordonnée X du point 2 en décimal
** @param double $y2 Coordonnée Y du point 2 en décimal
** @return double
**/
function distanceLambert($x1,$y1,$x2,$y2) {
return sqrt ( pow($x1-$x2,2) + (pow($y1-$y2,2) ) );
}
/** Retourne l'altitude en mètres d'un point GPS. Shuttle Radar Topography Mission (SRTM) elevation data (resolution 90mx90m)
/** Retourne l'altitude en mètres d'un point GPS. Shuttle Radar Topography Mission (SRTM) elevation data (resolution 90mx90m)
** @url http://ws.geonames.org/export/web-services.html
** @param double $tabLatLon Latitude du point ou Tableau de Points avec latitudes longitudes array('lat'=>x,'lon'=>y)
** @param double $lon Longitude ou false si tableau

View File

@ -32,9 +32,9 @@ class MMarques {
}
/** Liste des marques pour un siren donné ou détail d'une marque d'une entreprise
/** Liste des marques pour un siren donné ou détail d'une marque d'une entreprise
* @param $siren int
* @param $idDepot int Numéro de la marque ou Néant/0 si liste des marques
* @param $idDepot int Numéro de la marque ou Néant/0 si liste des marques
*/
function getMarques($siren, $idDepot=0) {
//SELECT `id`, `typeMarque`, ``, `rayonMarque`, `urlImage`, `idMarque`, `deposantMarque`, `numeroMarque`, `classesMarque`, `idObjetPdf`, `periMarque`, `idObjetImg`, `detailDeposant`, `sirenDeposant`, `sirenValide`, `idSirenage`, `detailMandataire`, `detailNumero`, `detailStatut`, `dateDepot`, `lieuDepot`, `infoMarque`, `adresseCorresp`, `dateExpir`, `dateInsert` FROM `marques`
@ -94,14 +94,14 @@ 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
$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
// '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
'deposant'=>urlencode($raisonSociale), // Nom du déposant
'numero'=>$numMarque,
'dtedepot'=>'', // SSAA-MM-JJ
'recherche'=>'recherche');
@ -111,7 +111,7 @@ class MMarques {
$duree=round(microtime(true)-$tDeb,3);
$body=$page['body'];
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/Uis", $body, $matches)) {
$nbResultatsTot=trim($matches[1]);
$nbResultats=trim($matches[2]);
break;
@ -123,26 +123,26 @@ class MMarques {
$nbResultatsTot=$nbResultats=0;
break;
} elseif (preg_match('/<div id="errors"><script>alert(?:.*)Vous devez renseigner le nom de la marque(?:.*)<\/script><\/div>/Uis', $body, $matches) && $numMarque=='') {
echo "Pas de résultat pour cette recherche :".EOL;
echo "Pas de résultat pour cette recherche :".EOL;
print_r($post);
print_r($page);
$nbTests++;
if ($nbTests>1)
die("PAS de résultat pour cette recherche, essai n°$nbTests !".EOL);
die("PAS de résultat pour cette recherche, essai n°$nbTests !".EOL);
} else {
$this->partConnection();
echo "Pas de résultat pour cette recherche :".EOL;
echo "Pas de résultat pour cette recherche :".EOL;
/*
print_r($post);
print_r($page);
die("PAS de résultat pour cette recherche !".EOL);*/
die("PAS de résultat pour cette recherche !".EOL);*/
return false;
}
// if ($nbResultatsTot!==false)
// break;
}
$nbPages=ceil($nbResultats/10);
echo "$nbResultatsTot résultats trouvés ($nbResultats soit $nbPages pages)".EOL;
echo "$nbResultatsTot résultats trouvés ($nbResultats soit $nbPages pages)".EOL;
$pageCour=1;
while ($pageCour<=$nbPages) {
@ -227,8 +227,8 @@ class MMarques {
$tabMarque['classes']=$tabClasses;
}
if (preg_match('/<p><strong>Déposant<\/strong>(.*)<\/p>/Uis', $body, $matches)) {
$tabMarque['detailDeposant']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
if (preg_match('/<p><strong>Déposant<\/strong>(.*)<\/p>/Uis', $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]);
$tabMarque['sirenValide']=$this->iInsee->valideSiren($tabMarque['sirenDeposant']);
@ -237,43 +237,43 @@ class MMarques {
//adresseCorresp
if (preg_match('/<p><strong>Adresse pour la correspondance<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['adresseCorresp']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
$tabMarque['adresseCorresp']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
if (preg_match('/<p><strong>Mandataire<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['detailMandataire']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
$tabMarque['detailMandataire']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' ')))));
if (preg_match('/<strong>Numéro<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['detailNumero']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match('/<strong>Numéro<\/strong>(.*)<\/p>/Uis', $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(' '=>' ',':'=>' '))));
$tabMarque['detailStatut']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
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('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uis', $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))
$tabMarque['dateExpir']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match('/<strong>Date prévue pour l\'expiration<\/strong>(.*)<\/p>/Uis', $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))
$tabMarque['lieuDepot']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match('/<strong>Lieu de dépôt<\/strong>(.*)<\/p>/Uis', $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>/Uis', $body, $matches)) {
$tabPays=array();
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
foreach ($matches2[1] as $iH=>$histo)
$tabPays[]=trim(utf8_decode(str_replace(' ',' ',$histo)));
$tabPays[]=trim(utf8_decode(str_replace(' ',' ',$histo)));
}
$tabMarque['pays']=$tabPays;
}
//priorite
if (preg_match('/<p><strong>Priorité<\/strong><\/p><p>(.*)<\/p>/Uis', $body, $matches)) {
if (preg_match('/<p><strong>Priorité<\/strong><\/p><p>(.*)<\/p>/Uis', $body, $matches)) {
$tabPrio=array();
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
foreach ($matches2[1] as $iH=>$histo)
$tabPrio[]=trim(utf8_decode(str_replace(' ',' ',$histo)));
$tabPrio[]=trim(utf8_decode(str_replace(' ',' ',$histo)));
}
$tabMarque['priorite']=$tabPrio;
}
@ -282,10 +282,10 @@ class MMarques {
$tabHisto=array();
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
foreach ($matches2[1] as $iH=>$histo) {
$tabTmp2=explode(" \n",$histo);
$tabHisto[$iH]=array( 'lib'=>trim(utf8_decode(str_replace(' ',' ',$tabTmp2[0]))),
'dat'=>trim(utf8_decode(str_replace(' ',' ',$tabTmp2[1]))),
'pub'=>trim(utf8_decode(str_replace(' ',' ',$tabTmp2[2]))),
$tabTmp2=explode(" \n",$histo);
$tabHisto[$iH]=array( 'lib'=>trim(utf8_decode(str_replace(' ',' ',$tabTmp2[0]))),
'dat'=>trim(utf8_decode(str_replace(' ',' ',$tabTmp2[1]))),
'pub'=>trim(utf8_decode(str_replace(' ',' ',$tabTmp2[2]))),
'histo'=>trim($histo),
'histo2'=>trim(utf8_decode($histo)),
);
@ -310,7 +310,7 @@ class MMarques {
die();
}
// Insertion du détail des classes
// Insertion du détail des classes
foreach ($tabMarque['classes'] as $i=>$classe) {
$tabInsert=array( 'id'=>$ret,
'id2'=>$i,
@ -395,7 +395,7 @@ class MMarques {
//$type='marques';
//$type='brevets';
//$type='dessins';
//janvier 2005 pour les BOPI Brevets et depuis janvier 2006 pour les BOPI Marques et Dessins et modèles.
//janvier 2005 pour les BOPI Brevets et depuis janvier 2006 pour les BOPI Marques et Dessins et modèles.
if ($annee<2005) $annee=2005;
elseif ($annee>date('Y')) $annee=date('Y');
if ($annee==date('Y') && $num>=date('W')) $num=date('W');
@ -445,14 +445,14 @@ class MMarques {
$strBopi=file_get_contents($fichierTxt);
$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° National \: ([0-9\s]{6,15})Dépôt du \: ((?:[0-9]{1,2}|1er)(?:\D+)(?:\d\d\d\d))(.*)/Uim',$strBopi, $matches)) {
//print_r($matches);
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"=>'',' '=>'')));
echo $nom[$iEd]." - $i, Marque numéro $numMarque du $dateDepot".EOL;
$dateDepot=WDate::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,
'numMarque' => $numMarque,
@ -499,8 +499,8 @@ class MMarques {
$tabRet=array();
$tab=$this->getInfosDisponbiles($siren);
if ($tab['erreur']=='') {
$tabS=@array_reverse(@array_keys($tab['bilans']['S'])); // Réel simplifié
$tabN=@array_reverse(@array_keys($tab['bilans']['N'])); // Réel normal
$tabS=@array_reverse(@array_keys($tab['bilans']['S'])); // Réel simplifié
$tabN=@array_reverse(@array_keys($tab['bilans']['N'])); // Réel normal
$tabC=@array_reverse(@array_keys($tab['bilans']['C'])); // CONSOLIDE
$tabA=@array_reverse(@array_keys($tab['bilans']['A'])); // Assurance
$tabB=@array_reverse(@array_keys($tab['bilans']['B'])); // Banque
@ -599,13 +599,13 @@ class MMarques {
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)">/i', $this->body, $matches))
$this->url=$this->urlRacine.'/'.$matches[1];
else debugLog('E',"Erreur de communication - Redirection impossible sur ".$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
if (preg_match('/\.ow\?WRNCSRV2=(.*)$/i', $matches[1], $matches)) {
$this->wrncsrv2=$matches[1];
debugLog('I','Session partenaire WRNCSRV2='.$this->wrncsrv2,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
}
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$page=getUrl($this->url, '', '',$this->referer, false, 'www.euridile.com');
$this->referer=$this->url;
@ -623,7 +623,7 @@ class MMarques {
'cliref'=>'K5K3X5',
'PASS'=>'3180',
'WRNCSRV2'=>$this->wrncsrv2);
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
**/
$this->url=$this->urlRacine.str_replace('..','',$matches[1]);
debugLog('D',"Authentification possible vers $this->url",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
@ -636,7 +636,7 @@ class MMarques {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
$fp=fopen('./euridile_connexion3.log', 'w');
fwrite($fp,print_r($page,true));
fclose($fp);
@ -644,7 +644,7 @@ class MMarques {
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
{ $tabTmp=explode('"', $matches[0]);
$this->url=$this->urlRacine.$tabTmp[0];
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$this->curPage='recherche';
@ -665,7 +665,7 @@ class MMarques {
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
{ $tabTmp=explode('"', $matches[0]);
$this->url=$this->urlRacine.$tabTmp[0];
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
$this->curPage='recherche';
@ -684,7 +684,7 @@ class MMarques {
'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
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
@ -701,7 +701,7 @@ class MMarques {
$postData=array('codcom_srch'=>'',
'entrep_srch'=>$this->siren,
// 'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
// 'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
// 'phoneme'=>'non', // non=A l'identique, oui=approchant
'codpos_srch'=>'',
'commune_srch'=>'',
@ -726,7 +726,7 @@ class MMarques {
echo date('Y/m/d - H:i:s') ." - Vitrine : Erreur recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
return $tabRet;
}
echo date('Y/m/d - H:i:s') ." - Vitrine : Après recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
echo date('Y/m/d - H:i:s') ." - Vitrine : Après recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
$this->url=$this->urlRacine.'/'.$this->weur.'/iden_visu_vitrine.ow?WRNCSRV2='.$this->wrncsrv2;
$page=getUrl($this->urlRacine.'/'.$this->weur.'/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
@ -773,8 +773,8 @@ class MMarques {
$tabTmp=explode('|', $idBilan);
$dateBilan=$tabTmp[1];
switch ($tabTmp[2]) {
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'CC': $typeBilan='C'; break; // CONSOLIDE
case 'SA': $typeBilan='A'; break; // Assurance
case 'SB': $typeBilan='B'; break; // Banque
@ -795,7 +795,7 @@ class MMarques {
$tabInsert['bilans']=serialize($tabRet['bilans']);
if (!$iDb->insert( 'rncs_vitrine', $tabInsert))
$iDb->update( 'rncs_vitrine', $tabInsert, "siren=$this->siren");
/** @todo S'il y a un enregistrement, prévoir son update
/** @todo S'il y a un enregistrement, prévoir son update
**/
return $tabRet;
@ -857,7 +857,7 @@ class MMarques {
}
}
/** Recherche des comptes déposés **/
/** Recherche des comptes déposés **/
$tabTmp=preg_split('/<SELECT NAME=(TT|BL|CM|GS)FAM(\d)/i', $body);
$tabCpt=array();
$nb=count($tabTmp);
@ -867,16 +867,16 @@ class MMarques {
elseif (preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|BIL\|(.*)\|(.*)\|(TT|BL|CM|GS)\|(.*)\|(.*)\|COUR">/i', $tabTmp[$i], $matches))
$vecteur='COUR';
switch ($matches[3]) {
case 'SC': $typeBilan='N'; $bil='Bilan réel normal'; break; // Réel normal
case 'SS': $typeBilan='S'; $bil='Bilan réel simplifié'; break; // Réel simplifié
case 'CC': $typeBilan='C'; $bil='Bilan consolidé'; break; // CONSOLIDE
case 'SC': $typeBilan='N'; $bil='Bilan réel normal'; break; // Réel normal
case 'SS': $typeBilan='S'; $bil='Bilan réel simplifié'; break; // Réel simplifié
case 'CC': $typeBilan='C'; $bil='Bilan consolidé'; break; // CONSOLIDE
case 'SA': $typeBilan='A'; $bil='Bilan d\'assurance'; break; // Assurance
case 'SB': $typeBilan='B'; $bil='Bilan de banque'; break; // Banque
default: $this->logEuridileError('Type de bilan non pris en charge : "'. $tabTmp[2] .'"');
}
switch ($matches[4]) {
case 'TT': $lib='Comptes annuels complets'; break;
case 'BL': $lib='Bilan et compte de résultat'; break;
case 'BL': $lib='Bilan et compte de résultat'; break;
case 'CM': $lib='Rapport des CAC'; break;
case 'GS': $lib='Rapport de gestion'; break;
default: $this->logEuridileError('Type d\'annexe de compte inconnu'); break;
@ -896,26 +896,26 @@ class MMarques {
<INPUT TYPE="HIDDEN" NAME="dejatraite" value="">
<INPUT TYPE=IMAGE SRC=images/boutons/valider.gif ALT="Valider" BORDER=0>
<INPUT TYPE="HIDDEN" NAME="WRNCSRV2" VALUE="171932431532858">
<SELECT NAME=ACTcombo0> // 1 select par acte de depot de 0 à N !!!
<SELECT NAME=ACTcombo0> // 1 select par acte de depot de 0 à N !!!
<SELECT NAME=IMMcombo> // Dossier immatriculiation principal
// Comptes Réel Normal
<SELECT NAME=TTFAM1 // Année1 : Comptes Annuels complet
// Comptes Réel Normal
<SELECT NAME=TTFAM1 // Année1 : Comptes Annuels complet
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|TT|22|33319263105122AN9201:33319263105122BL9201:33319263105122CM9201:33319263105122GS9201|TELE">
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|TT|22|33319263105122AN9201:33319263105122BL9201:33319263105122CM9201:33319263105122GS9201|COUR">
<SELECT NAME=BLFAM1 // Année 1 : Bilan, Compte de résultat
<SELECT NAME=BLFAM1 // Année 1 : Bilan, Compte de résultat
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|BL|4|33319263105122BL9201|TELE">
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|BL|4|33319263105122BL9201|COUR">
<SELECT NAME=CMFAM1 // Année 1 : Rapport des CAC
<SELECT NAME=CMFAM1 // Année 1 : Rapport des CAC
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|CM|2|33319263105122CM9201|TELE">
<SELECT NAME=GSFAM1 // Année 1 : Rapport de Gestion
<SELECT NAME=GSFAM1 // Année 1 : Rapport de Gestion
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|GS|4|33319263105122GS9201|TELE">
// Comptes consolidés
// Comptes consolidés
<select name="TTFAM6"
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|TT|159|55210055404122AN7501:55210055404122BL7501:55210055404122CM7501:55210055404122GS7501|TELE">
@ -957,7 +957,7 @@ class MMarques {
$postData=array('codcom_srch'=>'',
'entrep_srch'=>urlencode($nomPrenom),
'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
'phoneme'=>'non', // non=A l'identique, oui=approchant
'adress_srch'=>'',
'codpos_srch'=>'',
@ -985,25 +985,25 @@ class MMarques {
$fp=fopen('./euridile_recherche2.log', 'w');
fwrite($fp,print_r($page,true));
fclose($fp);
/** Entreprises trouvées **/
/** Entreprises trouvées **/
//../weur2/iden_selection_bases.ow?WRNCSRV2=1711245812917368&infosBase=EURENT|densig|entreprise(s)|234 TARGET=_top>Entreprise(s)
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURENT\|densig\|entreprise\(s\)\|(.*) TARGET=_top>Ent/i', $this->body, $matches)) {
$fctEntUrl=preg_replace('/ (.*)/','',$matches[0]);
$fctEntNb=$matches[1];
}
/** Fonctions de direction trouvées **/
/** Fonctions de direction trouvées **/
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURDIR\|dirig\|dirigeant\(s\)\|(.*) TARGET=_top>Dir/i', $this->body, $matches)) {
$fctDirUrl=preg_replace('/ (.*)/','',$matches[0]);
$fctDirNb=$matches[1];
}
/** Fonctions d'administration trouvée **/
/** Fonctions d'administration trouvée **/
//../weur2/iden_selection_bases.ow?WRNCSRV2=1711245812917368&infosBase=EURDIR|admin|administrateur(s)|44 TARGET=_top>Administrateur(s)
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURDIR\|admin\|administrateur\(s\)\|(.*) TARGET=_top>Adm/i', $this->body, $matches)) {
$fctAdmUrl=preg_replace('/ (.*)/','',$matches[0]);
$fctAdmNb=$matches[1];
}
//echo date('Y/m/d - H:i:s') ." - Résultat : $fctDirNb dirigeant(s), $fctAdmNb administrateur(s) et $fctEntNb entreprise(s)".EOL;
//echo date('Y/m/d - H:i:s') ." - Résultat : $fctDirNb dirigeant(s), $fctAdmNb administrateur(s) et $fctEntNb entreprise(s)".EOL;
//echo date('Y/m/d - H:i:s') ." - URL : $fctDirUrl".EOL;
$this->url=$this->urlRacine.$fctDirUrl;
@ -1055,7 +1055,7 @@ class MMarques {
return $tabRet;
}
/** Liste des entreprises dirigées */
/** Liste des entreprises dirigées */
$this->url=$this->urlRacine.'/weur2/iden_req_multibase_liste.ow?WRNCSRV2='.$this->wrncsrv2;
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
@ -1135,8 +1135,8 @@ class MMarques {
$tabTmp=explode('|', $idBilan);
$dateBilan=$tabTmp[1];
switch ($tabTmp[2]) {
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'SC': $typeBilan='N'; break; // Réel normal
case 'SS': $typeBilan='S'; break; // Réel simplifié
case 'CC': $typeBilan='C'; break; // CONSOLIDE
case 'SA': $typeBilan='A'; break; // Assurance
case 'SB': $typeBilan='B'; break; // Banque
@ -1172,7 +1172,7 @@ class MMarques {
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
"siren=$this->siren ORDER BY dateUpdate DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($ret)) {
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
**/
$tabRet=$ret[0];
$ret=$iDb->select( 'bodacc_detail', 'count(*)',
@ -1190,15 +1190,15 @@ class MMarques {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
//$this->curPage='vitrine';
$tabRet=array();
/**@todo Traiter le cas données provisoires :
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
/**@todo Traiter le cas données provisoires :
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
</TABLE>
*/
// Identité
// Identité
$tabRet['siren']=$this->siren;
$tabRet['codeRetour']=$this->codeRetour;
$tabRet['rcs']=@getTextInHtml($this->body, 'FACE="ARIAL,HELVETICA" SIZE=2>RCS : ', '<b>','</b>');
@ -1219,8 +1219,8 @@ class MMarques {
}
$pp_nais=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Date et lieu de naissance :', '<B>','</B>')));
$tabTmp=explode(' à ', $pp_nais);
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
$tabTmp=explode(' à ', $pp_nais);
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
$tabRet['naiss_lieu']=trim(strip_tags($tabTmp[1]));
$tabRet['sexe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Sexe :', '<B>','</B>')));
@ -1234,7 +1234,7 @@ class MMarques {
$tabRet['date_crea']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date de cr&eacute;ation :', '<B>','</B>')));
$tabRet['date_imma']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date d\'immatriculation :', '<B>','</B>')));
$tabRet['greffe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Greffe :', '<B>','</B>')));
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
$strTmp=@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Capital :', '<B>','</B>');
if (preg_match('/([0-9\.,\s]*)([\D]*)/i', $strTmp, $matches)) {
$tabRet['capital_mnt']=trim(str_replace(' ','',str_replace(',','.',$matches[1])));
@ -1245,17 +1245,17 @@ class MMarques {
$tabRet['capital_dev']='';
}
$tabRet['nationalite']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nationalit&eacute; :', '<B>','</B>')));
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Radiation</B>')>0) {
$tabRet['indRadiation']=true;
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
} else
$tabRet['indRadiation']=false;
// Procédures collectives
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
// Procédures collectives
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
$tabRet['indProcol']=true;
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
'</TABLE>');
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
foreach ($tabTmp as $nproc=>$proc) {
@ -1286,18 +1286,18 @@ class MMarques {
$nom=trim(strip_tags($tabTmp3[0]));
$prenom=trim(strip_tags($tabTmp3[1]));
$naiss=trim(strip_tags($tabTmp2[3]));
if (strpos($naiss, 'Né(e) le')===false) {
if (strpos($naiss, 'Né(e) le')===false) {
$fonction=$naiss;
} else {
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$naiss=trim(strip_tags($tabTmp3[1]));
$tabTmp3=explode('(', $naiss);
$naiss_ville=trim(strip_tags($tabTmp3[0]));
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
$fonction=trim(strip_tags($tabTmp2[5]));
}
$tabTmp=explode('&#160;née&#160;', $prenom);
$tabTmp=explode('&#160;née&#160;', $prenom);
$prenom=$tabTmp[0];
$naiss_nom=$tabTmp[1];
$tabRet['dirigeants'][$ndir]=array( 'nom'=>$nom,
@ -1319,19 +1319,19 @@ class MMarques {
$nom=trim(strip_tags($tabTmp3[0]));
$prenom=trim(strip_tags($tabTmp3[1]));
$naiss=trim(strip_tags($tabTmp2[3]));
if (strpos($naiss, 'Né(e) le')===false) {
if (strpos($naiss, 'Né(e) le')===false) {
$naiss_date=$naiss_ville=$naiss_depPays='';
$fonction=$naiss;
} else {
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$tabTmp3=explode(' à ', $naiss);
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
$naiss=trim(strip_tags($tabTmp3[1]));
$tabTmp3=explode('(', $naiss);
$naiss_ville=trim(strip_tags($tabTmp3[0]));
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
$fonction=trim(strip_tags($tabTmp2[5]));
}
$tabTmp=explode('&#160;née&#160;', $prenom);
$tabTmp=explode('&#160;née&#160;', $prenom);
$prenom=$tabTmp[0];
$naiss_nom=$tabTmp[1];
$tabRet['dirigeants'][$nadm+$ndir+1]=array( 'nom'=>$nom,
@ -1345,7 +1345,7 @@ class MMarques {
}
// Etablissements
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
foreach ($tabTmp as $netab=>$dir) {
$cp=$ville=$ensEtab=''; $j=0;
@ -1363,7 +1363,7 @@ class MMarques {
$j++;
}
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
if (strtoupper($adresse[0])==strtoupper($tabRet['enseigne'])) {
$ensEtab=$adresse[0];
array_shift($adresse);
@ -1455,9 +1455,9 @@ class MMarques {
$tabBilan['DATE_FRAICHE_BILAN']=date('Ymd');
$tabBilan['DATE_CLOTURE']=$dateBilan;
switch ($tabTmp[2]) {
case 'SC': // Bilans réels Normal
case 'SC': // Bilans réels Normal
$tabBilan['TYPE_BILAN']='N';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712291618629017&PAGE=ACTIFSC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712291618629017&PAGE=ACTIFSC (déjà vue)
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFSC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
@ -1466,7 +1466,7 @@ class MMarques {
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=ANXSC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**/
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1493,30 +1493,30 @@ class MMarques {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<b>&#160;','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'SS': // Bilans réels simplifiés
case 'SS': // Bilans réels simplifiés
$tabBilan['TYPE_BILAN']='S';
//http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712250539227157&PAGE=ACTPASSS (déjà vue)
//http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712250539227157&PAGE=ACTPASSS (déjà vue)
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESSS','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=IMMAMOSS','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**/
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([0-9]{3,3})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1544,30 +1544,30 @@ class MMarques {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>','<td align=center width=80><b>','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>&#160;','</b></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>&#160;','</b></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'CC': // Bilans Consolidés
case 'CC': // Bilans Consolidés
$tabBilan['TYPE_BILAN']='C';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**/
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1594,31 +1594,31 @@ class MMarques {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'SA': // Assurance
$tabBilan['TYPE_BILAN']='A';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
/* $page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1645,30 +1645,30 @@ class MMarques {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else die('Devise INPI non gérée : '.$strTmp);*/
} else die('Devise INPI non gérée : '.$strTmp);*/
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['POSTES']=$tabPostes;
break;
case 'SB': // Banque
$tabBilan['TYPE_BILAN']='B';
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
/* $page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
$this->body.=$page['body'];
sleep(1);
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
$this->body.=$page['body'];
/** Lecture et découpage du bilan
/** Lecture et découpage du bilan
**
$body=strtoupper($this->body);
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
@ -1695,17 +1695,17 @@ class MMarques {
}
}
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b>&#160;', '<TRANSLATE COD=1756>','</TRANSLATE>');
//milliers d'Euros (KE)
$tabTmp=explode('(', $strTmp);
if ($tabTmp[1]=='KE)') {
$tabBilan['MONNAIE']='EUR';
$tabBilan['MONNAIE_ORI']='EUR';
$tabBilan['MONNAIE_LIV_UNITE']='K';
} else die('Devise INPI non gérée : '.$strTmp);*/
} else die('Devise INPI non gérée : '.$strTmp);*/
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>&#160;','</b></font></td>');
$tabBilan['POSTES']=$tabPostes;
break;

View File

@ -113,8 +113,8 @@ class MOrias {
'numOrias'=>$numOrias,
'numOriasAttribue'=>0,
'dateInsert'=>date('YmdHis'));
$this->erreur='Numéro Orias inexistant';
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
$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);
}
@ -140,7 +140,7 @@ class MOrias {
$nbInter=trim($matches[1])*1;
if ($nbInter==0) return false;
if ($nbInter>1) {
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMOrias::getInfosOrias sur $siren", "Plus de 1 intermédiaire recensé... Merci de gérer le cas !");
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMOrias::getInfosOrias sur $siren", "Plus de 1 intermédiaire recensé... Merci de gérer le cas !");
return false;
}
}
@ -167,7 +167,7 @@ class MOrias {
$tabRet['numOriasAttribue']=1;
if (preg_match('/<td class="dr-table-cell rich-table-cell r.immat " id="formResult\:intermediariesList\:(?:.*)\:j_id_id138">(?:.*|)(<span style="white-space\: no-wrap;">|Radi\&eacute\; le \:)(.*)(?:<\/span>|<\/td>)/Uis',$this->body, $matches)) {
$str=trim(strtr($matches[2],array('&nbsp;'=>'',' '=>'')));
if (html_entity_decode(trim(str_replace(':','', $matches[1])))=='Radié le') {
if (html_entity_decode(trim(str_replace(':','', $matches[1])))=='Radié le') {
$tabRet['actif']=0;
$tabRet['numOrias']=$numOrias;
$tabRet['dateRadiation']=$str;
@ -203,8 +203,8 @@ class MOrias {
$tabCat['cat']=$matches[1];
//print_r($tabCat);
if ($i==1) { // Tout est dans la même page Html
// Construction du lien vers la fiche d'identité de l'entreprise
if ($i==1) { // Tout est dans la même page Html
// Construction du lien vers la fiche d'identité de l'entreprise
$url='http://www.orias.fr/orias/public/list.html';
$post=array('formResult'=>'formResult',
'formResult%3AajaxLoadingModalBoxOpenedState'=>'',

View File

@ -4,45 +4,45 @@ class MPrivileges {
private $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",
'03'=>"GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR",
'04'=>"GAGI-surveillance en attente envoyée au GAGI",
'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",
'03'=>"GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR",
'04'=>"GAGI-surveillance en attente envoyée au GAGI",
'05'=>"Surveillance en attente de validation au greffe",
'06'=>"Erreur de chargement",
'10'=>"Surveillance impossible car société radiée",
'11'=>"Surveillance impossible car société transférée dans un autre greffe",
'10'=>"Surveillance impossible car société radiée",
'11'=>"Surveillance impossible car société transférée dans un autre greffe",
'12'=>"SIREN inconnu",
'13'=>"Raison sociale erronée",
'14'=>"Adresse erronée",
'15'=>"Surveillance impossible sur un établissement secondaire",
'16'=>"Demande incomplète ou incorrecte",
'17'=>"Surveillance Privilège impossible",
'13'=>"Raison sociale erronée",
'14'=>"Adresse erronée",
'15'=>"Surveillance impossible sur un établissement secondaire",
'16'=>"Demande incomplète ou incorrecte",
'17'=>"Surveillance Privilège impossible",
'18'=>"Surveillance impossible par le greffe",
'19'=>"Surveillance RCS impossible",
'20'=>"Cette surveillance concerne un autre Greffe",
'21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)",
'22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
'23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
'24'=>"Surveillance impossible car société en liquidation judiciaire",
'21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)",
'22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
'23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
'24'=>"Surveillance impossible car société en liquidation judiciaire",
'25'=>"Greffe inconnu",
'26'=>"Millésime bilan à surveiller incorrect",
'27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)",
'28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
'26'=>"Millésime bilan à surveiller incorrect",
'27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)",
'28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
'30'=>"Siren absent (ne concerne que les surveillances de type WebService)",
'31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)",
'50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé",
'51'=>"Etablissement non trouvé",
'52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
'53'=>"le siren est déjà sous surveillance",
'31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)",
'50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé",
'51'=>"Etablissement non trouvé",
'52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
'53'=>"le siren est déjà sous surveillance",
'54'=>"DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement",
'55'=>"DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes",
'56'=>"Le siren est déjà en attente de validation par le greffe",
'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)",
'88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
'99'=>"Surveillance impossible pour raisons à examiner",
'88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
'99'=>"Surveillance impossible pour raisons à examiner",
);
public $tabTypePriv=array(
@ -76,7 +76,7 @@ class MPrivileges {
$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 ="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";

View File

@ -55,49 +55,49 @@ class MQualibat {
"2","-co-gerant"
"1","Administrateur"
"2","Artisan"
"1","AssociÉ"
"1","AssociÉ"
"1","Associes"
"24","Co Gerant"
"1","Co Gerante"
"1","CO GERANTS"
"109","Co-gérant"
"12","Co-gérante"
"109","Co-gérant"
"12","Co-gérante"
"1","Dg Delegue"
"1","Dir. General Delegue"
"32","Directeur"
"1","Directeur Adjoint"
"1","Directeur Administratif et Financier"
"1","Directeur Gal DÉlÉguÉ"
"61","Directeur Général"
"1","Directeur Gal DÉlÉguÉ"
"61","Directeur Général"
"11","DIRECTEUR GENERAL DELEGUE"
"1","Directeur Général Unique"
"1","Directeur Général Unique"
"1","Directrice"
"2","DIRIG."
"4","Dirigeant"
"38","Gér"
"38","Gér"
"857","Gerant"
"3","Gerant -"
"13","Gérant Associé"
"1","Gérant Associé En Non Collectif"
"13","Gérant Associé"
"1","Gérant Associé En Non Collectif"
"1","GERANT MAJORITAIRE"
"2","Gérant Non Associé"
"56","Gérante"
"2","Gérant Non Associé"
"56","Gérante"
"4","P D G"
"1","P.d.g"
"1","PCA"
"168","PRESIDENT"
"1","President Conseil De Surveillance"
"1","PRESIDENT CONSEIL SURVEILLANCE"
"63","Président Directeur Général"
"63","Président Directeur Général"
"1","PRESIDENT DIRECTOIRE"
"16","Président du conseil d'administration"
"1","Président Du Conseil De Surveillance"
"16","Président du conseil d'administration"
"1","Président Du Conseil De Surveillance"
"5","President Du Directoire"
"10","Presidente"
"1","ReprÉsentant SociÉtÉ PrÉsidente"
"1","Vice-président"
"1","ReprÉsentant SociÉtÉ PrÉsidente"
"1","Vice-président"
Gérer en fonction du code CJ
Gérer en fonction du code CJ
"128","Chef D'entreprise"
"2","Chef Ent."
"3","Chef Entr."
@ -107,7 +107,7 @@ G
"1","Metreur"
"1","Président De Commission"
"1","Président De Commission"
*/
}
@ -118,7 +118,7 @@ G
public function getTabQualibatManquants() {
$tabRet=$tabQualibatCalc=$tabQualibatBase=array();
// Liste des Qualibat Calculés
// Liste des Qualibat Calculés
$maxQualibat=$this->getMaxQualibat();
for($i=1; $i<=$maxQualibat; $i++)
$tabQualibatCalc[]=$i;
@ -165,8 +165,8 @@ G
'id'=>$idQualibat,
'idQualibatAttribue'=>0,
'dateInsert'=>date('YmdHis'));
$this->erreur='Numéro Qualibat inexistant';
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
$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);
}
@ -186,7 +186,7 @@ G
$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>/Uis',$body, $matches))
$tabRet['tel']=trim(str_replace(' ','',$matches[1]));
if (preg_match('/<th>(?:.*)Fax(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
@ -272,7 +272,7 @@ G
Monsieur EPP Olivier
</td>
<td>
Gérant
Gérant
</td>
</tr>*/
if (preg_match_all('/<tr>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<\/tr>/Uis',$dirs, $matches)) {

View File

@ -128,9 +128,9 @@ class classMSigVille {
} else {
try {
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
$rep=$this->client->zonage( new SoapParam(strtr("$raisonSociale:$adresse:$cp:$ville",
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
' aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'),'adresse'),
new SoapParam(':','separateur'),
new SoapParam('type=M','options')
@ -139,7 +139,7 @@ class classMSigVille {
"<separateur>:</separateur>".
"<options>type=M</options>");*/
/** Découpage des ZFU, CUCS etcs...
/** Découpage des ZFU, CUCS etcs...
**/
$fp=fopen('/var/www/log/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s').' - '.implode("\n", $rep)."\n============================================================================\n");
@ -234,8 +234,8 @@ class classMSigVille {
$fp=fopen('/var/www/log/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");
fwrite($fp, "Requête : ".$this->client->__getLastRequest()."\n");
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");
fclose($fp);
}

View File

@ -30,7 +30,7 @@ class MTel {
/**
* @todo :
* 1. Faire une fonction qui récupère les Logos
* 1. Faire une fonction qui récupère les Logos
* 2. Envoyer les logos par le WS
* 3. Permettre la recherche par Tel
*/
@ -46,7 +46,7 @@ class MTel {
$siren=$siret*1;
if (strlen($siren)<=9) {
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
/** 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;
@ -116,7 +116,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>/Uis', $this->body, $matches))
$nbResults=trim(strtr(strip_tags($matches[1]), array('&nbsp;'=>'','&ndash;'=>'')));
if ($nbResults>0) {
@ -130,9 +130,9 @@ class MTel {
$res['urlSite']=trim(htm2txt(@getTextInHtml($body, '<b class="siteweb">Site Web :</b>&nbsp;', "javascript:SiteURL('", "','")));
$res['urlMail']=trim(htm2txt(@getTextInHtml($body, '<b>E-mail :</b>', "&amp;mail=", "', ")));
$res['urlLogo']=trim(htm2txt(@getTextInHtml($body, '<div class="results_inset_logo">', '" src="', '" border="')));
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
$res['siret']=trim(htm2txt(@getTextInHtml($body, '<b>Siret : </b>','</b>','</div>')));
$res['nafet']=trim(htm2txt(strip_tags(@getTextInHtml($body, '<b>Code NAF : </b>','</b>','</div>'))));
@ -211,7 +211,7 @@ class MTel {
);
}
if (preg_match_all('/<tr>(?:.*)<th>(?:.*)<span>(.*)(tél|fax)(?:.*)<\/span>(?:.*)<\/th>(?:.*)<td>(?:.*)<span>(.*)<\/span>(?:.*)<\/td>(?:.*)<\/tr>/Uis', $body, $matches)) {
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('-'=>' ')));
@ -264,7 +264,7 @@ class MTel {
function getOperateur($tel) {
/*http://www.arcep.fr/index.php?id=interactivenumeros
Données POST:
Données POST:
ctrl_flag[do_ctrl]
bloc[017543]
CMD[RESULTS_NUMEROTATION]

View File

@ -1,12 +1,12 @@
<?
//ini_set('soap.wsdl_cache_enabled', 1); // 0 en dév
//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 $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;
@ -45,7 +45,7 @@ class MTvaOld {
}
else {
$this->errnum=999;
$this->errmsg="Pas d'accès à la base TVA";
$this->errmsg="Pas d'accès à la base TVA";
$this->vatNumber='';
$this->vatDefined=false;
return false;
@ -58,9 +58,9 @@ class MTvaOld {
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 $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;
@ -136,12 +136,12 @@ class MTva {
//sendMail('production@scores-decisions.com', 'ylenaour@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__);
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";
$this->vatDefined=false;
return true;
}
$code=$page['code'];// Code réponse Serveur
$code=$page['code'];// Code réponse Serveur
$body=$page['body'];
$header=$page['header'];
if (preg_match('/Yes, valid VAT number/i', $body)) {
@ -149,9 +149,9 @@ class MTva {
$tabUpdate=array('cle'=>$cle, 'duree'=>$duree);
if (!$iDb->insert('siren_tva', $tabInsert))
if (!$iDb->update('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__);
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__);
$this->vatNumber="FR$cle$siren";
$this->vatDefined=true;
return true;
@ -161,7 +161,7 @@ class MTva {
$nbIndispo++;
if ($nbIndispo<3) {
//echo date ('Y/m/d - H:i:s') .' - '.$eol;
debugLog('I', "TVA Siren $siren, Service de l'état membre indisponible. Mise en sommeil...", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
debugLog('I', "TVA Siren $siren, Service de l'état membre indisponible. Mise en sommeil...", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
randsleep(1,2);
$nbIndispo=0;
//echo date ('Y/m/d - H:i:s') .' - Reprise du Siren = '. $siren . $eol;
@ -170,20 +170,20 @@ class MTva {
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
if (!$iDb->insert('siren_tva', $tabInsert))
if (!$iDb->update('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__);
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";
$this->vatDefined=false;
return true;
}
//echo date ('Y/m/d - H:i:s') .' - Temporisation n°'.$nbIndispo . $eol;
//echo date ('Y/m/d - H:i:s') .' - Temporisation n°'.$nbIndispo . $eol;
} 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"))
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__);
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";
$this->vatDefined=false;
return true;
@ -191,28 +191,28 @@ class MTva {
}
} else {
$this->errnum=999;
$this->errmsg="Pas d'accès à la base TVA";
$this->errmsg="Pas d'accès à la base TVA";
$this->vatNumber="FR$cle$siren";
$this->vatDefined=false;
return true;
}
debugLog('W', "Erreur impossible (car l'algo ne devrait pas passer par ici) sur le Siren $siren, numéro de TVA = FR $cle $siren. Durée = $duree s. Cas impossible !", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
debugLog('W', "Erreur impossible (car l'algo ne devrait pas passer par ici) sur le Siren $siren, numéro de TVA = FR $cle $siren. Durée = $duree s. Cas impossible !", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
return true;//array('error'=>array('errnum'=>800, 'errmsg'=>'Erreur SGBDR'), 'result'=>$tabRet);
}
/**
** Génère la clé du numéro de TVA pour le siren fournit
** (la validité du numéro de siren et son existance n'est pas effectué par cette méthode)
** Génère la clé du numéro de TVA pour le siren fournit
** (la validité du numéro de siren et son existance n'est pas effectué par cette méthode)
**
** @param integer $siren Siren dont il faut générer la clé
** @return La clé du numéro de TVA
** @param integer $siren Siren dont il faut générer la clé
** @return La clé du numéro de TVA
**/
private function genereCleFr() {
$siren=$this->siren;
// Position du chiffre SIREN (1 à 9)
// Position du chiffre SIREN (1 à 9)
$tabFirst=array();
$tabFirst[0]=array( 0, 0, 0, 0, 0, 0, 0, 0, 0);
$tabFirst[1]=array(62,47,94,89,40,06,22,43,16);
@ -225,7 +225,7 @@ class MTva {
$tabFirst[8]=array(17,91,79,39,35,54,85,59,37);
$tabFirst[9]=array(66,28,63,18,62,47,94,89,40);
// Chiffre 0 à 9
// Chiffre 0 à 9
$tabPoids=array(1,34,-16,-21,27,-7,9,30,3);
$cle=$first=0;
for($pos=0; $pos<9; $pos++) {
@ -246,15 +246,15 @@ class MTva {
}
/** Test de la validité du siren demandé
** @param int SIREN à tester
/** Test de la validité du siren demandé
** @param int SIREN à tester
** @param int NIC (facultatif)
** @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false
** @return mixed true, false ou Message d'erreur passé en paramètre
** @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false
** @return mixed true, false ou Message d'erreur passé en paramètre
**/
private function valideSiren($siren, $nic='', $erreur=false) {
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
/** 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;
@ -275,7 +275,7 @@ class MTva {
}
}
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
return $erreur;
elseif ($siren*1==0) // Siren vide
return $erreur;
@ -298,7 +298,7 @@ class MTva {
if ((integer)($somme/10)!=($somme/10))
{ // Le Siren est faux
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
return $erreur;
}
} else {

View File

@ -131,7 +131,7 @@ class MSitesWeb {
function getInfosSiteWeb($url) {
$tabRet=array('url'=>$url, 'url_valide'=>0);
// Est-ce une URL valide en paramètre ?
// Est-ce une URL valide en paramètre ?
if(preg_match('|^(http(s)?://)?[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url)) {
//$tabRet['url']=preg_replace('/^http\/\//', 'http://', $url);
$tabRet['url_valide']=1;
@ -158,7 +158,7 @@ class MSitesWeb {
$tabRet['erreur_num']=@$page['header']['curl_errno'];
$tabRet['erreur_txt']=@$page['header']['curl_error'];
} else {
/** @todo Vérifier les pages de parking et les sites non encore terminés **/
/** @todo Vérifier les pages de parking et les sites non encore terminés **/
$tabRet['code']=$page['code'];
//$tabRet['header']=$page['header'];
$tabRet['header_server']=trim($page['header']['Server']);
@ -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>/Uis',$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>/Uis",$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:(.*)">/Uis',$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>/Uis', $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>/Uis', $page['body'], $matches))
$tabRet['marquefr']=html_entity_decode($matches[1]);
} else
return $page['code'];
@ -310,7 +310,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
foreach ($tabJson['Web']['Results'] as $i=> $result) {
$title=utf8_decode($result['Title']); // SCORES & DECISIONS - Accueil
$desc=utf8_decode($result['Description']); // Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
$desc=utf8_decode($result['Description']); // Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
$url=$result['Url']; // http://www3.scores-decisions.com/
$lev=@levenshtein ($urlapprox,$url);
@ -330,7 +330,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
$host=preg_replace('/\/$/','',$info['host']);
$ext=getFileExtension($host);
$domaine=getFileExtension(preg_replace("/\.$ext$/",'','.'.$host));
echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL;
echo "RECHERCHE DE '$nomEntrep' ($siren) : Trouvé $domaine.$ext".EOL;
if ($ext=='fr') {
$rep=$this->iDb->select('sitesWeb', 'siren, web', "web=$url");
if (@$rep[0]['siren']*1==0) {
@ -355,7 +355,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
[0] => Array
(
[Title] => SCORES & DECISIONS - Accueil
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Url] => http://www3.scores-decisions.com/
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=5004075153885515&mkt=fr-FR&w=881d2897,4f2fff68
[DisplayUrl] => www3.scores-decisions.com
@ -376,8 +376,8 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
)
[1] => Array
(
[Title] => SCORES & DECISIONS - Société
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Title] => SCORES & DECISIONS - Société
[Description] => Scores et Décisions - Le nouvel acteur de l'information sur les entreprises et leurs dirigeants avec une approche innovante
[Url] => http://www3.scores-decisions.com/societe.php
[CacheUrl] => http://cc.bingj.com/cache.aspx?q=scores+decisions&d=4747772983970513&mkt=fr-FR&w=10f5cd33,9b81f773
[DisplayUrl] => www3.scores-decisions.com/societe.php
@ -417,7 +417,7 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
} else {
//echo "<p><strong>Le nom de domaine <font color=\"red\">" . $_POST['domaine'] . "</font> est d&eacute;j&agrave; pris</strong></p>";
if ($server<>'') {
$msg="Domaine '$domaine' enregistré chez '$server'";
$msg="Domaine '$domaine' enregistré chez '$server'";
$fp = fsockopen($server, 43, $errno, $errstr, 10);
fputs($fp, $domaine."\r\n");
$buf2='';
@ -476,17 +476,17 @@ Actif (consultez aussi le <b><a href="http://www.decideo.fr" class="ext" target=
* @desc cURL va chercher $url en temps que $user_agent
* @desc et retourne entre autre $page['content']
* @comm -régler le timeout
* @comm a du mal à renvoyer des bin dans $header['content']
* @comm -régler le timeout
* @comm a du mal à renvoyer des bin dans $header['content']
********************************************************************************/
function get_web_file( $url, $user_agent = 'Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1' )
{
$options = array(
//CURLOPT_SSL_VERIFYPEER => false, // Ne vérifie pas les certificats
CURLOPT_RETURNTRANSFER => true, // return plutôt que echo|print
//CURLOPT_SSL_VERIFYPEER => false, // Ne vérifie pas les certificats
CURLOPT_RETURNTRANSFER => true, // return plutôt que echo|print
CURLOPT_HEADER => true, // Renvoie les headers
//CURLOPT_FOLLOWLOCATION => true, // Suivre les redirections, limité par...
//CURLOPT_FOLLOWLOCATION => true, // Suivre les redirections, limité par...
CURLOPT_MAXREDIRS => 500, // ...le max de redirections
CURLOPT_ENCODING => '', // Accepte tous les encodages
CURLOPT_USERAGENT => $user_agent,// Qui Je Suis (avec Jackie Chan)
@ -503,7 +503,7 @@ function get_web_file( $url, $user_agent = 'Opera/9.64 (X11; Linux i686; U; en)
$curl = curl_getinfo($ch);
curl_close($ch);
$page['url'] = $curl['url']; // possibles redirections = dernière url
$page['url'] = $curl['url']; // possibles redirections = dernière url
$page['http_code'] = $curl['http_code'];
$page['total_time'] = $curl['total_time'];
$page['redirect_count'] = $curl['redirect_count'];
@ -518,7 +518,7 @@ Array
[http_code] => l'erreur http
[redirect_count] => nombre de redirections
[total_time] => temps d'execution
[errno] => numéro d'erreur cURL
[errno] => numéro d'erreur cURL
[errmsg] => message d'erreur
[content] => fichier en string :p
)
@ -536,7 +536,7 @@ function get_http_error( $url )
//CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_NOBODY => true, // get_http_error() doit être faster than get_web_file()
CURLOPT_NOBODY => true, // get_http_error() doit être faster than get_web_file()
//CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 500,
CURLOPT_ENCODING => '',
@ -561,15 +561,15 @@ function get_http_error( $url )
/********************************************************************************
* @proto (string) $cleansed_url resolve_url( (string) $raw_url, (string) $url )
* @link http://en.wikipedia.org/wiki/Uniform_Resource_Locator
* @desc reconstruit $raw_url à partir de $url et en déduit des $res['url']
* @comm gère les mails
* @desc reconstruit $raw_url à partir de $url et en déduit des $res['url']
* @comm gère les mails
********************************************************************************/
function resolve_url( $raw_url, $url )
{
$cleansed_url = '';
// Met un slash à la fin des racines si yen a pas
// Met un slash à la fin des racines si yen a pas
if ( preg_match('#^[^:/]+:/+[^/]+$#', $url) ) $url = $url.'/';
if ( preg_match('#^[^:/]+:/+[^/]+$#', $raw_url) ) $raw_url = $raw_url.'/';
@ -580,7 +580,7 @@ function resolve_url( $raw_url, $url )
preg_match('#(.+/)[^/]*$#', $url, $preg_courant);
$courant = $preg_courant[1];
/* On sait qu'un dossier en est un quand il se termine par un /
Pour cette même raison, on ne peut déterminer avec certitude si on a un fichier plutôt qu'un dossier.
Pour cette même raison, on ne peut déterminer avec certitude si on a un fichier plutôt qu'un dossier.
Sauf (dans un contexte initial : sans URL-Rewriting) quand il y a une ancre : c'est un fichier. */
// Non-dossier courant
$sub_nondir_courant = substr($url, strlen($courant) - 1);
@ -591,7 +591,7 @@ function resolve_url( $raw_url, $url )
/* Modif's */
if ( $raw_url[0] == '/' ) // Si $raw_url commence par un /
$cleansed_url = $racine . substr($raw_url, 1); // substr() empêche le double slash
$cleansed_url = $racine . substr($raw_url, 1); // substr() empêche le double slash
else if ( $raw_url[0] == '.' ) // Pour ./ et ../
$cleansed_url = $courant . $raw_url;
@ -599,10 +599,10 @@ function resolve_url( $raw_url, $url )
else if ( $raw_url[0] == '?' || $raw_url[0] == '&' ) // Si c'est une query
$cleansed_url = $url . $raw_url; // Le '&' : espoir
else if ( $raw_url[0] == '#' ) // Si c'est une ancre et que n'en a pas déjà une
else if ( $raw_url[0] == '#' ) // Si c'est une ancre et que n'en a pas déjà une
$cleansed_url = ( !preg_match('%#[^#]*$%', $url) ) ? $url.$raw_url : '';
else if ( preg_match('#^javascript\s*:#i', $raw_url) ) // Quand du javascript est déclaré
else if ( preg_match('#^javascript\s*:#i', $raw_url) ) // Quand du javascript est déclaré
$cleansed_url = '';
else if ( preg_match('#^mailto\s*:\s*((?:[^i]|i)+)$#i', $raw_url, $mail) ) // Quand c'est un mail
@ -617,9 +617,9 @@ function resolve_url( $raw_url, $url )
else { } // Tous les autres cas ne conviennent pas
/* Après toutes les modif's */
/* Après toutes les modif's */
// Supprime les résultats qui ne commencent pas par xxx://
// Supprime les résultats qui ne commencent pas par xxx://
if (
!preg_match('#^[^:/]+:/+#', $cleansed_url) //$cleansed_url != ^http://$
//|| $raw_url[0] == '#' //$raw_url ^#
@ -652,7 +652,7 @@ function resolve_url( $raw_url, $url )
/********************************************************************************
* @proto (array) $urls get_urls( (string) $raw_page_content, (string) $url )
* @desc extrait les urls de $raw_page_content et les reconstruits à l'aide de $url
* @desc extrait les urls de $raw_page_content et les reconstruits à l'aide de $url
********************************************************************************/
function get_urls( $raw_page_content, $url )
@ -660,16 +660,16 @@ function get_urls( $raw_page_content, $url )
$raw_page_content .= PHP_EOL;
$matches = $urls = array();
$regexs = array( // À réécrire avec % ... %x et % ... %u
/* Fais chier : un jour que j'améliorais *grave* mes regexs, le ventirad s'est décroché et mon /home/ est devenu illisible...
Tout marchait *très bien* et j'avais rajouté des captures ! Me disant même "Heureusement que je l'ai vu ça, ça aurait pu m'échapper !" */
$regexs = array( // À réécrire avec % ... %x et % ... %u
/* Fais chier : un jour que j'améliorais *grave* mes regexs, le ventirad s'est décroché et mon /home/ est devenu illisible...
Tout marchait *très bien* et j'avais rajouté des captures ! Me disant même "Heureusement que je l'ai vu ça, ça aurait pu m'échapper !" */
// (string) '#regex#Z' => (int) parenthesized subpattern,
///////////////////////////////////////////////////////////////////////////////
/// Catch Abstrait Symétrique
// Cas général - ko
/// Catch Abstrait Symétrique
// Cas général - ko
// '%(["\'])([^\1:/\s]+:/+[^\1]+)\1#%' => 2,
// Thèmes récurrents en (x)?HTML - ok
// Thèmes récurrents en (x)?HTML - ok
'%(?:href|src|ur[li]|path|action|role|xmlns(?::[^:=]+)?)\s*=\s*(["\'])\s*([^\1]+)\s*\1%Ui' => 2,
/// Exceptions
@ -681,10 +681,10 @@ function get_urls( $raw_page_content, $url )
// Meta refresh - ok
'%content=(["\'])[^\1\D]*;\s*url=([^\1]+)\1%iU' => 2,
/// Catch Abstrait Asymétrique
// Parenthèses
/// Catch Abstrait Asymétrique
// Parenthèses
/// '\( , ... \)' => ,
// XML - (antislash pour php-> ?\>) . Ungreedy réduit l'execution - ok
// XML - (antislash pour php-> ?\>) . Ungreedy réduit l'execution - ok
'%<([^<>\s]+)(?:\s+[^>]+)?\>\s*([^>\s:/]+:/+[^<]+)\s*</\1>%' => 2,
///////////////////////////////////////////////////////////////////////////////
// '' => ,
@ -692,14 +692,14 @@ function get_urls( $raw_page_content, $url )
foreach ( $regexs as $regex => $parenthesized_subpattern )
{
preg_match_all($regex, $raw_page_content, $reg_sult, PREG_PATTERN_ORDER); // Éxécute les regular expressions
$matches = array_merge($matches, $reg_sult[ $parenthesized_subpattern ]); // Regroupe les résultats des regex
preg_match_all($regex, $raw_page_content, $reg_sult, PREG_PATTERN_ORDER); // Éxécute les regular expressions
$matches = array_merge($matches, $reg_sult[ $parenthesized_subpattern ]); // Regroupe les résultats des regex
}
$matches = array_unique($matches); // Supprime les doubles
$matches = array_values($matches); // Repart de zéro
$matches = array_values($matches); // Repart de zéro
$url = trim($url); // Enlève les espaces des côtés
$url = trim($url); // Enlève les espaces des côtés
$nbUrl_=count($matches);
foreach ( $matches as $iUrl_=>$raw_url )
{
@ -707,29 +707,29 @@ function get_urls( $raw_page_content, $url )
if ( !empty($raw_url) ) // Supprime les cases vides
{
$res = resolve_url($raw_url, $url); // Résoud massivement les URL trouvées
$res = resolve_url($raw_url, $url); // Résoud massivement les URL trouvées
/* Déduit des urls : énumère l'arborescence */
if ( !empty($res) ) // URL néttoyées
/* Déduit des urls : énumère l'arborescence */
if ( !empty($res) ) // URL néttoyées
{
preg_match('#^([^:/]+:/+[^/]+/)(.*)$#', $res, $preg_url);
if (!isset($preg_url[1])) {
echo ("$iUrl_/$nbUrl_: Type d'URL non gérée : '$res'".EOL);
echo ("$iUrl_/$nbUrl_: Type d'URL non gérée : '$res'".EOL);
break;
}
$str = $preg_url[1]; // = début de l'url suivie d'un slash
$str = $preg_url[1]; // = début de l'url suivie d'un slash
$urls[] = $str; // Enregistre déjà ce début (utile de le mettre ici au cas ou la condition sur \2 serait false)
$urls[] = $str; // Enregistre déjà ce début (utile de le mettre ici au cas ou la condition sur \2 serait false)
if ( !empty($preg_url[2]) ) // Si il y a un path (!= root | host)
if ( !empty($preg_url[2]) ) // Si il y a un path (!= root | host)
{
// Éclate le path par le slash (-> array)
$exp = explode('/', $preg_url[2]); // Compte à partir de 0
$k = count($exp); // Compte à partir de 1
// Éclate le path par le slash (-> array)
$exp = explode('/', $preg_url[2]); // Compte à partir de 0
$k = count($exp); // Compte à partir de 1
for ( $i = 0; $i < $k; $i++ ) // Déduit des urls
for ( $i = 0; $i < $k; $i++ ) // Déduit des urls
{
// Si on est au dernier, on ne met pas de slash à la fin (: cela peut-être un fichier)
// Si on est au dernier, on ne met pas de slash à la fin (: cela peut-être un fichier)
$str .= ($i == $k -1) ? $exp[$i] : $exp[$i].'/';
$urls[] = $str; // Enregistre
@ -741,7 +741,7 @@ function get_urls( $raw_page_content, $url )
$urls = array_unique($urls); //moins doubles
$urls = array_values($urls); //orde num (des key)
if ( empty($urls[ count($urls) - 1 ]) ) // Si il y a une URL vide, elle est à la fin du tableau
if ( empty($urls[ count($urls) - 1 ]) ) // Si il y a une URL vide, elle est à la fin du tableau
array_pop($urls);
return $urls;
@ -751,7 +751,7 @@ function get_urls( $raw_page_content, $url )
{
$urls = array();
if ( preg_match('#^[^:/]+:/+[^/]+$#', $q) )
$q .= '/'; // Rajoute le slash si c'est le root et qu'il est sans / à la fin
$q .= '/'; // Rajoute le slash si c'est le root et qu'il est sans / à la fin
/* if ( !empty($c) ) /* HTTP ERROR */ /*** Ne pas echo avant cette ligne ***
{
@ -760,10 +760,10 @@ function get_urls( $raw_page_content, $url )
die;
}
*/
$curl = get_web_file($q); // Met l'élément du Web ciblé dans une variable
$urls = get_urls($curl['content'], $q); // URL trouvées
$curl = get_web_file($q); // Met l'élément du Web ciblé dans une variable
$urls = get_urls($curl['content'], $q); // URL trouvées
natcasesort($urls); // Tri par ordre alphanumérique
natcasesort($urls); // Tri par ordre alphanumérique
$nombresult = count($urls);
}
return $urls;

View File

@ -14,10 +14,10 @@ include('/var/www/_includes/includes/fonctions.php');
Usage: <?=$argv[0]?> <extract type> <fileIn> <fileInFmt> <fileOut> <fileOutFmt>
Where <extract type> is :
id siren.tm.fr : Fiche d'identite INSEE (établissement+entreprise)
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
pj pagesjaunes.fr : Données des pages jaunes
coface cofacerating.fr : Coface
Where <fileInFmt> is :
@ -26,7 +26,7 @@ include('/var/www/_includes/includes/fonctions.php');
Where <fileOutFmt> is : csv / todo
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
*/
$insee=&new Insee();
@ -45,18 +45,18 @@ function getInfosSirene($sirenLu, $nicLu='') {
if ($invalide==true)
{
$siret=$sirenLu.$nicLu;
$str=date('d/m/Y à H:i:s') .';'. $libelleErreur .';'. $siret .';;;;;;;;;;;;;;;;;;;;;;;';
$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
} 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;
@ -80,9 +80,9 @@ function getInfosSirene($sirenLu, $nicLu='') {
$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
if ($nicLu=='') //Faire une boucle de recherche de tous les établissement et y inclure le reste du traitement
{
// Requête d'interrogation
// Requête d'interrogation
$postData=array(
'siren'=>$sirenLu,
'option'=>2,
@ -103,7 +103,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
{
//$libelleErreur='Erreur INSEE inconnue 1';
// Siren Invalide ou autre erreur non répertoriée !
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
{
@ -117,10 +117,10 @@ function getInfosSirene($sirenLu, $nicLu='') {
$libelleErreur='Erreur INSEE inconnue';
}
// On déroule les URLs d'appels liste des établissements
// 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
// 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');
@ -128,7 +128,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
$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>');
$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)));
@ -147,26 +147,26 @@ function getInfosSirene($sirenLu, $nicLu='') {
$nbRepParPage=trim(substr($responseListe, $pos+60, $posFin-($pos+60)));
}
/* TODO = Récupérer les infos étab + entrep pour chaque ligne du tableau !!!*
/* 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...
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 !
// 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
// 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
// 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');
@ -174,7 +174,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
$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
// 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);
@ -186,10 +186,10 @@ function getInfosSirene($sirenLu, $nicLu='') {
}
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
// 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
// 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');
@ -204,9 +204,9 @@ function getInfosSirene($sirenLu, $nicLu='') {
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
else $siret=$tabInfoEtab['siret'];
$str= date('d/m/Y à H:i:s') .';'.
$str= date('d/m/Y à H:i:s') .';'.
$libelleErreur .';'.
// Siège
// Siège
$siret .';'.
$tabInfoEtab['active'] .';'.
$tabInfoEtab['dateAbsActivite'] .';'.
@ -246,7 +246,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
}//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
// 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';
@ -257,7 +257,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
// die('Boucle');
} /* Fin de la boucle option 'lst' */ else
{
// Requête d'interrogation
// Requête d'interrogation
$postData=array('siren'=>$sirenLu,
'option'=>$option,
'nic'=>$nicLu,
@ -270,7 +270,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
{
//$libelleErreur='Erreur INSEE inconnue 1';
// Siren Invalide ou autre erreur non répertoriée !
// Siren Invalide ou autre erreur non répertoriée !
$header=$responseQ['header'];
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
{
@ -285,45 +285,45 @@ function getInfosSirene($sirenLu, $nicLu='') {
}
else
{ if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege')
// L'établissement demandé est un siège !
// L'établissement demandé est un siège !
$option=1;
if ($option==3)
{
// On déroule les URLs d'appels établissement
// 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
// 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
// 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';
$libelleErreur='Erreur SCRIPT Fiche Etablissement non trouvée';
else
$libelleErreur='';
$responseSiege=$responseEtab;
}
else
{
// On déroule les URLs d'appels Sièges
// 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
// 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>');
// 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';
$libelleErreur='Erreur SCRIPT Fiche Siège non trouvée';
else
$libelleErreur='';
}
@ -339,14 +339,14 @@ function getInfosSirene($sirenLu, $nicLu='') {
$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';
$libelleErreur='Erreur SCRIPT Fiche Entreprise non trouvée';
}
/** Recherche des données établissement
/** Recherche des données établissement
**/
$tabInfoEtab=getDataEtablissement($responseSiege);
/** Recherche des données entreprise
/** Recherche des données entreprise
**/
$tabInfoEntrep=getDataEntreprise($responseEntreprise);
@ -356,9 +356,9 @@ function getInfosSirene($sirenLu, $nicLu='') {
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
else $siret=$tabInfoEtab['siret'];
$str= date('d/m/Y à H:i:s') .';'.
$str= date('d/m/Y à H:i:s') .';'.
$libelleErreur .';'.
// Siège
// Siège
$siret .';'.
$tabInfoEtab['active'] .';'.
$tabInfoEtab['dateAbsActivite'] .';'.

View File

@ -13,11 +13,11 @@
}
$strFonctions.='
/** Donne le taux d\'inflation pour une année donnée **/
/** Donne le taux d\'inflation pour une année donnée **/
function getInflation($annee) {
global $tabInfla;
if (!isset($tabInfla[$annee]))
sendMail("production@scores-decisions.com", "ylenaour@scores-decisions.com", "ERREUR, il manque le taux d\'inflation pour l\'année $annee", "il manque le taux d\'inflation pour l\'année $annee dans la table sdv1.inflation");
sendMail("production@scores-decisions.com", "ylenaour@scores-decisions.com", "ERREUR, il manque le taux d\'inflation pour l\'année $annee", "il manque le taux d\'inflation pour l\'année $annee dans la table sdv1.inflation");
return $tabInfla[$annee];
}
';
@ -94,15 +94,15 @@
continue;
}
// Gestion des variables minuscules de 1 à 8 caractères alphanumériques
// Gestion des variables minuscules de 1 à 8 caractères alphanumériques
$formule1=preg_replace('/([a-z]{1,8})/','\$$1', $formule);
// Gestion des postes du BILAN AX, BX, YP, FL1, etc...
$formule1=preg_replace('/\b([A-Z]{2,2}[1-9]{0,1})\b/','\$p[\'$1\']', $formule1);
// Gestion des ratios précédent
// Gestion des ratios précédent
$formule1=preg_replace('/\bR\[(.*)\]/U', '\$R['."'\\1'*1".']', $formule1);
// Gestion des valeurs Absolues
$formule1=preg_replace('/\|(.*)\|/U', 'abs($1)', $formule1);
// Gestion de l'inflation pour l'année du bilan
// Gestion de l'inflation pour l'année du bilan
$formule1=preg_replace('/\INFLATION/U', 'getInflation(substr($millesime,-4))', $formule1);
// Ecriture de la formule
@ -115,7 +115,7 @@
$formule1.="if (\$R[$id]==0) \$R[$id]=$alternative";
}
/** Bornage des résultats en cas de dépassement **/
/** Bornage des résultats en cas de dépassement **/
if (preg_match('/;BORN\((.*)\)/U', $formule1, $matches)) {
$formule1=preg_replace('/(;BORN\(.*\))/U','', $formule1);
$tabBornes=explode(':', $matches[1]);
@ -129,14 +129,14 @@
}
}
/** Bornage des résultats en cas de dépassement **/
/** Bornage des résultats en cas de dépassement **/
if (preg_match('/;LIM\((.*)\)/U', $formule1, $matches)) {
$formule1=preg_replace('/(;LIM\(.*\))/U','', $formule1);
$bMax=trim($matches[1])*1;
$formule1.="if (\$R[$id]>$bMax) \$R[$id]=$bMax;";
}
/** Mémorisation des formules pour les moyennes **
/** Mémorisation des formules pour les moyennes **
*
$valeur='( (R'.$matches[1];
for($iMoy=0; $iMoy<$matches[2]; $iMoy++) {

View File

@ -1,31 +1,31 @@
<?php
class Regression{
/*
But: Fournir un objet assez complet permettant d'opérer facilement une régression
linéaire, plus connu sur le nom de courbe de tendance sous Excel.
Usage: 0- Dans votre fichier PHP insérer include ("CrbTendance.php");
1- Déclarer l'objet RegLin
But: Fournir un objet assez complet permettant d'opérer facilement une régression
linéaire, plus connu sur le nom de courbe de tendance sous Excel.
Usage: 0- Dans votre fichier PHP insérer include ("CrbTendance.php");
1- Déclarer l'objet RegLin
ex: $oReg= new RegLin($tDonnees) ou $oReg= new RegLin($tY, $tX)
Les deux syntaxe sont disponible, si une seul tableau est fourni
alors le second est initialisé du même nombre d'occurence commençant à 0
alors le second est initialisé du même nombre d'occurence commençant à 0
avec un pas de 1
2- Lancer le calcul, avec méthodes fournie de 0 à 4, par défaut 0 sera pris. Pour
tout élément supérieur à 4, la cinquième sera prise.
Cette méthode retourne un tableau à Trois positions,
2- Lancer le calcul, avec méthodes fournie de 0 à 4, par défaut 0 sera pris. Pour
tout élément supérieur à 4, la cinquième sera prise.
Cette méthode retourne un tableau à Trois positions,
-avec dans la case "A" le coef directeur de la droite,
-dans la case "B" le positionnement vertical
-dans la case "Cor" le coef de corrélation
-et dans la case "Meth" le numéro de la méthode utlisée
-dans la case "Cor" le coef de corrélation
-et dans la case "Meth" le numéro de la méthode utlisée
Ex: print_r($oReg0->OptMV(0));
==>Array ( [A] => -649.029426204
[B] => 3037796.68186
[Cor] => -0.143065138366
[Meth] => 0 )
3- De manière optionnel vous pouvez lancer la méthode GetOpt();,
3- De manière optionnel vous pouvez lancer la méthode GetOpt();,
qui vous fournira le point de votre droite en fonction de votre
tableau d'abscisses, si ce dernier n'est pas fourni
vous aurez un tableau de 0 à nb-1 d'occurence du premier tableau
vous aurez un tableau de 0 à nb-1 d'occurence du premier tableau
Ex: print_r($oReg1->GetOpt());
==>Array ( [1] => 3037147.65243
@ -39,7 +39,7 @@ class Regression{
//champ de l'objet
private $tDonnees;
private $tAbscisse;
private $vNbElt; //Nombre déléments des tableaux
private $vNbElt; //Nombre déléments des tableaux
private $vMoyX; //Moyenne des X
private $vMoyY; //Moyenne des Y
@ -48,37 +48,37 @@ class Regression{
private $vSumY;
private $vSumX2;
private $tPtG; //Le point moyen G est un tableau tPtG(X,Y)=(vMoyX,vMoyY)
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne
Private $vVarianceX;
Private $vVarianceY;
//L'écart Type, c'est la racine carrée de la variance
//L'écart Type, c'est la racine carrée de la variance
Private $vEcartTX;
Private $vEcartTY;
//La covariance, la moyenne des produits moins le produit des moyennes
Private $vCovariance;
Private $vA; //Coef directeur de la droite liée à la régression
Private $vB; //Coef B de la droite liée à la régression
public $vCoefCorLin;//Coef de corrélation linéaire
Private $vA; //Coef directeur de la droite liée à la régression
Private $vB; //Coef B de la droite liée à la régression
public $vCoefCorLin;//Coef de corrélation linéaire
public $tTest;
public function __construct($tDataY,$tDataX=NULL) {
$this->tDonnees = $tDataY;
$this->tAbscisse = $tDataX;
$this->vNbElt = $n=count($this->tDonnees); // Nombres d'éléments
$this->vNbElt = $n=count($this->tDonnees); // Nombres d'éléments
//Mise en place des abscisses
if (isset($tDataX))
for($i=0;$i<$this->vNbElt;$i++)
$this->tAbscisse[$i]=$i;
//parcours des donnees pour récupération formule nécessaire au calcul des éléments
//parcours des donnees pour récupération formule nécessaire au calcul des éléments
$sumX=0; //somme des X
$sumY=0; //somme des Y
$sumX2=0; //somme des X²
$sumY2=0; //somme des y²
$sumX2=0; //somme des X²
$sumY2=0; //somme des y²
$sumXY=0; //somme des x*y
for ($i=0;$i<$n;$i++) {
@ -101,18 +101,18 @@ class Regression{
$this->tPtG=array('X'=>$this->vMoyX,'Y'=>$this->vMoyY); //point moyen G
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne: Rappel
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne: Rappel
$this->vVarianceX=($sumX2/$n)-($this->vMoyX*$this->vMoyX);
$this->vVarianceY=($sumY2/$n)-($this->vMoyY*$this->vMoyY);
//L'écart Type, c'est la racine carrée de la variance: Rappel
//L'écart Type, c'est la racine carrée de la variance: Rappel
$this->vEcartTX=sqrt(abs($this->vVarianceX));
$this->vEcartTY=sqrt(abs($this->vVarianceY));
//La covariance, la moyenne des produits moins le produit des moyennes
$this->vCovariance=($sumXY/$n)-($this->vMoyX*$this->vMoyY);
// coef de coorélation linéaire: Covariance que divise l'écart Type X multiplié par l'écart Type de Y
// coef de coorélation linéaire: Covariance que divise l'écart Type X multiplié par l'écart Type de Y
$this->vCoefCorLin=$this->vCovariance/($this->vEcartTX*$this->vEcartTY);
// Calcul de la droite
@ -121,8 +121,8 @@ class Regression{
$this->tTest=array(
'vMoyX'=>$this->vMoyX,
'vMoyY'=>$this->vMoyY,
'vA'=>$this->vA, // Coef directeur de la droite liée à la régression
'vB'=>$this->vB, // Coef B de la droite liée à la régression
'vA'=>$this->vA, // Coef directeur de la droite liée à la régression
'vB'=>$this->vB, // Coef B de la droite liée à la régression
'tPtG'=>$this->tPtG,
'vVarianceX'=>$this->vVarianceX,
'vVarianceY'=>$this->vVarianceY,
@ -134,8 +134,8 @@ class Regression{
}
/** Calcul de la droite
** (calcul de coef directeur de la régression par théorie de la régression linéaire
** le coef a est obtenu des manières suivantes avec 5 variantes disponibles)
** (calcul de coef directeur de la régression par théorie de la régression linéaire
** le coef a est obtenu des manières suivantes avec 5 variantes disponibles)
**/
Private function CoefsDroite($met=0)
{
@ -163,14 +163,14 @@ class Regression{
$this->vB=$this->vMoyY-($this->vA*$this->vMoyX);
}
/** Calcul la régression Linéaire **/
/** Calcul la régression Linéaire **/
function OptMV($meth=0){
$this->CoefsDroite($meth);
$this->CoefCorLin();
return array("A"=>$this->vA,"B"=>$this->vB,"Cor"=>$this->vCoefCorLin,"Meth"=>$meth,"TauxProg"=>(1-$this->vA)*100);
}
/** Renvoi le tableau des points optimisés
/** Renvoi le tableau des points optimisés
**/
function GetOpt() {
$tOpt=array();
@ -222,14 +222,14 @@ function PROJECCOEF($tabRegY,$nbAnnees) {
function PROJEC($tabRegY,$nbAnnees) {
global $tabRegX; // Tableau des années de millesime de bilans
global $Y, $Yaff; // Tableau des années en paramètres + $nbAnnees Projetées
global $PROJECTAUX; // Taux de projection de n à n+$nbAnnees
global $PROJECCOEF; // Coef de corélation linéaire
global $tabRegX; // Tableau des années de millesime de bilans
global $Y, $Yaff; // Tableau des années en paramètres + $nbAnnees Projetées
global $PROJECTAUX; // Taux de projection de n à n+$nbAnnees
global $PROJECCOEF; // Coef de corélation linéaire
global $SIREN;
if (count($tabRegX)==0 || count($tabRegY)==0) return false;
/*@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $SIREN : Regression Début", ''.
/*@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $SIREN : Regression Début", ''.
'$tabRegX='.print_r($tabRegX,true).
'$Y='.print_r($Y,true).
'$Yaff='.print_r($Yaff,true).
@ -242,7 +242,7 @@ function PROJEC($tabRegY,$nbAnnees) {
$Y=$Yaff=array();
$nbRegX=count($tabRegX);
// Début des clés pour le tableau Y des critères
// Début des clés pour le tableau Y des critères
$j=0-$nbRegX;
foreach($tab as $i=>$valeur) {
$j++;
@ -264,7 +264,7 @@ function PROJEC($tabRegY,$nbAnnees) {
'$nbAnnees='.$nbAnnees." ($tabRegY)".EOL.
'$tabRegX='.print_r($tabRegX,true).EOL.
'$tabRegY='.print_r($tabRegY,true).EOL.
'Régression $tab='.print_r($tab,true).EOL.
'Régression $tab='.print_r($tab,true).EOL.
EOL.
'$Yaff='.print_r($Yaff,true).EOL.
'$Y='.print_r($Y,true).EOL.

File diff suppressed because it is too large Load Diff

View File

@ -934,25 +934,25 @@ class MSolvabilite {
private $tabPtFJ=array( '10'=>11, // PP
'11'=>9, // Artisan Commerçant
'12'=>9, // Commerçant
'11'=>9, // Artisan Commerçant
'12'=>9, // Commerçant
'13'=>8, // Artisan
'15'=>12, // Profession libérale
'15'=>12, // Profession libérale
'16'=>12, // Exploitant agricole
'17'=>12, // Agent commercial
'18'=>12, // Associé Gérant de société
'18'=>12, // Associé Gérant de société
'19'=>12, // Personne Physique Autre
'21'=>12, // Indivision
'22'=>12, // Société créée de fait
'23'=>13, // Société en participation
'22'=>12, // Société créée de fait
'23'=>13, // Société en participation
'27'=>13, // Paroisse
'29'=>12, // Autre groupement de droit privé non doté de la personnalité morale
'31'=>10, // Personne morale de droit étranger immatriculée au RCS
'32'=>12, // Personne morale de droit étranger, non immatriculée au RCS
'41'=>13, // Etab public ou régie à caractère industriel
'51'=>11, // Société coopérative commerciale particulière
'52'=>11, // Société en nom collectif
'5306'=>10, // Société en commandite
'29'=>12, // Autre groupement de droit privé non doté de la personnalité morale
'31'=>10, // Personne morale de droit étranger immatriculée au RCS
'32'=>12, // Personne morale de droit étranger, non immatriculée au RCS
'41'=>13, // Etab public ou régie à caractère industriel
'51'=>11, // Société coopérative commerciale particulière
'52'=>11, // Société en nom collectif
'5306'=>10, // Société en commandite
'5308'=>11, //
'54'=>5, // SARL
'5410'=>4, //
@ -960,7 +960,7 @@ class MSolvabilite {
'5460'=>2, //
'5485'=>12, //
'5498'=>6, //
'55'=>8, // SA à conseil d'administration
'55'=>8, // SA à conseil d'administration
'5510'=>9, //
'5515'=>11, //
'5532'=>11, //
@ -968,23 +968,23 @@ class MSolvabilite {
'5558'=>6, //
'5560'=>9, //
'5585'=>11, //
'56'=>8, // SA à directoire
'57'=>9, // SA par actions simplifiées
'61'=>13, // Caisse épargne et prévoyance
'62'=>12, // Groupement d'intérêt économique
'63'=>12, // Société coopérative agricole
'65'=>12, // Société civile
'69'=>13, // Autre Pers de droit privé inscrit au RCS
'71'=>13, // Administration de l'état
'72'=>13, // Collectivité locale
'56'=>8, // SA à directoire
'57'=>9, // SA par actions simplifiées
'61'=>13, // Caisse épargne et prévoyance
'62'=>12, // Groupement d'intérêt économique
'63'=>12, // Société coopérative agricole
'65'=>12, // Société civile
'69'=>13, // Autre Pers de droit privé inscrit au RCS
'71'=>13, // Administration de l'état
'72'=>13, // Collectivité locale
'73'=>13, // Etab publique administratif
'74'=>13, // Autre PM de droit public administratif
'81'=>13, // Organisme gérant un régime de SECU
'81'=>13, // Organisme gérant un régime de SECU
'82'=>9, // Organisme mutualiste
'83'=>13, // CE
'84'=>12, // Organisme professionnel Syndicat de propriétaires
'84'=>12, // Organisme professionnel Syndicat de propriétaires
'91'=>13, // Syndicat copro / ASL
'9210'=>12, // Association loi 1901 ou assimilé
'9210'=>12, // Association loi 1901 ou assimilé
'9220'=>12, //
'9221'=>6, //
'9222'=>10, //
@ -992,10 +992,10 @@ class MSolvabilite {
'9230'=>12, //
'9260'=>12, //
'93'=>13, // Fondations
'99'=>13, // Autre PM de droit privé
'99'=>13, // Autre PM de droit privé
);
/* Points par age : 1=>xx : 1ère année, 2=>yy : 2ème année */
/* Points par age : 1=>xx : 1ère année, 2=>yy : 2ème année */
private $tabPtAge=array(1=>9,
2=>5,
3=>4,
@ -1109,7 +1109,7 @@ class MSolvabilite {
function getPtGeographie() {
//print_r($this->tabPtDep);
//die ("Département ='".$this->dep."'");
//die ("Département ='".$this->dep."'");
return $this->tabPtDep[$this->dep];
}
@ -1169,10 +1169,10 @@ class MSolvabilite {
$this->getPtFormeJuridique() + $this->getPtGeographie() + $this->getPtSingularite() ) / 4.2;//3.9;
}
/** Indique si une catégorie juridique et un NAF sont soumis à publication
/** Indique si une catégorie juridique et un NAF sont soumis à publication
**
** @param integer $cj Catégorie juridique sur 4 chiffres
** @param string $naf APE sur 4 ou 5 positions (NAF rév 1 ou 2)
** @param integer $cj Catégorie juridique sur 4 chiffres
** @param string $naf APE sur 4 ou 5 positions (NAF rév 1 ou 2)
** @return bool
**/
function doitPublier($cj, $naf) {
@ -1180,16 +1180,16 @@ class MSolvabilite {
$cj4=$cj*1;
$publie=false;
switch ($cj2) {
case 53: // Société en Commandite Simple (sauf 5306, 5307)
case 53: // Société en Commandite Simple (sauf 5306, 5307)
if ($cj4==5306 || $cj4==5307)
$publie=false;
else
$publie=true;
break;
case 54: // SARL
case 55: // SA à CA
case 56: // SA à Directoire
case 57: // SA par Actions simplifiéees
case 55: // SA à CA
case 56: // SA à Directoire
case 57: // SA par Actions simplifiéees
$publie=true;
break;
}
@ -1201,7 +1201,7 @@ class MSolvabilite {
case '6419Z':
case '651D': // Banques mutualistes
case '6419Z':
case '651F': // Intermédiations monétaires n.c.a.
case '651F': // Intermédiations monétaires n.c.a.
case '6419Z':
case '672Z': // Auxiliaires d'assurance
case '6621Z':
@ -1209,21 +1209,21 @@ class MSolvabilite {
case '6629Z':
case '660E': // Assurance dommages
case '6512Z':
case '660F': // Réassurance
case '660F': // Réassurance
case '6520Z':
case '660C': // Caisses de retraite
case '6530Z':
case '660G': // Assurance relevant du code de la mutualité
case '660G': // Assurance relevant du code de la mutualité
case '6512Z':
case '753A': // Activités générales de sécurité sociale
case '753A': // Activités générales de sécurité sociale
case '8430A':
case '753B': // Gestion des retraites complémentaires
case '753B': // Gestion des retraites complémentaires
case '8430B':
case '753C': // Distribution sociale de revenus
case '652E': // Organismes de placement en valeurs mobilières
case '652E': // Organismes de placement en valeurs mobilières
case '6420Z':
case '6430Z':
case '671A': // Administration de marchés financiers
case '671A': // Administration de marchés financiers
case '6611Z':
case '671C': // Gestion de portefeuilles
case '6612Z':

View File

@ -698,7 +698,7 @@
/** Tableau des CA moyens / Salariés, Pondérations et effectifs moyens
/** Tableau des CA moyens / Salariés, Pondérations et effectifs moyens
**/
$this->tabMedians=array('000Z'=>array('CAm'=>180, 'Coef'=>0, 'YPm'=>22),
'011A'=>array('CAm'=>240, 'Coef'=>15, 'YPm'=>7),
@ -1439,43 +1439,43 @@
);
/** Situat° Remarque Notation Equiv. Grades Probabilité de
** financière BDF Moody's Grades S&P défaillance
/** Situat° Remarque Notation Equiv. Grades Probabilité de
** financière BDF Moody's Grades S&P défaillance
**/
$this->tabNotation['A+']=array('Excellente', 'Exceptionnelle', 'A3++', 'Aaa', 'AAA' ,'0.001');
$this->tabNotation['A'] =array('Excellente', 'Excellente', 'A3+', 'Aa1 Aa2 Aa3', 'AA+ AA AA-','0.01');
$this->tabNotation['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+' ,'0.02');
$this->tabNotation['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+' ,'0.02');
$this->tabNotation['B'] =array('Bonne', 'Bonne', '3+', 'A2 A3', 'A A-' ,'0.04');
$this->tabNotation['C+']=array('Bonne', 'Relativement correcte', '3', 'Baa1', 'BBB+' ,'0.15');
$this->tabNotation['C'] =array('Bonne', 'Correcte', '3', 'Baa2', 'BBB' ,'0.30');
$this->tabNotation['C-']=array('Bonne', 'Moyenne', '3', 'Baa3', 'BBB-' ,'0.60');
$this->tabNotation['D+']=array('Moyenne', 'Passable', '4+', 'Ba1', 'BB+' ,'0.90');
$this->tabNotation['D'] =array('Moyenne', 'Médiocre', '4', 'Ba2', 'BB' ,'1.25');
$this->tabNotation['D-']=array('Moyenne', 'Très médiocre', '4', 'Ba3', 'BB-' ,'1.60');
$this->tabNotation['D'] =array('Moyenne', 'Médiocre', '4', 'Ba2', 'BB' ,'1.25');
$this->tabNotation['D-']=array('Moyenne', 'Très médiocre', '4', 'Ba3', 'BB-' ,'1.60');
$this->tabNotation['E+']=array('Mauvaise', 'Assez mauvaise', '5', 'B1 B2 B3', 'B+ B B-', '5.00');
$this->tabNotation['E'] =array('Mauvaise', 'Mauvaise', '6', 'Caa', 'CCC', '14.00');
$this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00');
$this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
$this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
$this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00');
$this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
$this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
$this->tabLibActivite[0]='';
$this->tabLibActivite[15]='Industries Alimentaires : Collecte Appro';
$this->tabLibActivite[3]='Industries Alimentaires : Collecte et 1ère transformation';
$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[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[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->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');

View File

@ -698,7 +698,7 @@
/** Tableau des CA moyens / Salariés, Pondérations et effectifs moyens
/** Tableau des CA moyens / Salariés, Pondérations et effectifs moyens
**/
$this->tabMedians=array('000Z'=>array('CAm'=>180, 'Coef'=>0, 'YPm'=>22),
'011A'=>array('CAm'=>240, 'Coef'=>15, 'YPm'=>7),
@ -1439,43 +1439,43 @@
);
/** Situat° Remarque Notation Equiv. Grades Probabilité de
** financière BDF Moody's Grades S&P défaillance
/** Situat° Remarque Notation Equiv. Grades Probabilité de
** financière BDF Moody's Grades S&P défaillance
**/
$this->tabNotation['A+']=array('Excellente', 'Exceptionnelle', 'A3++', 'Aaa', 'AAA' ,'0.001');
$this->tabNotation['A'] =array('Excellente', 'Excellente', 'A3+', 'Aa1 Aa2 Aa3', 'AA+ AA AA-','0.01');
$this->tabNotation['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+' ,'0.02');
$this->tabNotation['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+' ,'0.02');
$this->tabNotation['B'] =array('Bonne', 'Bonne', '3+', 'A2 A3', 'A A-' ,'0.04');
$this->tabNotation['C+']=array('Bonne', 'Relativement correcte', '3', 'Baa1', 'BBB+' ,'0.15');
$this->tabNotation['C'] =array('Bonne', 'Correcte', '3', 'Baa2', 'BBB' ,'0.30');
$this->tabNotation['C-']=array('Bonne', 'Moyenne', '3', 'Baa3', 'BBB-' ,'0.60');
$this->tabNotation['D+']=array('Moyenne', 'Passable', '4+', 'Ba1', 'BB+' ,'0.90');
$this->tabNotation['D'] =array('Moyenne', 'Médiocre', '4', 'Ba2', 'BB' ,'1.25');
$this->tabNotation['D-']=array('Moyenne', 'Très médiocre', '4', 'Ba3', 'BB-' ,'1.60');
$this->tabNotation['D'] =array('Moyenne', 'Médiocre', '4', 'Ba2', 'BB' ,'1.25');
$this->tabNotation['D-']=array('Moyenne', 'Très médiocre', '4', 'Ba3', 'BB-' ,'1.60');
$this->tabNotation['E+']=array('Mauvaise', 'Assez mauvaise', '5', 'B1 B2 B3', 'B+ B B-', '5.00');
$this->tabNotation['E'] =array('Mauvaise', 'Mauvaise', '6', 'Caa', 'CCC', '14.00');
$this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00');
$this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
$this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
$this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00');
$this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
$this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
$this->tabLibActivite[0]='';
$this->tabLibActivite[15]='Industries Alimentaires : Collecte Appro';
$this->tabLibActivite[3]='Industries Alimentaires : Collecte et 1ère transformation';
$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[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[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->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');

View File

@ -205,8 +205,8 @@ $tabVar=array( 'ACTIFINSEE',
'EFFECTIF_POPU',
'ELIMINE',
'ENCOURSDEM',
'ENCOURS', // Encours final attribué
'ENCOURSCALC', // Encours calculé sans cut-off
'ENCOURS', // Encours final attribué
'ENCOURSCALC', // Encours calculé sans cut-off
'ENQUETE',
'ENQUETELIM',
'ENQUETEMAXI',
@ -267,15 +267,15 @@ $tabVar=array( 'ACTIFINSEE',
'MARCHEPUBLIC3_NB',
'MARCHEPUBLIC3_MT',
'MARCHEPUBLIC3_POURC',
'MARCHEPUBLICAPP3_NB', // Nombre d'avis de marchés attribués par une administration sur les 3 dernières années
'MARCHEPUBLIC3APP_MT', // Montant des avis de marchés attribués par une administration sur les 3 dernières années
'MARCHEPUBLICAPP3_NB', // Nombre d'avis de marchés attribués par une administration sur les 3 dernières années
'MARCHEPUBLIC3APP_MT', // Montant des avis de marchés attribués par une administration sur les 3 dernières années
'MARCHEPUBLIC3APP_POURC', // % Par rapport au total des produits de fonctionnement
'MARCHEPUBLICDER_OBJ',
'MARCHEPUBLICDER_CLI',
'MARCHEPUBLICDER_MT',
'MARCHEPUBLICDER_DATE',
'MARCHEPUBLICDERAPP_OBJ', // @todo
'MARCHEPUBLICDERAPP_BEN', // Bénéficiaire
'MARCHEPUBLICDERAPP_BEN', // Bénéficiaire
'MARCHEPUBLICDERAPP_MT', // ..
'MARCHEPUBLICDERAPP_DATE', // ..
'MARQUENB',
@ -519,9 +519,9 @@ $tabVar=array( 'ACTIFINSEE',
'VENTEMOY_FRA_MT',
'VENTEMIN_FRA_MT',
'VENTE_FRA_NB',
'VENTEMAX_MT', // A supprimer après la 4.02
'VENTEMIN_MT', // A supprimer après la 4.02
'VENTE_NB', // A supprimer après la 4.02
'VENTEMAX_MT', // A supprimer après la 4.02
'VENTEMIN_MT', // A supprimer après la 4.02
'VENTE_NB', // A supprimer après la 4.02
'WALDEC',
'Y',
'ZEMET',

View File

@ -1,6 +1,6 @@
; COMBINAISON de DEPART
; (présence 1 ou +mots critère)
;sITSEPDLVNR CODES COMBINAISONS DE CRITERES + P=phonétique ou O=Orthographique
; (présence 1 ou +mots critère)
;sITSEPDLVNR CODES COMBINAISONS DE CRITERES + P=phonétique ou O=Orthographique
1 IT 12
1 I 00
1 I SEP 12

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

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

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by DJO (JOURNAUX OFFICIELS) -->
<!-- ==========================================================================
Direction de l'information légale et administrative - Département des Systèmes d'Information
Direction de l'information légale et administrative - Département des Systèmes d'Information
Nom : CPV.xsd
Version : 2.1 18/10/2011
Objet : Schéma XML de définition des codes CPV Vocabulaire Commun des Marchés
Objet : Schéma XML de définition des codes CPV Vocabulaire Commun des Marchés
http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2008:074:0001:0375:FR:PDF
Conformité : W3C Recommendation, 2 May 2001
Conformité : W3C Recommendation, 2 May 2001
Historique : 22/03/2004 (1.0) Création
27/05/2008 (2.0) Prise en compte des codes CPV RÈGLEMENT (CE) No 213/2008 du 28 novembre 2007
Historique : 22/03/2004 (1.0) Création
27/05/2008 (2.0) Prise en compte des codes CPV RÈGLEMENT (CE) No 213/2008 du 28 novembre 2007
========================================================================== -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"/>

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by DJO (JOURNAUX OFFICIELS) -->
<!-- ==========================================================================
Direction de l'information légale et administrative - Département des Systèmes d'Information
Direction de l'information légale et administrative - Département des Systèmes d'Information
Nom : NUTS.xsd
Version : 2.1 18/10/2011
Objet : Schéma XML de définition des codes NUTS
Objet : Schéma XML de définition des codes NUTS
signification des codes : http://europa.eu.int/comm/eurostat/ramon/nuts/codelist_fr.cfm?list=nuts
Conformité : W3C Recommendation 2 May 2001
Conformité : W3C Recommendation 2 May 2001
Historique : 25/01/2006 (1.0) Création
Historique : 25/01/2006 (1.0) Création
27/05/2008 (2.0) Prise en compte des codes NUTS 2008
========================================================================== -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

File diff suppressed because it is too large Load Diff

View File

@ -14,11 +14,11 @@ Calcul des ratios de toute la base entreprise S&D.
Options :
-t Calculer tous les ratios (*)
-i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache
-i:XXX Reprendre à la ligne XXX
-c Mettre à jour le cache
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers
*/
$iDeb=0;
@ -65,21 +65,21 @@ for ($i=1; isset($argv[$i]); $i++) {
$tabFormule['f'.$id]['min']=$formule['borneMin'];
$tabFormule['f'.$id]['max']=$formule['borneMax'];
}
echo date('Y/m/d - H:i:s') ." - Formules mises en mémoire ...".EOL;
echo date('Y/m/d - H:i:s') ." - Formules mises en mémoire ...".EOL;
//print_r($tabFormule);die();
for ($iDeb=0; $iDeb<=$iFin*$limit; $iDeb+=$limit) {
$nbRows=$iDb->select( 'ratios_test2', 'siren, id, naf4, naf5, millesime, montant', "1 LIMIT $iDeb,$limit", false, MYSQL_ASSOC, true);
$iDebAff=$iDeb/$limit;
echo date('Y/m/d - H:i:s') ." - Tranche de ratios n°$iDebAff/$iFin...".EOL;
echo date('Y/m/d - H:i:s') ." - Tranche de ratios n°$iDebAff/$iFin...".EOL;
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
if ($tabFormule['f'.$entrep['id']]['unite']=='EUR') $mt=$entrep['montant']/1000;
else $mt=$entrep['montant'];
if ($tabFormule['f'.$entrep['id']]['min']!==NULL && $mt<$tabFormule['f'.$entrep['id']]['min']) {
//echo 'Borne Mini non nulle ('.$tabFormule['f'.$entrep['id']]['min'].") et le montant est inférieur : $mt<".$tabFormule['f'.$entrep['id']]['min']."!\n";
//echo 'Borne Mini non nulle ('.$tabFormule['f'.$entrep['id']]['min'].") et le montant est inférieur : $mt<".$tabFormule['f'.$entrep['id']]['min']."!\n";
continue;
} elseif ($tabFormule['f'.$entrep['id']]['max']!==NULL && $mt>$tabFormule['f'.$entrep['id']]['max']) {
//echo 'Borne Maxi non nulle ('.$tabFormule['f'.$entrep['id']]['max'].") et le montant est supéreiur : $mt>".$tabFormule['f'.$entrep['id']]['max']."!\n";
//echo 'Borne Maxi non nulle ('.$tabFormule['f'.$entrep['id']]['max'].") et le montant est supéreiur : $mt>".$tabFormule['f'.$entrep['id']]['max']."!\n";
continue;
} /*else
echo 'Ratio compris entre bornes '.$tabFormule['f'.$entrep['id']]['min']." < $mt < ".$tabFormule['f'.$entrep['id']]['max'].".\n";
@ -102,7 +102,7 @@ for ($i=1; isset($argv[$i]); $i++) {
'dateInsert'=> $dateInsert,
);
if (!$iDb->insert('ratios_secteurs', $tabInsert)) {
echo date('Y/m/d - H:i:s') ." - Erreur MySQL N°".mysql_errno().' : '.mysql_error().EOL;
echo date('Y/m/d - H:i:s') ." - Erreur MySQL N°".mysql_errno().' : '.mysql_error().EOL;
print_r($tabInsert);
}
}

View File

@ -20,11 +20,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'scores/classMRegression.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Calcul des redevances INSEE pour un mois donné.
Calcul des redevances INSEE pour un mois donné.
Options :
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-c:XXX Limiter au client XXX
-t Table de test
@ -79,7 +79,7 @@ foreach ($tabTmp as $tabTmp2) {
}
$nbUsers=count($tabUser);
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
$iClient=0;
foreach ($tabClient as $idClient=>$nomClient) {
$iClient++;
@ -100,7 +100,7 @@ foreach ($tabClient as $idClient=>$nomClient) {
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false);
}
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
/** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/
$iClient=0;

View File

@ -20,11 +20,11 @@ include_once(FWK_PATH.'mail/sendMail.php');
include_once(INCLUDE_PATH.'scores/classMRegression.php');
$strInfoScript='Usage : '.basename($argv[0]). " <option>
Calcul des redevances INSEE pour un mois donné.
Calcul des redevances INSEE pour un mois donné.
Options :
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-v Mode debug (Verbosité au maximum)
-m:SSAAMM Forcer le mois de calcul des redevances à SSAAMM (sinon mois précedent)
-c:XXX Limiter au client XXX
-t Table de test
@ -79,7 +79,7 @@ foreach ($tabTmp as $tabTmp2) {
}
$nbUsers=count($tabUser);
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
/** Calcul des redevances en niveau 1 : Navéa (Extranet/WS) **/
$iClient=0;
foreach ($tabClient as $idClient=>$nomClient) {
$iClient++;
@ -100,7 +100,7 @@ foreach ($tabClient as $idClient=>$nomClient) {
$iDb2->update($tableRdv, $tabInsert, "idClient=$idClient AND mois=$moisEnCours AND produit=1", false);
}
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
/** Calcul des redevances en niveau 2 : Odéa (Ciblage, sortie prévue en 2012) **/
/** Calcul des redevances en niveau 3 : Sirenages Clients et enrichissement (Depuis Aout 2010) **/
$iClient=0;

View File

@ -52,13 +52,13 @@ Scorer toute la base entreprise S&D.
Options :
-t Calculer tous les scores (*)
-v Mode bavard ou debug
-r Recalculer tous les scores avec indiscore>0 et un encours à 0 !
-r Recalculer tous les scores avec indiscore>0 et un encours à 0 !
-a Calculer tous les anciens ou nouveaux scores
-l Lister les déclencheurs existants pour le recalcul des scores
-d:XXX Lancer le calcul des scores pour le déclencheur XXX
-l Lister les déclencheurs existants pour le recalcul des scores
-d:XXX Lancer le calcul des scores pour le déclencheur XXX
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
(*) Option par défaut si aucun argument n'est passé.
";/* -e:X Calculer pour les X derniers exercices (3 par défaut)
-f Calculer les scores financiers
*/
for ($i=1; isset($argv[$i]); $i++) {
@ -121,7 +121,7 @@ for ($i=1; isset($argv[$i]); $i++) {
$strSelect="s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, s.dateUpdate, s.cs, s.csMoisMaj, s.csMoisFin";
$tabQueries=array(
/* Bilans Asso déposé(s) */
/* Bilans Asso déposé(s) */
'bilansasso'=> "SELECT $strSelect, 'bilansasso' as source FROM scores_surveillance s, asso_bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
//asso_bilans', 'dateCloture, dateCloture*1 as dateClotureNum', "siren=$siren ORDER BY DESC LIMIT 0,5", true, MYSQL_ASSOC);
/* Privileges Infogreffe */
@ -132,7 +132,7 @@ $tabQueries=array(
'impayes'=> "SELECT $strSelect, 'impayes' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='I' AND s.procol NOT IN('P') GROUP BY siren",
/* Ajout d'un nouveau score */
'ajout'=> "SELECT $strSelect, 'ajout' AS source FROM scores_surveillance s WHERE s.siren>1000 AND ((DATEDIFF(NOW(),s.indiScoreDate) IS NULL AND s.dateUpdate<DATE(NOW()) OR s.indiScoreDate=0)) GROUP BY siren",
/* IndiScores demandés ce jour */
/* IndiScores demandés ce jour */
'jour'=> "SELECT $strSelect, 'jour' AS source FROM scores_surveillance s, sdv1.`logs` l WHERE l.siren>1000 AND s.siren=l.siren AND l.page='indiscore' AND l.dateHeure>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
/* Dirigeants */
'dirigeants'=> "SELECT $strSelect, 'dirigeants' AS source FROM scores_surveillance s, rncs_dirigeants d WHERE d.siren>1000 AND s.siren = d.siren AND (d.dateInsert>s.dateUpdate OR d.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
@ -146,7 +146,7 @@ $tabQueries=array(
'collecte'=> "SELECT $strSelect, 'collecte' as source FROM scores_surveillance s, annonces b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') /*AND b.typeEven NOT IN(3200)*/ GROUP BY siren",
/* Bilans en base */
'bilans1'=> "SELECT $strSelect, 'bilans1' as source FROM scores_surveillance s, bilans b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND (DATEDIFF(b.dateExercice,s.dateBilan)>1 OR DATEDIFF(b.dateExercice,s.dateBilan) IS NULL) AND s.procol NOT IN('P') GROUP BY siren",
/* Défaut divers Facto (D:Défaut, 24:Groupe en diff, 31:Cessation Annoncée, 50:Terrorisme)*/
/* Défaut divers Facto (D:Défaut, 24:Groupe en diff, 31:Cessation Annoncée, 50:Terrorisme)*/
'defaut'=> "SELECT $strSelect, 'defaut' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs IN ('D','24','31','50') AND s.procol NOT IN('P') GROUP BY siren",
/* RAS Facto */
'regulier'=> "SELECT $strSelect, 'regulier' AS source FROM jo.scores_surveillance s, sdv1.ge_cs2 p WHERE p.siren>1000 AND s.siren = p.siren AND (p.dateInsert>=s.dateUpdate OR p.dateConf>=s.dateUpdate) AND p.cs='00' AND s.procol NOT IN('P') GROUP BY siren",
@ -157,7 +157,7 @@ $tabQueries=array(
/** @todo A revoir
**/
/* Bilans déposés */
/* Bilans déposés */
// 'bilans2'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'bilans2' as source, s.dateUpdate FROM scores_surveillance s, bilans_deposes b WHERE b.siren>1000 AND s.siren=b.siren AND b.dateInsert>s.dateUpdate AND s.procol NOT IN('P') GROUP BY siren",
/* Liens fianciers */
// 'liens'=>"SELECT s.siren, s.actif, s.procol, s.indiScore, s.indiScore20, s.encours, s.indiScoreDate, scoreSolv, scoreConf, scoreDir, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, 'liens' as source, s.dateUpdate FROM scores_surveillance s, liens l WHERE l.siren>1000 AND (s.siren=l.Siren1 OR s.siren=l.Siren2) AND (l.dateInsert>s.dateUpdate OR l.dateUpdate>s.dateUpdate) AND s.procol NOT IN('P') GROUP BY siren",
@ -175,13 +175,13 @@ if ($listeDeclencheur) {
echo "\t- $key".EOL;
die();
}
echo date('Y/m/d - H:i:s') ." - Recherche des scores susceptibles d'avoir changés par déclencheur...".EOL;
echo date('Y/m/d - H:i:s') ." - Recherche des scores susceptibles d'avoir changés par déclencheur...".EOL;
$nbScoresSans=$nbScoresModif=$nbScoresNouv=$nbScoresProcol=$iRow=$nbRowsTot=0;
foreach ($tabQueries as $declencheur=>$query) {
if ($forceDeclencheur && $declencheur<>$forceDeclencheur) continue;
echo date('Y/m/d - H:i:s') ." - Recherche par le déclencheur '$declencheur'...";
echo date('Y/m/d - H:i:s') ." - Recherche par le déclencheur '$declencheur'...";
$res=$iDb->query($query);
echo mysql_error().EOL;
@ -189,7 +189,7 @@ foreach ($tabQueries as $declencheur=>$query) {
$nbRowsTot+=$nbRows;
@$tabNbRows[$declencheur]++;
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows scores à recalculer par '$declencheur'...".EOL;
echo date('Y/m/d - H:i:s') ." - Il y a $nbRows scores à recalculer par '$declencheur'...".EOL;
//die();
while($entrep=$iDb->fetch(MYSQL_ASSOC)) {
$iRow++;
@ -205,7 +205,7 @@ foreach ($tabQueries as $declencheur=>$query) {
$nbModifs = ($entrep['nbModifs']*1)+1;
if ($procol=='P') {
$nbScoresProcol++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScorePre / 100 ($encoursPre EUR) inchangé depuis $dateScore (Source=$sourceModif) car ProCol.".EOL;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScorePre / 100 ($encoursPre EUR) inchangé depuis $dateScore (Source=$sourceModif) car ProCol.".EOL;
continue;
}
//echo date('Y/m/d - H:i:s') ." - Siren $siren : AVANT SCORE".EOL;
@ -226,14 +226,14 @@ foreach ($tabQueries as $declencheur=>$query) {
$encours ==$encoursPre &&
$dateScore<>0 ) {
$nbScoresSans++;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScore / 100 ($encours EUR) inchangé depuis $dateScore (Source=$sourceModif).".EOL;
if ($modeDebug) echo date('Y/m/d - H:i:s') ." - Ligne $iRow/$nbRowsTot - Siren $siren : $indiScore / 100 ($encours EUR) inchangé depuis $dateScore (Source=$sourceModif).".EOL;
$tabUpdate2=array('sourceModif'=>$sourceModif, 'nbModifs'=>$nbModifs);
if (!$iDb2->update('scores_surveillance', $tabUpdate2, "siren=$siren")) {
print_r($tabUpdate2);
die("Erreur SQL sur la mise à jour de la date de dernière vérif du score pour le siren $siren");
die("Erreur SQL sur la mise à jour de la date de dernière vérif du score pour le siren $siren");
}
/*print_r($tabUpdate2);
echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL;
echo 'Erreur SQL n° '.mysql_errno().' : '.mysql_error().EOL;
*/
} else {
if ($dateScore==0) {
@ -310,7 +310,7 @@ foreach ($tabQueries as $declencheur=>$query) {
if (!$iDb2->update('scores_surveillance', $tabUpdate, "siren=$siren")) {
print_r($tabUpdate);
echo mysql_error().EOL;
die(date ('Y/m/d - H:i:s') . " - Erreur SQL sur la mise à jour du score pour le siren $siren".EOL);
die(date ('Y/m/d - H:i:s') . " - Erreur SQL sur la mise à jour du score pour le siren $siren".EOL);
}
// Historisation du score
if (!$iDbHisto->insert('scores_surveillance', $tabUpdate)) {
@ -322,10 +322,10 @@ foreach ($tabQueries as $declencheur=>$query) {
if (date('Hi')*1>=430 && date('Hi')*1<=700) break 2;
}
}
$message =date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés .................. $nbScoresSans / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés car procol ....... $nbScoresProcol / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores ajoutés .................... $nbScoresNouv / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores modifiées .................. $nbScoresModif / $nbRowsTot.".EOL;
$message =date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés .................. $nbScoresSans / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores inchangés car procol ....... $nbScoresProcol / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores ajoutés .................... $nbScoresNouv / $nbRowsTot.".EOL;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de scores modifiées .................. $nbScoresModif / $nbRowsTot.".EOL;
foreach($tabNbRows as $declencheur=>$nbTot) {
$nbModifs=$tabNbScoresModif[$declencheur]*1;
$message.=date ('Y/m/d - H:i:s') . " - Nombre de modifs par '$declencheur'\t...... $nbModifs / $nbTot.".EOL;

View File

@ -16,13 +16,13 @@ include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Mise à jour quotidienne des scores secteurs / profils entreprise S&D.
Mise à jour quotidienne des scores secteurs / profils entreprise S&D.
Options :
-d:SSAAMMJJ Initialiser tous les scores secteurs depuis SSAAMMJJ
-f:SSAAMMJJ Initialiser tous les scores secteurs jusqu'au SSAAMMJJ
-p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois)
-s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois)
-p Initialiser les scores profils mensuels (à défaut, seulement le 1er du mois)
-s Initialiser les scores secteurs mensuels (à défaut, seulement le 1er du mois)
-v Mode bavard
";
@ -72,27 +72,27 @@ function getNaf5($naf4ou5) {
return $tabTmp[0]['nafOut'];
}
echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL;
echo date ('Y/m/d - H:i:s')." - Début du traitement.".EOL;
/** Recherche de la dernière date de MAJ
/** Recherche de la dernière date de MAJ
**/
if (!$dateDeb) {
echo date ('Y/m/d - H:i:s')." - Préparation des procédures à vérifier.".EOL;
echo date ('Y/m/d - H:i:s')." - Préparation des procédures à vérifier.".EOL;
$tabLast=$iDb->select( 'scores_secteurs',
'max(dateUpdate) AS lastUpdate, max(dateInsert) AS lastInsert',
'1');
$lastUpdate=$tabLast[0]['lastInsert'];
if ($tabLast[0]['lastUpdate']>$lastUpdate) $lastUpdate=$tabLast[0]['lastUpdate'];
echo date('Y/m/d - H:i:s') ." - La dernière vérification des procédures date de $lastUpdate !".EOL;
echo date('Y/m/d - H:i:s') ." - La dernière vérification des procédures date de $lastUpdate !".EOL;
} else {
$lastUpdate=WDate::dateT('Ymd', 'Y-m-d', $dateDeb).' 00:00:00';
if ($dateFin) {
$strDateFin=" AND (dateInsert<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' OR
dateUpdate<='".WDate::dateT('Ymd', 'Y-m-d', $dateFin)." 23:59:59' ) ";
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs du $lastUpdate au $dateFin !".EOL;
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs du $lastUpdate au $dateFin !".EOL;
} else {
$strDateFin='';
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs depuis le $lastUpdate !".EOL;
echo date('Y/m/d - H:i:s') ." - Réinitialisation des stats secteurs depuis le $lastUpdate !".EOL;
}
}
@ -101,7 +101,7 @@ if (!$dateDeb) {
**/
if (DAY*1==1 || $initStatSecteur) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs mensuelles.".EOL;
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs mensuelles.".EOL;
$fields='ape_entrep, COUNT(*) AS nbEntrep';
$where="source=2 AND actif=1 AND siege=1 GROUP BY ape_entrep ORDER BY ape_entrep ASC";
@ -111,7 +111,7 @@ if (DAY*1==1 || $initStatSecteur) {
$tabTmp=$iDb->select('etablissements', $fields, $where, false, MYSQL_ASSOC);
$nbApe=count($tabTmp);
echo date ('Y/m/d - H:i:s')." - Il y a $nbApe stats secteurs mensuelles à initialiser...".EOL;
echo date ('Y/m/d - H:i:s')." - Il y a $nbApe stats secteurs mensuelles à initialiser...".EOL;
$annee=YEAR;
$mois=MONTH;
@ -132,18 +132,18 @@ if (DAY*1==1 || $initStatSecteur) {
}
}
echo date ('Y/m/d - H:i:s')." - $nbInsert secteurs initialisées et $nbUpdate mis à jour.".EOL;
echo date ('Y/m/d - H:i:s')." - $nbInsert secteurs initialisées et $nbUpdate mis à jour.".EOL;
}
if (DAY*1==1 || $initStatProfil) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats profils mensuelles.".EOL;
echo date ('Y/m/d - H:i:s')." - Préparation des stats profils mensuelles.".EOL;
/** Initialisation des scores profils **/
//$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, SUBSTRING(CJ,1,2) as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep',
$nbPro=$iDb->select('insee.identite', 'APE_ENT, IF(ADR_DEP=97 OR ADR_DEP=98, SUBSTRING(ADR_CP,1,3), ADR_DEP) AS dep, CJ as FJur, ROUND(if(DCRET>DCREN,DCRET/10000,DCREN/10000)) as anneeCrea, TEFF_ENT, TCA, count(*) as nbEntrep',
"SIEGE=1 AND ACTIF=1 GROUP BY APE_ENT, dep, FJur, anneeCrea, TCA", false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbPro stats profils mensuelles à initialiser...".EOL;
echo date ('Y/m/d - H:i:s')." - Il y a $nbPro stats profils mensuelles à initialiser...".EOL;
$annee=YEAR;
$mois=MONTH;
$nbInsert=$nbUpdate=0;
@ -173,16 +173,16 @@ if (DAY*1==1 || $initStatProfil) {
$nbUpdate++;
}
}
echo date ('Y/m/d - H:i:s')." - $nbInsert profils initialisées et $nbUpdate mis à jour.".EOL;
echo date ('Y/m/d - H:i:s')." - $nbInsert profils initialisées et $nbUpdate mis à jour.".EOL;
}
if (!$initStatProfil && !$initStatSecteur) {
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les interdictions quotidiennes.".EOL;
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les interdictions quotidiennes.".EOL;
$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
/** Mise à jour des Jugements FP IG **/
/** Mise à jour des Jugements FP IG **/
$nbAnnonces=$iDb->select(
'bodacc_detail',
'siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert, dateUpdate',
@ -191,7 +191,7 @@ $nbAnnonces=$iDb->select(
(typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%')
ORDER BY dateSource ASC;",
false, MYSQL_ASSOC, true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'interdictions à vérifier...".EOL;
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'interdictions à vérifier...".EOL;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$siren=$annonce['siren'];
$typeEven=$annonce['typeEven'];
@ -213,7 +213,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
$trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **/
/** Mise à jour des scores secteurs **/
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
$tabTmp=$iDb2->select( 'scores_secteurs',
'nbInter, nbEntrep, annee, mois',
@ -239,7 +239,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
}
if ($modeDebug) echo EOL;
/** Mise à jour des scores profils **/
/** Mise à jour des scores profils **/
if ($modeDebug) echo "IGFP $siren\t$typeEven\t$dateJuge\t$dateInsert ";
$tabTmp=$iDb2->select( 'scores_profils',
'nbInter, nbEntrep, annee, mois',
@ -270,7 +270,7 @@ while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
}
if ($modeDebug) echo EOL;
}
echo date ('Y/m/d - H:i:s')." - Interdictions : $nbAnnonces annonces vérifiées.".EOL;
echo date ('Y/m/d - H:i:s')." - Interdictions : $nbAnnonces annonces vérifiées.".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ.".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ.".EOL;
@ -281,69 +281,69 @@ echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les inter
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
echo date ('Y/m/d - H:i:s')." - Préparation des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
$nbDejaProcol=$nbNouvProcol=$nbInsertSecteur=$nbUpdateSecteur=$nbInsertProfil=$nbUpdateProfil=0;
/** Initialisation des scores secteurs **/
$query="(SELECT siren, sirenValide, typeEven, dateJugement, Bodacc_Date_Parution AS dateSource, dateInsert FROM bodacc_detail WHERE siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND ( typeEven LIKE '%1100%' OR typeEven LIKE '%1101%' OR typeEven LIKE '%1200%' OR typeEven LIKE '%1201%' OR typeEven LIKE '%1202%' OR typeEven LIKE '%1207%' OR typeEven LIKE '%1209%' OR typeEven LIKE '%1210%' OR typeEven LIKE '%1211%' OR typeEven LIKE '%1212%' OR typeEven LIKE '%1214%' OR typeEven LIKE '%1216%' OR typeEven LIKE '%1300%' OR typeEven LIKE '%1301%' OR typeEven LIKE '%1302%' OR typeEven LIKE '%1303%' OR typeEven LIKE '%1304%' OR typeEven LIKE '%1305%' OR typeEven LIKE '%1306%' OR typeEven LIKE '%1307%' OR typeEven LIKE '%1308%' OR typeEven LIKE '%1309%' OR typeEven LIKE '%1310%' OR typeEven LIKE '%1311%' OR typeEven LIKE '%1312%' OR typeEven LIKE '%1313%' OR typeEven LIKE '%1410%' OR typeEven LIKE '%1415%' OR typeEven LIKE '%1416%' OR typeEven LIKE '%1417%' OR typeEven LIKE '%1418%' OR typeEven LIKE '%1419%' OR typeEven LIKE '%1507%' OR typeEven LIKE '%1515%' OR typeEven LIKE '%1540%' OR typeEven LIKE '%1541%' OR typeEven LIKE '%1542%' OR typeEven LIKE '%1543%' OR typeEven LIKE '%1544%' OR typeEven LIKE '%1545%' OR typeEven LIKE '%1546%' OR typeEven LIKE '%1550%' OR typeEven LIKE '%1600%' OR typeEven LIKE '%1601%' OR typeEven LIKE '%1602%' OR typeEven LIKE '%1603%' OR typeEven LIKE '%1604%' OR typeEven LIKE '%1610%' OR typeEven LIKE '%1611%' OR typeEven LIKE '%1999%' ))
UNION
(SELECT siren, sirenValide, typeEven, dateJugement, dateSource, dateInsert FROM annonces where siren>1000 AND dateInsert>'$lastUpdate' $strDateFin AND dateJugement>='2005-01-01' AND typeEven IN (1100,/*Ouverture sauvegarde*/
1101,/*Jugement arrêtant plan de sauvegarde*/
1101,/*Jugement arrêtant plan de sauvegarde*/
1200,/*Redressement Judiciaire*/
1201,/*Conversion sauvegarde en Redressement Judiciaire*/
1202,/*Renouvellement de la période d'observation*/
1207,/*Règlements amiables*/
1209,/*Règlement judiciaire*/
1210,/*Production de titres et créances*/
1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/
1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/
1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/
1216,/*Autre avis de dépôt*/
1202,/*Renouvellement de la période d'observation*/
1207,/*Règlements amiables*/
1209,/*Règlement judiciaire*/
1210,/*Production de titres et créances*/
1211,/*Redressement Judiciaire par extension au(x) gérant(s)*/
1212,/*Réforme de Liquidation Judiciaire en Redressement Judiciaire*/
1214,/*Avis de dépôt de l'état des créances (Loi de 1985)*/
1216,/*Autre avis de dépôt*/
1300,/*Conversion Redressement Judiciaire en Liquidation Judiciaire*/
1301,/*Ouverture Liquidation Judiciaire*/
1302,/*Ouverture Liquidation Judiciaire Simplifiée*/
1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/
1304,/*Réouverture Liquidation Judiciaire*/
1302,/*Ouverture Liquidation Judiciaire Simplifiée*/
1303,/*Ouverture Liquidation Judiciaire sur résolution du plan*/
1304,/*Réouverture Liquidation Judiciaire*/
1305,/*Liquidation Judiciaire*/
1306,/*Liquidation Judiciaire simplifiée*/
1306,/*Liquidation Judiciaire simplifiée*/
1307,/*Conversion sauvegarde en Liquidation Judiciaire*/
1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/
1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/
1310,/*Procédure d'insolvabilité européenne*/
1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/
1308,/*Fin du régime de Liquidation Judiciaire Simplifiée*/
1309,/*Conversion Liquidation Judiciaire en Liquidation Judiciaire Simplifiée*/
1310,/*Procédure d'insolvabilité européenne*/
1311,/*Liquidation Judiciaire par extension au(x) gérant(s)*/
1312,/*Liquidation Judiciaire avec continuation d'exploitation*/
1313,/*Liquidation Judiciaire sans remise des accessoires*/
1410,/*Suite règlement/liquidation*/
1410,/*Suite règlement/liquidation*/
1415,/*Prolongement du plan cession*/
1416,/*Jugement constatant la bonne exécution du plan*/
1416,/*Jugement constatant la bonne exécution du plan*/
1417,/*Jugement d'extension de liquidation judiciaire*/
1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/
1419,/*Jugement d'extension d'une procédure de sauvegarde*/
1507,/*Extrait d'arrêt de la cour d'appel*/
1515,/*Arrêt divers*/
1540,/*Ordonnance statuant sur les contestations du projet de répartition*/
1541,/*Rétractation de prononcé de liquidation judiciaire sur tierce opposition*/
1542,/*Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition*/
1543,/*Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition*/
1544,/*Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition*/
1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/
1546,/*Autre rétractation sur tierce opposition*/
1418,/*Jugement d'extension d'une procédure de redressement judiciaire*/
1419,/*Jugement d'extension d'une procédure de sauvegarde*/
1507,/*Extrait d'arrêt de la cour d'appel*/
1515,/*Arrêt divers*/
1540,/*Ordonnance statuant sur les contestations du projet de répartition*/
1541,/*Rétractation de prononcé de liquidation judiciaire sur tierce opposition*/
1542,/*Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition*/
1543,/*Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition*/
1544,/*Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition*/
1545,/*Rétractation de jugement d'ouverture sur tierce opposition*/
1546,/*Autre rétractation sur tierce opposition*/
1550,/*Jugement d'homologation de l'accord*/
1600,/*Faillite personnelle*/
1601,/*Interdiction de gérer*/
1602,/*Jugement de réhabilitation*/
1601,/*Interdiction de gérer*/
1602,/*Jugement de réhabilitation*/
1603,/*Liquidation de biens*/
1604,/*Banqueroute
1605,/*Jugement autorisant la reprise des poursuites individuelles*/
1610,/*Faillite personnelle (Loi de 1985)*/
1611,/*Interdiction de gérer (Loi de 1985)*/
1999 /*Autre procédure collective*/ )
1611,/*Interdiction de gérer (Loi de 1985)*/
1999 /*Autre procédure collective*/ )
) ORDER BY dateSource ASC;";
if ($modeDebug) echo date ('Y/m/d - H:i:s')." - $query".EOL;
$res=$iDb->query($query);
$nbAnnonces=mysql_num_rows($res);
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'ouverture à vérifier...".EOL;
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces annonces d'ouverture à vérifier...".EOL;
$sirenPre=false;
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
@ -396,7 +396,7 @@ $nbProcol=mysql_num_rows($res2);
$trEff=$tabIdentite['EffEnTr'];
$trCA=$tabIdentite['TrancheCA'];
/** Mise à jour des scores secteurs **/
/** Mise à jour des scores secteurs **/
$tabTmp=$iDb2->select( 'scores_secteurs',
'nbProcol, nbEntrep, annee, mois',
"naf5='$naf' AND annee=$annee AND mois=$mois",
@ -421,7 +421,7 @@ $nbProcol=mysql_num_rows($res2);
}
if ($modeDebug) echo EOL;
/** Mise à jour des scores profils **/
/** Mise à jour des scores profils **/
if ($modeDebug) echo "ProCol $siren\t$typeEven\t$dateJuge\t$dateInsert NOUVELLE PROCEDURE ";
$tabTmp=$iDb2->select( 'scores_profils',
@ -460,12 +460,12 @@ $nbProcol=mysql_num_rows($res2);
$sirenPre=$siren;
}
echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL;
echo date ('Y/m/d - H:i:s')." - Procédures Collectives : $nbNouvProcol entreprises In Bonis sur $nbAnnonces annonces ($nbDejaProcol déjà en ProCol).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Secteurs : $nbInsertSecteur ajouts et $nbUpdateSecteur MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Stats Profils : $nbInsertProfil ajouts et $nbUpdateProfil MAJ pour $nbNouvProcol nouv. ProCol ($nbAnnonces annonces vérifiées).".EOL;
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
echo date ('Y/m/d - H:i:s')." - Fin des stats secteurs et profils pour les Procédures quotidiennes.".EOL;
}

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