Update Metier libraries

This commit is contained in:
Michael RICOIS 2013-12-17 09:54:44 +00:00
parent 1391d77641
commit ea76c2dfd9
73 changed files with 26301 additions and 115873 deletions

View File

@ -254,14 +254,14 @@ class Metier_Infogreffe
* version => pdf version
* size => pdf filesize
*/
protected function pdfInfos($pdf)
public function pdfInfos($pdf)
{
if ( false !== ( $file = file_get_contents( $pdf ) ) ) {
//Number of page
$pages = preg_match_all( "/\/Page\W/", $file, $matches );
//Pdf Version
preg_match("/^\%PDF\-(.*)\s/U", $buffer, $matches);
preg_match("/^\%PDF\-(.*)\s/U", $file, $matches);
$version = $matches[1];
//Pdf size

View File

@ -13,6 +13,12 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
*/
public $db;
/**
* consolides|sociaux
* @var string
*/
public $type_comptes;
/**
*
* @param string $siren
@ -180,12 +186,11 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
* @todo : Vérifier fonctionnement
* @param string $dateCloture
* @param string $type
* @param string $email
* @param string $reference
* @throws Exception
* @return unknown
* @return boolean
*/
public function getCommandeC($dateCloture = null, $type = 'sociaux', $email = '', $reference = '')
public function getCommandeC($dateCloture = null, $type = 'sociaux', $reference = '')
{
$this->mode_diffusion = 'C';
@ -204,36 +209,7 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
throw new Exception('Not exist');
}
/*
- Importer table commandes
- Renommer en table greffes_commandes
- Supprimer colonnes idUser, typeCommande
- Ajouter colonnes typeDocument, raisonSociale, refClient
*/
//Attention, si mode diffusion vide => alors faire commande courrier SD
//Enregistrer la commande dans la base de données
// commandes => Créer la table dans BigData
// id => id de la commande
// login => login
// email => email de l'utilisateur
// Ajouter référence client
// typeDocument => BI, AC ($this->type_document)
// siren => siren de la société
// raisonSociale => RS de la société getIdentiteLight()
// refDocument =>
// libDocument =>
// commentaire =>
// dateCommande =>
// dateReception =>
//Récuperer l'id de commande - depuis la base de données
$this->reference_client = 'G'.$id;
$this->reference_client = $reference;
//Générer les paramètres de commande depuis la base de données
$this->greffe = $row->numGreffe;
@ -248,9 +224,10 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$xml = $this->callRequest();
} catch(Exception $e) {
//@todo : Gestion des erreurs
return false;
}
return $id;
return true;
}
/**
@ -330,9 +307,9 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$date = $bilan['date_cloture_iso'];
if( !empty($date) )
{
$datef = substr($date,0,4).substr($date,5,2).substr($date,8,2);
//Affectation liste générale avec un index permettant le tri
$bilans[$datef] = $bilan;
$key = substr($date,0,4).substr($date,5,2).substr($date,8,2).'-'.$bilan['num_depot'];
//Affectation liste générale avec un index permettant le tri
$bilans[$key] = $bilan;
}
}
}
@ -423,18 +400,20 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
* @param string $version
* @return boolean
*/
protected function dbSetFile($filename, $size, $numberOfPage, $version)
public function dbSetFile($filename, $size, $numberOfPage, $version)
{
$data = array(
'pdfLink' => $filename,
'pdfSize' => $size,
'pdfPage' => $numberOfPage,
'pdfVer' => $version
'pdfVer' => $version,
'pdfDate' => date('Ymd'),
);
$where = array(
'siren="'.$this->siren."'",
'date_cloture="'.$this->date_cloture."'",
'siren='.$this->siren,
'date_cloture="'.substr($this->date_cloture,0,4).'-'.substr($this->date_cloture,4,2).'-'.substr($this->date_cloture,6,2).'"',
'type_comptes="'.$this->type_comptes.'"',
);
try {

View File

@ -0,0 +1,98 @@
<?php
class Metier_Search_Engine
{
protected $client = null;
protected $host = null;
protected $port = null;
protected $timeout = 1;
protected $offset = 0;
protected $limit = 300;
protected $max_matches = 1000;
protected $query = null;
public function __construct($version = 1)
{
//Load the API following the version
if ($version == 1){
require_once 'Vendors/sphinxapi/sphinxapi-0.9.9.php';
} elseif ($version == 2){
require_once 'Vendors/sphinxapi/sphinxapi-2.1.2.php';
}
}
/**
*
* @return boolean
*/
protected function loadClient()
{
if ( null === $this->host ) {
return false;
}
if ( null === $this->port ) {
return false;
}
$this->client = new SphinxClient();
$this->client->SetServer( $this->host, $this->port );
$this->client->SetConnectTimeout( $timeout );
return true;
}
/**
*
* @param unknown $value
*/
protected function setHost($value)
{
$this->host = $value;
}
/**
*
* @param unknown $value
*/
protected function setPort($value)
{
$this->port = $value;
}
/**
*
* @param unknown $value
*/
protected function setOffset($value)
{
$this->offset = $value;
}
/**
*
* @param unknown $value
*/
protected function setLimit($value)
{
$this->limit = $value;
}
/**
*
* @param unknown $value
*/
protected function setMaxMatches($value)
{
$this->max_matches = $value;
}
/**
*
*/
protected function constructQuery($p)
{
$this->query = $p;
}
}

View File

@ -94,7 +94,7 @@ return array(
1 => array( 'var' => 'IR', 'type' => 'MIN', 'value' => '2'),
2 => array( 'var' => 'IR', 'type' => 'MAX', 'value' => '5'),
3 => array( 'var' => 'ContratAge', 'type' => 'MIN', 'value' => '36'),
4 => array( 'var' => 'Indiscore', 'type' => 'MAX', 'value' => '7'),
4 => array( 'var' => 'Indiscore', 'type' => 'MIN', 'value' => '7'),
),
),
8 => array(

View File

@ -15,6 +15,18 @@ class Metier_Sfr
*/
protected $version = '1.0';
/**
* Put in error when not calculated
* @var boolean
*/
public $notCalculateInError = false;
/**
* Force la récupération de l'identite et de toutes les valeurs
* @var boolean
*/
public $forceIdentite = false;
/**
* Debug mode
* @var boolean
@ -198,7 +210,7 @@ class Metier_Sfr
/**
* Liste des NAFs société étrangère
* @var unknown
* @var array
*/
protected $TabEtrangerNaf = array(
'9900Z'
@ -206,7 +218,7 @@ class Metier_Sfr
/**
* Liste des FJ société étrangère
* @var unknown
* @var array
*/
protected $TabEtrangerFj = array(
'3110',
@ -359,12 +371,40 @@ class Metier_Sfr
*/
protected $ValComment = null;
/**
* Date de calcul du score
* @var string
*/
protected $ValDateCalculIndiscore = null;
/**
*
* @var unknown
*/
protected $ValDateUpdate = null;
/**
*
* @var unknown
*/
protected $dateCalculIndiscore;
protected $ValDateCrea = null;
/**
*
* @var unknown
*/
protected $ValDateImmat = null;
/**
*
* @var unknown
*/
protected $ValSituationJuridique = '';
/**
* Label of rule use
* @var unknown
*/
protected $RuleLabel = null;
//Rules
@ -385,13 +425,10 @@ class Metier_Sfr
//Charger les Tabs - ou pas
//Get default database adapter
//$this->db = Zend_Db_Table_Abstract::getDefaultAdapter();
//Charger les Rules (dans l'ordre)
$this->RulesVORP = include realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'RulesVorp-'.$this->version.'.php';
$this->RulesVORD = include realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'RulesVord-'.$this->version.'.php';
$this->RulesPO = include realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'RulesPO-'.$this->version.'.php';
$this->RulesPO = include realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'RulesPo-'.$this->version.'.php';
if ($this->debug) file_put_contents('sfr.log', "DEBUT\n");
@ -401,81 +438,200 @@ class Metier_Sfr
{
Zend_Date::setOptions(array('extend_month' => true));
if ($this->debug) file_put_contents('sfr.log', "SIREN = $siren\n", FILE_APPEND);
//Set ValContratAge
if ( !empty($this->ValContratDate) ) {
$dateContrat = new Zend_Date($this->ValContratDate, 'yyyyMMdd');
$dateNow = new Zend_Date();
$diff = $dateNow->sub($dateContrat);
$measure = new Zend_Measure_Time($diff->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValContratAge = $measure->getValue();
}
$classInsee = new MInsee();
$classInsee->AnnoncesInMemory = true;
$classInsee->AnnoncesInMemory = true;
//Identite - @todo : Gérer les erreurs techniques
$identite = $classInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
//Values are already define ?
if ( $this->ValDateCalculIndiscore === null ) {
//Naf de l'entreprise
$this->ValNAF = $identite['NafEnt'];
//Vérifier la présence d'un calcul dans la table scores_surveillances
$survM = new Application_Model_JoScoresSurveillance();
$sql = $survM->select()->where('siren=?', $siren);
$result = $survM->fetchRow($sql);
//Forme juridique de l'entreprise
$this->ValFJ = $identite['FJ']; //insee
/**
* Effectif de l'entreprise
* 1 - Chiffre au bilan
* 2 - Info insee Identite::Effectif à la centaine approché
*/
$this->ValEffectif = $identite['Effectif'];
$bilanAgeMax = 3*12; //Age maximum du dernier bilan en mois
if (!empty($identite['bilanDate']) && intval($identite['bilanYP'])>0 ) {
$dateBilan = new Zend_Date($identite['bilanDate'], 'yyyyMMdd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateBilan);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$nbMonth = $measure->getValue();
if ( $nbMonth < $bilanAgeMax ) {
$this->ValEffectif = $identite['bilanYP'];
//No results
if ( $result === null && $this->notCalculateInError ) {
return false;
}
if ($this->debug) file_put_contents('sfr.log', "Bilan : nbMonth = ".$nbMonth."\n", FILE_APPEND);
//No score
if ( intval($result->indiScoreDate) == 0 && $this->notCalculateInError ) {
return false;
}
if ( $result !== null ) {
//Indiscore - aller chercher scores dans l'historique moins de X mois
$dateUpdate = new Zend_Date(substr($result->dateUpdate,0,10), 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$diffUpdate = $dateNow->sub($dateUpdate);
$measureUpdate = new Zend_Measure_Time($diffUpdate->toValue(), Zend_Measure_Time::SECOND);
$measureUpdate->convertTo(Zend_Measure_Time::MONTH);
if ($this->debug) file_put_contents('sfr.log', "INDISCORE DIFF = " . $measureUpdate->getValue() . "\n", FILE_APPEND);
if ( $measureUpdate->getValue() <= 12 ) {
$this->ValIndiscore = $result->indiScore20;
$this->ValDateCalculIndiscore = $result->indiScoreDate;
}
//Définition des marqueurs
$this->ValNAF = $result->naf;
$this->ValFJ = $result->CJ;
$this->ValInseeActif = $result->actif;
if ( !empty($result->dateCrea) && $result->dateCrea!='0000-00-00 00:00:00' ) {
$dateC = new Zend_Date($result->dateCrea, 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
} elseif ( !empty($result->dateImmat) && $result->dateImmat!='0000-00-00 00:00:00' ) {
$dateC = new Zend_Date($result->dateImmat, 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
}
$this->SituationJuridique = $result->procol;
}
//Aucun résultat, faire le calcul || donnée manquante || force identite
if ( $this->ValNAF === null
|| $this->ValFJ === null
|| $this->ValInseeActif === null
|| $this->ValInseeAge === null
|| $this->forceIdentite === true
) {
//Identite - @todo : Gérer les erreurs techniques
$identite = $classInsee->getIdentiteEntreprise($siren, 0, 0, false, false);
//Naf de l'entreprise
$this->ValNAF = $identite['NafEnt'];
//Forme juridique de l'entreprise
$this->ValFJ = $identite['FJ']; //insee
/**
* Effectif de l'entreprise
* 1 - Chiffre au bilan
* 2 - Info insee Identite::Effectif à la centaine approché
*/
$this->ValEffectif = $identite['Effectif'];
$bilanAgeMax = 3*12; //Age maximum du dernier bilan en mois
if (!empty($identite['bilanDate']) && intval($identite['bilanYP'])>0 ) {
$dateBilan = new Zend_Date($identite['bilanDate'], 'yyyyMMdd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateBilan);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$nbMonth = $measure->getValue();
if ( $nbMonth < $bilanAgeMax ) {
$this->ValEffectif = $identite['bilanYP'];
}
if ($this->debug) file_put_contents('sfr.log', "Bilan : nbMonth = ".$nbMonth."\n", FILE_APPEND);
}
if ($this->debug) file_put_contents('sfr.log', "ValEffectif = ".$this->ValEffectif."\n", FILE_APPEND);
//Entreprise Active à l'insee
$this->ValInseeActif = $identite['Actif'];
//Age de l'entreprise en mois
if ( !empty($identite['DateCreaEn']) && $identite['DateCreaEn']!='0000-00-00 00:00:00' ) {
$dateC = new Zend_Date($identite['DateCreaEn'], 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
} elseif ( !empty($identite['dateImmat']) && $identite['dateImmat']!='0000-00-00 00:00:00' ) {
$dateC = new Zend_Date($identite['dateImmat'], 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
}
if ($this->debug) file_put_contents('sfr.log', "ValInseeAge = ".$this->ValInseeAge."\n", FILE_APPEND);
$this->ValSituationJuridique = $identite['SituationJuridique'];
}
}
if ($this->debug) file_put_contents('sfr.log', "ValEffectif = ".$this->ValEffectif."\n", FILE_APPEND);
//Entreprise Active à l'insee
$this->ValInseeActif = $identite['Actif'];
//Values are defined from outside
else {
//Age de l'entreprise en mois
$this->ValInseeAge = null; //Date création Insee (ATTENTION vide) / Date immat RNCS
//Age de l'entreprise en mois
if ( !empty($this->ValDateCrea) && $this->ValDateCrea!='0000-00-00 00:00:00' ) {
if ( !empty($identite['DateCreaEn']) && $identite['DateCreaEn']!='0000-00-00 00:00:00' ) {
$dateC = new Zend_Date($this->ValDateCrea, 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
$dateC = new Zend_Date($identite['DateCreaEn'], 'yyyy-MM-dd');
} elseif ( !empty($this->ValDateImmat) && $this->ValDateImmat!='0000-00-00 00:00:00' ) {
$dateC = new Zend_Date($this->ValDateImmat, 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
}
if ($this->debug) file_put_contents('sfr.log', "ValInseeAge = ".$this->ValInseeAge."\n", FILE_APPEND);
//Vérification validité du score
$dateUpdate = new Zend_Date(substr($this->ValDateUpdate,0,10), 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
$diffUpdate = $dateNow->sub($dateUpdate);
$measureUpdate = new Zend_Measure_Time($diffUpdate->toValue(), Zend_Measure_Time::SECOND);
$measureUpdate->convertTo(Zend_Measure_Time::MONTH);
} elseif ( !empty($identite['dateImmat']) && $identite['dateImmat']!='0000-00-00 00:00:00' ) {
if ($this->debug) file_put_contents('sfr.log', "INDISCORE DIFF = " . $measureUpdate->getValue() . "\n", FILE_APPEND);
$dateC = new Zend_Date($identite['dateImmat'], 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$difference = $dateNow->sub($dateC);
$measure = new Zend_Measure_Time($difference->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValInseeAge = $measure->getValue();
if ( $measureUpdate->getValue() > 12 ) {
$this->ValIndiscore = null;
$this->ValDateCalculIndiscore = null;
}
}
if ($this->debug) file_put_contents('sfr.log', "ValInseeAge = ".$this->ValInseeAge."\n", FILE_APPEND);
//Entreprise coté au CAC
$this->ValIsCAC = 0;
require_once 'Metier/partenaires/classMLiens2.php';
$lienM = new MLiens2($siren, 'siren');
if ( $lienM->isInGroupeCAC40() ) {
$this->ValIsCAC = 1;
}
if ($this->debug) file_put_contents('sfr.log', "CAC40 = ".$this->ValIsCAC."\n", FILE_APPEND);
//GetAnnoncesLegales
//Si procédure collective ou autre
if ( $identite['SituationJuridique']!='' ) {
if ( $this->ValInseeActif==1 && !empty($this->ValSituationJuridique) ) {
$this->ValRJ = 0; //Liste des codes - 1200
$retRJ = $classInsee->getAnnoncesLegales($siren, 0, array('1200','1201','1202','1203','1204','1205','1206','1207','1208','1209','1210','1211','1212','1214','1215','1216'));
@ -500,49 +656,31 @@ class Metier_Sfr
}
//Indiscore - aller chercher scores dans l'historique moins de 3 mois
$histo = getIndiscoreCache($siren);
if ( count($histo)>0 ) {
$dateIndiscore = new Zend_Date($histo[0]['indiScoreDate'], 'yyyy-MM-dd');
$dateUpdate = new Zend_Date(substr($histo[0]['dateUpdate'],0,10), 'yyyy-MM-dd');
$dateNow = new Zend_Date();
$diffIndiscore = $dateNow->sub($dateIndiscore);
$measureIndiscore = new Zend_Measure_Time($diffIndiscore->toValue(), Zend_Measure_Time::SECOND);
$measureIndiscore->convertTo(Zend_Measure_Time::MONTH);
$dateNow = new Zend_Date();
$diffUpdate = $dateNow->sub($dateUpdate);
$measureUpdate = new Zend_Measure_Time($diffUpdate->toValue(), Zend_Measure_Time::SECOND);
$measureUpdate->convertTo(Zend_Measure_Time::MONTH);
if ($this->debug) file_put_contents('sfr.log', "INDISCORE DIFF = ". $measureIndiscore->getValue() . ' ou ' . $measureUpdate->getValue() . "\n", FILE_APPEND);
if ( $measureIndiscore->getValue() <= 3 || $measureUpdate->getValue() <= 3 ) {
$this->ValIndiscore = $histo[0]['indiScore20'];
$this->dateCalculIndiscore = $histo[0]['indiScoreDate'];
}
//Entreprise coté au CAC
/*$this->ValIsCAC = 0;
require_once 'Metier/partenaires/classMLiens2.php';
$lienM = new MLiens2($siren, 'siren');
if ( $lienM->isInGroupeCAC40() ) {
$this->ValIsCAC = 1;
}
if ($this->debug) file_put_contents('sfr.log', "CAC40 = ".$this->ValIsCAC."\n", FILE_APPEND);
*/
//Si Indiscore = null alors calcul
if ( $this->ValIndiscore === null ) {
$indiscore = calculIndiScore($siren); // @todo : Gérer les erreurs techniques
$indiscore = calculIndiScore($siren, '', false, 0); // @todo : Gérer les erreurs techniques
$this->ValIndiscore = $indiscore['Indiscore20'];
$this->dateCalculIndiscore = date('Y-m-d');
$this->ValDateCalculIndiscore = date('Y-m-d');
}
if ($this->debug) file_put_contents('sfr.log', "INDISCORE = ".$this->ValIndiscore."\n", FILE_APPEND);
//Set ValContratAge
if ( $this->ValContratDate !== null ) {
$dateContrat = new Zend_Date($this->ValContratDate, 'yyyyMMdd');
$dateNow = new Zend_Date();
$diff = $dateNow->sub($dateContrat);
$measure = new Zend_Measure_Time($diff->toValue(), Zend_Measure_Time::SECOND);
$measure->convertTo(Zend_Measure_Time::MONTH);
$this->ValContratAge = $measure->getValue();
//Vérification des valeurs avant traitement
$verif = array('NAF', 'FJ', 'InseeActif', 'InseeAge');
foreach($verif as $val) {
if ( $this->{'Val'.$val} === null ) {
if ($this->debug) file_put_contents('sfr.log', "ERREUR = ".$val."\n", FILE_APPEND);
return false;
}
}
//Rules
@ -551,6 +689,7 @@ class Metier_Sfr
$this->rules($type);
}
return true;
}
/**
@ -786,7 +925,7 @@ class Metier_Sfr
public function getDateCalculIndiscore()
{
return $this->dateCalculIndiscore;
return $this->ValDateCalculIndiscore;
}
public function getValDebug()
@ -808,22 +947,28 @@ class Metier_Sfr
'ValInseeAge' => $this->ValInseeAge,
'ValEntrepRecente' => $this->ValEntrepRecente,
'ValContratAge' => $this->ValContratAge,
'dateCalculIndiscore' => $this->dateCalculIndiscore,
'ValDateCalculIndiscore' => $this->ValDateCalculIndiscore,
'Rule' => $this->RuleLabel,
);
}
public function setVal($name, $value)
{
if ( empty($value) ) {
if ( in_array($name, array(
'TypeEntrep',
'NAF',
'FJ',
'InseeAge',
'DateCalculIndiscore',
'DateCrea',
'DateImmat',
'DateUpdate')) && empty($value) ) {
$this->{'Val'.$name} = self::UNDEFINE;
} else {
$this->{'Val'.$name} = $value;
}
}
/**
*
*/

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -574,8 +574,9 @@ class MBodacc
/** Initialisation du tableau privé des tribunaux **/
private function getTabTribunaux() {
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheTribunaux.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheTribunaux.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Tribunaux.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$iDb=new WDB();
$rep=$iDb->select('tribunaux', 'triCode, triNom, triCP, triSiret', "triCode IS NOT NULL");
@ -592,8 +593,9 @@ class MBodacc
/** Initialisation du tableau privé des codes fonctions de direction **/
private function getTabFctDir() {
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheFctDir.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheFctDir.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'FctDir.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$iDb=new WDB();
$rep=$iDb->select('bodacc_fonctions', 'codeFct, libelle', '1');
@ -650,8 +652,9 @@ class MBodacc
/** Initialisation du tableau privé des évènements **/
private function getTabEvenements() {
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheEvenements.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheEvenements.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Evenements.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$iDb=new WDB();
$rep=$iDb->select('tabEvenements', 'codEven, libEven, Bodacc_Code, Rubrique, version, lienEtab', '1', false, MYSQL_ASSOC);
@ -673,8 +676,9 @@ class MBodacc
/** Initialisation du tableau privé des devises du Bodacc **/
private function getTabDevises() {
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheDevises.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheDevises.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Devises.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$iDb=new WDB();
$rep=$iDb->select('bodacc_devises', 'libDeviseBodacc, devIso', '1', false, MYSQL_ASSOC);

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -1,4 +1,4 @@
<?
<?php
global $tabEvenInsee;
global $timer;
$tabEvenInsee = array(
@ -125,12 +125,6 @@ require_once 'Metier/partenaires/classMBilans.php';
class MInsee
{
/**
* Log time execution of request
* @var boolean
*/
protected $debugtime = false;
private static $tabFct=array(
'ADM'=>'Administrateur',
'ASS'=>'Associé',
@ -608,6 +602,12 @@ class MInsee
*/
public $debug = false;
/**
* Log time execution of request
* @var boolean
*/
protected $debugtime = false;
/**
* Get all annonces and keep in memroy
* @var boolean
@ -632,11 +632,8 @@ class MInsee
public function __construct()
{
$this->iDb=new WDB();
//$this->iDb->setCharSet('UTF-8');
$this->iDbInsee=new WDB('insee');
//$this->iDbInsee->setCharSet('UTF-8');
$this->iDbSD=new WDB('sdv1');
//$this->iDbSD->setCharSet('UTF-8');
$this->tabCodeVoie=$this->getTabCodeVoie();
$this->iBodacc=new MBodacc();
}
@ -1115,7 +1112,8 @@ class MInsee
** @param string Code voie
** @return string Libellé de la voie
**/
public function getCodeVoie($codeVoie) {
public function getCodeVoie($codeVoie)
{
return $this->tabCodeVoie[$codeVoie];
}
@ -1125,55 +1123,74 @@ class MInsee
private function setTabCodesNaf()
{
if (count($this->tabCodesNaf)==0) {
$tabNafs = $tabNace=array();
$tabTmp = $this->iDb->select('tabNaf4', 'codNaf700 AS naf, libNaf700 AS LibNaf', 1, false, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabNaf) {
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
}
$cacheNaf = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'CodesNaf.php';
$cacheNace = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'CodesNace.php';
if ( file_exists($cacheNaf) ) {
$this->tabCodesNaf = include $cacheNaf;
$this->tabCodesNace = include $cacheNace;
} else {
$tabNafs = $tabNace = array();
$tabTmp = $this->iDb->select('tabNaf4', 'codNaf700 AS naf, libNaf700 AS LibNaf', 1, false, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabNaf) {
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
}
$tabTmp = $this->iDb->select( 'tabNaf5', 'codNaf5 AS naf, libNaf5 AS LibNaf, codNaf1', 1, false, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabNaf) {
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
$tabNace[$tabNaf['naf']]=$tabNaf['codNaf1'].preg_replace('/^0/','',substr($tabNaf['naf'],0,4));
$tabTmp = $this->iDb->select('tabNaf5', 'codNaf5 AS naf, libNaf5 AS LibNaf, codNaf1', 1, false, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabNaf) {
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
$tabNace[$tabNaf['naf']]=$tabNaf['codNaf1'].preg_replace('/^0/','',substr($tabNaf['naf'],0,4));
}
$this->tabCodesNaf = $tabNafs;
$this->tabCodesNace = $tabNace;
}
$this->tabCodesNaf = $tabNafs;
$this->tabCodesNace = $tabNace;
}
}
/**
*
* @param unknown $code_naf
* @return array
*/
public function getLibelleNaf($code_naf)
{
if ($code_naf<>'') {
$this->setTabCodesNaf();
return $this->tabCodesNaf[$code_naf];
}
else
if ($code_naf == '')
return '';
$this->setTabCodesNaf();
return $this->tabCodesNaf[$code_naf];
}
public function getCodesNaf() {
public function getCodesNaf()
{
$this->setTabCodesNaf();
return array_keys($this->tabCodesNaf);
}
/** Initialise la table des codes NAFA rev 2
**/
private function setTabCodesNafa() {
private function setTabCodesNafa()
{
if (count($this->tabCodesNafa)==0) {
$tabNafs=array();
$tabTmp=$this->iDb->select( 'tabNafa', 'codNafa AS nafa, libNafa', 1, true, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabNaf)
$tabNafs[$tabNaf['nafa']]=$tabNaf['libNafa'];
$this->tabCodesNafa=$tabNafs;
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'CodesNafa.php';
if ( file_exists($cache) ) {
$this->tabCodesNafa = include $cache;
} else {
$tabNafs=array();
$tabTmp=$this->iDb->select( 'tabNafa', 'codNafa AS nafa, libNafa', 1, true, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabNaf)
$tabNafs[$tabNaf['nafa']]=$tabNaf['libNafa'];
$this->tabCodesNafa=$tabNafs;
}
}
}
public function getLibelleNafa($code_nafa) {
if ($code_nafa<>'') {
$this->setTabCodesNafa();
return $this->tabCodesNafa[$code_nafa];
}
else
public function getLibelleNafa($code_nafa)
{
if ($code_nafa == '')
return '';
$this->setTabCodesNafa();
return $this->tabCodesNafa[$code_nafa];
}
public function getEvenements($siren, $nic=0, $iDeb=0, $iMax=1000)
@ -1188,20 +1205,21 @@ class MInsee
$insee=$this->iDbInsee->select('insee_even', 'id, insSIREN, siretValide, insNIC, insLIBCOM, insSIEGE, insAUXILT, insORIGINE, insTEFET, insAPET700, insAPRM, insMODET, insMARCHET, insSAISONAT, insACTIVNAT, insENSEIGNE, insL1_NOMEN, insL2_COMP, insL4_VOIE, insL3_CADR, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insL5_DISP, insL6_POST, insCODPOS, insL7_ETRG, insRPET, insDEPCOM, insCODEVOIE, insDREACTET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insTEL, insCJ, insCIVILITE, insTEFEN, insAPEN700, insMODEN, insMARCHEN, insNOMEN, insTYPCREH, insEVE, insDATEVE, insTRAN, insNICTRAN, insMNICSIEGE, insMNOMEN, insMCJ, insMAPEN, insFiller1, insFiller2, insMMARCHEN, insMORDIN, insEFENCENT, insSIGLE, insNBETEXPL, insNICSIEGE, insDEPCOMEN, insFiller3, insMENSEIGNE, insMAPET, insMNATURE, insMADRESSE, insMEFET, insMSINGT, insMTELT, insMMARCHET, insMAUXILT, insSINGT, insEFETCENT, insSIRETPS, insDESTINAT, insDATEMAJ, idFlux, dirNom, dirNomUsage, dirPrenom, insDCRET, insDCREN, insPRODPART, insSIRETASS, insDREACTEN, insEXPLEN, insFiller4, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insMSIGLE, insMEXPLEN, insRPEN, insMEXPLET, insTYPETAB, insDAPEN', "insSIREN=$siren $strNic ORDER BY insDATEMAJ DESC LIMIT $iDeb, $iMax",false, MYSQL_ASSOC);
if (count($insee)>0){
foreach ($insee as $i=>$even) {
$tabSiren[$even['insDATEVE']]=array('rs'=>$even['insNOMEN'],
'sigle'=>$even['insSIGLE'],
'ape'=>$even['insAPEN700'],
'nic'=>$even['insNICSIEGE'],
'cj'=>$even['insCJ'],
);
$tabSiret[$even['insNIC']][$even['insDATEVE']]
= array('ens'=>$even['insENSEIGNE'],
'ape'=>$even['insAPET700'],
'adresse'=>$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG'],
'effectif'=>$even['insEFENCENT'].' (Tranche '.$even['insTEFET'].')',
);
}
foreach ($insee as $i=>$even) {
$tabSiren[$even['insDATEVE']] = array(
'rs'=>$even['insNOMEN'],
'sigle'=>$even['insSIGLE'],
'ape'=>$even['insAPEN700'],
'nic'=>$even['insNICSIEGE'],
'cj'=>$even['insCJ'],
);
$tabSiret[$even['insNIC']][$even['insDATEVE']] = array(
'ens'=>$even['insENSEIGNE'],
'ape'=>$even['insAPET700'],
'adresse'=>$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG'],
'effectif'=>$even['insEFENCENT'].' (Tranche '.$even['insTEFET'].')',
);
}
}
if (count($insee)>0){
foreach ($insee as $i=>$even) {
@ -1395,10 +1413,11 @@ class MInsee
return $tabRet;
}
public function getLibelleFJ($code_forme_juridique, $court=false) {
public function getLibelleFJ($code_forme_juridique, $court=false)
{
$fj=$code_forme_juridique*1;
if ($fj>0 && $fj<10000) {
$tmp=$this->iDb->select( 'tabFJur', 'libelle AS LibFJ, libelleCourt AS LibCourt', "code=$fj", false, MYSQL_ASSOC);
$tmp=$this->iDb->select('tabFJur', 'libelle AS LibFJ, libelleCourt AS LibCourt', "code=$fj", false, MYSQL_ASSOC);
$libLong =@$tmp[0]['LibFJ'];
$libCourt=@$tmp[0]['LibCourt'];
if ($court) {
@ -1415,11 +1434,21 @@ class MInsee
return 'En instance de chiffrement';
}
public function getCodesFJ() {
$tabFJ=array();
$tabTmp=$this->iDb->select('tabFJur', 'code AS FJ, libelle AS libFJ', 'code>=1000', false, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabCJ)
$tabFJ[$tabCJ['FJ']]=$tabCJ['LibFJ'];
/**
*
* @return array
*/
public function getCodesFJ()
{
$tabFJ = array();
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'CodesFJ.php';
if ( file_exists($cache) ) {
$tabFJ = include $cache;
} else {
$tabTmp=$this->iDb->select('tabFJur', 'code AS FJ, libelle AS libFJ', 'code>=1000', false, MYSQL_ASSOC);
foreach ($tabTmp as $i=>$tabCJ)
$tabFJ[$tabCJ['FJ']]=str_replace('"','\"',$tabCJ['libFJ']);
}
return array_keys($tabFJ);
}
@ -1686,7 +1715,7 @@ class MInsee
$listeEtab=$this->iDb->select('etablissements e',
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
"e.adr_comp, e.adr_cp, e.adr_ville, e.adr_dep, e.adr_com, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
"CONCAT(e.siren, e.nic) as siret, e.actif",
"TEL=$id OR FAX=$id $filtreActif ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
@ -1720,12 +1749,19 @@ class MInsee
$listeEtab=$this->iDb->select('etablissements e',
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
"e.adr_comp, e.adr_cp, e.adr_ville, e.adr_dep, e.adr_com, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, e.teff_etab, ".
"CONCAT(e.siren, e.nic) as siret, e.actif",
"autre_id IN ('$strId') $filtreActif $strDep ORDER BY siege DESC $limit", false, MYSQL_ASSOC);
}
foreach ($listeEtab as $etab) {
foreach ($listeEtab as $etab)
{
$pays = 'France';
if ( $etab['adr_dep']==99 ) {
$resultPays = $this->iDb->select("tabPays", "libPays", "codePaysInsee = ".$etab['adr_com'], false, MYSQL_ASSOC);
$pays = $resultPays[0]['libPays'];
}
$tabRet[]=array(
'Localisation'=>$etab['Loc'],
'id'=>$etab['id'],
@ -1740,6 +1776,7 @@ class MInsee
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Pays' => $pays,
'Tel'=>$etab['tel'],
'Fax'=>$etab['fax'],
'FJ'=>$etab['cj'],

View File

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

View File

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

View File

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

View File

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

View File

@ -315,7 +315,7 @@ class MFacto {
$dateMAJ = $classWDate->dateT('Y-m-d', 'M Y', $tabCS['dateAjout']);
$libProfil="En date du $dateMAJ : Contentieux importants.";
$this->risqueImpaye=true;
$this->risqueImpayeMois=WDate::dateT('Y-m', 'Ym', $tabCS['dateAjout']);
$this->risqueImpayeMois=$classWDate->dateT('Y-m', 'Ym', $tabCS['dateAjout']);
$this->profilPayeur=4;
break;
}

File diff suppressed because it is too large Load Diff

View File

@ -18,18 +18,30 @@ class MLiens2
*/
protected $db;
/**
*
* @var unknown
*/
protected $_schema = 'jo';
/**
* Array to list id find during list of childrens
* @var array
*/
protected $findId = array();
/**
* Coutry List ISO3 => Label
* @var array
*/
protected $country = null;
/**
* Stop the process to looks for company group head
* @var boolean
*/
public $stopAtFirstIsin = false;
/**
* Databas table name
* @var string
*/
protected $_schema = 'jo';
/**
*
* @param string $id
@ -46,7 +58,7 @@ class MLiens2
$this->db = $db;
Zend_Db_Table_Abstract::setDefaultAdapter($db);
}
//Get Id
if ( $type == 'siren' ) {
$this->siren = $id;
@ -86,7 +98,7 @@ class MLiens2
'dateEffetLien', 'dateInsert', 'dateUpdate'))
->where('idPar=?', $id)
->join(array('r'=>$this->_schema.'.liensRef'), 'l.idAct=r.id',
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'civilite', 'nom', 'prenom', 'nom_usage',
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'sigle', 'civilite', 'nom', 'prenom', 'nom_usage',
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays',
@ -142,7 +154,7 @@ class MLiens2
'dateEffetLien', 'dateInsert', 'dateUpdate'))
->where('idAct=?', $id)
->join(array('r'=>$this->_schema.'.liensRef'), 'l.idPar=r.id',
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'civilite', 'nom', 'prenom', 'nom_usage',
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'sigle', 'civilite', 'nom', 'prenom', 'nom_usage',
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays',
@ -217,9 +229,12 @@ class MLiens2
/**
* Retourne la maison mère
* @param int $id
* Id de la fiche de départ
* @param int $detention
* Niveau de détention (Une filiale est une entreprise détenue à plus de 50% par une autre entreprise)
* @return int
*/
public function getHead($id = null)
public function getHead($id = null, $detention = 0)
{
if ( null === $id ) {
$id = $this->idRef;
@ -237,6 +252,12 @@ class MLiens2
//Don't through again and again
if ( in_array($item->idAct, $this->findId) ) {
return $item->idAct;
} elseif ( $this->stopAtFirstIsin === true && !empty($item->isin)) {
break;
}
//Remove physical person
elseif ( $item->PpPm == 'PP' ) {
continue;
}
//Same id
elseif ( $item->idAct == $id ) {
@ -244,15 +265,15 @@ class MLiens2
}
//PDetention>50
elseif ( $item->PDetention > 50 && $item->idAct > 1000 ) {
return $this->getHead($item->idAct);
return $this->getHead($item->idAct, $detention);
}
//MajMin=+
elseif ( $item->MajMin == '+' && $item->idAct > 1000 ) {
return $this->getHead($item->idAct);
elseif ( $item->PDetention > $detention && $item->MajMin == '+' && $item->idAct > 1000 ) {
return $this->getHead($item->idAct, $detention);
}
//--
elseif ( $item->idAct > 1000 ) {
return $this->getHead($item->idAct);
elseif ( $item->PDetention > $detention && $item->idAct > 1000 ) {
return $this->getHead($item->idAct, $detention);
}
}
}
@ -273,7 +294,7 @@ class MLiens2
$refM = new Application_Model_JoLiensRef();
$row = $refM->find($id);
if (null !== row) {
if (null !== $row) {
return $row->current();
}
}
@ -286,11 +307,22 @@ class MLiens2
*/
public function getTree( $pctMin=33, $nbNiveaux=10 )
{
//Récupération de la maison mère
$id = $this->getHead();
//Get identity to stop at isin
$itemWithIsin = null;
if ( $this->stopAtFirstIsin === true ) {
$id = $this->idRef;
$identity = $this->getIdentity($this->idRef);
if ( !empty($identity->isin) ) {
$itemWithIsin = true;
}
}
//Informations de la maison mère
$identity = $this->getIdentity($id);
if ( $itemWithIsin !== true ) {
//Récupération de la maison mère
$id = $this->getHead(null, 50);
//Informations de la maison mère
$identity = $this->getIdentity($id);
}
$this->findId = array();
$this->findId[] = $identity->id;
@ -300,13 +332,22 @@ class MLiens2
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
}
if ( $this->country === null ) {
$this->country = $this->getCountry();
}
$pays = $identity->adresse_pays;
if ( array_key_exists($identity->adresse_pays, $this->country) ) {
$pays = $this->country[$identity->adresse_pays];
}
//Retour
$tabRet = array (
'id' => $identity->id,
'name' => $nom,
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
'pmin' => $item->PDetention,
'pays' => $identity->adresse_pays,
'pays' => $pays,
'children' => $this->getTreeRecursive($identity->id, $pctMin, 1, $nbNiveaux),
);
@ -338,12 +379,21 @@ class MLiens2
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
}
if ($this->country === null) {
$this->country = $this->getCountry();
}
$pays = $identity->adresse_pays;
if ( array_key_exists($identity->adresse_pays, $this->country) ) {
$pays = $this->country[$identity->adresse_pays];
}
$data = array (
'id' => $identity->id,
'name' => $nom,
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
'pmin' => $item->PDetention,
'pays' => $identity->adresse_pays,
'pays' => $pays,
'children' => array(),
);
//Pour éviter d'avoir des boucles infinis
@ -357,26 +407,26 @@ class MLiens2
}
return $tabRet;
}
/**
*
*
* @return multitype:NULL
*/
public function getCAC40()
{
$sql = "SELECT isin, nom, MAX(`date`) AS dateMAJ FROM sdv1.bourse_listes WHERE lstCode='xcac40p' GROUP BY lstCode, isin HAVING MAX(`date`) ORDER BY dateMAJ DESC;";
$result = $this->db->query($sql);
$output = array();
foreach ( $result as $item ) {
$output[] = $result->isin;
$output[] = $item->isin;
}
return $output;
}
/**
*
*
* @param number $pctMin
* @return array
*/
@ -384,7 +434,7 @@ class MLiens2
{
$listeIsin = $this->getCAC40();
$isin = implode(",",$listeIsin);
$refM = new Application_Model_JoLiensRef();
$sql = $refM->select()
->where("idLoc1Type=63")->where("idLoc1Num IN (?)", $isin)
@ -392,26 +442,26 @@ class MLiens2
->orWhere("idLoc3Type=63")->where("idLoc3Num IN (?)", $isin);
$result = $refM->fetchAll($sql);
$this->findId = array();
$output = array();
if ( $result->count()>0 ) {
foreach ( $result as $item ) {
$output = $output + $this->getListeGroupeCAC40($item->id, $pctMin);
}
}
return $output;
}
/**
*
*
* @param int $id
* @param number $pctMin
* @return array
*/
public function getListeGroupeCAC40($id, $pctMin=50 )
public function getListeGroupeCAC40($id, $pctMin=50 )
{
$participations = $this->getParticipations($id, true);
$output = array();
@ -419,16 +469,16 @@ class MLiens2
foreach ( $participations as $item ) {
if ( $item->PDetention > $pctMin ) {
$identity = $this->getIdentity($item->idPar);
if ( intval($identity->siren)!=0 ) {
$output[] = $identity->siren;
}
if ( !in_array($identity->id, $this->findId) ){
$this->findId[] = $identity->id;
$output = $output + $this->getListeGroupeCAC40($identity->id, $pctMin);
}
}
}
}
@ -436,7 +486,7 @@ class MLiens2
}
/**
*
*
* @param number $pctMin
* @return boolean
*/
@ -445,14 +495,34 @@ class MLiens2
//Si pas d'actionnaires => false
if ( count($this->getActionnaires()) == 0 ) {
return false;
}
$listeInGroupeCAC40 = $this->getGroupeCAC40($pctMin);
if ( in_array($this->siren, $listeInGroupeCAC40) ) {
return true;
}
$listeInGroupeCAC40 = $this->getGroupeCAC40($pctMin);
if ( in_array($this->siren, $listeInGroupeCAC40) ) {
return true;
}
return false;
}
/**
* Get all countries
*/
protected function getCountry()
{
$countryM = new Application_Model_JoTabPays();
$sql = $countryM->select()
->from($countryM, array('codPays3', 'libPays'))
->where('codPays3 IS NOT NULL');
$rows = $countryM->fetchAll($sql);
if ( $rows !== null ) {
$data = array();
foreach($rows as $item) {
$data[$item->codPays3] = $item->libPays;
}
return $data;
}
return false;
}
}

View File

@ -1,4 +1,4 @@
<?
<?php
if ( !function_exists('htmlspecialchars_decode') )
{
function htmlspecialchars_decode($text)
@ -12,14 +12,14 @@ require_once 'framework/common/curl.php';
function supprDecimales($dec) {
if ($dec>0 )
return floor($dec);
else
else
return ceil($dec);
}
function dec2dms($dec) {
$d = supprDecimales($dec);
$m = supprDecimales(($dec - $d) * 60);
$s = abs(round(((($dec - $d) * 60) - $m) * 60));
$s = abs(round(((($dec - $d) * 60) - $m) * 60));
$m = abs($m);
return $d.'°'.$m."'".$s.'"';
}
@ -34,17 +34,17 @@ function ALG0001($phi,$e) {
/** Calcul de la latitude à partir de la latitude isométrique
**/
function ALG0002($L,$e,$epsilon) {
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
$i=0;
$i=0;
do {
$i++;
$temp = ( 1 + ( $e * sin( $phi[$i-1] ) ) ) / ( 1 - ( $e * sin( $phi[$i-1] ) ) );
$phi[$i] = 2 * atan ( pow ($temp, ($e/2)) * exp ($L) ) - pi()/2;
$i++;
$temp = ( 1 + ( $e * sin( $phi[$i-1] ) ) ) / ( 1 - ( $e * sin( $phi[$i-1] ) ) );
$phi[$i] = 2 * atan ( pow ($temp, ($e/2)) * exp ($L) ) - pi()/2;
}
while (abs($phi[$i] - $phi[$i - 1]) >= $epsilon);
while (abs($phi[$i] - $phi[$i - 1]) >= $epsilon);
return $phi[$i];
return $phi[$i];
}
/** Transformation de coordonnées en projection conique conforme de Lambert, en coordonnées géographiques
@ -54,7 +54,7 @@ function ALG0002($L,$e,$epsilon) {
** @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 $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
@ -77,7 +77,7 @@ function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
}
/** Transformation des coordonnées géographiques ellipsoïdales en coordonnées cartésiennes
**
**
**/
function ALG0009($lambda,$phi,$he,$a,$e) {
$N = ALG0021($phi,$a,$e);
@ -135,11 +135,10 @@ function ALG0012($X,$Y,$Z,$a,$e,$epsilon) {
*/
function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
$V=array();
$V['X'] = $Tx + $U['X'] * (1 + $D) + $U['Z'] * $Ry - $U['Y'] * $Rz;
$V['Y'] = $Ty + $U['Y'] * (1 + $D) + $U['X'] * $Rz - $U['Z'] * $Rx;
$V['Z'] = $Tz + $U['Z'] * (1 + $D) + $U['Y'] * $Rx - $U['X'] * $Ry;
return $V;
$V['X'] = $Tx + $U['X'] * (1 + $D) + $U['Z'] * $Ry - $U['Y'] * $Rz;
$V['Y'] = $Ty + $U['Y'] * (1 + $D) + $U['X'] * $Rz - $U['Z'] * $Rx;
$V['Z'] = $Tz + $U['Z'] * (1 + $D) + $U['Y'] * $Rx - $U['X'] * $Ry;
return $V;
}
/** Détermination des paramètres de calcul d'une projection Lambert conique
@ -166,24 +165,23 @@ function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
/** 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 $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) {
$N = $a/sqrt( 1 - $e * $e * sin($phi) * sin($phi) );
return $N;
$N = $a/sqrt( 1 - $e * $e * sin($phi) * sin($phi) );
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
** @param double $phi0 Latitude origine
** @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 $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 $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
**/
@ -196,8 +194,8 @@ function ALG0054($lambda0,$phi0,$X0,$Y0,$phi1,$phi2,$a,$e) {
$Xs = $X0;
$Ys = $Y0;
} else {
$Xs = $X0;
$Ys = $Y0 + $C * exp(-1 * $n * ALG0001($phi0,$e));
$Xs = $X0;
$Ys = $Y0 + $C * exp(-1 * $n * ALG0001($phi0,$e));
}
$tab=array( 'e' => $e,
'n' => $n,
@ -206,7 +204,6 @@ function ALG0054($lambda0,$phi0,$X0,$Y0,$phi1,$phi2,$a,$e) {
'Xs'=> $Xs,
'Ys'=> $Ys);
return $tab;
}
function Lambert2WGS84($X,$Y,$orig='L93') {
@ -222,7 +219,7 @@ function Lambert2WGS84($X,$Y,$orig='L93') {
$Tz = +320;
$D = 0;
$Rx = $Ry = $Rz = 0;
$orig=strtoupper($orig);
switch ($orig) {
case 'LI':
@ -230,13 +227,13 @@ function Lambert2WGS84($X,$Y,$orig='L93') {
$c = 11603796.98;
$Xs = 600000;
$Ys = 5657616.674;
break;
case 'LII':
case 'LIIE':
case 'L2E':
case 'L2': $n = 0.7289686274;
$c = 11745793.39;
$Xs = 600000;
break;
case 'LII':
case 'LIIE':
case 'L2E':
case 'L2': $n = 0.7289686274;
$c = 11745793.39;
$Xs = 600000;
if ($orig=='L2E' || $orig=='LIIE')
$Ys = 8199695.768;
else $Ys = 6199695.768;
@ -356,7 +353,7 @@ function geos2lambert($latitude,$longitude) {
/** Conversion WGS84 en Lambert93
** NTG_71.pdf
** http://www.ign.fr/affiche_rubrique.asp?rbr_id=1700&lng_id=FR
** http://www.ign.fr/affiche_rubrique.asp?rbr_id=1700&lng_id=FR
**/
function geos2lambert93($latitude,$longitude) {
@ -369,38 +366,38 @@ function geos2lambert93($latitude,$longitude) {
$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
$x0=700000; //coordonnées à l'origine
$y0=6600000; //coordonnées à l'origine
// coordonnées du point à traduire
$phi=deg2rad($latitude);
$l=deg2rad($longitude);
// calcul des grandes normales
$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
$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));
$gl=log(tan(pi()/4+$phi/2)*pow((1-$e*sin($phi))/(1+$e*sin($phi)),$e/2));
//calcul de l'exposant de la projection
$n=(log(($gN2*cos($phi2))/($gN1*cos($phi1))))/($gl1-$gl2);//ok
//calcul de la constante de projection
$c=(($gN1*cos($phi1))/$n)*exp($n*$gl1);//ok
//calcul des coordonnées
$ys=$y0+$c*exp(-1*$n*$gl0);
//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));
return array("x_93"=>$x93,"y_93"=>$y93);
return array("x_93"=>$x93,"y_93"=>$y93);
}
@ -413,14 +410,14 @@ print_r(geos2lambert(48.838245134184 ,2.2227849815878));
**/
/** The point-in-polygon algorythm allows you to programmatically check if a particular point is inside a polygon or outside of it. A common way to tackle the problem is to count how many times a line drawn from the point (in any direction) intersects with the polygon boundary. If they intersect an even number of times, then the point is outside.
I used that approach in this PHP code, which doesn't contain detailed comments yet. A few people asked if I could post it anyway, so there it is... I'll try to add some more comment as soon as I have some spare time.
I used that approach in this PHP code, which doesn't contain detailed comments yet. A few people asked if I could post it anyway, so there it is... I'll try to add some more comment as soon as I have some spare time.
The returned values are:
"vertex" if the point sits exactly on a vertex AND you left true as the value for $pointOnVertex.
"boundary" if the point sits on the boundary. If $pointOnVertex is false, then "boundary" is also returned if the point is on a vertex.
"inside" if the point is inside the polygon.
"outside" if, you guessed it, the point is outside of the polygon.
*/
The returned values are:
"vertex" if the point sits exactly on a vertex AND you left true as the value for $pointOnVertex.
"boundary" if the point sits on the boundary. If $pointOnVertex is false, then "boundary" is also returned if the point is on a vertex.
"inside" if the point is inside the polygon.
"outside" if, you guessed it, the point is outside of the polygon.
*/
class pointLocation {
var $pointOnVertex = true; // Check if the point sits exactly on one of the vertices
@ -437,8 +434,8 @@ class pointLocation {
foreach ($polygon as $vertex) {
$vertices[] = $this->pointStringToCoordinates($vertex);
}
//print_r($vertices);
//die();
//print_r($vertices);
//die();
// Check if the point sits exactly on a vertex
if ($this->pointOnVertex == true && $this->pointOnVertex($point, $vertices) == true) {
return "vertex";
@ -499,12 +496,13 @@ class MMap {
private $header = '';
private $cookie = '';
private $codeRetour = 0;
private $codeRetourG = 0; // Code retour de l'api Google
private $codeRetourY = 0; // Code retour de l'api Yahoo
private $codeRetourM = 0; // Code retour de l'api Mappy
public $codeRetourG = 0; // Code retour de l'api Google
public $codeRetourY = 0; // Code retour de l'api Yahoo
public $codeRetourM = 0; // Code retour de l'api Mappy
public $codeRetourC = 0; // Code retour de l'api Cloudmade
public $geocodeur='';
public $latitudeDec= 0; // Latitude en Décimal
public $latitudeDeg= 0; // Latitude en Dégrés
public $longitudeDec= 0; // Longitude en Décimal
@ -512,7 +510,7 @@ class MMap {
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='';
public $enCache=false;
@ -520,6 +518,7 @@ class MMap {
private $apiKeyG='ABQIAAAAuKBtUyFonYJBl1fqfc78tRQvADPcxwXf3Q2QIE-M32vuSkrxiBRLUHDB_YSLeTscTDeWRKM_wILaaw';
// private $apiKey='ABQIAAAAuKBtUyFonYJBl1fqfc78tRT4Qe_2x2fax4Crd4sBzQI-tDkl3BRm2l2feTV5Lnx0Ah-aTIlwHtglpA';
private $apiKeyY='klII0gzV34Ho2TCsN3XiXeh4No033AifxMeDXfFXj8TDCXO3WAtOLj9c74VsV45HcII-';
private $apiKeyC='ae5216123e414fcd84b8ca9a0f43a68c';
function __construct($accesDist=true) {// $adresse, $cp, $ville, $pays='France') {
$this->accesDist=$accesDist;
@ -529,20 +528,20 @@ class MMap {
http://platform.beta.mapquest.com/geocoding/v1/address?key=YOUR_KEY_HERE&location=Lancaster,PA&callback=renderGeocode
http://platform.beta.mapquest.com/geocoding/v1/address?key=YOUR_KEY_HERE&callback=renderOptions&inFormat=kvp&outFormat=json&location=77 rue lost al lann, 29000 quimper,france
Client ID: 83955
Client ID: 83955
Email Address: buzuk77@aim.com
Registry Password: tU2cA4qV
Forums User Name:
JS/AS3 Key: Fmjtd%7Clu61nuuzlu%2Cr0%3Do5-5a1sd
Registry Password: tU2cA4qV
Forums User Name:
JS/AS3 Key: Fmjtd%7Clu61nuuzlu%2Cr0%3Do5-5a1sd
*/
/*
GeoCodingHandler.ashx?addr=
<wsdl:import namespace="http://dev.virtualearth.net/webservices/v1/imagery/contracts" location="http://dev.virtualearth.net/webservices/v1/metadata/imageryservice/imageryservice1.wsdl" />
API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
*/
*/
public function geoCodeAdrCpVilleM($adresse,$cp,$ville,$pays='') {
if ($pays=='') $pays='France';
if (preg_match('/^([0-9]{1,4} )(.*)$/', $adresse, $matches)) {
$adresseVoie=trim($matches[2]);
@ -552,12 +551,13 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$adresseNum='';
}
$url='http://axe.mappy.com/services/loc/get.aspx?countryName='.urlencode($pays).'&townName='.urlencode($ville).'&wayName='.urlencode($adresseVoie).'&number='.urlencode($adresseNum).'&namedPlaceSearch=0&interactive=1&auth=maiaTest&format=json';
$page=getUrl($url, '', '', '', false, '', '', 3);
$res=json_decode($page['body']);
$result=$res->geocode->answer;
//print_r($result);die();
//print_r($page);
//print_r($result);die($url);
//$this->codeRetourM=
switch ($result->geocode_level->code) {
@ -568,9 +568,9 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
case 4: $this->precision=8; break; // Road element level geocoding
default: die('Precisions Inconnue : "'.$result->geocode_level->code.'"='.$result->geocode_level->label.EOL.$page['body']); break;
}
$this->adresseValidee=@preg_replace('/ +/', ' ', strtoupper(str_replace('&apos;', "'", trim(htmlspecialchars_decode($result->road_element->number.' '.$result->way->name,ENT_QUOTES)))));
$this->codeRetourM=@$result->global_score;
/*
$result->postal_code->postal_code
@ -581,11 +581,11 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$result->town->language] => FRE
$result->town->name] => Nanterre
$result->town->official_code] => 92050
$result->town->postal_codes->postal_code] => 92000
$result->town->postal_codes->postal_code] => 92000
*/
/*
/*
0 Unknown location. (Since 2.59)
1 Country level accuracy. (Since 2.59)
2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59)
@ -600,7 +600,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$this->longitudeDec=@$result->location->coordinates->x;
$this->latitudeDeg=dec2dms($this->latitudeDec);
$this->longitudeDeg=dec2dms($this->longitudeDec);
$this->geocodeur='Mappy';
//if ($this->codeRetourM>0)
@ -608,104 +608,169 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
return false;
}
private function geoCodeAdrCpVilleY($address) {
$_url = 'http://api.local.yahoo.com/MapsService/V1/geocode';
$_url .= sprintf('?appid=%s&location=%s',$this->apiKeyY,rawurlencode($address));
$_result = false;
$page=getUrl($_url, '', '', '', false, '', '', 3);
$_result=$page['body'];
// die("URL='$_url'".EOL.print_r($page));
$try=1;
while ($page['code']!=200 && $page['code']!=403) {
$page=getUrl($_url, '', '', '', false, '', '', 3);
$_result=$page['body'];
echo 'Yahoo '.$page['code']." : $address... Attente...".EOL;
$try++;
if ($try>=4) break;
sleep(1);
}
if ($page['code']==400 && preg_match('/<Message>unable to parse location<\/Message>/', $_result)) {
$this->latitudeDec=$this->longitudeDec=0;
$this->latitudeDeg=$this->longitudeDeg=0;
$this->geocodeur='Yahoo';
$this->precision=0;
return false;
} elseif ($page['code']==403 && preg_match('/<Message>limit exceeded<\/Message>/', $_result)) {
$this->latitudeDec=$this->longitudeDec=0;
$this->latitudeDeg=$this->longitudeDeg=0;
$this->geocodeur='Yahoo';
$this->precision=0;
$this->codeRetourY=620; // On adopte les codes Google
} elseif ($page['code']==408) { // Connexion impossible au site du partenaire
$this->latitudeDec=$this->longitudeDec=0;
$this->latitudeDeg=$this->longitudeDeg=0;
$this->geocodeur='Yahoo';
$this->precision=0;
$this->codeRetourY=500; // On adopte les codes Google
} elseif ($page['code']==200) {
preg_match('!<Latitude>(.*)</Latitude><Longitude>(.*)</Longitude>!U', $_result, $_match);
$lng = $_match[2];
$lat = $_match[1];
preg_match('/warning="(.*)"/Ui', $_result, $_match);
/*
1 Country level accuracy. (Since 2.59)
2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59)
7 Intersection level accuracy. (Since 2.59)
*/
$this->precision=0; // Unknown location
switch(@$_match[1]) {
case "The exact location could not be found. Here is a nearby county.": $this->precision=3; break; // Sub-region
case "The city could not be found. Here is the state/province.": $this->precision=3; break; // Sub-region
case "The exact location could not be found. Here is a nearby neighorhood.": $this->precision=4; break; // Town level
case "The exact location could not be found. Here is the center of the ZIP code.":
case "The street could not be found. Here is the center of the city.": $this->precision=5; break; // Post code (zip code)
case "The street number could not be found. Here is a nearby location.":
case "The Street name might have been changed": $this->precision=6; break; // Street level accuracy
case '': $this->precision=8; break; // Address level
public function geoCodeAdrCpVilleC($adresse,$cp,$ville,$pays='') {
$this->geocodeur='Cloudmade';
$this->precision=0;
$fileName=REP_TEMP.'/geoCodeur'.$this->geocodeur;
$tmp=@explode(',',file_get_contents($filename));
$nbQuery=$tmp[0]*1;
if ($pays=='') $pays='France';
/*if (preg_match('/^([0-9]{1,4} )(.*)$/', $adresse, $matches)) {
$adresseVoie=trim($matches[2]);
$adresseNum=trim($matches[1]);
} else {
$adresseVoie=trim($adresse);
$adresseNum='';
}*/
$url='http://beta.geocoding.cloudmade.com/v3/'.$this->apiKeyC.'/api/geo.location.search.2?format=json&source=OSM&enc=UTF-8&limit=10&locale=fr&q='.urlencode("$adresse $cp $ville $pays");
$page=getUrl($url, '', '', '', false, '', '', 15);
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
$nbQuery=($nbQuery*1)+1;
file_put_contents($fileName, $nbQuery.','.$this->codeRetour.",$url,".date('Y-m-d H:i:s').EOL);
$res=@json_decode(utf8_decode($page['body']));
if ($this->codeRetour==200 && $res->status->success==1) {
$geoCodage=$res->places[0];
$this->codeRetourC=1;
switch($geoCodage->addressType) {
case 'housenumber': $this->precision=8; break;
case 'street': $this->precision=6; break;
case 'zip': $this->precision=5; break;
default:
if (preg_match('/The exact location could not be found, here is the closest match/', @$_match[1]))
$this->precision=6;
else
die('Precisions Inconnue : "'.$_match[1].'"'.EOL.$_result);
break;
//print_r($res);
//die('addressType inconnue : '.$geoCodage->addressType.EOL);
break;
}
preg_match('!<Address>(.*)</Address>(?:|.*)<City>(.*)</City>(?:|.*)<State>(.*)</State>!Ui', $_result, $_match);
$adrValide=utf8_decode($_match[1].', '.$_match[2].', '.$_match[3]);
$this->adresseValidee=strtoupper(str_replace('&apos;', "'", htmlspecialchars_decode($adrValide,ENT_QUOTES)));
$this->latitudeDec=$lat;
$this->longitudeDec=$lng;
$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);
return true;//array("lat"=>$lat,"lng"=>$lng,"address"=>$address);
}
else {die("URL='$_url'".EOL.print_r($page));
return false;
$this->adresseValidee=@trim(strtoupper(preg_replace('/\s+/',' ',$geoCodage->houseNumber.' '.$geoCodage->street.', '.
$geoCodage->zip.' '.$geoCodage->city.', '.str_replace(',',' ',$geoCodage->country))));
$this->latitudeDec=$geoCodage->position->lat;
$this->longitudeDec=$geoCodage->position->lon;
$this->latitudeDeg=dec2dms($this->latitudeDec);
$this->longitudeDeg=dec2dms($this->longitudeDec);
/*print_r($res);
echo $this->adresseValidee.EOL;
echo 'lat='.$this->latitudeDec.EOL;
echo 'lon='.$this->longitudeDec.EOL;
echo 'precis='.$this->precision.EOL;
die($url);*/
return true;
}
//print_r($page);
//print_r($res);
//die($url);
return false;
}
private function geoCodeAdrCpVilleY($address) {
$this->geocodeur='Yahoo';
$this->precision=0;
$fileName=REP_TEMP.'/geoCodeur'.$this->geocodeur;
$tmp=@explode(',',file_get_contents($filename));
$nbQuery=$tmp[0]*1;
$_url='http://query.yahooapis.com/v1/public/yql?q=select+*+from+geo.placefinder+where+text%3D%22'.rawurlencode($address).'%22&format=xml';
$_result = false;
$page=getUrl($_url, '', '', '', false, '', '', 3);
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
$nbQuery=($nbQuery*1)+1;
file_put_contents($fileName, $nbQuery.','.$this->codeRetour.",$url,".date('Y-m-d H:i:s').EOL);
if ($this->codeRetour==200) {
/*Réponse Yahoo = <?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2013-09-25T13:52:43Z" yahoo:lang="en-US"><results><Result><quality>71</quality>
<latitude>45.782864</latitude><longitude>4.828002</longitude><offsetlat>45.782864</offsetlat><offsetlon>4.828002</offsetlon><radius>400</radius>
<name/><line1>Rue Jacques Louis-Henon</line1><line2>69004 Lyon</line2><line3/><line4>France</line4><house/><street>Rue Jacques Louis-Henon</street><xstreet/>
<unittype/><unit/><postal>69004</postal><neighborhood>4E Arrondissement</neighborhood><city>Lyon</city><county>Rhône</county><state>Rhone-Alpes</state>
<country>France</country><countrycode>FR</countrycode><statecode/><countycode/><uzip>69004</uzip><hash/><woeid>20068131</woeid><woetype>11</woetype></Result></results>
</query><!-- total: 90 -->
<!-- engine8.yql.bf1.yahoo.com -->
*/
//echo "Yahoo :'$address'".EOL.$this->body.EOL;
if (preg_match('! yahoo:count="0" !U', $this->body, $_match)) {
$this->codeRetourY='ZERO_RESULTS';
//echo $this->codeRetourY.EOL;
return false;
} elseif (preg_match('!<quality>(.*)</quality><latitude>(.*)</latitude><longitude>(.*)</longitude>!U', $this->body, $_match)) {
$quality=$_match[1];
$this->codeRetourY='OK';
if ($quality>87) $this->precision=9; // POI or Coordinate
elseif ($quality>82) $this->precision=8; // Address
elseif ($quality>75) $this->precision=7; // Intersection
elseif ($quality>70) $this->precision=6; // Street match
elseif ($quality>40) $this->precision=5; // Zip Code
elseif ($quality>30) $this->precision=4; // Town
elseif ($quality>20) $this->precision=3; // Sous/Région
elseif ($quality>10) $this->precision=2; // Region/state
elseif ($quality> 8) $this->precision=1; // Country
else { $this->precision=0; // Not an address
$this->codeRetourY='ZERO_RESULTS';
}
$this->latitudeDec=$_match[2];
$this->longitudeDec=$_match[3];
$this->latitudeDeg=dec2dms($this->latitudeDec);
$this->longitudeDeg=dec2dms($this->longitudeDec);
if (preg_match('!<line1>(.*)</line1>(?:|.*)<line2>(.*)</line2>(?:|.*)<line4>(.*)</line4>!Ui', $this->body, $_match)) {
$adrValide=utf8_decode($_match[1].', '.$_match[2].', '.$_match[3]);
$this->adresseValidee=strtoupper(str_replace('&apos;', "'", htmlspecialchars_decode($adrValide,ENT_QUOTES)));
$this->codeRetourY='OK';
} elseif (preg_match('!<line2>(.*)</line2>(?:|.*)<line4>(.*)</line4>!Ui', $this->body, $_match)) {
$adrValide=utf8_decode($_match[2].', '.$_match[3]);
$this->adresseValidee=strtoupper(str_replace('&apos;', "'", htmlspecialchars_decode($adrValide,ENT_QUOTES)));
$this->codeRetourY='OK';
} else
$this->codeRetourY='INVALID_REQUEST';
} else
//die('Code Retour Yahoo 200 mais :'.$this->body.EOL);
if ($this->latitudeDec==0 && ($this->longitudeDec==0 || $this->precision==0)) die('Réponse Yahoo = '.$this->body.EOL);
return true;//array("lat"=>$lat,"lng"=>$lng,"address"=>$address);
} else
$this->codeRetourY='INVALID_REQUEST';
return false;
}
private function geoCodeAdrCpVilleG($adresse,$cp,$ville,$pays, $proxy='') {
$url='http://maps.google.com/maps/geo?q='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays).'&output=xml&key='.$this->apiKeyG;
$this->geocodeur='Google';
$this->precision=0;
$fileName=REP_TEMP.'/geoCodeur'.$this->geocodeur;
$tmp=@explode(',',file_get_contents($filename));
$nbQuery=$tmp[0]*1;
$url='http://maps.googleapis.com/maps/api/geocode/xml?address='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays).'&sensor=false';
$page=getUrl($url, '', '', $this->referer, false, 'maps.google.com', $proxy,3);
//getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $host='', $proxy='', $timeout=0) {
$this->body=$page['body'];
$this->codeRetour=$page['code'];
$this->header=$page['header'];
$nbQuery=($nbQuery*1)+1;
file_put_contents($fileName, $nbQuery.','.$this->codeRetour.",$url,".date('Y-m-d H:i:s').EOL);
if ($this->codeRetour==200) {
// REVERSE GEOCODING
// 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>*/
/*
/*
0 Unknown location. (Since 2.59)
1 Country level accuracy. (Since 2.59)
2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59)
@ -716,19 +781,34 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
7 Intersection level accuracy. (Since 2.59)
8 Address level accuracy. (Since 2.59)
*/
$this->codeRetourG=@getTextInHtml($this->body, '<Status>', '<code>', '/code>');
$this->precision=@getTextInHtml($this->body, '<AddressDetails Accuracy', '="', '" ');
$this->codeRetourG=@getTextInHtml($this->body, '<GeocodeResponse>', '<status>', '</status>');
$location_type=@getTextInHtml($this->body, '<geometry>', '<location_type>', '</location_type>');
switch($location_type) {
case 'ROOFTOP': // Precise geocode for which we have location information accurate down to street address precision.
$this->precision=8;
break;
case 'RANGE_INTERPOLATED': // Approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address.
$this->precision=7;
break;
case 'GEOMETRIC_CENTER': // Geometric center of a result such as a polyline (for example, a street) or polygon (region).
$this->precision=6;
break;
case 'APPROXIMATE': // indicates that the returned result is approximate.
$this->precision=4;
break;
default:
if ($this->codeRetourG=='ZERO_RESULTS') // Indicates that the geocode was successful but returned no results.
$this->precision=0; // This may occur if the geocode was passed a non-existent address or a latlng in a remote location.
break;
}
$this->adresseValidee=strtoupper(str_replace('&apos;', "'", htmlspecialchars_decode(utf8_decode(@getTextInHtml($this->body, '<Placemark', '<address>', '</address>')),ENT_QUOTES)));
$strTmp=@getTextInHtml($this->body, '<Point><coordinates>', '<coordinates>', '</coordinates>');
$tabTmp=explode(',', $strTmp);
$this->latitudeDec=@$tabTmp[1];
$this->longitudeDec=$tabTmp[0];
$this->latitudeDeg=dec2dms($this->latitudeDec);
$this->longitudeDeg=dec2dms($this->longitudeDec);
$this->geocodeur='Google';
$this->longitudeDeg=dec2dms($this->longitudeDec);
/*
200 G_GEO_SUCCESS No errors occurred; the address was successfully parsed and its geocode has been returneds->geocodeur='Google';
@ -745,23 +825,44 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
there is no route available between the two points, or because we do not have data for routing in that region.
610 G_GEO_BAD_KEY The given key is either invalid or does not match the domain for which it was given.
620 G_GEO_TOO_MANY_QUERIES The given key has gone over the requests limit in the 24 hour period.
*/
if ($this->codeRetourG==200)
return true;
return false;
<GeocodeResponse><status>OK</status><result><type>street_address</type><formatted_address>2 Route du Cure, 92410 Ville-d'Avray, France</formatted_address><address_component><long_name>2</long_name><short_name>2</short_name><type>street_number</type></address_component><address_component><long_name>Route du Cure</long_name><short_name>Route du Cure</short_name><type>route</type></address_component><address_component><long_name>Ville-d'Avray</long_name><short_name>Ville-d'Avray</short_name><type>locality</type><type>political</type></address_component><address_component><long_name>Hauts-de-Seine</long_name><short_name>92</short_name><type>administrative_area_level_2</type><type>political</type></address_component><address_component><long_name>Île-de-France</long_name><short_name>IDF</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component><long_name>France</long_name><short_name>FR</short_name><type>country</type><type>political</type></address_component><address_component><long_name>92410</long_name><short_name>92410</short_name><type>postal_code</type></address_component><geometry><location><lat>48.8252802</lat><lng>2.1821693</lng></location>
/*
"OK" indicates that no errors occurred; the address was successfully parsed and at least one geocode was returned.
"OVER_QUERY_LIMIT" indicates that you are over your quota.
"REQUEST_DENIED" indicates that your request was denied, generally because of lack of a sensor parameter.
"" generally indicates that the query (address or latlng) is missing.
UNKNOWN_ERROR indicates that the request could not be processed due to a server error. The request may succeed if you try again.
*/
if ($this->codeRetourG=='OK')
return true;
elseif ($this->codeRetourG=='ZERO_RESULTS' || // http://maps.googleapis.com/maps/api/geocode/xml?address=0044+RUE+JACQUES+-+LOUIS+HENON%2C+69004+LYON+4EME%2C+France&sensor=false
$this->codeRetourG=='INVALID_REQUEST' || // http://maps.googleapis.com/maps/api/geocode/xml?address=0028+B+RUE+MGR+DE+BEAUMONT%2C+97400+SAINT+DENIS%2C+La+R%E9union&sensor=false
$this->codeRetourG=='OVER_QUERY_LIMIT') {
return false;
} else {
return false;
//echo $url.' ('.$this->codeRetour.')'.EOL;
//die('Code Retour Google ='.$this->codeRetourG.EOL);
}
}
return false;
}
/** 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)
3 Sub-region (county, municipality, etc.) level accuracy. (Since 2.59)
4 Town (city, village) level accuracy. (Since 2.59)
5 Post code (zip code) level accuracy. (Since 2.59)
6 Street level accuracy. (Since 2.59)
7 Intersection level accuracy. (Since 2.59)
8 Address level accuracy. (Since 2.59)
0 Unknown location. (Since 2.59)
1 Country level accuracy. (Since 2.59)
2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59)
3 Sub-region (county, municipality, etc.) level accuracy. (Since 2.59)
4 Town (city, village) level accuracy. (Since 2.59)
5 Post code (zip code) level accuracy. (Since 2.59)
6 Street level accuracy. (Since 2.59)
7 Intersection level accuracy. (Since 2.59)
8 Address level accuracy. (Since 2.59)
9 Address level accuracy +++
**/
function geoCodeAdresse($adrNum, $adrIndRep, $adrTypeVoieCourt, $adrTypeVoieLong, $adrLibVoie, $cp, $ville='', $pays='France', $codeRivoli='') {
$iDb=new WDB();
@ -790,17 +891,17 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$this->l93y=$tmp['y_93'];
}
if ($this->altitude<>NULL || $this->l93x<>NULL) {
$tabUpdate=array( 'alt'=>$this->altitude,
'l93_x'=>$this->l93x,
'l93_y'=>$this->l93y);
//'dateUpdate'=>DATETIME,
$iDb->update('zonageXY', $tabUpdate, "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'");
$tabUpdate=array( 'alt'=>$this->altitude,
'l93_x'=>$this->l93x,
'l93_y'=>$this->l93y);
//'dateUpdate'=>DATETIME,
$iDb->update('zonageXY', $tabUpdate, "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'");
}
$this->latitudeDeg=dec2dms($this->latitudeDec);
$this->longitudeDeg=dec2dms($this->longitudeDec);
$this->enCache=true;
$ligne='En base : '.print_r($zonage, true);
$ligne='En base : '.print_r($zonage, true);
} elseif ($this->accesDist) {
$this->enCache=false;
$retM=$retY=false;
@ -819,25 +920,28 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
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);
$retG=$this->geoCodeAdrCpVilleG($adresse, $cp, $ville, $pays);
if ($this->codeRetourG==620 || $this->precision==0)
/*if ($this->codeRetourG==620)
$retY=$this->geoCodeAdrCpVilleY("$adresse, $cp $ville");
if ($this->codeRetourY==620 || $this->codeRetourY==503 || $this->precision==0)*/
$retM=$this->geoCodeAdrCpVilleM($adresse, $cp, $ville, $pays);
if ($this->codeRetourG=='OVER_QUERY_LIMIT' || $this->precision==0) {
$retY=$this->geoCodeAdrCpVilleY("$adresse, $cp $ville, $pays");
if ($this->codeRetourY=='OVER_QUERY_LIMIT' || $this->codeRetourY<>'OK' || $this->precision==0)
$retC=$this->geoCodeAdrCpVilleC($adresse, $cp, $ville, $pays);
// $retM=$this->geoCodeAdrCpVilleM($adresse, $cp, $ville, $pays);
}
// On récupère l'altitude
if ($this->precision>5) {
echo ('Précision : '. $this->precision.EOL);
if ($this->precision>5 && $this->latitudeDec<>0 && $this->longitudeDec<>0) {
$alt=$this->getAltitude($this->latitudeDec,$this->longitudeDec);
$this->altitude=$alt['alt'];
}
$tmp=geos2lambert93($this->latitudeDec,$this->longitudeDec);
$this->l93x=$tmp['x_93'];
$this->l93y=$tmp['y_93'];
if ($retG || $retY || $retM) {
echo ('$retG='.$retG.EOL.'$retY='.$retY.EOL.'$retC='.$retC.EOL.'$retM='.$retM.EOL);
if ($retG || $retY || $retM || $retC) {
$adresse=stripslashes(strtoupper(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoieLong $adrLibVoie"))));
$ville=stripslashes($ville);
$tabInsert=array( 'address'=>$adresse,
@ -860,10 +964,21 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
);
/** Insertion de l'adresse que si elle est possible
**/
if ($this->latitudeDec<>0 && $this->longitudeDec<>0)
echo ('Avant Insert '.$this->latitudeDec.EOL.$this->longitudeDec.EOL);
if ($this->latitudeDec<>0 && $this->longitudeDec<>0) {
print_r($tabInsert);
echo ($this->latitudeDec.EOL.$this->longitudeDec.EOL);
$iDb->insert('zonageXY', $tabInsert);
$ligne='Accès Google : '.print_r($tabInsert, true);
if (mysql_errno()>0) echo mysql_error().die(EOL);
} else {
$this->precision=$this->latitudeDec=$this->longitudeDec=0;
$this->adresseValidee='';
$this->latitudeDeg=$this->longitudeDeg='';
$ligne="Erreur Geocodage : $adrNum, $adrIndRep, $adrTypeVoieCourt, $adrTypeVoieLong, $adrLibVoie, $cp, $ville, $pays, $codeRivoli, ".$this->body;
//die('Latitude et longitude à zero :'.$this->latitudeDec.EOL.$this->longitudeDec.EOL);
}
echo ('Après Insert : '.$this->latitudeDec.EOL.$this->longitudeDec.EOL);
$ligne='Accès Google : '.print_r($tabInsert, true);
}
else {
$this->precision=$this->latitudeDec=$this->longitudeDec=0;
@ -872,7 +987,6 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$ligne="Erreur : $adrNum, $adrIndRep, $adrTypeVoieCourt, $adrTypeVoieLong, $adrLibVoie, $cp, $ville, $pays, $codeRivoli, ".$this->body;
}
}
}
/* if (latnorth == 'S') latdir='-'
if (lonwest == 'W') longdir='-'
@ -905,11 +1019,11 @@ function distance($latA=0, $lonA=0, $latB=0, $lonB=0, $sphere='GRS80') {
case 'GRS80':
default: $R=6378.137; // Demi grand axe ou Rayon de la sphère GRS80 en Kms
$f=1/298.257222101;
break;
break;
}
$a=pi()/180;
$e=$latA*$a;
$f=$lonA*$a;
$f=$lonA*$a;
$g=$latB*$a;
$h=$lonB*$a;
@ -930,7 +1044,7 @@ function distanceLambert($x1,$y1,$x2,$y2) {
}
/** 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
** @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
** @return double
@ -982,7 +1096,7 @@ The text version of the service also accepts a list of lat/lng for the parameter
}
$LatLon.="$lat%2C$lon2";
$Lats.=$lat;
$Lons.=$lon;
$Lons.=$lon;
}
// http://api.geonames.org/srtm3?lats=50.01,51.01&lngs=10.2,11.2&username=demo
/* $url="http://api.geonames.org/srtm3?lats=$Lats&lng=$Lons&username=demo";
@ -996,7 +1110,7 @@ The text version of the service also accepts a list of lat/lng for the parameter
return array('lat'=>$tabLatLon,'lon'=>$lon,'alt'=>$alt);
*/
}
$url='http://www.fredorando.fr/Pages/altitude.php';
$post=array('LatLon'=>$LatLon,'qui'=>'');
$page=getUrl($url, '', $post, '', false, '', '', 3);
@ -1034,8 +1148,8 @@ if ( !function_exists('json_encode') ){
function json_encode($content){
require_once 'Services/JSON.php';
$json = new Services_JSON;
return $json->encode($content);
}
}
?>
?>

View File

@ -78,8 +78,9 @@ class MRncs
*/
private function getTabDevisesInpi()
{
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheDevisesInpi.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheDevisesInpi.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'DevisesInpi.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
$tabDevises=array();
@ -108,8 +109,9 @@ class MRncs
*/
public function getTabJugements()
{
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheJugements.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheJugements.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Jugements.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('tabJugeRncs', 'codJugement, codEven', '1', false, MYSQL_ASSOC);
$tabJug=array();
@ -133,8 +135,9 @@ class MRncs
*/
private function getTabPaysInpi()
{
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CachePaysInpi.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CachePaysInpi.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'PaysInpi.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('tabPays', 'codePaysInpi, codPays', 'codePaysInpi>0', false, MYSQL_ASSOC);
$tabPays=array();
@ -283,8 +286,9 @@ class MRncs
*/
private function getTabTribunaux()
{
if ( file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheTribunaux.php') ) {
return include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'CacheTribunaux.php';
$cache = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR . 'Tribunaux.php';
if ( file_exists($cache) ) {
return include $cache;
} else {
$rep=$this->iDb->select('tribunaux', 'triNumGreffe, triNom, triId, triCode', 'triNumGreffe IS NOT NULL', false, MYSQL_ASSOC);
$tabTribunaux=array();

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
<?php
return array(
1991=>3.2,
1992=>2.4,
1993=>2.1,
1994=>1.7,
1995=>1.7,
1996=>2,
1997=>1.2,
1998=>0.7,
1999=>0.5,
2000=>1.7,
2001=>1.7,
2002=>1.9,
2003=>2.1,
2004=>2.1,
2005=>1.8,
2006=>1.6,
2007=>1.5,
2008=>2.8,
2009=>0.1,
2010=>1.5,
2011=>2.1,
2012=>2,
);

View File

@ -0,0 +1,22 @@
<?php
return array(
1994=>5.65,
1995=>5.29,
1996=>4.69,
1997=>4.93,
1998=>3.92,
1999=>3.99,
2000=>4.35,
2001=>3.35,
2002=>2.83,
2003=>2.68,
2004=>2.45,
2005=>2.46,
2006=>2.66,
2007=>2.86,
2008=>3.45,
2009=>2.81,
2010=>2.17,
2011=>1.7,
2012=>0,
);

File diff suppressed because it is too large Load Diff

View File

@ -126,9 +126,9 @@ $tabCommentaires[55122][2][0] = "<C.>, et de {CADBAT_NB_TOT} bâtiments.";
$tabCommentaires[55131][2][0] = "<C.>, et d'un terrain.";
$tabCommentaires[55132][2][0] = "<C.>, et de {CADTER_NB_TOT} terrains.";
$tabCommentaires[55133][2][0] = "<C.>, d'une superficie totale de {CADTER_SURF_TOT}.";
$tabCommentaires[55210][2][0] = "A l'adresse on recense :
$tabCommentaires[55210][2][0] = "A l'adresse on recense :
";
$tabCommentaires[55211][2][0] = "A l'adresse on recense :
$tabCommentaires[55211][2][0] = "A l'adresse on recense :
";
$tabCommentaires[55212][2][0] = "<C:>, {CADBAT_SURF_CUM} de bâtiments:";
$tabCommentaires[55213][2][0] = "<C:>, sur un foncier total de {CADTER_SURF_CUM}):";
@ -1269,7 +1269,7 @@ $tabCommentaires[3845000][2][10] = "<LI-> La trésorerie demeure positive à {R[
$tabCommentaires[3846000][2][10] = "<LI-> Le Fonds De Roulement est négatif avec {R[223]}, mais la trésorerie et les liquidités positives limitent les nécessités de trésorerie.";
$tabCommentaires[3850000][2][10] = "<LI-> Le manque de capitaux permanents provoque un F.D.R négatif avec {R[223]}. Même si la trésorerie présente un solde positif à {R[226]} la liquidité est négative.";
$tabCommentaires[3851000][2][10] = "<LI-> Le Besoin en Fonds de Roulement négatif diminue l'impact du Fonds de Roulement négatif avec {R[223]}. Le manque de ressources financières est amplifié par la liquidité générale négative de {R[224]} ";
$tabCommentaires[3855000][2][20] = "<LI-> L'insuffisance de capitaux permanents provoque un Fonds de Roulement négatif avec {R[223], le Besoin de Fonds de Roulement n'est pas couvert, il en découle un besoin de trésorerie d'environ {R[226]}. Cependant, la liquidité générale est positive avec près de {R[224]}.";
$tabCommentaires[3855000][2][20] = "<LI-> L'insuffisance de capitaux permanents provoque un Fonds de Roulement négatif avec {R[223]}, le Besoin de Fonds de Roulement n'est pas couvert, il en découle un besoin de trésorerie d'environ {R[226]}. Cependant, la liquidité générale est positive avec près de {R[224]}.";
$tabCommentaires[3856000][2][10] = "<LI-> Le Besoin en Fonds de Roulement n'est pas couvert par le Fonds de roulement négatif avec {R[223]}. La trésorerie est négative à hauteur de {R[226]} qui représente près de {!R[512]} de CA HT.";
$tabCommentaires[3860000][2][10] = "<LI-> L'insuffisance de capitaux permanents provoque un Fonds de Roulement négatif avec {R[223]}, le Besoin n'est pas couvert. Les besoins en trésorerie s'élèvent à environ {R[226]}.";
$tabCommentaires[3860001][2][10] = "<C.>. Et représentent près de {!R[512]} de CA HT.";

View File

@ -451,7 +451,7 @@ $tabCommentaires[350000][2][10] = "Dans le cadre de cette procédure collective,
$tabCommentaires[355000][2][50] = "Durant l'exécution du plan, une modification a eu lieu en date du {ANNONCEDATE}.";
$tabCommentaires[395000][2][10] = "Ce holding financier est en procédure collective, impactant de fait l'ensemble des filiales participations";
$tabCommentaires[396000][2][10] = "La conciliation à fait l'objet de son homologation publiée le {ANNONCEHOMDATE} montrant ainsi que, malgré les difficultés, les termes de l'accord sont de nature à assurer la pérennité de l'activité de l'entreprise.";
$tabCommentaires[396000][2][20] = "L'entreprise n'est plus en situation de cessation des paiements et l?accord ne porte pas atteinte aux intérêts des créanciers non signataires, s'il ne concerne pas tous les créanciers.";
$tabCommentaires[396000][2][20] = "L'entreprise n'est plus en situation de cessation des paiements et l'accord ne porte pas atteinte aux intérêts des créanciers non signataires, s'il ne concerne pas tous les créanciers.";
$tabCommentaires[396000][2][30] = "Par conséquent, nous reprenons notre étude des éléments financiers.";
$tabCommentaires[400000][2][10] = "Le caractère historique de la procédure de liquidation ne semble plus avoir d'impact sur l'activité, une nouvelle évaluation a donc eu lieu.";
$tabCommentaires[400101][2][10] = "L'historique des annonces légales fait état d'un changement dans l'administration de l'entreprise publié le {ANNONCEDIRDATE}.";
@ -764,9 +764,9 @@ $tabCommentaires[714000][2][10] = "<C.>. Cette amélioration rétablit la marge
$tabCommentaires[715000][2][10] = "<C.>. Cette dégradation fait passer le résultat d'exploitation du dernier exercice en négatif ({Rp[150]} <LI=> {R[150]}).";
$tabCommentaires[716000][2][10] = "<C.>. Cette dégradation détruit la marge d'exploitation de l'exercice.";
$tabCommentaires[717000][2][10] = "<C.>. Cette dégradation sensible détruit la marge d'exploitation de l'exercice.";
$tabCommentaires[718000][2][10] = "En première approche on peut dire que la performance globale de l'entreprise par rapport à l'actif mis en ?uvre pour créer de la valeur est faible.";
$tabCommentaires[719000][2][10] = "En première approche on peut dire que la performance globale de l'entreprise par rapport à l'actif mis en ?uvre pour créer de la valeur est satisfaisante.";
$tabCommentaires[719500][2][10] = "En première approche on peut dire que la performance globale de l'entreprise par rapport à l'actif mis en ?uvre pour créer de la valeur est particulièrement élevée.";
$tabCommentaires[718000][2][10] = "En première approche on peut dire que la performance globale de l'entreprise par rapport à l'actif mis en œuvre pour créer de la valeur est faible.";
$tabCommentaires[719000][2][10] = "En première approche on peut dire que la performance globale de l'entreprise par rapport à l'actif mis en œuvre pour créer de la valeur est satisfaisante.";
$tabCommentaires[719500][2][10] = "En première approche on peut dire que la performance globale de l'entreprise par rapport à l'actif mis en œuvre pour créer de la valeur est particulièrement élevée.";
$tabCommentaires[722000][2][10] = "Enfin, la rentabilité financière, (résultat net de {BILANANNEE} rapporté aux capitaux propres), est faible. Ce taux de {R[523]} de rendement du capital investi, reste sous la norme de l'efficacité avec laquelle une entreprise utilise le capital pour générer ses profits. D'ailleurs la rentabilité de l'entreprise est bien en dessous de la moyenne du secteur qui est à {+Rs[523]}.";
$tabCommentaires[722010][2][10] = "Enfin, la rentabilité financière, (résultat net de {BILANANNEE} rapporté aux capitaux propres), est très faible. Ce taux de {R[523]} de rendement du capital investi, est très en dessous de l'efficacité avec laquelle une entreprise utilise le capital pour générer ses profits, ni même le rendement d'un placement sur livret.";
$tabCommentaires[722020][2][10] = "Enfin, la rentabilité financière, (résultat net de {BILANANNEE} rapporté aux capitaux propres), est plutot faible. Ce taux de {R[523]} de rendement du capital investi, reste sous la norme de l'efficacité avec laquelle une entreprise utilise le capital pour générer ses profits. ";
@ -841,7 +841,7 @@ $tabCommentaires[740110][2][10] = "Le poids des capitaux fixes dans le patrimoin
$tabCommentaires[740111][2][30] = "<C.>, et il augmente de {!Revol[524]} depuis {BILANANNEEp}.";
$tabCommentaires[740112][2][30] = "<C.>, bien qu'il se soit réduit de {!Revol[524]} depuis {BILANANNEEp}.";
$tabCommentaires[740115][2][30] = "A noter que le foncier, à lui seul, se monte à {R[311]} représentant {R[314]} du total bilan.";
$tabCommentaires[740160][2][10] = "Le poids des immobilisations incorporelles (concessions, les brevets, les frais de recherche et développement, les frais d?établissement, le fonds de commerce, le droit au bail), par rapport au total bilan, est de {R[554]}. Il est d'une hauteur anormale par rapport au secteur qui affiche {Rs[554]}.";
$tabCommentaires[740160][2][10] = "Le poids des immobilisations incorporelles (concessions, les brevets, les frais de recherche et développement, les frais d'établissement, le fonds de commerce, le droit au bail), par rapport au total bilan, est de {R[554]}. Il est d'une hauteur anormale par rapport au secteur qui affiche {Rs[554]}.";
$tabCommentaires[740161][2][30] = "<C.>, et il augmente de {!Revol[554]} depuis {BILANANNEEp}.";
$tabCommentaires[740162][2][30] = "<C.>, bien qu'il se soit réduit de {!Revol[554]} depuis {BILANANNEEp}.";
$tabCommentaires[740210][2][10] = "Le poids des immobilisations financières (par exemple des participations dans d'autres sociétés) par rapport à l'Actif total, est de {R[533]}. Il est d'une hauteur anormale par rapport au secteur qui affiche {Rs[533]}.";
@ -1033,9 +1033,9 @@ $tabCommentaires[770030][2][10] = "<TR CLASS=\"NORMAL\"><TD>Annuité/recettes
$tabCommentaires[770031][2][10] = "<TR CLASS=\"NORMAL\"><TD>Annuité/recettes réelles de fonctionnement(total recettes) </TD><TD>{RQ[830]} </TD><TD><I>Ce ratio présente un très fort effet d'inertie, il faut plusieurs années pour le dégrader mais aussi pour le ramener à la normale. La norme est de l'ordre de 19%. La moyenne de la strate le situe à {RT[830]}.</I> </TD> </TR>";
$tabCommentaires[770040][2][10] = "<TR CLASS=\"NORMAL\"><TD>Annuité/recettes fiscales de fonctionnement </TD><TD>{RQ[861]} </TD><TD> </TD> </TR>";
$tabCommentaires[770050][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I></I> </TD> </TR>";
$tabCommentaires[770051][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I>Indique les marges de man?uvre pour les années à venir. Le seuil d'alerte est à 121 %</I> </TD> </TR>";
$tabCommentaires[770051][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I>Indique les marges de manœuvre pour les années à venir. Le seuil d'alerte est à 121 %</I> </TD> </TR>";
$tabCommentaires[770060][2][10] = "<TR CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> </I> </TD> </TR>";
$tabCommentaires[770061][2][10] = "<TR CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> Pour les communes de plus de 10 000 hab , la durée moyenne d ?extinction de la dette est de 5,8 années.</I> </TD> </TR>";
$tabCommentaires[770061][2][10] = "<TR CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> Pour les communes de plus de 10 000 hab , la durée moyenne d'extinction de la dette est de 5,8 années.</I> </TD> </TR>";
$tabCommentaires[770100][2][0] = "<H4>Analyse des charges";
$tabCommentaires[770100][2][1] = "<TABLE CLASS=\"TABLEAUSIMPLEDROITE\" id=\"ANACHARGES\">";
$tabCommentaires[770100][2][2] = "<TR CLASS=\"TITRES\"> <TH>année {COLLANNEE} </TH><TH>Ratio </TH><TH>Observations </TH></TR>";
@ -1046,8 +1046,8 @@ $tabCommentaires[770140][2][10] = "<TR CLASS=\"NORMAL\"><TD>Coefficient d'auto
$tabCommentaires[770150][2][10] = "<TR CLASS=\"NORMAL\"><TD>Taux d'autofinancement de l'investissement (Epargne nette après remboursement de l'annuité en capital)/ Dépense d'équipement brut) </TD><TD>{R[875]} </TD><TD><I>Ce ratio peut être faussé selon la technique de prise en compte de l'amortissement en capital. (moyenne nationale : 19%) </I></TD> </TR>";
$tabCommentaires[770210][2][1] = "Le résultat comptable de l'année {COLLANNEE} est déficitaire de {!R[811]} ({!R[876]} des recettes de fonctionnement).";
$tabCommentaires[770211][2][1] = "<C.>, ce qui représente {!RH[811]} par habitant.";
$tabCommentaires[770221][2][1] = "Pour une commune de moins de 20.000 habitants, ce déficit dépassant 10% des produits de fonctionnement, entre dans le cadre de l?article L. 1612-14 du C.G.C.T.";
$tabCommentaires[770222][2][1] = "Pour une commune de plus de 20.000 habitants, ce déficit dépassant 5% des produits de fonctionnement, entre dans le cadre de l?article L. 1612-14 du C.G.C.T.";
$tabCommentaires[770221][2][1] = "Pour une commune de moins de 20.000 habitants, ce déficit dépassant 10% des produits de fonctionnement, entre dans le cadre de l'article L. 1612-14 du C.G.C.T.";
$tabCommentaires[770222][2][1] = "Pour une commune de plus de 20.000 habitants, ce déficit dépassant 5% des produits de fonctionnement, entre dans le cadre de l'article L. 1612-14 du C.G.C.T.";
$tabCommentaires[770300][2][0] = "<H4>Service rendu";
$tabCommentaires[770300][2][1] = "<TABLE CLASS=\"TABLEAUSIMPLEDROITE\" id=\"SERVICERENDU\">";
$tabCommentaires[770300][2][2] = "<TR CLASS=\"TITRES\"> <TH>année {COLLANNEE} </TH><TH>Ratio </TH><TH>Observations </TH></TR>";
@ -1224,7 +1224,7 @@ $tabCommentaires[2500100][2][0] = "\"- La mobilisation du potentiel fiscal n'ét
$tabCommentaires[2500110][2][0] = "\"- L'encours de la dette est limité ({RQ[829]}), et il reste encore une marge possible d'appel à l'emprunt pour les investissements.";
$tabCommentaires[2500120][2][0] = "\"- Les dépenses obligatoires incompressibles (personnel, assurances, intérêts des emprunts, etc...) représentant {R[872]} des recettes de fonctionnement restent sous le seuil d'alerte. S'il est prévu d'engager de nouvelles dépenses elles devraient être absorbées pour autant que la rigidité structurelle ne passe pas la barre des 65%.";
$tabCommentaires[2500130][2][0] = "\"- L'autofinancement est satisfaisant {R[873]}, la collectivité est capable d'engager des opérations plus importantes.";
$tabCommentaires[2500999][2][0] = "<H4> Marges de man?uvre";
$tabCommentaires[2500999][2][0] = "<H4> Marges de manœuvre";
$tabCommentaires[2590000][2][0] = "<I><B>Bien que le dernier bilan publié soit trop ancien et que les commentaires financiers aient été occultés, nous maintenons l'analyse des éléments favorables et défavorables.</B></I>";
$tabCommentaires[2595000][2][0] = "<LI+> Entreprise en place depuis de nombreuses années.";
$tabCommentaires[2600000][2][0] = "<LI+> Entreprise établie depuis longtemps.";

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
<?
<?php
/** Ratios pour les collectivités **/
global $tabZones2Ratios;
@ -209,205 +209,6 @@
'R44c'=>'Rs[841]',
);
function genereCacheRatios() {
$tabMoy=array();
$strFonctions='$tabInfla=array();
';
$iDb=new WDB("jo");
$tabTmp=$iDb->select("sdv1.inflation", "annee, infla", "annee>1990 ORDER BY annee", false, MYSQL_ASSOC);
foreach ($tabTmp as $tabTmp2) {
$strFonctions.='$tabInfla['.$tabTmp2['annee'].']='.$tabTmp2['infla'].";\n";
}
$strFonctions.='
/** 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");
return $tabInfla[$annee];
}
';
$iDb=new WDB('jo');
$configFileTmp = realpath(dirname(__FILE__)).'/../tmp/configMRatios.tmp.php';
$configFile = realpath(dirname(__FILE__)).'/../tmp/configMRatios.php';
$fp=fopen($configFileTmp, 'w');
fwrite($fp, '<?'."\n");
fwrite($fp, 'error_reporting(E_ALL ^ E_NOTICE);' ."\n");
fwrite($fp, '$tva=19.6;' ."\n");
fwrite($fp, $strFonctions ."\n");
fwrite($fp, '$tabFormules=array();' ."\n"."\n");
$tabFormules=$iDb->select( 'ratios_formules',
'id, libelle, formule, unite, commentaires, borneMin, borneMax, deleted',
'deleted=0');
foreach ($tabFormules as $i=>$formule) {
$id=$formule['id']*1;
fwrite($fp, '$tabFormules['.$i.'][\'id\']='.$id.';' ."\n");
fwrite($fp, '$tabFormules['.$i.'][\'libelle\']="'.trim(str_replace('"','\"',$formule['libelle'])).'";' ."\n");
fwrite($fp, '$tabFormules['.$i.'][\'commentaires\']="'.trim(str_replace('"','\"',$formule['commentaires'])).'";' ."\n");
fwrite($fp, '$tabFormules['.$i.'][\'unite\']=\''.$formule['unite'].'\';' ."\n");
fwrite($fp, '$tabFormules['.$i.'][\'borneMin\']=\''.$formule['borneMin'].'\';' ."\n");
fwrite($fp, '$tabFormules['.$i.'][\'borneMax\']=\''.$formule['borneMax'].'\';' ."\n");
fwrite($fp, '$tabFormules['.$i.'][\'formule\']=\''.$formule['formule'].'\';' ."\n");
}
fwrite($fp, "\n".'function calculRatios($tabBilans, $tabIdentite, $accesPartenaire) {' ."\n");
fwrite($fp, ' global $tva, $tabFormules, $mBil, $tabBilan, $efftr;' ."\n");
fwrite($fp, ' $numBil=0;' ."\n");
fwrite($fp, ' $numBilType=array();' ."\n");
fwrite($fp, ' foreach ($tabBilans as $millesime=>$bil) {' ."\n");
fwrite($fp, ' $tabTmp=@$mBil->getBilan(substr($millesime,-10), substr($millesime,0,1), @$bil[\'ref\'], $accesPartenaire, $nbRatiosMax=5);' ."\n");
fwrite($fp, ' $numBilType[substr($millesime,0,1)]++;' ."\n");
fwrite($fp, ' if (substr($millesime,0,1)==\'S\') {' ."\n");
fwrite($fp, ' if ($numBilType[\'S\']>$nbRatiosMax) continue;' ."\n");
fwrite($fp, ' $tabTmp2=$mBil->bilanSimplifie2Normal($tabTmp);' ."\n");
fwrite($fp, ' $tabBilan[$numBil]=array_merge($tabTmp2, $tabTmp);' ."\n");
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'N\') {' ."\n");
fwrite($fp, ' if ($numBilType[\'N\']>$nbRatiosMax) continue;' ."\n");
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'C\') {' ."\n");
fwrite($fp, ' if ($numBilType[\'C\']>$nbRatiosMax) continue;' ."\n");
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'A\') {' ."\n");
fwrite($fp, ' if ($numBilType[\'A\']>$nbRatiosMax) continue;' ."\n");
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
fwrite($fp, ' //return(array());' ."\n");
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'B\') {' ."\n");
fwrite($fp, ' if ($numBilType[\'B\']>$nbRatiosMax) continue;' ."\n");
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
fwrite($fp, ' //return(array());' ."\n");
fwrite($fp, ' }' ."\n");
fwrite($fp, ' unset($tabTmp); unset($tabTmp2);' ."\n");
fwrite($fp, ' if ($numBil>10) break;' ."\n");
fwrite($fp, ' $p=$tabBilan[$numBil];' ."\n");
fwrite($fp, ' $nm=$p[\'DUREE_MOIS\'];' ."\n");
fwrite($fp, ' $nmp=$p[\'DUREE_MOIS_PRE\'];' ."\n");
fwrite($fp, ' $R=array();' ."\n"."\n");
foreach ($tabFormules as $i=>$formule) {
$id=$formule['id']*1;
$libelle=$formule['libelle'];
$unite=$formule['unite'];
$formule=$formule['formule'];
/** Ratios avec formules à calculer **/
if ($formule['calcul']) {
if (preg_match("/^MOY\(R\[(.*)\],(.*)\)/Ui", $formule, $matches)) {
$tabMoy[$id]=array( 'ratio'=>$matches[1]*1,
'nbExo'=>$matches[2]*1,
);
continue;
}
// 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
$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
$formule1=preg_replace('/\INFLATION/U', 'getInflation(substr($millesime,-4))', $formule1);
// Ecriture de la formule
$formule1="\$R[$id]=".$formule1.';';
/** fonction ou **/
if (preg_match('/ \$ou (.*)/', $formule1, $matches)) {
$formule1=preg_replace('/ \$ou (.*)/',';', $formule1);
$alternative=$matches[1];
$formule1.="if (\$R[$id]==0) \$R[$id]=$alternative";
}
/** 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]);
if (trim($tabBornes[0])<>'') {
$bMin=trim($tabBornes[0])*1;
$formule1.="if (\$R[$id]<$bMin) \$R[$id]=$bMin;";
}
if (isset($tabBornes[1]) && trim(@$tabBornes[1])<>'') {
$bMax=trim($tabBornes[1])*1;
$formule1.="if (\$R[$id]>$bMax) \$R[$id]=$bMax;";
}
}
/** 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 **
*
$valeur='( (R'.$matches[1];
for($iMoy=0; $iMoy<$matches[2]; $iMoy++) {
if ($iMoy==1)
$valeur.='+Rp'.$matches[1];
else
$valeur.='+Rp'.$iMoy.$matches[1];
}
$valeur.=')/'.$matches[2].')';
}
else
$valeur=preg_replace('/([A-Z\_]{1,20})\((.*)\)$/i','substr(\$$1,$2)', $valeur);
*/
$formule2=$formule1;
fwrite($fp, $formule2."\n");
//@eval($formule2);
fwrite($fp, 'if (!isset($R['.$id.'])) $R['.$id.']=\'NS\';'."\n");
if (!isset($R[$id])) $R[$id]='NS';
}
}
fwrite($fp, "\n".' $tabRatios[$numBil]=$R;'."\n");
fwrite($fp, ' $numBil++;'."\n");
fwrite($fp, ' }'."\n"."\n");
foreach($tabMoy as $iRatio=>$tMoy) {
$irMoy=$tMoy['ratio'];
$nbExo=$tMoy['nbExo'];
fwrite($fp, ' for($i=0; $i<$numBil; $i++) {'."\n");
fwrite($fp, ' $tabRatios[$i]['.$iRatio.']=($tabRatios[$i]['.$irMoy.']');
for($i=1; $i<$nbExo; $i++)
fwrite($fp, '+$tabRatios[$i+'.$i.']['.$irMoy.']');
fwrite($fp, ')/'.$nbExo.';');
fwrite($fp, ' }'."\n"."\n");
}
fwrite($fp, 'return $tabRatios;'."\n");
fwrite($fp, '}'."\n");
fwrite($fp, ' ?>');
fclose ($fp);
$strOutput=exec('php -l '.$configFileTmp, $output);
if (preg_match('/^No syntax errors detected in /', $strOutput)) {
move($configFileTmp, $configFile);
} else {
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMRatios sur $siren : Erreur de compilation '$strOutput'", print_r($output, true).EOL);
print_r($output);
return false;
}
return true;
}
/** Conversion des zones pour les collectivités **/
function convertZones($codeR, $zonesDB) {
global $tabZones2Ratios;

File diff suppressed because it is too large Load Diff

View File

@ -1,47 +0,0 @@
00
11 IT
12 I
13 T
21 D NR
22 D VNR
23 DL N
24 DL NR
25 P NR
26 P VN
27 PD VNR
28 PD N
30 S
31 SE
32 SE R
33 SE N
34 SE NR
35 SE V
36 SE V R
37 SE VNR
40 SE D
41 SE D N
42 SE D V
43 SE D V R
44 SE D VN
45 SE D VNR
46 SE DL
47 SE DL R
48 SE DL N
49 SE DL NR
60 SEP
61 SEP N
62 SEP NR
63 SEP V
64 SEP V R
65 SEP VNR
71 SEPD
72 SEPD R
73 SEPD N
74 SEPD NR
75 SEPD V
76 SEPD V R
77 SEPD VN
78 SEPD VNR
81 SEPDL R
82 SEPDL N
83 SEPDL NR

View File

@ -1,45 +0,0 @@
<?php
include_once('listeCpVilles.php');
// --------------------------------------------------------------------------- //
// bsearch
// --------------------------------------------------------------------------- //
function bsearch(&$tab, $a, $b, $s, $l)
{
if ($a > $b) {
return -1;
}
$m = ($a + $b) >> 1;
$c = strcmp($s, substr($tab[$m], 0, $l));
if ($c == 0) {
return $m;
} else if ($c < 0) {
return bsearch($tab, $a, $m - 1, $s, $l);
} else {
return bsearch($tab, $m + 1, $b, $s, $l);
}
}
// --------------------------------------------------------------------------- //
// Main
// --------------------------------------------------------------------------- //
$completion = array();
$strlen = strlen($_GET['val']);
$upper = strtoupper($_GET['val']) ;
$i = bsearch($cpVilles, 0, sizeof($cpVilles) - 1, $upper, $strlen);
if ($i >= 0) {
while ($i > 0 && substr($cpVilles[$i - 1], 0, $strlen) == $upper) {
--$i;
}
while ($i < sizeof($cpVilles) &&
substr($cpVilles[$i], 0, $strlen) == $upper) {
$completion[] = '"'.$cpVilles[$i].'"';
++$i;
}
}
// Envoi au javascript au format JSON ['valeur1','valeur2', ...]
print '['.join(',', $completion).']';
?>

View File

@ -1,114 +0,0 @@
; COMBINAISON de DEPART
; (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
1 T 00
1 TSEP 13 61 61o61p
1 D VNR 24 45o24o24p
1 D NR 21o21p
1 DL NR 21 21o21p
1 DLVNR 45 24 45o24o24p
1 P VNR 74 78o74o74p
1 PD VNR 74 78o74o74p
1 PDL NR 78 83o74 74o74p
1 PDLV R 78 81 82 77 71
1 PDLVN 78 82 75 28 71
1 PDLVNR 78 74 82 78o74o82o82p
1 S 30o30p
1 S R 72o71 71o71p
1 S N 31
1 S NR 77 43 71
1 S V 35o35p30
1 S VN 75 77o75o77p75p
1 S V R 75 83
1 S VNR 43 44 75 83 61 71
1 S D 40p40o61p61
1 S D R 45o77 77o77p
1 S D N 71
1 S D NR 77 43 71 31
1 S D V 77o40 40o
1 S D V R 75 72 71
1 S D VN 43 41 77 71
1 S D VNR 44 43 49 73 75 72 71
1 S DL 78 78p61p61p
1 S DL R 82 78 77 71
1 S DL N 41 71
1 S DL NR 78 82 81 78p77 43 71 31
1 S DLV 78 78p71
1 S DLV R 78 83 82 75 72 40 71
1 S DLVN 78 82 78p43 71
1 S DLVNR 78 49 77 43 78p75 41 72 71 22
1 S P 60o60p31 31o31p
1 S P R 45 77 41
1 S P N 71 71o45 45p
1 S P NR 77 72 33 32
1 S P V 63o45 45o45p
1 S P VN 45 43 61 64
1 S P V R 75 83 45 35
1 S P VNR 77 45 44 43 73 75 72 71 41 42 40
1 S PD 45 71p71o
1 S PD R 77 45 71
1 S PD N 71 71o45 45o
1 S PD NR 77 76 45 41 43 40
1 S PD V 45 45o71 42 42p
1 S PD V R 77 83 43 71 41
1 S PD VN 83 75 71 44 83o75o71o44o43 41 40 40o40p
1 S PD VNR 77 74 45 44 43 75 71 61 63 60 40
1 S PDL 71 71o71p45 45o
1 S PDL R 78 82 75 45 44
1 S PDL N 73 48 41
1 S PDL NR 78 82 81 49 77 65 44 43 75 60 31
1 S PDLV 78 45 45o71 42 42p40
1 S PDLV R 78 83 82 75 45 49 46 42 71 40
1 S PDLVN 78 83 77 45 71 42 41 40
1 S PDLVNR 78 83 27 74 45 44 43 42 40
1 SE 31o31p
1 SE R 72o71 71o71p
1 SE N 31
1 SE NR 77 43 71
1 SE V 35o35p30
1 SE V R 75 83
1 SE VN 75 77
1 SE VNR 43 44 75 83 61 71
1 SE D 40o30
1 SE D R 45o77
1 SE D N 71
1 SE D NR 77 43 71 31
1 SE D V 77o40
1 SE D V R 75 72 71
1 SE D VN 43 41 77
1 SE D VNR 44 43 49 73 75 72 71
1 SE DL 40
1 SE DL R 82 78 77
1 SE DL N 45 43 82o45o43o43p
1 SE DL NR 78 82 81 46 77 43 71 31
1 SE DLV 78 78o71 71o71p
1 SE DLV R 78 83 82 75 72 40
1 SE DLVN 78 82 46 43 71
1 SE DLVNR 78 49 77 43 46 75 41 72 71 22
1 SEP 61p31 31p30
1 SEP R 45 77 41
1 SEP N 71 71o45 45p
1 SEP NR 77 72 33 32
1 SEP V 63o45
1 SEP V R 75 83 45 35
1 SEP VN 45 43 61 64
1 SEP VNR 77 45 44 43 73 75 72 71 41 42 40
1 SEPD 45 71p
1 SEPD R 77 45
1 SEPD N 71 71o45 40
1 SEPD NR 77 76 45 41 43 40
1 SEPD V 45 71p71o40
1 SEPD V R 77 83 43 71 41 40
1 SEPD VN 83 75 71 44 83o75o71o44o43 41 40 40o40p
1 SEPD VNR 77 74 45 44 43 75 71 61 63 60 40
1 SEPDL 45 71p40
1 SEPDL R 78 82 75 45 44 40
1 SEPDL N 73 48 41 40
1 SEPDL NR 78 82 81 49 77 65 44 43 75 60 31
1 SEPDLV 78 45 45o71 42 42p
1 SEPDLV R 78 83 82 75 45 49 46 42 71 40
1 SEPDLVN 78 83 77 45 71 42 41 40
1 SEPDLVNR 78 83 27 74 45 44 43 42 40

View File

@ -14,17 +14,123 @@ if (defined('LOCAL') == false) {
// --------------------------------------------------------------------------- //
function nouvelleSequence(&$criteres)
{
if (LOCAL == true) {
$crit2seq = file('crit2seq.prn');
} else {
$crit2seq = file(realpath(dirname(__FILE__)).'/crit2seq.prn');
}
foreach ($crit2seq as $ligne) {
if (($pos = strpos($ligne, ';')) != false) {
$ligne = substr($ligne, 0, $pos);
}
if (strstr(substr($ligne, 2, 10), $criteres) != false) {
return str_split(substr($ligne, 13, -1), 3);
$sequence = array(
array( 'crit' => 'IT ', 'next' => '12' ),
array( 'crit' => 'I ', 'next' => '00' ),
array( 'crit' => 'I SEP ', 'next' => '12' ),
array( 'crit' => ' T ', 'next' => '00' ),
array( 'crit' => ' TSEP ', 'next' => '13 61 61o61p' ),
array( 'crit' => ' D VNR', 'next' => '24 45o24o24p' ),
array( 'crit' => ' D NR', 'next' => '21o21p' ),
array( 'crit' => ' DL NR', 'next' => '21 21o21p' ),
array( 'crit' => ' DLVNR', 'next' => '36 45 24 45o24o24p' ),
array( 'crit' => ' P VNR', 'next' => '74 78o74o74p' ),
array( 'crit' => ' PD VNR', 'next' => '74 78o74o74p' ),
array( 'crit' => ' PDL NR', 'next' => '78 83o74 74o74p' ),
array( 'crit' => ' PDLV R', 'next' => '78 81 82 77 71' ),
array( 'crit' => ' PDLVN ', 'next' => '82 75 28 71' ),
array( 'crit' => ' PDLVNR', 'next' => '78 74 82 78o74o82o82p' ),
array( 'crit' => ' S ', 'next' => '30o30p' ),
array( 'crit' => ' S R', 'next' => '72o71 71o71p' ),
array( 'crit' => ' S N ', 'next' => '31' ),
array( 'crit' => ' S NR', 'next' => '77 43 71' ),
array( 'crit' => ' S V ', 'next' => '35o35p30' ),
array( 'crit' => ' S VN ', 'next' => '75 77o75o77p75p' ),
array( 'crit' => ' S V R', 'next' => '75 83' ),
array( 'crit' => ' S VNR', 'next' => '43 44 75 83 61 71' ),
array( 'crit' => ' S D ', 'next' => '40p40o61p61' ),
array( 'crit' => ' S D R', 'next' => '45o77 77o77p' ),
array( 'crit' => ' S D N ', 'next' => '71' ),
array( 'crit' => ' S D NR', 'next' => '77 43 71 31' ),
array( 'crit' => ' S D V ', 'next' => '77o40 40o' ),
array( 'crit' => ' S D V R', 'next' => '75 72 71' ),
array( 'crit' => ' S D VN ', 'next' => '43 41 77 71' ),
array( 'crit' => ' S D VNR', 'next' => '44 43 49 73 75 72 71' ),
array( 'crit' => ' S DL ', 'next' => '78 78p61p61p' ),
array( 'crit' => ' S DL R', 'next' => '82 78 77 71' ),
array( 'crit' => ' S DL N ', 'next' => '41 71' ),
array( 'crit' => ' S DL NR', 'next' => '78 82 81 78p77 43 71 31' ),
array( 'crit' => ' S DLV ', 'next' => '78 78p71' ),
array( 'crit' => ' S DLV R', 'next' => '78 83 82 75 72 40 71' ),
array( 'crit' => ' S DLVN ', 'next' => '78 82 78p43 71' ),
array( 'crit' => ' S DLVNR', 'next' => '78 49 77 43 78p75 41 72 71 22' ),
array( 'crit' => ' S P ', 'next' => '60o60p31 31o31p' ),
array( 'crit' => ' S P R', 'next' => '45 77 41' ),
array( 'crit' => ' S P N ', 'next' => '71 71o45 45p' ),
array( 'crit' => ' S P NR', 'next' => '77 72 33 32' ),
array( 'crit' => ' S P V ', 'next' => '63o45 45o45p' ),
array( 'crit' => ' S P VN ', 'next' => '45 43 61 64' ),
array( 'crit' => ' S P V R', 'next' => '75 83 45 35' ),
array( 'crit' => ' S P VNR', 'next' => '77 45 44 43 73 75 72 71 41 42 40' ),
array( 'crit' => ' S PD ', 'next' => '45 71p71o' ),
array( 'crit' => ' S PD R', 'next' => '77 45 71' ),
array( 'crit' => ' S PD N ', 'next' => '71 71o45 45o' ),
array( 'crit' => ' S PD NR', 'next' => '77 76 45 41 43 40' ),
array( 'crit' => ' S PD V ', 'next' => '45 45o71 42 42p' ),
array( 'crit' => ' S PD V R', 'next' => '77 83 43 71 41' ),
array( 'crit' => ' S PD VN ', 'next' => '83 75 71 44 83o75o71o44o43 41 40 40o40p' ),
array( 'crit' => ' S PD VNR', 'next' => '77 74 45 44 43 75 71 61 63 60 40' ),
array( 'crit' => ' S PDL ', 'next' => '71 71o71p45 45o' ),
array( 'crit' => ' S PDL R', 'next' => '78 82 75 45 44' ),
array( 'crit' => ' S PDL N ', 'next' => '73 48 41' ),
array( 'crit' => ' S PDL NR', 'next' => '78 82 81 49 77 65 44 43 75 60 31' ),
array( 'crit' => ' S PDLV ', 'next' => '78 45 45o71 42 42p40' ),
array( 'crit' => ' S PDLV R', 'next' => '78 83 82 75 45 49 46 42 71 40' ),
array( 'crit' => ' S PDLVN ', 'next' => '78 83 77 45 71 42 41 40' ),
array( 'crit' => ' S PDLVNR', 'next' => '78 83 27 74 45 44 43 42 40' ),
array( 'crit' => ' SE ', 'next' => '31o31p' ),
array( 'crit' => ' SE R', 'next' => '72o71 71o71p' ),
array( 'crit' => ' SE N ', 'next' => '31' ),
array( 'crit' => ' SE NR', 'next' => '77 43 71' ),
array( 'crit' => ' SE V ', 'next' => '35o35p30' ),
array( 'crit' => ' SE V R', 'next' => '75 83' ),
array( 'crit' => ' SE VN ', 'next' => '75 77' ),
array( 'crit' => ' SE VNR', 'next' => '43 44 75 83 61 71' ),
array( 'crit' => ' SE D ', 'next' => '40o30' ),
array( 'crit' => ' SE D R', 'next' => '45o77' ),
array( 'crit' => ' SE D N ', 'next' => '71' ),
array( 'crit' => ' SE D NR', 'next' => '77 43 71 31' ),
array( 'crit' => ' SE D V ', 'next' => '77o40' ),
array( 'crit' => ' SE D V R', 'next' => '75 72 71' ),
array( 'crit' => ' SE D VN ', 'next' => '43 41 77' ),
array( 'crit' => ' SE D VNR', 'next' => '44 43 49 73 75 72 71' ),
array( 'crit' => ' SE DL ', 'next' => '40' ),
array( 'crit' => ' SE DL R', 'next' => '82 78 77' ),
array( 'crit' => ' SE DL N ', 'next' => '45 43 82o45o43o43p' ),
array( 'crit' => ' SE DL NR', 'next' => '78 82 81 46 77 43 71 31' ),
array( 'crit' => ' SE DLV ', 'next' => '78 78o71 71o71p' ),
array( 'crit' => ' SE DLV R', 'next' => '78 83 82 75 72 40' ),
array( 'crit' => ' SE DLVN ', 'next' => '78 82 46 43 71' ),
array( 'crit' => ' SE DLVNR', 'next' => '78 49 77 43 46 75 41 72 71 22' ),
array( 'crit' => ' SEP ', 'next' => '61p31 31p30' ),
array( 'crit' => ' SEP R', 'next' => '45 77 41' ),
array( 'crit' => ' SEP N ', 'next' => '71 71o45 45p' ),
array( 'crit' => ' SEP NR', 'next' => '77 72 33 32' ),
array( 'crit' => ' SEP V ', 'next' => '63o45' ),
array( 'crit' => ' SEP V R', 'next' => '75 83 45 35' ),
array( 'crit' => ' SEP VN ', 'next' => '45 43 61 64' ),
array( 'crit' => ' SEP VNR', 'next' => '77 45 44 43 73 75 72 71 41 42 40' ),
array( 'crit' => ' SEPD ', 'next' => '45 71p' ),
array( 'crit' => ' SEPD R', 'next' => '77 45' ),
array( 'crit' => ' SEPD N ', 'next' => '71 71o45 40' ),
array( 'crit' => ' SEPD NR', 'next' => '77 76 45 41 43 40' ),
array( 'crit' => ' SEPD V ', 'next' => '45 71p71o40' ),
array( 'crit' => ' SEPD V R', 'next' => '77 83 43 71 41 40' ),
array( 'crit' => ' SEPD VN ', 'next' => '83 75 71 44 83o75o71o44o43 41 40 40o40p' ),
array( 'crit' => ' SEPD VNR', 'next' => '77 74 45 44 43 75 71 61 63 60 40' ),
array( 'crit' => ' SEPDL ', 'next' => '45 71p40' ),
array( 'crit' => ' SEPDL R', 'next' => '78 82 75 45 44 40' ),
array( 'crit' => ' SEPDL N ', 'next' => '73 48 41 40' ),
array( 'crit' => ' SEPDL NR', 'next' => '78 82 81 49 77 65 44 43 75 60 31' ),
array( 'crit' => ' SEPDLV ', 'next' => '78 45 45o71 42 42p' ),
array( 'crit' => ' SEPDLV R', 'next' => '78 83 82 75 45 49 46 42 71 40' ),
array( 'crit' => ' SEPDLVN ', 'next' => '78 83 77 45 71 42 41 40' ),
array( 'crit' => ' SEPDLVNR', 'next' => '78 83 27 74 45 44 43 42 40' ),
);
foreach ($sequence as $ligne) {
if (strstr($ligne['crit'], $criteres) != false) {
return str_split($ligne['next'], 3);
}
}
return array();
@ -36,9 +142,10 @@ function nouvelleSequence(&$criteres)
function nouvelleCombinaison(&$sequence, &$sequencePos, $pass, &$index, &$mode)
{
for (;;) {
if (isset($sequence[$sequencePos]) == false) {
if (isset($sequence[$sequencePos]) === false) {
return '';
}
$combinaison = trim($sequence[$sequencePos]);
++$sequencePos;
@ -48,25 +155,34 @@ function nouvelleCombinaison(&$sequence, &$sequencePos, $pass, &$index, &$mode)
// Passage en phonetique ou en orthographique
if (strlen($combinaison) == 3) {
if ($pass == 2 ||
$pass == 3) {
if ($pass == 2 || $pass == 3) {
continue;
}
$car = strtolower(substr($combinaison, 2, 1));
//Search Engine Version 2, we remove the orthographique
if (SPHINX_ENT_VERSION == 2 && $car == 'o') {
return strtolower(substr($combinaison, 0, 2));
}
switch($car) {
case 'p':
$index = 'ent_phx';
$mode = SPH_MATCH_EXTENDED2;
break;
case 'o':
$index = 'ent_mns';
$mode = SPH_MATCH_ISPELL;
break;
default:
debugln("attention: mode inconnu: '$car'");
case 'p':
$index = 'ent_phx';
$mode = SPH_MATCH_EXTENDED2;
break;
case 'o':
$index = 'ent_mns';
$mode = SPH_MATCH_ISPELL;
break;
default:
debugln("attention: mode inconnu: '$car'");
}
} else if ($pass == 1) {
$index = 'ent_mns';
$index = 'ent_mns';
//Search Engine Version 2, we remove the orthographique
if (SPHINX_ENT_VERSION == 2) {
$index = 'ent';
}
}
return $combinaison;
@ -76,13 +192,13 @@ function nouvelleCombinaison(&$sequence, &$sequencePos, $pass, &$index, &$mode)
// --------------------------------------------------------------------------- //
// Nouveaux criteres
// --------------------------------------------------------------------------- //
function nouveauxCriteres(&$comb2crit, &$combinaison)
function nouveauxCriteres($comb2crit, $combinaison)
{
foreach ($comb2crit as $ligne) {
if (strstr($ligne, $combinaison) != false) {
return substr($ligne, 3, -1);
}
if ( array_key_exists($combinaison, $comb2crit) ) {
$ligne = $comb2crit[$combinaison];
return $ligne;
}
return '';
}
?>

View File

@ -1,338 +0,0 @@
<?php
// --------------------------------------------------------------------------- //
// Formulaire de recherche Sphinx
// --------------------------------------------------------------------------- //
define('DEBUG', 1);
define('LOCAL', 0);
define('NBREP', 25);
include_once('/var/www/includes/config.php');
require_once('rechercheFonc.php');
$vue = $_GET['vue'];
if (isset($_POST['formR']) == true) {
$formR = $_POST['formR'];
} else {
$formR = array('type' => $vue);
}
if (isset($_GET['deb']) == true) {
$deb = $_GET['deb'];
} else {
$deb = 0;
}
// --------------------------------------------------------------------------- //
// Affiche un champs dans le formulaire
// --------------------------------------------------------------------------- //
function afficheChamps(&$form, $nomForm, $nom, $size, $maxlength, $extra = '')
{
print '<input type="text" name="'.$nomForm.'['.$nom.']" size="'.$size.
'" maxlength="'.$maxlength.'" '.$extra;
if (empty($form[$nom]) == false) {
$valeur = str_replace('"', '&quot;', $form[$nom]);
print ' value="'.$valeur.'"';
}
print ' />';
}
// --------------------------------------------------------------------------- //
// Affiche un libelle dans le formulaire
// --------------------------------------------------------------------------- //
function afficheLibelle($nom)
{
print '<td width="208" align="right" class="StyleRechercheLib"><b>'.
$nom.'</b></td>';
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Extranet Scores &amp; D&eacute;cisions - Recherche</title>
<script language="javascript">
var http = null;
if (window.XMLHttpRequest) {
// Firefox
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// Internet Explorer
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest.");
}
// --------------------------------------------------------------------------- //
// selectCompletion
// --------------------------------------------------------------------------- //
function selectCompletion()
{
if (http == null) {
return;
}
val = document.completion_form.completion_text.value;
if (val.length >= 3) {
http.open("GET", "cpVilles.php?&val=" + escape(val), true);
http.onreadystatechange = selectVilles;
http.send(null);
} else {
var sel = document.completion_form.completion_select;
sel.style.display = 'none';
}
}
// --------------------------------------------------------------------------- //
// selectVilles
// --------------------------------------------------------------------------- //
function selectVilles()
{
if (http.readyState == 4) {
villes = eval('(' + http.responseText + ')'); // [id1,id2, ...]
var sel = document.completion_form.completion_select;
if (villes.length <= 10) {
sel.attributes['size'].value = villes.length;
} else {
sel.attributes['size'].value = 10;
}
while (sel.options.length > 0) {
sel.options[0] = null;
}
for (i = 0; i < villes.length; ++i) {
sel.options[sel.options.length] = new Option(villes[i], villes[i]);
}
if (sel.options.length) {
sel.style.display = 'block';
} else {
sel.style.display = 'none';
}
}
}
// --------------------------------------------------------------------------- //
// selectClic
// --------------------------------------------------------------------------- //
function selectClic()
{
var sel = document.completion_form.completion_select ;
document.completion_form.completion_text.value =
sel.options[sel.selectedIndex].value ;
sel.style.display = 'none';
}
</script>
</head>
<body>
<form method="post" name="completion_form">
<table cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="580" height="200" align="center">
<?php
if ($vue == 'ent') {
?>
<input type="hidden" name="formR[type]" value="ent" />
<table>
<tr>
<td align="center">
<h2>RECHERCHE ENTREPRISE V2</h2>
</td>
</tr>
</table>
<table>
<tr>
<?php afficheLibelle('SIREN'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'siret', 25, 20,
'style=vertical-align:middle;'); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
<tr>
<?php afficheLibelle('RAISON SOCIALE<br/>ENSEIGNE / SIGLE'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'raisonSociale', 25, 250); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
</table>
<br/>
<table>
<tr>
<?php afficheLibelle('N&deg; &amp; VOIE'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'numVoie', 4, 4); ?>
<?php afficheChamps($formR, 'formR', 'voie', 17, 250); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
<tr>
<?php afficheLibelle('CP OU D&Eacute;P. / VILLE'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'cpVille', 25, 250,
'onkeyup="selectCompletion();"'.
' id="completion_text"'); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
<tr>
<td width="208">&nbsp;</td>
<td width="300" align="left">
<select id="completion_select"
size="1"
onclick="selectClic();"
style="display:none;">
</select>
</td>
<td width="72">&nbsp;</td>
</tr>
</table>
<br/>
<table>
<tr>
<?php afficheLibelle('T&Eacute;L / FAX'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'telFax', 15, 15); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
</table>
<table>
<tr>
<?php afficheLibelle('NAF'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'naf', 15, 666); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
</table>
<?php
} else if ($vue == 'dir') {
?>
<input type="hidden" name="formR[type]" value="dir" />
<table>
<tr>
<td align="center">
<h2>RECHERCHE PAR DIRIGEANT V2</h2>
</td>
</tr>
</table>
<table>
<tr>
<?php afficheLibelle('NOM'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'nom', 25, 40,
'style=vertical-align:middle;'); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
<tr>
<?php afficheLibelle('PRENOM'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'prenom', 25, 40); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
</table>
<br/>
<table>
<tr>
<?php afficheLibelle('DATE NAISSANCE'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'dirDateNaissJJ', 2, 2); ?>/
<?php afficheChamps($formR, 'formR', 'dirDateNaissMM', 2, 2); ?>/
<?php afficheChamps($formR, 'formR', 'dirDateNaissAAAA', 4, 4); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
<tr>
<?php afficheLibelle('CP OU D&Eacute;P. / VILLE DE NAISSANCE'); ?>
<td width="300" align="left">
<?php afficheChamps($formR, 'formR', 'cpVille', 25, 40,
'onkeyup="selectCompletion();"'.
' id="completion_text"'); ?>
</td>
<td width="72">&nbsp;</td>
</tr>
<tr>
<td width="208">&nbsp;</td>
<td width="300" align="left">
<select id="completion_select"
size="1"
onclick="selectClic();"
style="display:none;">
</select>
</td>
<td width="72">&nbsp;</td>
</tr>
</table>
<?php
}
?>
</td>
</tr>
</table>
<table width="580">
<tr>
<td align="center" valign="top">
<input type="submit" value="Envoyer" />
</td>
</tr>
</table>
</form>
<?php
if (count($formR) > 1) {
print '<form method="post" action="?vue='.$vue.'&deb='.($deb + NBREP).'">';
foreach ($formR as $label => $valeur) {
print '<input type="hidden" name="formR['.$label.']"'.
'value="'.$valeur.'" />';
}
print '<input type="submit" value="Suite" />';
print '</form>';
}
if (empty($formR['siret']) == false) {
$liste = verificationDuSiret($formR['siret']);
if (DEBUG && $liste != false) {
print 'Essayez :<br/>';
foreach ($liste as $s) {
if (sommeDeControle($s) != 0) {
print 'erreur somme de controle sur '.$s.
' ('.sommeDeControle($s).')<br/>';
} else {
print $s.'<br/>';
}
}
// TODO: utilisation de la liste
exit;
}
}
recherche($formR, $deb, NBREP);
?>
</body>
</html>

View File

@ -1,260 +0,0 @@
<?php
require_once 'framework/common/strings.php';
require_once realpath(dirname(__FILE__)).'/sphinxapi2.php';
function search2($index, $findMe, $tabFiltres=array(), $deb=0, $nbRep=20, $max=200, $any=false) {
$deb=$deb*1;
$nbRep=$nbRep*1;
$max=$max*1;
debugLog('I',"Search Sphinx dans $index de $findMe ($deb, $nbRep, $max) avec ".implode(',',$tabFiltres),__LINE__,__FILE__, __FUNCTION__, __CLASS__);
$iDb=new WDB();
//$any = false; // si false $index='xxx'
$cl = new SphinxClient2();
if ($index == 'histo'){
$cl->SetServer (SPHINX_HISTO_HOST, SPHINX_HISTO_PORT);
} else {
$cl->SetServer (SPHINX_HOST, SPHINX_PORT);
}
$cl->SetConnectTimeout ( 1 );
$cl->SetLimits ($deb, $nbRep, $max);//0, $nbRep*10);
//$cl->SetSortMode(SPH_SORT_ATTR_DESC, 'actif');//siege');
if (substr($index,0,4)=='etab')
$cl->SetSortMode(SPH_SORT_EXTENDED, 'rang DESC, actif DESC, siege DESC');//, nic DESC
//$cl->SetWeights ( array ( 100, 1 ) );
//$cl->SetMatchMode ( $any ? SPH_MATCH_ANY : SPH_MATCH_ALL );
$cl->SetMatchMode (SPH_MATCH_EXTENDED);
foreach ($tabFiltres as $nomFiltre => $valFiltre)
$cl->SetFilter($nomFiltre, array(0=>$valFiltre));
$cl->SetRankingMode ( SPH_RANK_PROXIMITY_BM25 );
//$cl->SetArrayResult ( true );
$res = $cl->Query ( $findMe, $index );
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug", print_r($res,true)) ;
if ($res===false) {
debugLog('I',"Search Sphinx : Pas de réponse pour $findMe avec ".implode(',',$tabFiltres).' ('.$cl->GetLastError() .')',__LINE__,__FILE__, __FUNCTION__, __CLASS__);
return array( 'results'=>false,
'nbRet'=>0,
'nbTot'=>0,
'error'=>$cl->GetLastError(),
'warning'=>$cl->GetLastWarning(),
'duration'=>$res[time]);//return false;
} else { // Le moteur est op<6F>rationel
if ( $cl->GetLastWarning() ) {
debugLog('I',"Search Sphinx : Warning pour $findMe - ".$cl->GetLastWarning(),__LINE__,__FILE__, __FUNCTION__, __CLASS__);
print "WARNING: " . $cl->GetLastWarning() . "\n\n";
}
/* print "Query '$findMe' retrieved $res[total] of $res[total_found] matches in $res[time] sec.\n";
print "Query stats :\n";
if ( is_array($res["words"]) )
foreach ( $res["words"] as $word => $info )
print " - '$word' found $info[hits] times in $info[docs] documents\n";
print "\n";*/
debugLog('I',"'Search Sphinx dans $index de $findMe (Filtre=".implode(',',$tabFiltres)."), Deb=$deb, nbRep=$nbRep, max=$max, any=$any",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
// debugLog('I',"Search Sphinx dans $index ". print_r($tabFiltres, true));
$tabRet=array();
if ( @is_array($res['matches'])) { // il y a des donn<6E>es <20> renvoyer
if (substr($index,0,4)=='etab') { // Recherche par <20>tab
foreach ( $res['matches'] as $doc => $docinfo ) { // On balaye chaque ligne
$listeEtab=$iDb->select('etablissements e',
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, ".
"CONCAT(e.siren, e.nic) as siret, e.actif",
"id=$doc LIMIT 0,1", true);
$etab=$listeEtab[0];
$tabRet[]=array( 'Localisation'=>$etab['Loc'],
'id'=>$doc,
'Pertinence'=>$docinfo['weight'],
'Siret'=>$etab['siret'],
'Siege'=>$etab['siege'],
'Nom'=>$etab['raisonSociale'],
'Sigle'=>$etab['sigle'],
'Enseigne'=>$etab['enseigne'],
'Adresse'=>trim($etab['adr_num'] .' '.
$etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '.
$etab['adr_libVoie'] .' '.
$etab['adr_comp']),
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Tel'=>$etab['tel'],
'Fax'=>$etab['fax'],
'FJ'=>$etab['cj'],
'Siren'=>$etab['siren'],
'Nic'=>$etab['nic'],
'Actif'=>$etab['actif'],
'NafEtab'=>$etab['ape_etab'], // Etablissement
//'NafEtabLib'=>$etab['LibNafEt'],
'NafEnt'=>$etab['ape_entrep'], // Entreprise
//'NafEntLib'=>$etab['LibNafEt'],
);
}
} elseif ($index=='histo') {
foreach ( $res['matches'] as $doc => $docinfo ) {
$listeEtab=$iDb->select('histobodacc.bodacc_ocr',
"'Histo' as Loc, id, nomFichier, annee1, bod, texte",
"id=$doc");
$etab=$listeEtab[0];
$tabRet[]=array( 'Localisation'=>$etab['Loc'],
'id'=>$doc,
'Pertinence'=>$docinfo['weight'],
'Fichier'=>$etab['nomFichier'],
'Annee'=>$etab['annee1'],
'Code'=>$etab['bod'],
'Texte'=>$etab['texte'],
);
}
} else { // Recherche par dirigeant
$findMe4=trim(substr($findMe,0,4));
foreach ( $res['matches'] as $doc => $docinfo ) { // On balaye chaque ligne dirigeant
$listeEtab=$iDb->select('rncs_dirigeants d, etablissements e',
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, ".
"CONCAT(e.siren, e.nic) as siret, /*d.rs,*/ d.nom, d.prenom, /*d.nomUsage,*/ d.naissance_date, d.naissance_lieu, ".
"d.fonction_lib, /*d.depart,*/ e.actif",
"d.id=$doc AND d.siren=e.siren AND e.siege=1 ORDER BY e.actif DESC LIMIT 0,1", true);
//die(print_r($listeEtab));
$etab=$listeEtab[0];
$tabRet[]=array( 'Localisation'=>$etab['Loc'],
'id'=>$doc,
'Pertinence'=>$docinfo['weight'],
'Siret'=>$etab['siret'],
'Siege'=>$etab['siege'],
'Nom'=>$etab['raisonSociale'],
'Sigle'=>$etab['sigle'],
'Enseigne'=>$etab['enseigne'],
'Adresse'=>trim($etab['adr_num'] .' '.
$etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '.
$etab['adr_libVoie'] .' '.
$etab['adr_comp']),
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Tel'=>$etab['tel'],
'Fax'=>$etab['fax'],
'FJ'=>$etab['cj'],
'Siren'=>$etab['siren'],
'Nic'=>$etab['nic'],
'Actif'=>$etab['actif'],
'NafEtab'=>$etab['ape_etab'], // Etablissement
'NafEnt'=>$etab['ape_entrep'], // Entreprise
'rs'=>'',//$etab['rs'],
'nomD'=>$etab['nom'],
'prenom'=>$etab['prenom'],
'nomUsage'=>'',//$etab['nomUsage'],
'dateEffet'=>'',//$etab['dateEffet'],
'fonction'=>$etab['fonction_lib'],
'depart'=>0,//$etab['depart'],
);
}
}
}
}
debugLog('I','Search Sphinx : Retourne '. $res[total].'/'. $res[total_found] .' en '.$res[time] .'secondes',__LINE__,__FILE__, __FUNCTION__, __CLASS__);
return array( 'results'=>$tabRet,
'nbRet'=>$res[total],
'nbTot'=>$res[total_found],
'duration'=>$res[time],
'words'=>$res['words'],
);
}
/*
<nafen>7020z<
*/
function comptage($findMe, $tabFiltres=array(), $deb=0, $nbRep=20, $max=1000, $any=false, $fichierCsv=false) {
$deb=$deb*1;
$nbRep=$nbRep*1;
$max=$max*1;
$index='comptage';
$iDb=new WDB();
/*
$cl = new SphinxClient ();
$cl->SetServer ( $host, $port );
$cl->SetWeights ( array ( 100, 1 ) );
$cl->SetMatchMode ( $mode );
if ( count($filtervals) ) $cl->SetFilter ( $filter, $filtervals );
if ( $groupby ) $cl->SetGroupBy ( $groupby, SPH_GROUPBY_ATTR, $groupsort );
if ( $sortby ) $cl->SetSortMode ( SPH_SORT_EXTENDED, $sortby );
if ( $sortexpr ) $cl->SetSortMode ( SPH_SORT_EXPR, $sortexpr );
if ( $distinct ) $cl->SetGroupDistinct ( $distinct );
if ( $limit ) $cl->SetLimits ( 0, $limit, ( $limit>1000 ) ? $limit : 1000 );
$res = $cl->Query ( $q, $index );
*/
$cl = new SphinxClient ();
$cl->SetServer ('192.168.3.24', 3312);
$cl->SetConnectTimeout(1);
$cl->SetLimits ($deb, $nbRep, $max);
// if (substr($index,0,4)=='etab')
// $cl->SetSortMode(SPH_SORT_EXTENDED, 'rang DESC, actif DESC, siege DESC');//, nic DESC
//$cl->SetWeights ( array ( 100, 1 ) );
//$cl->SetMatchMode ( $any ? SPH_MATCH_ANY : SPH_MATCH_ALL );
$cl->SetMatchMode (SPH_MATCH_EXTENDED);
foreach ($tabFiltres as $nomFiltre => $valFiltre)
$cl->SetFilter($nomFiltre, $valFiltre);
/*8.4.3. SetFilterRange
Prototype: function SetFilterRange ( $attribute, $min, $max, $exclude=false )
Adds new integer range filter. */
$cl->SetRankingMode ( SPH_RANK_PROXIMITY_BM25 );
//$cl->SetArrayResult ( true );
$res = $cl->Query ( $findMe, $index );
if ($res===false) {
// debugLog('I',"Search Sphinx : Pas de r<>ponse pour $findMe avec ".implode(',',$tabFiltres).' ('.$cl->GetLastError() .')',__LINE__,__FILE__, __FUNCTION__, __CLASS__);
return array( 'results'=>false,
'nbRet'=>0,
'nbTot'=>0,
'error'=>$cl->GetLastError(),
'warning'=>$cl->GetLastWarning(),
'durationCpt'=>$res[time],
'durationExp'=>0);//return false;);//return false;
} else { // Le moteur est op<6F>rationel
$tdeb=microtime(1);
if ( $cl->GetLastWarning() ) {
//debugLog('I',"Search Sphinx : Warning pour $findMe - ".$cl->GetLastWarning(),__LINE__,__FILE__, __FUNCTION__, __CLASS__);
print "WARNING: " . $cl->GetLastWarning() . "\n\n";
}
$tabRet=array();
if ( @is_array($res['matches'])) { // il y a des donn<6E>es <20> renvoyer
$tabIdDoc=array();
foreach ( $res['matches'] as $doc => $docinfo ) //{ // On balaye chaque ligne
$tabIdDoc[]=$doc;
$strDoc='('.implode(',',$tabIdDoc).')';
$tabTmp=$iDb->select( 'etablissements_act',
'id,ape_etab,ape_entrep,source,siren,nic,actif,siege,adr_cp,adr_dep,adr_com,tel,fax,cj,capital,age_entrep,age_etab,tca,tcaexp,teff_entrep,teff_etab,rang,dateCrea_etab,eff_entrep,eff_etab,nbEtab,bilType,bilAnnee,bilTca,bilCA,bilCAexp,bilRN',
"id IN $strDoc", false, MYSQL_ASSOC);
if ($fichierCsv) {
$fp=fopen($fichierCsv, 'w');
foreach ($tabTmp as $iTmp=>$tmp) {
$tabRet[]=$tmp;
fwrite($fp, implode("\t", $tmp).EOL);
}
fclose($fp);
}
}
}
return array( 'results'=>$tabRet,
'nbRet'=>$res[total],
'nbTot'=>$res[total_found],
'durationCpt'=>$res[time],
'durationExp'=>round(microtime(1)-$tdeb,3),
'error'=>$cl->GetLastError(),
'warning'=>$cl->GetLastWarning(),
'words'=>$res['words'],
);
}
?>

View File

@ -2,8 +2,6 @@
// --------------------------------------------------------------------------- //
// Formulaire de requete Sphinx
// --------------------------------------------------------------------------- //
// Fichiers lus en entree : crit2seq.prn et comb2crit.txt
// --------------------------------------------------------------------------- //
if (defined('DEBUG') == false) {
define( 'DEBUG', 0);
}
@ -49,11 +47,11 @@ if (DEBUG) {
} else {
function debugln($ln = '')
{
/*
/*
$fp = fopen(LOG_PATH.'/recherchesDebug.log', 'a');
fwrite($fp, $ln.'\n');
fwrite($fp, $ln."\n");
fclose($fp);
*/
*/
}
}
@ -521,11 +519,17 @@ function changePass(&$pass, &$mode, &$index, &$quorumActif, &$formR)
$pass = 3;
$mode = SPH_MATCH_ISPELL;
$index = 'ent_mns';
if (SPHINX_ENT_VERSION == 2) {
$index = 'ent';
}
return true;
case 3: // Pass 4 : Quorum n-1
$pass = 4;
$mode = SPH_MATCH_EXTENDED2;
$index = 'ent_mns';
if (SPHINX_ENT_VERSION == 2) {
$index = 'ent';
}
$quorumActif = true;
return true;
case 4: // Pass 5 : Quorum n-2
@ -650,10 +654,10 @@ function clientSphinx(&$formR)
switch ( $version ) {
case 1:
require_once realpath(dirname(__FILE__)).'/sphinxapi.php';
require_once 'Vendors/sphinxapi/sphinxapi-0.9.9.php';
break;
case 2:
require_once 'sphinxapi/sphinxapi-2.0.8.php';
require_once 'Vendors/sphinxapi/sphinxapi-2.1.2.php';
break;
}
@ -774,10 +778,13 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
$ret['reponses'][$i]['Nom2'] = '';
$ret['reponses'][$i]['Sigle'] = $ligne['sigle'];
$ret['reponses'][$i]['Enseigne'] = $ligne['enseigne'];
$ret['reponses'][$i]['Adresse'] =
$ligne['adr_num'].' '.
$ligne['adr_typeVoie'].' '.
$ligne['adr_libVoie'];
$adresse = '';
if ( intval($ligne['adr_dep'])==99 && intval($ligne['adr_num'])==0) {
$adresse.= $ligne['adr_typeVoie'].' '.$ligne['adr_libVoie'];
} else {
$adresse = $ligne['adr_num'].' '.$ligne['adr_typeVoie'].' '.$ligne['adr_libVoie'];
}
$ret['reponses'][$i]['Adresse'] = $adresse;
$ret['reponses'][$i]['Adresse2'] = $ligne['adr_comp'];
$ret['reponses'][$i]['CP'] = $ligne['adr_cp'];
$ret['reponses'][$i]['Ville'] = $ligne['adr_ville'];
@ -960,27 +967,27 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
e.adr_comp,
e.adr_cp,
e.adr_ville,
libPays AS pays,
e.adr_dep, e.adr_com,
e.tel,
e.fax,
e.cj,
e.actif,
e.ape_etab,
e.ape_entrep
FROM dirigeants d, etablissements e, bodacc_fonctions l
WHERE
d.fonction_code=l.codeFct
AND d.id IN (";
FROM dirigeants d, etablissements e LEFT OUTER JOIN tabPays ON codePaysInsee = IF(adr_dep=99,adr_com,null), bodacc_fonctions l
WHERE d.fonction_code=l.codeFct AND d.id IN (";
$i = 0;
$i = 0;
foreach ($resSphinx['matches'] as $id => $element) {
if($i > 0) $requeteDB.= ',';
$requeteDB.= $element['id'];
$i++;
}
$requeteDB .= ") AND e.id = (";
$requeteDB .= "SELECT tmp.id FROM etablissements tmp ";
$requeteDB .= "WHERE tmp.siren=d.siren ORDER by tmp.actif DESC, tmp.siege DESC LIMIT 1";
$requeteDB .= ")";
$requeteDB .= "SELECT tmp.id FROM etablissements tmp ";
$requeteDB .= "WHERE tmp.siren=d.siren ORDER by tmp.actif DESC, tmp.siege DESC LIMIT 1";
$requeteDB .= ") ORDER BY e.actif DESC, e.siege DESC, e.rang DESC";
//file_put_contents('test.log', $requeteDB);
@ -1118,11 +1125,11 @@ function rechercheAct($formR, $deb, $nbRep, $max)
$sphinxreturn = $sphinx->Query($Requete, $index);
/*
/*
file_put_contents('test.log', print_r($formR,1));
file_put_contents('test.log', $sphinx->GetLastError()."\n", FILE_APPEND);
file_put_contents('test.log', 'TEST='.print_r($sphinxreturn,1), FILE_APPEND);
*/
*/
$criteres = 'NPM';
@ -1135,9 +1142,9 @@ function rechercheAct($formR, $deb, $nbRep, $max)
IF(l.dateUpdate>l.dateInsert,l.dateUpdate,l.dateInsert) AS date,
/*Participation*/
CONCAT(e.siren, e.nic) AS siret,
par.siren,
e.nic,
CONCAT(LPAD(e.siren,9,'000000000'), LPAD(e.nic,5,'00000')) AS siret,
LPAD(par.siren,9,'000000000') AS siren,
LPAD(e.nic,5,'00000') AS nic,
e.siege,
par.RS AS raisonSociale,
/*sigle*/
@ -1186,9 +1193,9 @@ function rechercheAct($formR, $deb, $nbRep, $max)
IF(l.dateUpdate>l.dateInsert,l.dateUpdate,l.dateInsert) AS date,
/*Participation*/
CONCAT(e.siren, e.nic) AS siret,
par.siren,
e.nic,
CONCAT(LPAD(e.siren,9,'000000000'), LPAD(e.nic,5,'00000')) AS siret,
LPAD(par.siren,9,'000000000') AS siren,
LPAD(e.nic,5,'00000') AS nic,
e.siege,
par.RS AS raisonSociale,
/*sigle*/
@ -1348,6 +1355,9 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
if ($total_premiere_requete == 0 ||
$total_premiere_requete > 500) { // "huit a huit" donne 414
$index = 'ent_mns';
if (SPHINX_ENT_VERSION == 2) {
$index = 'ent';
}
// Requete sans les mots non significatifs
// pour connaitre le nombre de mots trouves pour chaque champ alpha
@ -1448,19 +1458,62 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
}
// Pour les nouveaux criteres
if (LOCAL) {
$comb2crit = file('comb2crit.txt');
} else {
$comb2crit = file(realpath(dirname(__FILE__)).'/comb2crit.txt');
}
$comb2crit = array(
'00'=> ' ',
'11'=> 'IT ',
'12'=> 'I ',
'13'=> ' T ',
'21'=> ' D NR',
'22'=> ' D VNR',
'23'=> ' DL N ',
'24'=> ' DL NR',
'25'=> ' P NR',
'26'=> ' P VN ',
'27'=> ' PD VNR',
'28'=> ' PD N ',
'30'=> ' S ',
'31'=> ' SE ',
'32'=> ' SE R',
'33'=> ' SE N ',
'34'=> ' SE NR',
'35'=> ' SE V ',
'36'=> ' SE V R',
'37'=> ' SE VNR',
'40'=> ' SE D ',
'41'=> ' SE D N ',
'42'=> ' SE D V ',
'43'=> ' SE D V R',
'44'=> ' SE D VN ',
'45'=> ' SE D VNR',
'46'=> ' SE DL ',
'47'=> ' SE DL R',
'48'=> ' SE DL N ',
'49'=> ' SE DL NR',
'60'=> ' SEP ',
'61'=> ' SEP N ',
'62'=> ' SEP NR',
'63'=> ' SEP V ',
'64'=> ' SEP V R',
'65'=> ' SEP VNR',
'71'=> ' SEPD ',
'72'=> ' SEPD R',
'73'=> ' SEPD N ',
'74'=> ' SEPD NR',
'75'=> ' SEPD V ',
'76'=> ' SEPD V R',
'77'=> ' SEPD VN ',
'78'=> ' SEPD VNR',
'81'=> ' SEPDL R',
'82'=> ' SEPDL N ',
'83'=> ' SEPDL NR',
);
}
// Combinaison
$combinaison = nouvelleCombinaison($sequence, $sequencePos, $pass, $index, $mode);
if ($combinaison == '') {
debugln('fin des combinaisons');
if (changePass($pass, $mode, $index,
$quorum_actif, $formR) == true) {
if (changePass($pass, $mode, $index, $quorum_actif, $formR) == true) {
$criteres = 'ITSEPDLVNR';
initSphinx($sphinx, $mode, $pass, $deb, $nbRep, $max);
$sequencePos = 0;

View File

@ -1,171 +0,0 @@
<?php
// --------------------------------------------------------------------------- //
// Teste la recherche avec les criteres contenus dans un fichier
// --------------------------------------------------------------------------- //
define('LOCAL', 1);
if (isset($_GET['fichier']) == true) {
$fichier = $_GET['fichier'];
} else {
$fichier = 'nontrouves.txt';
}
if (isset($_GET['num']) == true) {
define('DEBUG', 1);
$num = $_GET['num'];
} else {
define('DEBUG', 0);
$num = '';
}
if (isset($_GET['page']) == true) {
$page = intval($_GET['page']);
} else {
$page = 1;
}
require_once('rechercheFonc.php');
function rechercheTest($fichierLog, $num, $page)
{
$NB_PAR_PAGE = 40;
$crit2form = array('S' => 'raisonSociale',
'N' => 'numVoie',
'R' => 'voie',
'L' => 'cpVille',
'V' => 'cpVille');
$liste = file($fichierLog);
if ($num != '') {
$n = intval($num);
$indices = array($n);
} else {
$n = ($page - 1) * $NB_PAR_PAGE;
$indices = range($n, min($n + $NB_PAR_PAGE - 1, count($liste) - 1));
}
foreach ($indices as $i) {
$ligne = explode('#', $liste[$i], 2);
++$n;
$formR = array();
$criteres = explode(',', $ligne[0]);
unset($nb_rep);
$siret = '';
// Nombre de resultats et siret
foreach ($criteres as $c) {
$labelvaleur = explode('=', $c);
$label = trim($labelvaleur[0]);
if ($label == 'NbRep' && isset($labelvaleur[1]) == true) {
$nb_rep = intval(trim($labelvaleur[1]));
}
if ($label == 'SiretTrouve' && isset($labelvaleur[1]) == true) {
$siret = trim($labelvaleur[1]);
}
}
// Restrictions
if (isset($nb_rep) == false || $nb_rep != 1 || $siret == '') {
//continue;
}
// Criteres
foreach ($criteres as $c) {
$labelvaleur = explode('=', $c, 2);
$label = trim($labelvaleur[0]);
if (isset($labelvaleur[1]) == false) {
continue;
}
$valeur = trim($labelvaleur[1]);
if (isset($crit2form[$label]) == false) {
continue;
}
if ($label == 'R' &&
preg_match('/[0-9]+/', $valeur, $arrayValeur) > 0) {
$formR['numVoie'] = $arrayValeur[0];
$valeur = str_replace($arrayValeur[0].' ', '', $valeur);
print 'N='.$arrayValeur[0].', ';
}
if (isset($formR[$crit2form[$label]]) == false) {
$formR[$crit2form[$label]] = $valeur;
} else {
$formR[$crit2form[$label]] .= ' '.$valeur;
}
print $label.'='.$valeur.', ';
}
// Recherche
$formR['type'] = 'ent';
$res = recherche($formR, 0, 100);
$total = 0;
$siren = 0;
$nic = 0;
$resSiret = '00000000000000';
if (isset($res['nbReponsesTotal'])) {
$total = $res['nbReponsesTotal'];
if ($total == 1) {
$siren = $res['reponses'][0]['Siren'];
$nic = $res['reponses'][0]['Nic'];
$resSiret = sprintf("%09d%05d", $siren, $nic);
} else if (isset($nb_rep) != false &&
($nb_rep < $total) &&
($nb_rep == 10 ||
$nb_rep == 20)) {
$total = $nb_rep;
}
}
if ($siret != '') {
if ($siret != '00000000000000' &&
$siret != $resSiret) {
print '<font color=#FF0000>'.$siret.' </font>';
} else {
print $siret.' ';
}
print $resSiret.' ';
}
if (($siret != '' &&
$siret != '00000000000000' &&
$siret != $resSiret) ||
(isset($nb_rep) != false &&
$nb_rep != 0 &&
$nb_rep != $total) ||
(isset($nb_rep) == false &&
$total == 0)) {
print '<font color=#FF0000>pass'.$res['pass'].' </font>';
} else {
print '<font color=#00FF00>pass'.$res['pass'].' </font>';
}
if (isset($nb_rep) != false) {
if ($nb_rep != 0 &&
$nb_rep != $total) {
print '<font color=#FF0000>'.$nb_rep.' </font>';
} else {
print $nb_rep;
}
}
print ' <a href=?fichier='.$fichierLog.'&num='.($n-1).'>'.
$total.'</a>';
if (count($ligne) == 2) {
print ' #'.$ligne[1];
}
print '<br/>';
}
if ($num == '') {
print '<br/>pages: ';
for ($p = 1; $p < $page; ++$p) {
print '<a href=?fichier='.$fichierLog.
'&page='.$p.'>'.$p.'</a> ';
}
print '<b>'.$page.'</b> ';
for ($p = $page + 1; ($p - 1) * $NB_PAR_PAGE < count($liste); ++$p) {
print '<a href=?fichier='.$fichierLog.
'&page='.$p.'>'.$p.'</a> ';
}
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
rechercheTest($fichier, $num, $page);
?>
</body>
</html>

View File

@ -1,130 +0,0 @@
<?php
require_once 'framework/common/strings.php';
require_once realpath(dirname(__FILE__)).'/sphinxapi.php';
class SphinxCriteres
{
var $findMe = '';
var $tabFiltres = array();
var $position = 0;
var $nbRep = 20;
var $max = 200;
var $any = false;
}
class SphinxSearch
{
/**
* Effectue une recherche en interrogeant le moteur Sphinx
*
* @param string $index
* @param SphinxCriteres $criteres Critères de recherche
* @return array $return Tableau des résultats
*/
public function search($index, $criteres)
{
debugLog('I',"Search Sphinx dans $name de ".$criteres->findMe." (".$criteres->deb.", ".$criteres->nbRep.", ".$criteres->max.") avec ".implode(',',$criteres->tabFiltres),__LINE__,__FILE__, __FUNCTION__, __CLASS__);
$cl = new SphinxClient();
switch (strtolower($index)) {
case 'entrep':
break;
case 'dir':
break;
case 'histo':
$cl->SetServer (SPHINX_HISTO_HOST, SPHINX_HISTO_PORT);
$cl->SetConnectTimeout ( 1 );
$cl->SetLimits ($criteres->position, $criteres->nbRep, $criteres->max);
$cl->SetMatchMode (SPH_MATCH_EXTENDED);
foreach ($criteres->tabFiltres as $nomFiltre => $valFiltre) {
$cl->SetFilter($nomFiltre, array(0=>$valFiltre));
}
$cl->SetRankingMode ( SPH_RANK_PROXIMITY_BM25 );
$res = $cl->Query ( $criteres->findMe, 'histo' );
if ($res===false) {
//Erreur
debugLog('I',"Search Sphinx : Pas de réponse pour ".$criteres->findMe." avec ".implode(',',$criteres->tabFiltres).' ('.$cl->GetLastError() .')',__LINE__,__FILE__, __FUNCTION__, __CLASS__);
return array(
'results' => false,
'nbRet' => 0,
'nbTot' => 0,
'duration' => 0);
} else {
if ( $cl->GetLastWarning() ) {
debugLog('I',"Search Sphinx : Warning pour $criteres->findMe - ".$cl->GetLastWarning(),__LINE__,__FILE__, __FUNCTION__, __CLASS__);
print "WARNING: " . $cl->GetLastWarning() . "\n\n";
}
debugLog('I',"'Search Sphinx dans $index de $criteres->findMe (Filtre=".implode(',',$criteres->tabFiltres)."), Deb=".$criteres->position.", nbRep=".$criteres->nbRep.", max=".$criteres->max.", any=".$criteres->any,__LINE__,__FILE__, __FUNCTION__, __CLASS__);
$tabRet = array();
if ( is_array($res['matches'])) {
$iDb = new WDB('histobodacc');
$iDb->query("SET NAMES 'latin1';");
foreach ( $res['matches'] as $doc => $docinfo ) {
$listeEtab = $iDb->select(
'bodacc_ocr',
"'Histo' as Loc, id, nomFichier, annee1, bod, texte",
"id=$doc");
$etab = $listeEtab[0];
$tabRet[] = array(
'Localisation' => $etab['Loc'],
'id' => $doc,
'Pertinence' => $docinfo['weight'],
'Fichier' => $etab['nomFichier'],
'Annee' => $etab['annee1'],
'Code' => $etab['bod'],
'Texte' => $etab['texte'],
);
}
}
}
debugLog('I','Search Sphinx : Retourne '. $res[total].'/'. $res[total_found] .' en '.$res[time] .'secondes',__LINE__,__FILE__, __FUNCTION__, __CLASS__);
return array(
'results' => $tabRet,
'nbRet' => $res[total],
'nbTot' => $res[total_found],
'duration' => $res[time],
'words' => $res['words'],
);
break;
}
}
/**
* Méthode magique __call() permettant d'appeller une méthode virtuelle
* du type searchByEnt(), searchByDir() ou searchByHisto()...
*
* @param string $method Nom de la méthode virtuelle appelée
* @param array $args Tableau des critères de recherche
* @return array|null $return Tableau des résultats ou NULL
*/
public function __call($method, $args)
{
if(preg_match('#^searchBy#i',$method))
{
$name = str_replace('searchBy','',$method);
$criteres = array(
0 => 'findMe',
1 => 'tabFiltres',
2 => 'position',
3 => 'nbRep',
4 => 'max',
5 => 'any',
);
$searchArgs = new stdClass();
$i = 0;
foreach($args as $argument) {
$searchArgs->{$criteres[$i]} = $argument;
$i++;
}
return $this->search($name, $searchArgs);
}
return null;
}
}

View File

@ -1,821 +0,0 @@
<?php
require_once realpath(dirname(__FILE__)).'/sequence.php';
require_once realpath(dirname(__FILE__)).'/configuration.php';
Class SDmotor
{
protected $sphinx;
protected $formR;
protected $index;
protected $criteresLetters;
protected $limits;
protected $sequancesArray;
protected $pertinance;
protected $acronyme;
protected $NumberResults;
protected $MaxResults;
public function __construct()
{
$this->limits['total_time'] = 0;
$this->limits['actif'] = false;
}
public function _initForm($formR)
{
$formulaire = array();
$ok = false;
switch($this->index) {
case 'ent':
foreach($formR as $name => $form) {
if($name != 'controller' and $name != 'action' and $name != 'module' and $name != 'Envoyer') {
$formulaire[$name] = (empty($form))?'':$form;
}
}
foreach($formulaire as $name => $form) {
if(array_key_exists($name, ConfigurationEnt::$app_form) and !empty($formulaire[$name]))
$array[$name] = $form;
}
$this->formR = $array;
break;
case 'dir':
foreach($formR as $name => $form) {
if($name != 'controller' and $name != 'action' and $name != 'module' and $name != 'Envoyer') {
$formulaire[$name] = (empty($form))?'':$form;
}
}
$this->formR = $formulaire;
break;
case 'act':
foreach($formR as $name => $form) {
if($name != 'controller' and $name != 'action' and $name != 'module' and $name != 'Envoyer') {
$formulaire[$name] = (empty($form))?'':$form;
}
}
$this->formR = $formulaire;
break;
case 'ciblage':
break;
}
}
public function databaseJO()
{
switch($this->index)
{
case 'ent':
$db = new mysqli(ConfigurationEnt::$mysql_host, ConfigurationEnt::$mysql_user, ConfigurationEnt::$mysql_password, ConfigurationEnt::$mysql_database);
break;
case 'dir':
$db = new mysqli(ConfigurationDir::$mysql_host, ConfigurationDir::$mysql_user, ConfigurationDir::$mysql_password, ConfigurationDir::$mysql_database);
break;
case 'act':
$db = new mysqli(ConfigurationAct::$mysql_host, ConfigurationAct::$mysql_user, ConfigurationAct::$mysql_password, ConfigurationAct::$mysql_database);
break;
case 'ciblage':
$db = new mysqli(ConfigurationCiblage::$mysql_host, ConfigurationCiblage::$mysql_user, ConfigurationCiblage::$mysql_password, ConfigurationCiblage::$mysql_database);
break;
}
if (mysqli_connect_error()) {
return;
}
$db->query("SET NAMES 'utf8';");
return $db;
}
public function search()
{
$pass = 0;
$quorum = array();
switch($this->index) {
case 'ent':
$this->sphinx->SetLimits(intval($this->deb), intval($this->NumberResults), intval($this->MaxResults));
if(!empty($this->formR['raisonSociale'])) $this->formR['raisonSociale'] = $this->formatRaisonSociale($this->formR['raisonSociale']);
$this->sphinx->SetSortMode(ConfigurationEnt::$sphinx_sort, 'sirenValide DESC, rang DESC, actif DESC, siege DESC');
$this->sphinx->SetMatchMode(ConfigurationEnt::$sphinx_match);
if(!empty($this->formR['Voie'])) $this->formR['Voie'] = $this->formatAdress ($this->formR['Voie']);
$resSphinx = $this->SPH_MATCH_();
break;
case 'dir':
$this->sphinx->SetLimits(intval($this->deb), intval($this->NumberResults), intval($this->MaxResults));
$this->sphinx->SetSortMode(ConfigurationDir::$sphinx_sort, 'actif DESC');
$this->sphinx->SetMatchMode(ConfigurationDir::$sphinx_match);
$resSphinx = $this->SPH_MATCH_();
break;
case 'act':
$this->sphinx->SetLimits(intval($this->deb), $this->NumberResults, $this->MaxResults);
$this->sphinx->SetSortMode(ConfigurationAct::$sphinx_sort, 'actif DESC');
$this->sphinx->SetMatchMode(ConfigurationAct::$sphinx_match);
$resSphinx = $this->SPH_MATCH_();
break;
case 'ciblage' :
$this->sphinx->SetLimits(intval($this->deb), ConfigurationCiblage::$nb_results, ConfigurationCiblage::$max_results);
break;
}
if($resSphinx['matches'] > 0){$this->setTime($resSphinx['time']);}
return ($this->getResponse($resSphinx));
}
public function SPH_MATCH_()
{
$sequenceS = new Sequence();
$Word = new Words();
$ref = $Word->refSequence;
$sequence = $sequenceS->sequence;
$link = $sequenceS->link;
$this->sequancesArray = array();
switch($this->index)
{
case 'ent':
$i = 0;
$valeur = $this->detectedSequance();
do {
$this->sequancesArray[] = $sequence[$link[$valeur]['id'][$i]];
$this->criteresLetters = $sequence[$link[$valeur]['id'][$i]];
$sequances = explode('.', $sequence[$link[$valeur]['id'][$i]]);
$quorum = $this->countQorum();
$quorumRue = $this->countQorumR();
if(in_array('S', $sequances)) {
do {
$countRef = 0;
do {
if($link[$valeur][$ref[$countRef]])
{
if(in_array('R', $sequances))
{
do {
$this->constructQuerySequance($sequence[$link[$valeur]['id'][$i]], array((($quorum==$this->countQorum())?false:$quorum), (($quorumRue==$this->countQorumR())?false:$quorumRue)), $ref[$countRef]);
$result = $this->sphinx->RunQueries();
if($this->constructRaisonSocialeRequest($sequence[$link[$valeur]['id'][$i]], array($quorum, false), $ref[$countRef])) {
$result = $this->sphinx->RunQueries();
if(!empty($result)) {
foreach($result as $res) {
if($res['total'] > 0) {$result = $res;}
}
}
}
$quorumRue--;
} while(($result['total'] < 1) && $quorumRue > 0);
} else {
$this->constructQuerySequance($sequence[$link[$valeur]['id'][$i]], array($quorum, false), $ref[$countRef]);
if($this->constructRaisonSocialeRequest($sequence[$link[$valeur]['id'][$i]], array($quorum, false), $ref[$countRef])) {
$result = $this->sphinx->RunQueries();
if(!empty($result)) {
foreach($result as $res) {
if($res['total'] > 0) {$result = $res;}
}
}
}
}
}
$countRef++;
} while (($result['total'] < 1) && $countRef < count($ref));
$quorum--;
} while (($result['total'] < 1) && $quorum > 0);
} elseif (in_array('R', $sequances)) {
$qv = count(explode(' ', trim($this->formR['Voie'])));
$quorumVille = $qv;
do {
$this->constructQuerySequance($sequence[$link[$valeur]['id'][$i]], array(false, false), null);
$result = $this->sphinx->Query($this->RequestAdress($sequence[$link[$valeur]['id'][$i]], array('R', $qv)), $this->index);
$qv--;
} while($result['total'] < 1 and $qv > 0);
} else {
$this->constructQuerySequance($sequence[$link[$valeur]['id'][$i]], array(false, false), null);
$result = $this->sphinx->Query($this->RequestAdress($sequence[$link[$valeur]['id'][$i]]), $this->index);
}
$i++;
} while (($result['total'] < 1) && $i < count($link[$valeur]['id']));
break;
case 'dir':
$request = $this->constructQuerySequance(null, null, null, null);
$result = $this->sphinx->Query($request, $this->index);
break;
case 'act':
$quorum = count(explode(' ', $this->formR['actNomRs']));
while($result['total'] == 0 and $quorum != 0) {
$request = $this->constructQuerySequance(null, $quorum--, false);
$result = $this->sphinx->Query($request, $this->index);
}
break;
}
return ($result);
}
public function HistoSearch()
{
if(!empty($this->formR['annee1']))
$this->sphinx->setFilter('annee1', array($this->formR['annee1']));
$resSphinx = $this->sphinx->Query($this->formR['recherche'], $this->index);
return ($this->getResponse($resSphinx));
}
public function formatRaisonSociale($rs, $double = false)
{
$words = new Words();
$request = '';
$wordformRS = $words->wordformRS;
$array = explode(' ', $rs);
if(!empty($this->formR['raisonSociale']))
{
foreach($array as $item)
{
$item = str_replace('\'', ' ', $item);
if((strlen($item) > ConfigurationEnt::$app_maxSizeWord and !in_array(strtoupper($item), $wordformRS) and $this->index == 'ent') or strlen($item) > ConfigurationEnt::$app_maxSizeWord and count($array) == 1) {
if($double)
$request .= preg_replace('/(?:([^*])\1)\1*/', '$1', $item).' ';
else
$request .= $item.' ';
} else {
$request .= $item.' ';
}
}
$requets = mb_strtoupper(strtr(str_replace("'", ' ', $this->formR['raisonSociale']), 'ÉÈÊË', 'EEEEE'), 'UTF-8');
return ($requets);
}
}
public function formatCP($cp)
{
$matches = '';
$arrayChamp = explode(' ', trim($cp));
$str = false;
for($i=0; $i < count($arrayChamp); $i++)
{
if(preg_match('/^[0-9]{1,}$/', $cp, $matches))
{
if (strlen($matches[0]) == 1 and $matches[0] < 10) {
$matches[0] = '0'.$matches[0];
}
$size = strlen($matches[0]);
switch($this->index) {
case 'ent':
if(substr($matches[0], 0, 2) > 95 ) {
$this->sphinx->setFilter('adr_dep', array((int)substr($matches[0], 0, 3)));
} else if (substr($matches[0], 0, 2) == 20) {
$this->sphinx->setFilter('adr_dep', array(200));
} else {
$this->sphinx->setFilter('adr_dep', array((int)(substr($cp, 0, 2))));
}
if($size == 5) {
$this->sphinx->setFilter('adr_cp', array(intval($matches[0])));
}
break;
case 'dir':
if(substr($matches[0], 0, 2) > 95 ) {
$this->sphinx->setFilter('adr_dep', array((int)substr($matches[0], 0, 3)));
} else if (substr($matches[0], 0, 2) == 20) {
$this->sphinx->setFilter('adr_dep', array(200));
} else {
$this->sphinx->setFilter('adr_dep', array((int)(substr($cp, 0, 2))));
}
if($size == 5) {
$this->sphinx->setFilter('adr_cp', array(intval($matches[0])));
}
break;
case 'act':
if(substr($matches[0], 0, 2) > 95 ) {
$this->sphinx->setFilter('adr_dep', array((int)substr($matches[0], 0, 3)));
} else if (substr($matches[0], 0, 2) == 20) {
$this->sphinx->setFilter('adr_dep', array(200));
} else {
$this->sphinx->setFilter('adr_dep', array((int)(substr($cp, 0, 2))));
}
if($size == 5) {
$this->sphinx->setFilter('adr_cp', array(intval($matches[0])));
}
break;
case 'ciblage':
break;
default:
}
}
else {
switch($this->index) {
case 'ent':
$str .= $arrayChamp[$i];
break;
case 'dir':
$str .= ' @naissance_lieu "'.$arrayChamp[$i].'"';
break;
case 'act':
$str .= $arrayChamp[$i];
break;
case 'ciblage':
break;
}
}
}
return ($str);
}
public function FiltreDateDeNaissance()
{
if(!empty($this->formR['dirDateNaissMM'])) {
if($this->formR['dirDateNaissMM'] > 0 and $this->formR['dirDateNaissMM'] < 12) {
if(($this->formR['dirDateNaissMM'] % 2) != 0 )
{
if($this->formR['dirDateNaissJJ'] > 0 and $this->formR['dirDateNaissJJ'] < 31) {
$this->sphinx->setFilter('naiss_jour', array($this->formR[dirDateNaissJJ]));
}
} else {
if($this->formR['dirDateNaissJJ'] > 0 and $this->formR['dirDateNaissJJ'] < 29) {
$this->sphinx->setFilter('naiss_jour', array($this->formR[dirDateNaissJJ]));
}
}
}
} else {
if(!empty($this->formR['dirDateNaissJJ'])) {
$this->sphinx->setFilter('naiss_jour', array($this->formR[dirDateNaissJJ]));
}
}
if($this->formR['dirDateNaissAAAA'] > 0 and $this->formR['dirDateNaissAAAA'] < date('Y')) {
$this->sphinx->setFilter('naiss_annee', array($this->formR[dirDateNaissAAAA]));
}
}
public function removeSmallWord($rs)
{
$words = new Words();
$wordformRS = $words->wordformRS;
$array = explode(' ', $rs);
if(count($array) > 1) {
foreach($array as $item) {
if(strlen($item) > 1 and !in_array(strtoupper($item), $wordformRS)) {
$request .= $item.' ';
} else if (strlen($item) == 1) {
$this->acronyme .= $item;
}
}
}
return ((empty($request))?$rs:$request);
}
public function formatAdress($adress)
{
$words = new Words();
$adrRef = $words->adrRef;
$adr = explode(' ', $adress);
foreach($adr as $item) {
if(!empty($adrRef)) {
if(!in_array($item, $adrRef)) {
$request .= $item.' ';
}
}
}
return ($request);
}
public function countQorum()
{
$i=0;
$val = explode(' ', $this->formR['raisonSociale']);
foreach($val as $item) {
if(empty($item))
unset($val[$i]);
$i++;
}
return (count($val));
}
public function countQorumR()
{
$i=0;
$val = explode(' ', $this->formR['Voie']);
foreach($val as $item) {
if(empty($item))
unset($val[$i]);
$i++;
}
return (count($val));
}
public function detectedSequance()
{
$sequance = "";
foreach($this->formR as $name => $form) {
if($name != 'SPH_MATCH' and !empty($this->formR[$name])) {
$sequance .= '.'.ConfigurationEnt::$app_form[$name];
$values .= $name.', ';
}
}
$sequance = substr($sequance,1);
if($sequance == 'S.S') {return 'S';}
return ($sequance);
}
protected function RequestAdress($sequances, $quorum = false)
{
$request = '';
$adresse = '@adresse "';
$ville = '@ville "';
$naf = '@ape_etab "';
if(!is_array($sequances))$sequances = explode('.', $sequances);
if(in_array('V', $sequances)) {$request .= $ville.str_replace('-', ' ', $this->formR['Ville']).'" '.(($quorum and $quorum[0] == 'V')?'/'.$quorum[1]:null);}
if(in_array('F', $sequances)) {$request .= $naf.$this->formR['naf'].'"';}
if(in_array('R', $sequances)) {$request .= $adresse.$this->formR['Voie'].'" '.(($quorum and $quorum[0] == 'R')?'/'.$quorum[1]:null);}
return ($request);
}
protected function constructRaisonSocialeRequest($sequances, $quorum, $seq)
{
$request = '@nom ';
$diff = explode('.', $sequances);
switch($seq)
{
case 'quorum':
$this->sphinx->AddQuery($request.' "'.$this->formR['raisonSociale'].'" ~10 '.(($quorum[0] >= 1)?'/'.$quorum[0]:' '.$this->RequestAdress($diff)));
return (true);
case 'space':
$req = $request.'"'.str_replace(' ', '', $this->formatRaisonSociale($this->formR['raisonSociale'])).'" '.$this->RequestAdress($diff).' | ';
$req .= $request.'"'.str_replace(' ', '', $this->formatRaisonSociale($this->formR['raisonSociale'], true)).'" '.$this->RequestAdress($diff);
$this->sphinx->AddQuery($req);
return (true);
case 'double':
if(strlen($this->formR[$name]) > 5) {
$req = $request.'"'.$this->formatRaisonSociale($this->formR['raisonSociale'], true).'" '.$this->RequestAdress($diff).' | ';
$req .= $request.'"'.$this->formatRaisonSociale($this->formR['raisonSociale'], true).'" '.(($quorum[0] >= 1)?'/'.$quorum[0]:'').' '.$this->RequestAdress($diff);
$this->sphinx->AddQuery($req);
return (true);
}
return (true);
case 'points':
$this->sphinx->AddQuery($request.'"'.str_replace('.', '', $this->formR['raisonSociale']).'" '.$this->RequestAdress($diff));
return (true);
case 'acrony':
if(!empty($this->acronyme) and strlen($this->acronyme) > 2) {
$this->sphinx->AddQuery($request.'"'.$this->acronyme.' '.$this->formatRaisonSociale($this->formR['raisonSociale']).'"/'.$quorum[0].' '.$this->RequestAdress($diff));
}
return (true);
case 'split':
for($count=0;$count < 2; $count++)
{
$rs = (($i == 0)?trim($this->formR['raisonSociale']):str_replace('.', '', trim($this->formR['raisonSociale'])));
$precedent = '';
$request .= '(';
if(count(explode(' ', $rs)) == 1) {
for($i=0; $i < strlen($rs); $i++) {
$precedent .= $rs[$i];
$request .= ' "'.$precedent.' '.substr($rs, $i+1).'"'.(($i+1 != strlen($rs))?' ':'');
if($i+1 < strlen($rs))
$request .= ' | ';
}
}
$request .= ($count == 0)?') |':')';
$this->sphinx->AddQuery($request.' '.$this->RequestAdress($diff));
}
return (true);
default:
$this->sphinx->AddQuery($request.'"'.$this->formatRaisonSociale($this->formR['raisonSociale']).'" '.$this->RequestAdress($diff));
return (true);
}
return (false);
}
protected function constructQuerySequance($sequances, $quorum, $seq)
{
$request = "";
$this->sphinx->ResetFilters();
switch($this->index) {
case 'ent':
$diff = explode('.', $sequances);
foreach(ConfigurationEnt::$app_form as $name => $crit)
{
if(in_array($crit, $diff)) {
switch($name)
{
case 'cpVille':
$str = $this->formatCP($this->formR[$name]);
if($str != false) {$this->sphinx->AddQuery($adresse.$str);}
break;
case 'siren':
if(strlen($this->formR[$name]) == 14) {
$this->sphinx->setFilter('siren', array(substr($this->formR[$name], 0, 9)));
$this->sphinx->setfilter('nic', array(substr($this->formR[$name], 9)));
} else if (strlen($this->fomrR[$name]) == 9) {
$this->sphinx->setFilter('siren', array($this->formR[$name]));
}
break;
case 'numeroVoie':
$this->sphinx->setFilter('adr_num', array($this->formR[$name]));
break;
default:
$request .= $this->formR[$name].' ';
}
}
}
if($adresse != '@adresse "') {$request = $request .' '.$adresse.'"'. (($quorum[1]!=false)?'/'.$quorum[1]:'');}
if($ville != '@ville "')$request = $request .' '.$ville.'"';
if($naf != '@ape_etab "')$request .= ' '.$naf.'"';
break;
case 'dir':
foreach($this->formR as $name => $valeur) {
switch($name) {
case 'nom':
if(!empty($this->formR[$name]))
$request .= '@nom "'.$this->formR[$name].'" ';
break;
case 'prenom':
if(!empty($this->formR[$name]))
$request .= '@prenom "'.$this->formR[$name].'" ';
break;
case 'dirDateNaissJJ':
if(!empty($this->formR[$name]))
$this->sphinx->setFilter('naiss_jour', array(intval($this->formR[$name])));
break;
case 'dirDateNaissMM':
if(!empty($this->formR[$name]))
$this->sphinx->setFilter('naiss_mois', array(intval($this->formR[$name])));
break;
case 'dirDateNaissAAAA':
if(!empty($this->formR[$name]))
$this->sphinx->setFilter('naiss_annee', array(intval($this->formR[$name])));
break;
case 'cpVille':
if(!empty($this->formR[$name]))
$this->formatCP($this->formR[$name]);
break;
case 'Ville':
if(!empty($this->formR[$name]))
$request .= ' @ville "'.$this->formR[$name].'"';
break;
}
}
break;
case 'act':
foreach($this->formR as $name => $valeur) {
switch($name) {
case 'actNomRs':
if(!empty($this->formR[$name])) {
$request .= '@RaisonSociale "'.strtolower($this->formR[$name]).'"';
if(isset($quorum)) {
$request .= ' /'.$quorum;
}
}
break;
case 'cpVille':
if(!empty($this->formR[$name]))
$this->formatCP($this->formR[$name]);
break;
case 'pays':
if(!empty($this->formR[$name]))
$request .= '@Pays "'.$this->formR[$name].'"';
break;
case 'pctMin':
case 'pctMax':
if(!empty($this->formR['pcMin']) and (!empty($this->formR['pcMax']))) {
$this->sphinx->setFilterRange('pcMin', intval($this->formR['pcMin']), intval($this->formR['pcMax']));
} else if (!empty($this->formR['pcMax']) and empty($this->formR['pcMin'])) {
$this->sphinx->setFilterRange('pcMin', 0, intval($this->formR['pcMax']));
} else if (!empty($this->formR['pcMin']) and empty($this->formR['pcMax'])) {
$this->sphinx->setFilterRange('pcMin', intval($this->formR['pcMin']), 100);
}
break;
}
}
break;
case 'ciblage':
break;
default:
}
return ($request);
}
protected function levenshteinCrit($crit)
{
$pertinance = 0;
$weight = array('I' => 10, 'S' => 9, 'D' => 6, 'L' => 4, 'V' => 5, 'N' => 2, 'R' => 3);
$crit = explode('.', $crit);
for($i=0; $i < count($crit); $i++) {
$pertinance += $weight[$crit[$i]];
}
return ($pertinance);
}
protected function checkParamsRS($rs)
{
if(strlen($rs) > 3)
return (false);
else
return (true);
}
protected function getPertinence($formR, $mySql)
{
$formR = strtoupper($formR);
$mySql = strtoupper($mySql);
$array = explode(' ', $mySql);
$array2 = explode(' ', $formR);
for($i = 0;$i < count($array2); $i++) {
if(in_array($array2[$i], $array)) {
$size += levenshtein($formR, $mySql);
}
}
return (($size)?$size:100);
}
public function getResponse($resSphinx)
{
$i= 0;
$response = array();
switch($this->index) {
case 'ent':
$sql = 'SELECT id, rang, raisonSociale, CONCAT(siren, nic) AS siret, rang, siren, nic, siege, raisonSociale,
sigle, enseigne, (siren > 200) AS sirenValide, adr_num, adr_typeVoie, adr_libVoie, adr_comp, adr_cp,
adr_ville, tel, fax, cj, actif, ape_etab, ape_entrep, identite_pre FROM etablissements WHERE id IN (';
foreach($resSphinx['matches'] as $elements) {
$sql .= $elements['id'];
if($i+1 < count($resSphinx['matches']))
$sql .= ', ';
$i++;
}
$sql .= ") ORDER BY sirenValide DESC, rang DESC, actif DESC, siege DESC";
break;
case 'dir':
$sql = 'SELECT d.id as iddirigeant, e.id, e.raisonSociale, CONCAT(e.siren, e.nic) AS siret, e.siren, e.nic, e.siege, e.raisonSociale,
e.sigle, e.enseigne, e.adr_num, e.adr_typeVoie, e.adr_libVoie, e.adr_comp, e.adr_cp, e.adr_ville, e.tel,
e.fax, e.cj, e.actif, e.ape_etab, ape_entrep, d.nom, d.prenom, l.libelle AS fonction_lib from dirigeants d, etablissements e, bodacc_fonctions l WHERE d.id IN (';
foreach($resSphinx['matches'] as $elements) {
$sql .= $elements['id'];
if($i+1 < count($resSphinx['matches']))
$sql .= ', ';
$i++;
}
$sql .= ' ) AND d.siren=e.siren and d.fonction_code=l.codeFct AND e.siege=1 GROUP BY d.siren, d.id ORDER BY e.rang DESC, e.actif DESC, e.siege DESC, e.id ASC';
break;
case 'act':
$sql = 'SELECT DISTINCT e.siren, l.id AS lienId, l.actif AS lienActif, l.source, l.Pmin, l.PpPm, l.id2, '.
'l.Siren2, l.RaisonSociale as nomRS, l.Pays, '.
'IF(l.dateUpdate>IF(l.dateInsert>l.dateLien,l.dateInsert,l.dateLien),l.dateUpdate,IF(l.dateInsert>l.dateLien,l.dateInsert,l.dateLien)) AS dateLien, '.
'e.id, CONCAT(siren,nic) AS siret, siren, nic, siege, e.raisonSociale, sigle, '.
'enseigne, adr_num, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, '.
'tel, fax, cj, e.actif, ape_etab, ape_entrep, e.rang '.
'FROM liens l, etablissements e '.
'WHERE l.id IN (';
foreach($resSphinx['matches'] as $elements) {
$sql .= $elements['id'];
if($i+1 < count($resSphinx['matches']))
$sql .= ', ';
$i++;
}
$sql .= ") AND l.Siren1=e.siren AND siege=1 AND e.actif=1 ORDER BY e.rang DESC";
break;
case 'Histo' :
$sql = 'SELECT Histo as Loc, id, nomFichier, annee1, bod, texte FROM bodacc_cor WHERE id IN ( ';
foreach($resSphinx['matches'] as $elements) {
$sql .= $elements['id'];
if($i+1 < count($resSphinx['matches']))
$sql .= ', ';
$i++;
}
$sql .= ')';
break;
}
$i = 0;
$db = $this->databaseJO();
$result = $db->query($sql);
while($row = mysqli_fetch_assoc($result)) {
if($this->index != 'Histo') {
$response['reponses'][$i]['id'] = $row['id'];
$response['reponses'][$i]['Siret'] = $row['siret'];
$response['reponses'][$i]['Siren'] = $row['siren'];
$response['reponses'][$i]['Nic'] = $row['nic'];
$response['reponses'][$i]['Siege'] = $row['siege'];
$response['reponses'][$i]['Nom'] = $row['raisonSociale'];
$response['reponses'][$i]['Nom2'] = '';
$response['reponses'][$i]['Adresse'] = $row['adr_num'].' '.$row['adr_typeVoie'].' '.$row['adr_libVoie'];
$response['reponses'][$i]['Adresse2'] = $row['adr_comp'];
$response['reponses'][$i]['CP'] = $row['adr_cp'];
$response['reponses'][$i]['Ville'] = $row['adr_ville'];
$response['reponses'][$i]['Tel'] = $row['tel'];
$response['reponses'][$i]['Fax'] = $row['fax'];
$response['reponses'][$i]['FJ'] = $row['cj'];
$response['reponses'][$i]['Actif'] = $row['actif'];
$response['reponses'][$i]['NafEtab'] = $row['ape_etab'];
$response['reponses'][$i]['NafEnt'] = $row['ape_entrep'];
}
switch($this->index) {
case 'ent':
$pertinence = $this->getPertinence($this->formR['raisonSociale'], $row['raisonSociale']);
$response['reponses'][$i]['Pertinence'] = $pertinence;
$response['reponses'][$i]['rang'] = $row['rang'];
if(ConfigurationEnt::$debug)
$response['reponses'][$i]['RequeteIndexation'] = array('Raison Sociale' => str_replace('\'', ' ', $row['raisonSociale']),
'Enseigne' => str_replace('\'', ' ', $row['enseigne']),
'Sigle' => str_replace('\'', ' ', $row['sigle']),
'Identite Pre' => ((array_count_values(explode(' ', str_replace('\'', ' ', $row['identite_pre']))) > 1)?explode('-', $row['identite_pre']):explode(' ', str_replace('\'', ' ', $row['identite_pre']))),
'Formulaire' => str_replace('\'', ' ', mb_strtoupper(strtr($this->formR['raisonSociale'], 'ÉÈÊË', 'EEEEE'), 'UTF-8'))
);
break;
case 'act':
$response['reponses'][$i]['ActNomRs'] = $row['nomRS'];
$response['reponses'][$i]['ActPays'] = $row['Pays'];
$response['reponses'][$i]['ActDateLien'] = $row['dateLien'];
$response['reponses'][$i]['ActActif'] = $row['actif'];
$response['reponses'][$i]['ActPmin'] = $row['Pmin'];
if(ConfigurationAct::$debug)
$response['reponses'][$i]['RequeteIndexation'] = array('Raison Sociale' => str_replace('\'', ' ', strtoupper($row['nomRS'])),
'Formulaire' => str_replace('\'', ' ', strtoupper($this->formR['actNomRs'])),
);
break;
case 'dir':
$response['reponses'][$i]['DirRs'] = '';
$response['reponses'][$i]['DirNom'] = $row['nom'];
$response['reponses'][$i]['DirPrenom'] = $row['prenom'];
$response['reponses'][$i]['DirNomUsage'] = '';
$response['reponses'][$i]['DirDateEffet'] = '';
$response['reponses'][$i]['DirFonction'] = $row['fonction_lib'];
$response['reponses'][$i]['DirDepart'] = '';
$response['reponses'][$i]['iddirigeant'] = $row['iddirigeant'];
break;
case 'Histo':
$response['reponses'][$i]['Localisation'] = $row['Loc'];
$response['reponses'][$i]['Fichier'] = $row['nomFichier'];
$response['reponses'][$i]['Annee'] = $row['annee'];
$response['reponses'][$i]['Code'] = $row['bod'];
$response['reponses'][$i]['Texte'] = $row['texte'];
$response['reponses'][$i]['id'] = $row['id'];
$response['reponses'][$i]['Pertinence'] = $resSphinx[$row['id']]['weight'];
break;
}
$i++;
}
$response['criteres'] = $this->criteresLetters;
$response['nbReponsesTotal'] = $resSphinx['total'];
$response['duree'] = $this->limits['total_time'];
$response['nbReponses'] = count($response['reponses']);
return ($response);
}
public function setForm($form) {
$this->formR = $form;
}
public function setSphinx($sphinx) {
$this->sphinx = $sphinx;
}
public function execute($sphinx) {
$this->sphinx = $sphinx;
return $this->search();
}
public function setTime($time) {
if($this->limits['total_time'])
$this->limits['total_time'] += $time;
}
public function setDeb($deb) {
$this->deb = $deb;
}
public function setIndex($index) {
$this->index = $index;
}
public function getSequances() {
return ($this->sequancesArray);
}
public function setNumberResults($NumberResults) {
$this->NumberResults = $NumberResults;
}
public function setMaxResults($MaxResults) {
$this->MaxResults = $MaxResults;
}
/***************************************************************************************************************/
}
?>

View File

@ -1,95 +0,0 @@
<?php
Class ConfigurationGenerique
{
public static $debug = true;
public static $redevance_insee = 3.295;
public static $api = '2.0.2';
public function __construct(){set_limit(0);}
}
Class ConfigurationCiblage extends ConfigurationGenerique
{
public static $index = 'ciblage';
public static $nb_results = 1000;
public static $max_results = 500000;
public static $mysql_host = MYSQL_HOST;
public static $mysql_user = MYSQL_USER;
public static $mysql_password = MYSQL_PASS;
public static $mysql_database = MYSQL_DEFAULT_DB;
public static $sphinx_host = '192.168.78.252';
public static $sphinx_port = 3312;
public static $sphinx_match = SPH_MATCH_EXTENDED2;
public static $sphinx_sort = SPH_SORT_EXTENDED;
}
Class ConfigurationEnt extends ConfigurationGenerique
{
public static $index = 'ent';
public static $mysql_host = MYSQL_HOST;
public static $mysql_user = MYSQL_USER;
public static $mysql_password = MYSQL_PASS;
public static $mysql_database = MYSQL_DEFAULT_DB;
public static $sphinx_host = SPHINX_ENT_HOST;
public static $sphinx_port = SPHINX_ENT_PORT;
public static $sphinx_match = SPH_MATCH_EXTENDED2;
public static $sphinx_sort = SPH_SORT_EXTENDED;
public static $app_maxSizeWord = 0;
public static $app_actif = false;
public static $app_form = array('siren' => 'I', 'raisonSociale' => 'S',
'departement' => 'D', 'localite' => 'L',
'cpVille' => 'D', 'numeroVoie' => 'N',
'Voie' => 'R', 'Ville' => 'V',
'naf' => 'F');
}
Class ConfigurationAct extends ConfigurationGenerique
{
public static $index = 'act';
public static $mysql_host = MYSQL_HOST;
public static $mysql_user = MYSQL_USER;
public static $mysql_password = MYSQL_PASS;
public static $mysql_database = MYSQL_DEFAULT_DB;
public static $sphinx_host = SPHINX_ACT_HOST;
public static $sphinx_port = SPHINX_ACT_PORT;
public static $sphinx_match = SPH_MATCH_EXTENDED2;
public static $sphinx_sort = SPH_SORT_EXTENDED;
}
Class ConfigurationDir extends ConfigurationGenerique
{
public static $index = 'dir';
public static $mysql_host = MYSQL_HOST;
public static $mysql_user = MYSQL_USER;
public static $mysql_password = MYSQL_PASS;
public static $mysql_database = MYSQL_DEFAULT_DB;
public static $sphinx_host = SPHINX_DIR_HOST;
public static $sphinx_port = SPHINX_DIR_PORT;
public static $sphinx_match = SPH_MATCH_EXTENDED2;
public static $sphinx_sort = SPH_SORT_EXTENDED;
}
Class ConfigurationHisto extends ConfigurationGenerique
{
public static $index = 'histo';
public static $mysql_host = MYSQL_HOST;
public static $mysql_user = MYSQL_USER;
public static $mysql_password = MYSQL_PASS;
public static $mysql_database = MYSQL_DEFAULT_DB;
public static $sphinx_host = SPHINX_HISTO_PORT;
public static $sphinx_port = 3312;
public static $sphinx_match = SPH_MATCH_EXTENDED2;
public static $sphinx_sort = SPH_SORT_EXTENDED;
}

View File

@ -1,200 +0,0 @@
<?php
require_once realpath(dirname(__FILE__)).'/configuration.php';
require_once realpath(dirname(__FILE__)).'/SDmotor.class.php';
Class rechercheFonc extends SDmotor
{
public function __construct($debug = false) {
$this->debug = $debug;
}
public function rechercheAct($formR, $deb, $nbRep, $max)
{
require_once 'sphinxapi/sphinxapi-2.0.2.php';
$sphinx = new SphinxClient();
$sphinx->SetServer(ConfigurationAct::$sphinx_host, ConfigurationAct::$sphinx_port);
$sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sphinx->SetConnectTimeout(1);
$sphinx->SetArrayResult(true);
$this->setIndex(ConfigurationAct::$index);
$this->setDeb($deb);
$this->_initForm($formR);
$this->setNumberResults($nbRep);
$this->setMaxResults($max);
$this->setSphinx($sphinx);
return ($this->execute($sphinx));
}
public function rechercheDir($formR, $deb, $nbRep, $max)
{
require_once 'sphinxapi/sphinxapi-2.0.2.php';
$sphinx = new SphinxClient();
$sphinx->SetServer(ConfigurationDir::$sphinx_host, ConfigurationDir::$sphinx_port);
$sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sphinx->SetConnectTimeout(1);
$sphinx->SetArrayResult(true);
$this->setIndex(ConfigurationDir::$index);
$this->setDeb($deb);
$this->_initForm($formR);
$this->setNumberResults($nbRep);
$this->setMaxResults($max);
$this->setSphinx($sphinx);
return ($this->execute($sphinx));
}
public function rechercheEnt($formR, $deb, $nbRep, $max, $sirenValide = false)
{
require_once 'sphinxapi/sphinxapi-2.0.2.php';
$sphinx = new SphinxClient();
$sphinx->SetServer(ConfigurationEnt::$sphinx_host, ConfigurationEnt::$sphinx_port);
$sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sphinx->SetConnectTimeout(1);
$sphinx->SetArrayResult(true);
$this->setIndex(ConfigurationEnt::$index);
$this->setDeb($deb);
$this->_initForm($formR);
$this->setNumberResults($nbRep);
$this->setMaxResults($max);
$this->setSphinx($sphinx);
return ($this->execute($sphinx));
}
public function rechercheHisto($formR, $deb, $nbRep, $max)
{
$sphinx = new SphinxClient();
$sphinx->SetServer(ConfigurationHisto::$sphinx_host, ConfigurationHisto::$sphinx_port);
$sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sphinx->SetConnectTimeout(1);
$sphinx->SetArrayResult(true);
$this->setIndex(ConfigurationHisto::$index);
$this->setNumberResults($nbRep);
$this->setMaxResults($max);
$this->setSphinx($sphinx);
return ($this->HistoSearch());
}
public function recherche($formR, $deb = 0, $nbRep = 20, $max = 1000)
{
if ($formR['type'] == 'ent') {
return $this->rechercheEnt($formR, $deb, $nbRep, $max);
} else if ($formR['type'] == 'dir') {
return $this->rechercheDir($formR, $deb, $nbRep, $max);
} else if ($formR['type'] == 'act') {
return $this->rechercheAct($formR, $deb, $nbRep, $max);
} else {
return array('nbReponses' => 0,
'nbReponsesTotal' => 0,
'duree' => 0,
'erreur' => 'Type de recherche inconnu');
}
}
public function sommeDeControle($sn)
{
$s = 0;
$n = strlen($sn);
for ($i = 0; $i < $n; ++$i) {
if ($i & 1) {
$t = substr($sn, $n - $i - 1, 1) << 1;
$s += ($t > 9)? $t - 9 : $t;
} else {
$s += substr($sn, $n - $i - 1, 1);
}
}
return $s % 10;
}
public function verificationDuSiret($siret)
{
if (strlen($siret) == 14) {
$sn = substr($siret, 0, 9);
$st = $siret;
} else if (strlen($siret) == 9) {
$sn = $siret;
$st = 0;
} else {
// TODO: message d'erreur et/ou correction
return false;
}
// Verification du siren
$s = sommeDeControle($sn);
if ($s != 0) {
// Correction du chiffre de controle
$sr = (substr($sn, 8, 1) - $s + 10) % 10;
$liste = array(substr($sn, 0, 8).$sr);
// Transpositions
for ($i = 0; $i < 8; ++$i) {
$n1 = substr($sn, $i, 1);
$n2 = substr($sn, $i + 1, 1);
if ($n1 == $n2) {
continue;
}
$p = '';
if ($i > 0) {
$p .= substr($sn, 0, $i);
}
$p .= $n2;
if ($i < 7) {
$p .= $n1;
}
if ($i < 6) {
$p .= substr($sn, $i + 2, 6 - $i);
}
if ($i & 1) {
if ($i < 7) {
if ($n1 >= 5) { $n1 -= 9; }
if ($n2 >= 5) { $n2 -= 9; }
} else {
$n1 = ($n1 >= 5) ? ($n1 << 1) - 9 : ($n1 << 1);
$n2 = ($n2 >= 5) ? ($n2 << 1) - 9 : ($n2 << 1);
}
$p .= ($sr + $n1 - $n2 + 10) % 10;
} else {
if ($n2 >= 5) { $n2 -= 9; }
if ($n1 >= 5) { $n1 -= 9; }
$p .= ($sr + $n2 - $n1 + 10) % 10;
}
$liste[] = $p;
}
// Substitutions
for ($i = 0; $i < 8; ++$i) {
$n = substr($sn, $i, 1);
for ($j = 0; $j < 10; ++$j) {
if ($j == $n) {
continue;
}
$p = '';
if ($i > 0) {
$p .= substr($sn, 0, $i);
}
$p .= $j;
if ($i < 7) {
$p .= substr($sn, $i + 1, 7 - $i);
}
if ($i & 1) {
$n1 = ($n << 1); if ($n1 > 9) { $n1 -= 9; }
$n2 = ($j << 1); if ($n2 > 9) { $n2 -= 9; }
$p .= ($sr + $n1 - $n2 + 10) % 10;
} else {
$p .= ($sr + $n - $j + 10) % 10;
}
$liste[] = $p;
}
}
return $liste;
}
if ($st == 0) {
return false;
}
// Verification du siret
if (sommeDeControle($st) != 0) {
return array($sn);
}
return false;
}
}
?>

View File

@ -1,142 +0,0 @@
<?php
class Words
{
public $adrRef = array('RUE', 'AV', 'AVENUE', 'BD', 'BOULEVARD', 'R', 'ARRONDISSEMENT', 'ARR');
public $wordformRS = array('SAS', 'SA', 'EURL', 'SARL', 'SCI', 'SA', 'LES', 'LE', 'LA', 'DE');
public $refSequence = array(/*'acrony',*/ 'normal', 'points', /*'split',*/ 'space', 'double', 'quorum');
}
class Sequence
{
/**
* S : RaisonSociale
* I : Siren/Siret
* N : Numero de rue
* R : Rue Type de voie
* D : Departement ou Code Postal
* L : Les trois derniers chiffre du code postal
* V : Ville
* F : Code Ape
*
**/
public $link = array(
'S' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('10')),
'S.R' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('11', '10')),
'S.N' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('12', '10')),
'S.N.R' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('13', '12', '11', '10')),
'S.R.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('16', '14', '11', '10')),
'S.N.R.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('17', '16', '15' ,'14' ,'13', '12', '11', '10')),
'S.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('14', '10')),
'S.N.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('15', '14', '12', '10')),
'S.V.R' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('16', '14', '11', '10')),
'S.N.V.R' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('17', '15', '14', '13', '12', '11', '10')),
'S.D' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('18', '10')),
'S.R.D' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('24', '11', '36', '10')),
'S.N.D' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('19', '18', '12', '10')),
'S.D.R' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('24', '18', '11', '10')),
'S.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('20', '18', '14', '10')),
'S.R.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('21', '20', '18', '14', '11', '42', '10')),
'S.N.R.D' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('25', '24', '19', '18', '40', '12', '11', '10')),
'S.N.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('22', '20', '18', '14', '12', '10')),
'S.N.R.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('23' ,'25', '21', '24', '22', '20', '18', '14', '12', '11', '32', '31', '30', '29', '10')),
'R' => array('id' => array('26')),
'R.V' => array('normal' => true ,'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('40', '26')),
'R.D' => array('id' => array('40', '26')),
'R.D.V' => array('normal' => true ,'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('42', '40', '31', '26')),
'N.R' => array('id' => array('28')),
'N.R.D' => array('id' => array('34', '45', '40')),
'N.R.D.V' => array('normal' => true ,'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('67', '34', '32', '42', '43', '40')),
'N.R.V' => array('normal' => true ,'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('32', '31', '30' ,'29' ,'28', '27', '26')),
'R.V' => array('normal' => true ,'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('31', '28', '26')),
'D' => array('id'=> array('44')),
'N.D' => array('id' => array('45', '44')),
'N.V' => array('id' => array('30', '47')),
'F.S.N.R.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('49', '50', '51', '52', '53', '54', '55', '67', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66')),
'F.S.N.R.D' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('50', '67', '69', '56', '59', '60', '61', '62', '63', '64', '65')),
'F.N.R.D.V' => array('id' => array('51', '53', '69', '54', '57', '58', '60', '61', '63', '64', '65', '66')),
'F.S.R.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('52', '68', '53', '55', '57', '58', '59', '61', '62', '63', '65', '66')),
'F.R.D.V' => array('id' => array('53', '57', '58', '61', '63', '65', '66')),
'F.N.D.V' => array('id' => array('54', '57', '70', '72', '64', '65', '66')),
'F.S.D.V' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('55', '57', '73', '74', '62', '65', '66')),
'F.S.N.D' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('69')),
'F.S.N' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('56')),
'F.D.V' => array('id' => array('57')),
'F.R.V' => array('id' => array('58')),
'F.S.R' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('59')),
'F.N.R' => array('id' => array('60')),
'F.R.D' => array('id' => array('61')),
'F.S' => array('acrony' => true, 'points' => true ,'radica' => true, 'normal' => true, 'split' => true, 'space' => true, 'double' => true, 'quorum' => true, 'max' => 1000, 'id' => array('62')),
'F.R' => array('id' => array('63')),
'F.N' => array('id' => array('64')),
'D.F' => array('id' => array('65')),
'F.V' => array('id' => array('66')),
'F' => array('id' => array('46')),
'V' => array('id' => array('47'))
);
public $sequence = array(
'10' => 'S',
'11' => 'S.R',
'12' => 'S.N',
'13' => 'S.N.R',
'14' => 'S.V',
'15' => 'S.N.V',
'16' => 'S.R.V',
'17' => 'S.N.R.V',
'18' => 'S.D',
'19' => 'S.N.D',
'20' => 'S.D.V ',
'21' => 'S.R.D.V',
'22' => 'S.N.D.V',
'23' => 'S.N.R.D.V',
'24' => 'S.R.D',
'25' => 'S.N.R.D',
'26' => 'R',
'27' => 'N',
'28' => 'N.R',
'29' => 'V',
'30' => 'N.V',
'31' => 'R.V',
'32' => 'N.R.V',
'34' => 'N.R.D',
'40' => 'R.D',
'42' => 'R.D.V',
'43' => 'N.D.V',
'44' => 'D',
'45' => 'N.D',
'46' => 'F',
'47' => 'V',
'48' => 'I',
'49' => 'F.S.N.R.D.V',
'50' => 'F.S.N.R.D',
'51' => 'F.N.R.D.V',
'52' => 'F.S.R.D.V',
'68' => 'F.S.R.D',
'53' => 'F.R.D.V',
'69' => 'F.S.N.D',
'54' => 'F.N.D.V',
'55' => 'F.S.D.V',
'67' => 'F.S.N.R',
'56' => 'F.S.N',
'73' => 'F.S.D',
'57' => 'F.D.V',
'58' => 'F.R.V',
'59' => 'F.S.R',
'60' => 'F.N.R',
'61' => 'F.R.D',
'70' => 'F.N.D',
'72' => 'F.N.V',
'71' => 'F.S.V',
'62' => 'F.S',
'63' => 'F.R',
'64' => 'F.N',
'65' => 'D.F',
'66' => 'F.V',
'67' => 'N.R.D.V'
);
}
?>

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 one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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,611 +0,0 @@
<?php
$tabCommentaires=array();
$tabCommentaires[5000][2][1] = "Valorisation de {NOMEN} en date du : {JOUR_DATE}
";
$tabCommentaires[7000][2][10] = "<LI><B>ENTREPRISE INACTIVE</B>";
$tabCommentaires[7001][2][10] = "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>";
$tabCommentaires[7002][2][10] = "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>";
$tabCommentaires[7003][2][10] = "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)";
$tabCommentaires[9995][2][1] = "L'objet social publié dans les annonces légales est libellé comme : <I>'{ANNONCEOBJET}'
";
$tabCommentaires[9996][2][1] = "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
";
$tabCommentaires[199000][2][0] = "Cette entreprise est une TPE à vocation principalement régionale.";
$tabCommentaires[200000][2][0] = "Cette entreprise est une PME à vocation principalement régionale.";
$tabCommentaires[201000][2][0] = "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}";
$tabCommentaires[202000][2][0] = "L' entreprise '{NOMEN}' est une entreprise importante au sein du bassin économique régional.";
$tabCommentaires[203000][2][0] = "Cette entreprise est une PME majeure au sein de la région {RPEN}.";
$tabCommentaires[204000][2][0] = "C'est une des premières entreprises françaises.";
$tabCommentaires[205000][2][0] = " C'est une PME qui compte dans le département {DEPSIE}.";
$tabCommentaires[205099][2][0] = "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).";
$tabCommentaires[205200][2][0] = "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.";
$tabCommentaires[2400101][2][10] = "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.";
$tabCommentaires[2400102][2][10] = "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.";
$tabCommentaires[2400103][2][10] = "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400109][2][10] = "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.";
$tabCommentaires[2400111][2][10] = "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.";
$tabCommentaires[2400112][2][10] = "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.";
$tabCommentaires[2400119][2][10] = "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.";
$tabCommentaires[2400121][2][10] = "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400122][2][10] = "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400123][2][10] = "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400124][2][10] = "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400125][2][10] = "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400126][2][10] = "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.";
$tabCommentaires[2400200][2][10] = "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.";
$tabCommentaires[2400210][2][10] = "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.";
$tabCommentaires[2400300][2][10] = "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.";
$tabCommentaires[2400310][2][10] = "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.";
$tabCommentaires[2400410][2][10] = "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.";
$tabCommentaires[2400420][2][10] = "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.";
$tabCommentaires[2400430][2][10] = "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.";
$tabCommentaires[3902100][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_MT} et {VENTEMAX_VILLE_MT}.";
$tabCommentaires[3902101][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_MT} et {VENTEMAX_VILLE_MT}.";
$tabCommentaires[3902110][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_MT}.";
$tabCommentaires[3902111][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_MT}.";
$tabCommentaires[3902130][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_MT}.";
$tabCommentaires[3902131][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_MT}.";
$tabCommentaires[3902200][2][10] = "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_MT} à {VENTEMAX_DEP_MT}.";
$tabCommentaires[3902300][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_MT} et {VENTEMAX_DEP_MT}.";
$tabCommentaires[3902301][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_MT} et {VENTEMAX_DEP_MT}.";
$tabCommentaires[3902310][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_MT}.";
$tabCommentaires[3902311][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_MT}.";
$tabCommentaires[3902330][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_MT}.";
$tabCommentaires[3902331][2][10] = "<LI> Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_MT}.";
$tabCommentaires[3902900][2][10] = "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_MT})";
$tabCommentaires[3910001][2][0] = "<TABLE CLASS='TABLEAUDEFAUTPLUS' id='TABLEAUPLUS'>";
$tabCommentaires[3910001][2][2] = "<TR CLASS='TITRES'> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>";
$tabCommentaires[3910100][2][10] = "<TR CLASS='VERT'><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>";
$tabCommentaires[3910101][2][10] = "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>";
$tabCommentaires[3910120][2][10] = "<TR CLASS='VERT'><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>";
$tabCommentaires[3910121][2][10] = "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>";
$tabCommentaires[3910130][2][10] = "<TR CLASS='VERT'><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>";
$tabCommentaires[3910131][2][10] = "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>";
$tabCommentaires[3910135][2][10] = "<TR CLASS='VERT'><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>";
$tabCommentaires[3910136][2][10] = "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>";
$tabCommentaires[3910140][2][10] = "<TR CLASS='VERT'><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>";
$tabCommentaires[3910141][2][10] = "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>";
$tabCommentaires[3910145][2][10] = "<TR CLASS='VERT'><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>";
$tabCommentaires[3910146][2][10] = "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>";
$tabCommentaires[3910150][2][10] = "<TR CLASS='VERT'><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>";
$tabCommentaires[3910151][2][10] = "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>";
$tabCommentaires[3910155][2][10] = "<TR CLASS='VERT'><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>";
$tabCommentaires[3910156][2][10] = "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>";
$tabCommentaires[3910160][2][10] = "<TR CLASS='VERT'><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>";
$tabCommentaires[3910161][2][10] = "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>";
$tabCommentaires[3910170][2][10] = "<TR CLASS='VERT'><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>";
$tabCommentaires[3910171][2][10] = "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>";
$tabCommentaires[3910180][2][10] = "<TR CLASS='VERT'><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>";
$tabCommentaires[3910181][2][10] = "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>";
$tabCommentaires[3910190][2][10] = "<TR CLASS='VERT'><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>";
$tabCommentaires[3910191][2][10] = "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>";
$tabCommentaires[3911001][2][0] = "<TABLE CLASS='TABLEAUDEFAUTMOINS' id='TABLEAUMOINS'>";
$tabCommentaires[3911001][2][2] = "<TR CLASS='TITRES'> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>";
$tabCommentaires[3911100][2][10] = "<TR CLASS='ROUGE'><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>";
$tabCommentaires[3911101][2][10] = "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>";
$tabCommentaires[3911110][2][10] = " <TR CLASS='ROUGE'><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>";
$tabCommentaires[3911111][2][10] = " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>";
$tabCommentaires[3911120][2][10] = "<TR CLASS='ROUGE'><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>";
$tabCommentaires[3911121][2][10] = "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>";
$tabCommentaires[3911130][2][10] = "<TR CLASS='ROUGE'><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>";
$tabCommentaires[3911131][2][10] = "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>";
$tabCommentaires[3911145][2][10] = "<TR CLASS='ROUGE'><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>";
$tabCommentaires[3911146][2][10] = "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>";
$tabCommentaires[3911150][2][10] = "<TR CLASS='ROUGE'><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>";
$tabCommentaires[3911151][2][10] = "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>";
$tabCommentaires[3911160][2][10] = "<TR CLASS='ROUGE'><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>";
$tabCommentaires[3911161][2][10] = "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>";
$tabCommentaires[3911170][2][10] = "<TR CLASS='ROUGE'><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>";
$tabCommentaires[3911171][2][10] = "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>";
$tabCommentaires[3911180][2][10] = "<TR CLASS='ROUGE'><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>";
$tabCommentaires[3911181][2][10] = "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>";
$tabCommentaires[20001000][2][10] = "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).";
$tabCommentaires[20001000][2][30] = "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:";
$tabCommentaires[20001000][2][31] = "<LI> celles qui relèvent dune approche patrimoniale.";
$tabCommentaires[20001000][2][32] = "<LI> celles qui sappuient sur la rentabilité.";
$tabCommentaires[20001000][2][33] = "<LI> celles qui découlent dune comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.";
$tabCommentaires[20001000][2][50] = "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.";
$tabCommentaires[20011000][2][40] = "Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :";
$tabCommentaires[20011900][2][10] = "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :";
$tabCommentaires[20011900][2][20] = "<LI> Potentiel de développement.";
$tabCommentaires[20011900][2][21] = "<LI> Positionnement sur son marché et concurrence.";
$tabCommentaires[20011900][2][22] = "<LI> Lien de dépendance et impact du départ du dirigeant.";
$tabCommentaires[20011900][2][23] = "<LI> Motivation et ambiance interne.";
$tabCommentaires[20011900][2][30] = "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>";
$tabCommentaires[20012000][2][10] = "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.";
$tabCommentaires[20012001][2][10] = "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.";
$tabCommentaires[20012002][2][10] = "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.";
$tabCommentaires[20012100][2][0] = "<TABLE CLASS='TABLEAUBILAN'>";
$tabCommentaires[20012100][2][1] = "<TR CLASS='TITRES'> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>";
$tabCommentaires[20012110][2][8] = "<TR CLASS='TOTAL'><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>";
$tabCommentaires[20012110][2][9] = "<TR CLASS='BLANC'><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>";
$tabCommentaires[20012110][2][11] = "<TR CLASS='LIGNE1'><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>";
$tabCommentaires[20012110][2][21] = "<TR CLASS='BLANC'><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>";
$tabCommentaires[20012110][2][31] = "<TR CLASS='LIGNE1'><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>";
$tabCommentaires[20012110][2][41] = "<TR CLASS='BLANC'><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>";
$tabCommentaires[20012110][2][51] = "<TR CLASS='LIGNE1'><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>";
$tabCommentaires[20012120][2][1] = "<TR CLASS='TOTAL'><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>";
$tabCommentaires[20012120][2][9] = "<TR CLASS='BLANC'><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>";
$tabCommentaires[20012120][2][11] = "<TR CLASS='LIGNE1'><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>";
$tabCommentaires[20012120][2][21] = "<TR CLASS='BLANC'><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>";
$tabCommentaires[20012120][2][31] = "<TR CLASS='LIGNE1'><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>";
$tabCommentaires[20012120][2][41] = "<TR CLASS='BLANC'><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>";
$tabCommentaires[20012200][2][0] = "<TABLE CLASS='TABLEAUSITUFI'>";
$tabCommentaires[20012200][2][2] = "<TR CLASS='TITRES'> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>";
$tabCommentaires[20012210][2][11] = "<TR CLASS='LIGNE1'><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>";
$tabCommentaires[20012210][2][21] = "<TR CLASS='BLANC'><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>";
$tabCommentaires[20012210][2][31] = "<TR CLASS='LIGNE1'><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>";
$tabCommentaires[20012210][2][41] = "<TR CLASS='BLANC'><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>";
$tabCommentaires[20012210][2][51] = "<TR CLASS='TOTAL'><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>";
$tabCommentaires[20012220][2][0] = "{GRAPH('Situation financière',R[231]#T,R[232]#T,R[249]#T)}";
$tabCommentaires[20012400][2][0] = "<TABLE CLASS='TABLEAURESULTAT'>";
$tabCommentaires[20012400][2][2] = "<TR CLASS='TITRES'> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>";
$tabCommentaires[20012410][2][11] = "<TR CLASS='LIGNE1'><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>";
$tabCommentaires[20012410][2][21] = "<TR CLASS='BLANC'><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>";
$tabCommentaires[20012410][2][31] = "<TR CLASS='LIGNE1'><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>";
$tabCommentaires[20012410][2][41] = "<TR CLASS='BLANC'><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>";
$tabCommentaires[20012410][2][51] = "<TR CLASS='LIGNE1'><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>";
$tabCommentaires[20012410][2][61] = "<TR CLASS='BLANC'><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>";
$tabCommentaires[20012410][2][71] = "<TR CLASS='LIGNE1'><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>";
$tabCommentaires[20012420][2][0] = "{GRAPH('Chiffres d'affaires,Marge brute,Résultats',R[005]#T,R[122]#T,R[010]#T)}";
$tabCommentaires[20020100][2][0] = "<H3> Multiple du Chiffre d'affaires";
$tabCommentaires[20020100][2][51] = "Résultat de la méthode du multiple du Chiffre d'affaires entre {VAL970_MT} et {VAL971_MT}.";
$tabCommentaires[20021200][2][0] = "<H3> Méthode de la valeur patrimoniale";
$tabCommentaires[20021200][2][51] = "Résultat de la méthode valeur patrimoniale entre {VAL978_MT} et {VAL979_MT}.";
$tabCommentaires[20022200][2][0] = "<H3> Méthode de la valeur de productivité";
$tabCommentaires[20022200][2][51] = "Résultat de la méthode valeur de la productivité entre {VAL974_MT} et {VAL975_MT}.";
$tabCommentaires[20022500][2][0] = "<H3> Méthode de la valeur du rendement";
$tabCommentaires[20022500][2][51] = "Résultat de la méthode valeur du rendement entre {VAL982_MT} et {VAL983_MT}.";
$tabCommentaires[20023100][2][0] = "<H3> Multiple du Bénéfice";
$tabCommentaires[20023100][2][51] = "Résultat de la méthode du multiple du Bénéfice entre {VAL984_MT} et {VAL985_MT}.";
$tabCommentaires[20025200][2][0] = "<H3> Multiple de l'EBE";
$tabCommentaires[20025200][2][20] = "Valorisation entre{VAL986_MT} et {VAL987_MT}.";
$tabCommentaires[20026100][2][0] = "<H3> Multiple de la MBA";
$tabCommentaires[20026100][2][20] = "Selon cette méthode la valeur de l'entreprise se situe entre{VAL988_MT} et {VAL989_MT}.";
$tabCommentaires[20027100][2][0] = "<H3> La méthode par comparaison";
$tabCommentaires[20028100][2][0] = "<H3> La méthode dévaluation par la Situation Nette Comptable (SNC)";
$tabCommentaires[20028100][2][20] = "Valorisation par la Situation Nette Comptable entre{VAL976_MT} et {VAL977_MT}.";
$tabCommentaires[20050100][2][10] = "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :";
$tabCommentaires[20080201][2][0] = "<TABLE CLASS='TABLEAURESULTAT'>";
$tabCommentaires[20080201][2][2] = "<TR CLASS='TITRES'> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>";
$tabCommentaires[20080210][2][11] = "<TR CLASS='LIGNE1'><TH>Valeur patrimoniale </TH><TD>{VAL978_MT}</TD><TD>{VAL979_MT}</TD></TR>";
$tabCommentaires[20080215][2][11] = "<TR CLASS='LIGNE1'><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_MT}</TD><TD>{VAL971_MT}</TD></TR>";
$tabCommentaires[20080217][2][11] = "<TR CLASS='LIGNE1'><TH>Selon la siuation nette comptable </TH><TD>{VAL976_MT}</TD><TD>{VAL977_MT}</TD></TR>";
$tabCommentaires[20080220][2][21] = "<TR CLASS='LIGNE2'><TH>Valeur de productivité </TH><TD>{VAL982_MT}</TD><TD>{VAL983_MT}</TD></TR>";
$tabCommentaires[20080230][2][31] = "<TR CLASS='LIGNE1'><TH>Capitalisation du bénéfice </TH><TD>{VAL984_MT}</TD><TD>{VAL985_MT}</TD></TR>";
$tabCommentaires[20080240][2][41] = "<TR CLASS='LIGNE2'><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_MT}</TD><TD>{VAL987_MT}</TD></TR>";
$tabCommentaires[20080250][2][51] = "<TR CLASS='LIGNE1'><TH>Capitalisation selon la MBA </TH><TD>{VAL988_MT}</TD><TD>{VAL989_MT}</TD></TR>";
$tabCommentaires[20080260][2][61] = "<TR CLASS='LIGNE2'><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_MT}</TD><TD>{VAL991_MT}</TD></TR>";
$tabCommentaires[20080270][2][71] = "<TR CLASS='LIGNE1'><TH>Capitaux risqueurs </TH><TD>{VAL992_MT}</TD><TD>{VAL993_MT}</TD></TR>";
$tabCommentaires[20080280][2][81] = "<TR CLASS='LIGNE2'><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_MT}</TD><TD>{VAL995_MT}</TD></TR>";
$tabCommentaires[20080290][2][81] = "<TR CLASS='TOTAL'><TH>Comparative cessions profils similaires </TH><TD>{VAL996_MT}</TD><TD>{VAL997_MT}</TD></TR>";
$tabCommentaires[20090310][2][0] = "<TABLE CLASS='TABLEAUHAUTBAS'>";
$tabCommentaires[20090310][2][2] = "<TR CLASS='TITRES'> <TH> </TH><TH> estimation haute</TH></TR>";
$tabCommentaires[20090310][2][11] = "<TR CLASS='BLANC'><TD> </TD><TD CLASS='TOTAL'>{VAL999_MT}</TD></TR>";
$tabCommentaires[20090310][2][12] = "<TR CLASS='TITRES'> <TH> estimation basse </TH><TH> </TH></TR>";
$tabCommentaires[20090310][2][21] = "<TR CLASS='BLANC'><TD CLASS='TOTAL'>{VAL998_MT} </TD><TD> </TD></TR>";
$tabCommentaires[20090510][2][20] = "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ";
$tabCommentaires[20090610][2][20] = "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.";
$tabCommentaires[20090611][2][20] = "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.";
$tabCommentaires[20090710][2][20] = "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.";
$tabCommentaires[20090711][2][20] = "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.";
$tabCommentaires[20090712][2][20] = "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.";
$tabCommentaires[20090810][2][20] = "<BR>A noter qu'aucune provision ne figure au bilan.";
$tabCommentaires[20090810][2][30] = "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.";
$tabCommentaires[20090830][2][20] = "<BR> A noter que les provisions semblent anormalement limitées.";
$tabCommentaires[20090830][2][30] = "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.";
$tabCommentaires[20090840][2][20] = "<BR> A noter que les provisions semblent anormalement élevées.";
$tabCommentaires[100000100][2][0] = "<H1>PRESENTATION";
$tabCommentaires[100001000][2][0] = "<H1>DIAGNOSTIC";
$tabCommentaires[100002000][2][0] = "<H1>PATRIMOINE & RESULTATS";
$tabCommentaires[100003000][2][0] = "<H2>BILANS";
$tabCommentaires[100004000][2][0] = "<H2>COMPTE DE RESULTAT";
$tabCommentaires[100005000][2][0] = "<H1>RETRAITEMENT";
$tabCommentaires[100010000][2][0] = "<H1>METHODES DE CALCUL";
$tabCommentaires[100015000][2][0] = "<H2>Les méthodes retenues";
$tabCommentaires[100016000][2][0] = "<H2>Pondération des méthodes";
$tabCommentaires[100019000][2][0] = "<H1>CONCLUSION";
$tabCommentaires[100019100][2][0] = "<H2>Réserves";
$tabTri=array();
$tabTri[5000] = 1000;
$tabTri[7000] = 5000;
$tabTri[7001] = 5000;
$tabTri[7002] = 5000;
$tabTri[7003] = 5000;
$tabTri[9995] = 13101;
$tabTri[9996] = 13100;
$tabTri[199000] = 15100;
$tabTri[200000] = 15100;
$tabTri[201000] = 15100;
$tabTri[202000] = 15100;
$tabTri[203000] = 15100;
$tabTri[204000] = 15100;
$tabTri[205000] = 15100;
$tabTri[205099] = 15010;
$tabTri[205200] = 15010;
$tabTri[2400101] = 52201;
$tabTri[2400102] = 52201;
$tabTri[2400103] = 52201;
$tabTri[2400109] = 52201;
$tabTri[2400111] = 52201;
$tabTri[2400112] = 52201;
$tabTri[2400119] = 52201;
$tabTri[2400121] = 52201;
$tabTri[2400122] = 52201;
$tabTri[2400123] = 52201;
$tabTri[2400124] = 52201;
$tabTri[2400125] = 52201;
$tabTri[2400126] = 52201;
$tabTri[2400200] = 52201;
$tabTri[2400210] = 52201;
$tabTri[2400300] = 52201;
$tabTri[2400310] = 52201;
$tabTri[2400410] = 52201;
$tabTri[2400420] = 52201;
$tabTri[2400430] = 52201;
$tabTri[3902100] = 102002;
$tabTri[3902101] = 102002;
$tabTri[3902110] = 102002;
$tabTri[3902111] = 102002;
$tabTri[3902130] = 102002;
$tabTri[3902131] = 102002;
$tabTri[3902200] = 102002;
$tabTri[3902300] = 102002;
$tabTri[3902301] = 102002;
$tabTri[3902310] = 102002;
$tabTri[3902311] = 102002;
$tabTri[3902330] = 102002;
$tabTri[3902331] = 102002;
$tabTri[3902900] = 102002;
$tabTri[3910001] = 101002;
$tabTri[3910001] = 101002;
$tabTri[3910100] = 101002;
$tabTri[3910101] = 101002;
$tabTri[3910120] = 101002;
$tabTri[3910121] = 101002;
$tabTri[3910130] = 101002;
$tabTri[3910131] = 101002;
$tabTri[3910135] = 101002;
$tabTri[3910136] = 101002;
$tabTri[3910140] = 101002;
$tabTri[3910141] = 101002;
$tabTri[3910145] = 101002;
$tabTri[3910146] = 101002;
$tabTri[3910150] = 101002;
$tabTri[3910151] = 101002;
$tabTri[3910155] = 101002;
$tabTri[3910156] = 101002;
$tabTri[3910160] = 101002;
$tabTri[3910161] = 101002;
$tabTri[3910170] = 101002;
$tabTri[3910171] = 101002;
$tabTri[3910180] = 101002;
$tabTri[3910181] = 101002;
$tabTri[3910190] = 101002;
$tabTri[3910191] = 101002;
$tabTri[3911001] = 101003;
$tabTri[3911001] = 101003;
$tabTri[3911100] = 101003;
$tabTri[3911101] = 101003;
$tabTri[3911110] = 101003;
$tabTri[3911111] = 101003;
$tabTri[3911120] = 101003;
$tabTri[3911121] = 101003;
$tabTri[3911130] = 101003;
$tabTri[3911131] = 101003;
$tabTri[3911145] = 101003;
$tabTri[3911146] = 101003;
$tabTri[3911150] = 101003;
$tabTri[3911151] = 101003;
$tabTri[3911160] = 101003;
$tabTri[3911161] = 101003;
$tabTri[3911170] = 101003;
$tabTri[3911171] = 101003;
$tabTri[3911180] = 101003;
$tabTri[3911181] = 101003;
$tabTri[20001000] = 100101;
$tabTri[20001000] = 100101;
$tabTri[20001000] = 100101;
$tabTri[20001000] = 100101;
$tabTri[20001000] = 100101;
$tabTri[20001000] = 100101;
$tabTri[20011000] = 101001;
$tabTri[20011900] = 101009;
$tabTri[20011900] = 101009;
$tabTri[20011900] = 101009;
$tabTri[20011900] = 101009;
$tabTri[20011900] = 101009;
$tabTri[20011900] = 101009;
$tabTri[20012000] = 101201;
$tabTri[20012001] = 101201;
$tabTri[20012002] = 101201;
$tabTri[20012100] = 101201;
$tabTri[20012100] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012110] = 101201;
$tabTri[20012120] = 101201;
$tabTri[20012120] = 101201;
$tabTri[20012120] = 101201;
$tabTri[20012120] = 101201;
$tabTri[20012120] = 101201;
$tabTri[20012120] = 101201;
$tabTri[20012200] = 101301;
$tabTri[20012200] = 101301;
$tabTri[20012210] = 101301;
$tabTri[20012210] = 101301;
$tabTri[20012210] = 101301;
$tabTri[20012210] = 101301;
$tabTri[20012210] = 101301;
$tabTri[20012220] = 101351;
$tabTri[20012400] = 101401;
$tabTri[20012400] = 101401;
$tabTri[20012410] = 101401;
$tabTri[20012410] = 101201;
$tabTri[20012410] = 101201;
$tabTri[20012410] = 101201;
$tabTri[20012410] = 101201;
$tabTri[20012410] = 101201;
$tabTri[20012410] = 101201;
$tabTri[20012420] = 101351;
$tabTri[20020100] = 102001;
$tabTri[20020100] = 102001;
$tabTri[20021200] = 102001;
$tabTri[20021200] = 102001;
$tabTri[20022200] = 102001;
$tabTri[20022200] = 102001;
$tabTri[20022500] = 102001;
$tabTri[20022500] = 102001;
$tabTri[20023100] = 102001;
$tabTri[20023100] = 102001;
$tabTri[20025200] = 102001;
$tabTri[20026100] = 102001;
$tabTri[20027100] = 102001;
$tabTri[20028100] = 102001;
$tabTri[20050100] = 103001;
$tabTri[20080201] = 104001;
$tabTri[20080201] = 104001;
$tabTri[20080210] = 104001;
$tabTri[20080215] = 104001;
$tabTri[20080217] = 104001;
$tabTri[20080220] = 104001;
$tabTri[20080230] = 104001;
$tabTri[20080240] = 104001;
$tabTri[20080250] = 104001;
$tabTri[20080260] = 104001;
$tabTri[20080270] = 104001;
$tabTri[20080280] = 104001;
$tabTri[20080290] = 104001;
$tabTri[20090310] = 109001;
$tabTri[20090310] = 109001;
$tabTri[20090310] = 109001;
$tabTri[20090310] = 109001;
$tabTri[20090310] = 109001;
$tabTri[20090510] = 109101;
$tabTri[20090610] = 109101;
$tabTri[20090611] = 109101;
$tabTri[20090710] = 109101;
$tabTri[20090711] = 109101;
$tabTri[20090712] = 109101;
$tabTri[20090810] = 109101;
$tabTri[20090810] = 109101;
$tabTri[20090830] = 109101;
$tabTri[20090830] = 109101;
$tabTri[20090840] = 109101;
$tabTri[100000100] = 100100;
$tabTri[100001000] = 101000;
$tabTri[100002000] = 101200;
$tabTri[100003000] = 101300;
$tabTri[100004000] = 101400;
$tabTri[100005000] = 101500;
$tabTri[100010000] = 102000;
$tabTri[100015000] = 103000;
$tabTri[100016000] = 104000;
$tabTri[100019000] = 109000;
$tabTri[100019100] = 109100;
$tabTriAff=array();
$tabTriAff[5000] = 1000.10005;
$tabTriAff[7000] = 5000.10007;
$tabTriAff[7001] = 5000.10007001;
$tabTriAff[7002] = 5000.10007002;
$tabTriAff[7003] = 5000.10007003;
$tabTriAff[9995] = 13101.10009995;
$tabTriAff[9996] = 13100.10009996;
$tabTriAff[199000] = 15100.10199;
$tabTriAff[200000] = 15100.102;
$tabTriAff[201000] = 15100.10201;
$tabTriAff[202000] = 15100.10202;
$tabTriAff[203000] = 15100.10203;
$tabTriAff[204000] = 15100.10204;
$tabTriAff[205000] = 15100.10205;
$tabTriAff[205099] = 15010.10205099;
$tabTriAff[205200] = 15010.102052;
$tabTriAff[2400101] = 52201.12400101;
$tabTriAff[2400102] = 52201.12400102;
$tabTriAff[2400103] = 52201.12400103;
$tabTriAff[2400109] = 52201.12400109;
$tabTriAff[2400111] = 52201.12400111;
$tabTriAff[2400112] = 52201.12400112;
$tabTriAff[2400119] = 52201.12400119;
$tabTriAff[2400121] = 52201.12400121;
$tabTriAff[2400122] = 52201.12400122;
$tabTriAff[2400123] = 52201.12400123;
$tabTriAff[2400124] = 52201.12400124;
$tabTriAff[2400125] = 52201.12400125;
$tabTriAff[2400126] = 52201.12400126;
$tabTriAff[2400200] = 52201.124002;
$tabTriAff[2400210] = 52201.1240021;
$tabTriAff[2400300] = 52201.124003;
$tabTriAff[2400310] = 52201.1240031;
$tabTriAff[2400410] = 52201.1240041;
$tabTriAff[2400420] = 52201.1240042;
$tabTriAff[2400430] = 52201.1240043;
$tabTriAff[3902100] = 102002.139021;
$tabTriAff[3902101] = 102002.13902101;
$tabTriAff[3902110] = 102002.1390211;
$tabTriAff[3902111] = 102002.13902111;
$tabTriAff[3902130] = 102002.1390213;
$tabTriAff[3902131] = 102002.13902131;
$tabTriAff[3902200] = 102002.139022;
$tabTriAff[3902300] = 102002.139023;
$tabTriAff[3902301] = 102002.13902301;
$tabTriAff[3902310] = 102002.1390231;
$tabTriAff[3902311] = 102002.13902311;
$tabTriAff[3902330] = 102002.1390233;
$tabTriAff[3902331] = 102002.13902331;
$tabTriAff[3902900] = 102002.139029;
$tabTriAff[3910001] = 101002.13910001;
$tabTriAff[3910001] = 101002.13910001;
$tabTriAff[3910100] = 101002.139101;
$tabTriAff[3910101] = 101002.13910101;
$tabTriAff[3910120] = 101002.1391012;
$tabTriAff[3910121] = 101002.13910121;
$tabTriAff[3910130] = 101002.1391013;
$tabTriAff[3910131] = 101002.13910131;
$tabTriAff[3910135] = 101002.13910135;
$tabTriAff[3910136] = 101002.13910136;
$tabTriAff[3910140] = 101002.1391014;
$tabTriAff[3910141] = 101002.13910141;
$tabTriAff[3910145] = 101002.13910145;
$tabTriAff[3910146] = 101002.13910146;
$tabTriAff[3910150] = 101002.1391015;
$tabTriAff[3910151] = 101002.13910151;
$tabTriAff[3910155] = 101002.13910155;
$tabTriAff[3910156] = 101002.13910156;
$tabTriAff[3910160] = 101002.1391016;
$tabTriAff[3910161] = 101002.13910161;
$tabTriAff[3910170] = 101002.1391017;
$tabTriAff[3910171] = 101002.13910171;
$tabTriAff[3910180] = 101002.1391018;
$tabTriAff[3910181] = 101002.13910181;
$tabTriAff[3910190] = 101002.1391019;
$tabTriAff[3910191] = 101002.13910191;
$tabTriAff[3911001] = 101003.13911001;
$tabTriAff[3911001] = 101003.13911001;
$tabTriAff[3911100] = 101003.139111;
$tabTriAff[3911101] = 101003.13911101;
$tabTriAff[3911110] = 101003.1391111;
$tabTriAff[3911111] = 101003.13911111;
$tabTriAff[3911120] = 101003.1391112;
$tabTriAff[3911121] = 101003.13911121;
$tabTriAff[3911130] = 101003.1391113;
$tabTriAff[3911131] = 101003.13911131;
$tabTriAff[3911145] = 101003.13911145;
$tabTriAff[3911146] = 101003.13911146;
$tabTriAff[3911150] = 101003.1391115;
$tabTriAff[3911151] = 101003.13911151;
$tabTriAff[3911160] = 101003.1391116;
$tabTriAff[3911161] = 101003.13911161;
$tabTriAff[3911170] = 101003.1391117;
$tabTriAff[3911171] = 101003.13911171;
$tabTriAff[3911180] = 101003.1391118;
$tabTriAff[3911181] = 101003.13911181;
$tabTriAff[20001000] = 100101.30001;
$tabTriAff[20001000] = 100101.30001;
$tabTriAff[20001000] = 100101.30001;
$tabTriAff[20001000] = 100101.30001;
$tabTriAff[20001000] = 100101.30001;
$tabTriAff[20001000] = 100101.30001;
$tabTriAff[20011000] = 101001.30011;
$tabTriAff[20011900] = 101009.300119;
$tabTriAff[20011900] = 101009.300119;
$tabTriAff[20011900] = 101009.300119;
$tabTriAff[20011900] = 101009.300119;
$tabTriAff[20011900] = 101009.300119;
$tabTriAff[20011900] = 101009.300119;
$tabTriAff[20012000] = 101201.30012;
$tabTriAff[20012001] = 101201.30012001;
$tabTriAff[20012002] = 101201.30012002;
$tabTriAff[20012100] = 101201.300121;
$tabTriAff[20012100] = 101201.300121;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012110] = 101201.3001211;
$tabTriAff[20012120] = 101201.3001212;
$tabTriAff[20012120] = 101201.3001212;
$tabTriAff[20012120] = 101201.3001212;
$tabTriAff[20012120] = 101201.3001212;
$tabTriAff[20012120] = 101201.3001212;
$tabTriAff[20012120] = 101201.3001212;
$tabTriAff[20012200] = 101301.300122;
$tabTriAff[20012200] = 101301.300122;
$tabTriAff[20012210] = 101301.3001221;
$tabTriAff[20012210] = 101301.3001221;
$tabTriAff[20012210] = 101301.3001221;
$tabTriAff[20012210] = 101301.3001221;
$tabTriAff[20012210] = 101301.3001221;
$tabTriAff[20012220] = 101351.3001222;
$tabTriAff[20012400] = 101401.300124;
$tabTriAff[20012400] = 101401.300124;
$tabTriAff[20012410] = 101401.3001241;
$tabTriAff[20012410] = 101201.3001241;
$tabTriAff[20012410] = 101201.3001241;
$tabTriAff[20012410] = 101201.3001241;
$tabTriAff[20012410] = 101201.3001241;
$tabTriAff[20012410] = 101201.3001241;
$tabTriAff[20012410] = 101201.3001241;
$tabTriAff[20012420] = 101351.3001242;
$tabTriAff[20020100] = 102001.300201;
$tabTriAff[20020100] = 102001.300201;
$tabTriAff[20021200] = 102001.300212;
$tabTriAff[20021200] = 102001.300212;
$tabTriAff[20022200] = 102001.300222;
$tabTriAff[20022200] = 102001.300222;
$tabTriAff[20022500] = 102001.300225;
$tabTriAff[20022500] = 102001.300225;
$tabTriAff[20023100] = 102001.300231;
$tabTriAff[20023100] = 102001.300231;
$tabTriAff[20025200] = 102001.300252;
$tabTriAff[20026100] = 102001.300261;
$tabTriAff[20027100] = 102001.300271;
$tabTriAff[20028100] = 102001.300281;
$tabTriAff[20050100] = 103001.300501;
$tabTriAff[20080201] = 104001.30080201;
$tabTriAff[20080201] = 104001.30080201;
$tabTriAff[20080210] = 104001.3008021;
$tabTriAff[20080215] = 104001.30080215;
$tabTriAff[20080217] = 104001.30080217;
$tabTriAff[20080220] = 104001.3008022;
$tabTriAff[20080230] = 104001.3008023;
$tabTriAff[20080240] = 104001.3008024;
$tabTriAff[20080250] = 104001.3008025;
$tabTriAff[20080260] = 104001.3008026;
$tabTriAff[20080270] = 104001.3008027;
$tabTriAff[20080280] = 104001.3008028;
$tabTriAff[20080290] = 104001.3008029;
$tabTriAff[20090310] = 109001.3009031;
$tabTriAff[20090310] = 109001.3009031;
$tabTriAff[20090310] = 109001.3009031;
$tabTriAff[20090310] = 109001.3009031;
$tabTriAff[20090310] = 109001.3009031;
$tabTriAff[20090510] = 109101.3009051;
$tabTriAff[20090610] = 109101.3009061;
$tabTriAff[20090611] = 109101.30090611;
$tabTriAff[20090710] = 109101.3009071;
$tabTriAff[20090711] = 109101.30090711;
$tabTriAff[20090712] = 109101.30090712;
$tabTriAff[20090810] = 109101.3009081;
$tabTriAff[20090810] = 109101.3009081;
$tabTriAff[20090830] = 109101.3009083;
$tabTriAff[20090830] = 109101.3009083;
$tabTriAff[20090840] = 109101.3009084;
$tabTriAff[100000100] = 100100.1100001;
$tabTriAff[100001000] = 101000.110001;
$tabTriAff[100002000] = 101200.110002;
$tabTriAff[100003000] = 101300.110003;
$tabTriAff[100004000] = 101400.110004;
$tabTriAff[100005000] = 101500.110005;
$tabTriAff[100010000] = 102000.11001;
$tabTriAff[100015000] = 103000.110015;
$tabTriAff[100016000] = 104000.110016;
$tabTriAff[100019000] = 109000.110019;
$tabTriAff[100019100] = 109100.1100191;