Refactor mysql class with Zend_Db

This commit is contained in:
Michael RICOIS 2014-03-14 15:54:41 +00:00
parent 3e79aee219
commit 12c42d41a0
2 changed files with 655 additions and 489 deletions

View File

@ -642,14 +642,15 @@ class MInsee
$this->iBodacc=new MBodacc();
}
/** Test de la validité du siren demandé
/**
* Test de la validité du siren demandé
* @param int SIREN à tester
* @param int NIC (facultatif)
* @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false
* @return mixed true, false ou Message d'erreur passé en paramètre
*/
function valideSiren($siren, $nic='', $erreur=false) {
function valideSiren($siren, $nic='', $erreur=false)
{
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
switch (strlen($siren)) {
case 1: $siren='00000000'.$siren; break;
@ -754,26 +755,30 @@ class MInsee
return -1;
}
/** Vérifie si le de département est un département français valide
** @param int Numéro de département Français
** @return bool
**/
/**
* Vérifie si le de département est un département français valide
* @param int Numéro de département Français
* @return bool
*/
public function isDepartement($dept) {
return array_key_exists($dept, self::$tabDep);
}
/** Retourne le libellé du département si département français valide
** @param int Numéro de département Français
** @return string Libellé département
**/
public function getDepartement($dept, $article=false) {
/**
* Retourne le libellé du département si département français valide
* @param int Numéro de département Français
* @return string Libellé département
*/
public function getDepartement($dept, $article=false)
{
if ($article)
return self::$tabDepArt[$dept];
return self::$tabDep[$dept];
}
public function getEffectifMoyen($trancheEffectif) {
public function getEffectifMoyen($trancheEffectif)
{
$trancheEffectif=$trancheEffectif*1;
if ($trancheEffectif==0) return 0;
elseif ($trancheEffectif==53) return 10000;
@ -787,11 +792,13 @@ class MInsee
}
}
/** Retourne le code forme juridique d'une entreprise.
** @param int Numéro de SIREN (9 chiffres) ou SIRET (14 chiffres)
** @return string Forme Juridique sur 4 caractères ou <b>false</b>en cas d'erreur ou si inexistant
**/
function getFJInsee($siren_siret) {
/**
* Retourne le code forme juridique d'une entreprise.
* @param int Numéro de SIREN (9 chiffres) ou SIRET (14 chiffres)
* @return string Forme Juridique sur 4 caractères ou <b>false</b>en cas d'erreur ou si inexistant
*/
function getFJInsee($siren_siret)
{
$len=strlen($siren_siret);
if ($len==9)
$siren=$siren_siret;
@ -1108,14 +1115,16 @@ class MInsee
* @param string $codeVoie
* @return boolean
*/
public function isCodeVoie($codeVoie) {
public function isCodeVoie($codeVoie)
{
return array_key_exists($codeVoie, $this->tabCodeVoie);
}
/** Retourne le libellé du code voie selon les abréviations autorisées pour les types de voie (Norme AFNOR XP Z 10-011)
** @param string Code voie
** @return string Libellé de la voie
**/
/**
* Retourne le libellé du code voie selon les abréviations autorisées pour les types de voie (Norme AFNOR XP Z 10-011)
* @param string Code voie
* @return string Libellé de la voie
*/
public function getCodeVoie($codeVoie)
{
return $this->tabCodeVoie[$codeVoie];
@ -1233,7 +1242,11 @@ class MInsee
}
}
$result = $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', "$sqlIdentifiant ORDER BY insDATEMAJ DESC LIMIT $iDeb, $iMax", true, MYSQL_ASSOC);
$result = $this->iDbInsee->select(
'insee_even',
'id, LPAD(insSIREN,9,0) as insSIREN, siretValide, LPAD(insNIC,5,0) as 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',
"$sqlIdentifiant ORDER BY insDATEMAJ DESC LIMIT $iDeb, $iMax",
true, MYSQL_ASSOC);
foreach ( $result as $even ) {
@ -1510,19 +1523,20 @@ class MInsee
return array_keys($tabFJ);
}
/** Découpe une ligne d'adresse textuelle en un tableau contenant les différentes composantes de l'adresse
** <pre>Array (
** [adrComp0] => Maison des associations
** [num] => 33
** [typeVoie] => R
** [libVoie] => Louis Blanc
** [cp] => ...
** [ville] => ... Si contenu dans l'adresse
** )</pre>
**
** @param string $strLigneDAdresse La ligne d'adresse textuelle (ex : Maison des associations, 33 rue Louis Blanc
** @return array tableau contenant l'adresse structurée ici
**/
/**
* Découpe une ligne d'adresse textuelle en un tableau contenant les différentes composantes de l'adresse
* <pre>Array (
* [adrComp0] => Maison des associations
* [num] => 33
* [typeVoie] => R
* [libVoie] => Louis Blanc
* [cp] => ...
* [ville] => ... Si contenu dans l'adresse
* )</pre>
*
* @param string $strLigneDAdresse La ligne d'adresse textuelle (ex : Maison des associations, 33 rue Louis Blanc
* @return array tableau contenant l'adresse structurée ici
*/
public function structureVoie($strLigneDAdresse)
{
$tabRet=$tabAdr=array();
@ -1607,14 +1621,14 @@ class MInsee
$limit="LIMIT $deb, $nbRep";
$sqlInfo="e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
$sqlInfo="e.id, e.source, e.source_id, e.triCode, e.autre_id, LPAD(e.siren, 9, 0) as siren, LPAD(e.nic, 5, 0) as 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.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, e.identite_pre, IF(e.siege=2,0.5,e.siege) AS triSiege";
"CONCAT(siren, nic) as siret, e.actif, e.identite_pre, IF(e.siege=2,0.5,e.siege) AS triSiege";
$strActif='';
if (intval($actif)==1) $strActif=' AND e.actif=1 ';
elseif (intval($actif)==0) $strActif=' AND e.actif=0 ';
if (intval($actif)==1) $strActif=' AND e.actif=1 ';
elseif (intval($actif)==0) $strActif=' AND e.actif=0 ';
$strSiege='';
if ($siege===null) $strSiege='';
@ -1632,7 +1646,7 @@ class MInsee
$nbTot=$tabTmp[0][0];
$listeEtab=$this->iDb->select('etablissements e', $sqlInfo,
"siren=$siren $strDep $strActif $strSiege ORDER BY triSiege DESC, e.actif DESC,e.nic DESC $limit", false, MYSQL_ASSOC);
"siren=$siren $strDep $strActif $strSiege ORDER BY triSiege DESC, e.actif DESC, e.nic DESC $limit", false, MYSQL_ASSOC);
}
//Search without NIC
@ -1679,56 +1693,59 @@ class MInsee
}
}
foreach ($listeEtab as $etab) {
$tel=sprintf('%010d', strtr($etab['tel'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
if ($tel<>'0000000000') $tel=implode('.', str_split($tel,2));
else $tel='';
if ( count($listeEtab)>0 ) {
foreach ($listeEtab as $etab) {
$tel=sprintf('%010d', strtr($etab['tel'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
if ($tel<>'0000000000') $tel=implode('.', str_split($tel,2));
else $tel='';
$fax=sprintf('%010d', strtr($etab['fax'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
if ($fax<>'0000000000') $fax=implode('.', str_split($fax,2));
else $fax='';
$fax=sprintf('%010d', strtr($etab['fax'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
if ($fax<>'0000000000') $fax=implode('.', str_split($fax,2));
else $fax='';
$nom=trim($etab['raisonSociale']);
// Cas des noms vides à l'INSEE (une centaine)
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
$nom=trim($etab['raisonSociale']);
// Cas des noms vides à l'INSEE (une centaine)
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
$pays = 'France';
if ( $etab['adr_dep']==99 ) {
$resultPays = $this->iDb->select("tabPays", "libPays", "codePaysInsee = ".$etab['adr_com'], false, MYSQL_ASSOC);
$pays = $resultPays[0]['libPays'];
}
$pays = 'France';
if ( $etab['adr_dep']==99 ) {
$resultPays = $this->iDb->select("tabPays", "libPays", "codePaysInsee = ".$etab['adr_com'], false, MYSQL_ASSOC);
if ( count($resultPays)>0 ) {
$pays = $resultPays[0]['libPays'];
}
}
$tabRet[] = array(
'Localisation' => $etab['Loc'],
'id' => $etab['id'],
'Pertinence' => 100,
'Source' => $etab['source'],
'SoruceId' => $etab['source_id'],
'Siret' => $etab['siret'],
'Siege' => $etab['siege'],
'Nom' => $nom,
'Sigle' => $etab['sigle'],
'Enseigne' => $etab['enseigne'],
'Adresse' => trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
'Adresse2' => trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'CP' => $etab['adr_cp'],
'Ville' => $etab['adr_ville'],
'Pays' => $pays,
'Tel' => $tel,
'Fax' => $fax,
'FJ' => $etab['cj'],
'FJLib' => $this->getLibelleFJ($etab['cj']),
'Siren' => $etab['siren'],
'Nic' => $etab['nic'],
'Actif' => $etab['actif'],
'NafEtab' => $etab['ape_etab'], // Etablissement
'NafEnt' => $etab['ape_entrep'], // Entreprise
'NafEtabLib' => $this->getLibelleNaf($etab['ape_etab']),
'NafEntLib' => $this->getLibelleNaf($etab['ape_entrep']),
'EffEtTr' => $etab['teff_etab'],
'EffEtTrLib' => self::$tabEffectif[$etab['teff_etab']],
);
$tabRet[] = array(
'id' => $etab['id'],
'Pertinence' => 100,
'Source' => $etab['source'],
'SoruceId' => $etab['source_id'],
'Siret' => $etab['siret'],
'Siege' => $etab['siege'],
'Nom' => $nom,
'Sigle' => $etab['sigle'],
'Enseigne' => $etab['enseigne'],
'Adresse' => trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
'Adresse2' => trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'CP' => $etab['adr_cp'],
'Ville' => $etab['adr_ville'],
'Pays' => $pays,
'Tel' => $tel,
'Fax' => $fax,
'FJ' => $etab['cj'],
'FJLib' => $this->getLibelleFJ($etab['cj']),
'Siren' => $etab['siren'],
'Nic' => $etab['nic'],
'Actif' => $etab['actif'],
'NafEtab' => $etab['ape_etab'], // Etablissement
'NafEnt' => $etab['ape_entrep'], // Entreprise
'NafEtabLib' => $this->getLibelleNaf($etab['ape_etab']),
'NafEntLib' => $this->getLibelleNaf($etab['ape_entrep']),
'EffEtTr' => $etab['teff_etab'],
'EffEtTrLib' => self::$tabEffectif[$etab['teff_etab']],
);
}
}
if ($dep==0) $dep=''; // Evite l'affichage d'un 0 inutile sur l'Extranet
@ -1738,7 +1755,8 @@ class MInsee
'info' => $strInfo,
'nbReponses' => count($tabRet),
'nbReponsesTotal' => $nbTot,
'reponses' => $tabRet);
'reponses' => $tabRet
);
}
/**
@ -1772,7 +1790,7 @@ class MInsee
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "TEL=$id OR FAX=$id $filtreActif");
$nbTot=$tabTmp[0][0];
$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, ".
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, LPAD(e.siren, 9, 0) as siren, LPAD(e.nic, 5, 0), 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.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",
@ -1861,12 +1879,14 @@ class MInsee
'reponses'=>$tabRet);
}
/** Retourne juste si un siren existe
**
** @param integer $siren
** @return bool
**/
function sirenExiste($siren) {
/**
* Retourne juste si un siren existe
*
* @param integer $siren
* @return bool
*/
function sirenExiste($siren)
{
$siren=$siren*1;
$listeEtab=$this->iDb->select('etablissements', 'id', "siren=$siren LIMIT 0,1", false, MYSQL_ASSOC);
if (@count($listeEtab)>0)
@ -1874,12 +1894,14 @@ class MInsee
return false;
}
/** Retourne l'identité issue de la table établissements
**
** @param integer $siren
** @return bool
**/
function getIdentiteLight($siren, $nic=0, $id=0) {
/**
* Retourne l'identité issue de la table établissements
*
* @param integer $siren
* @return bool
*/
function getIdentiteLight($siren, $nic=0, $id=0)
{
$siren=$siren*1;
$nic=$nic*1;
$id=$id*1;
@ -1890,7 +1912,7 @@ class MInsee
else return array();
$listeEtab=$this->iDb->select('etablissements e',
"e.id, e.source, e.source_id, e.autre_id, e.siren, e.nic, e.siege, e.autre_id, e.triCode, ".
"e.id, e.source, e.source_id, e.autre_id, LPAD(e.siren, 9, 0) as siren, LPAD(e.nic, 5, 0), e.siege, e.autre_id, e.triCode, ".
"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_dep, e.adr_com, e.capital, e.capitalDev, e.capitalSrc, e.tca, e.teff_entrep, e.teff_etab, ".
@ -1902,61 +1924,64 @@ class MInsee
// Cas des noms vides à l'INSEE (une centaine)
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
$tabRet=array( 'id'=>$etab['id'],
'Siret'=>$etab['siret'],
'Siege'=>$etab['siege'],
'Nom'=>$nom,
'Tribunal'=>$etab['triCode'],
'Sigle'=>$etab['sigle'],
'Enseigne'=>$etab['enseigne'],
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'AdresseNum'=>$etab['adr_num'],
'AdresseBtq'=>$etab['adr_btq'],
'AdresseVoie'=>$etab['adr_typeVoie'],
'AdresseRue'=>$etab['adr_libVoie'],
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Tel'=>$etab['tel'],
'Fax'=>$etab['fax'],
'FJ'=>$etab['cj'],
'FJ_lib'=>$this->getLibelleFJ($etab['cj']),
'Siren'=>$etab['siren'],
'Nic'=>$etab['nic'],
'Actif'=>$etab['actif'],
'NafEtab'=>$etab['ape_etab'],
'NafEnt'=>$etab['ape_entrep'],
'NafEntLib' =>$this->getLibelleNaf($etab['ape_entrep']),
'NafEtabLib'=>$this->getLibelleNaf($etab['ape_etab']),
'AutreId'=>$etab['autre_id'],
'Source'=>$etab['source'],
'SourceId'=>$etab['source_id'],
// Ajout du 25 mars 2010
'Dept'=>$etab['adr_dep'],
'codeCommune'=>$etab['adr_com'],
'Capital'=>$etab['capital'],
'CapitalDev'=>$etab['capitalDev'],
'TrancheCA'=>$etab['tca'],
'TrancheCALib'=>self::$tabTCA[$etab['tca']],
'EffEnTr'=>$etab['teff_entrep'],
'EffEnTrLib'=>self::$tabEffectif[$etab['teff_entrep']],
'EffEtTr'=>$etab['teff_etab'],
'EffEtTrLib'=>self::$tabEffectif[$etab['teff_etab']],
// Added 30/05/2012
//'EffEn'=>$etab['teff_entrep'],
//'EffEt'=>$etab['teff_etab'],
);
$tabRet = array(
'id'=>$etab['id'],
'Siret'=>$etab['siret'],
'Siege'=>$etab['siege'],
'Nom'=>$nom,
'Tribunal'=>$etab['triCode'],
'Sigle'=>$etab['sigle'],
'Enseigne'=>$etab['enseigne'],
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'AdresseNum'=>$etab['adr_num'],
'AdresseBtq'=>$etab['adr_btq'],
'AdresseVoie'=>$etab['adr_typeVoie'],
'AdresseRue'=>$etab['adr_libVoie'],
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Tel'=>$etab['tel'],
'Fax'=>$etab['fax'],
'FJ'=>$etab['cj'],
'FJ_lib'=>$this->getLibelleFJ($etab['cj']),
'Siren'=>$etab['siren'],
'Nic'=>$etab['nic'],
'Actif'=>$etab['actif'],
'NafEtab'=>$etab['ape_etab'],
'NafEnt'=>$etab['ape_entrep'],
'NafEntLib' =>$this->getLibelleNaf($etab['ape_entrep']),
'NafEtabLib'=>$this->getLibelleNaf($etab['ape_etab']),
'AutreId'=>$etab['autre_id'],
'Source'=>$etab['source'],
'SourceId'=>$etab['source_id'],
// Ajout du 25 mars 2010
'Dept'=>$etab['adr_dep'],
'codeCommune'=>$etab['adr_com'],
'Capital'=>$etab['capital'],
'CapitalDev'=>$etab['capitalDev'],
'TrancheCA'=>$etab['tca'],
'TrancheCALib'=>self::$tabTCA[$etab['tca']],
'EffEnTr'=>$etab['teff_entrep'],
'EffEnTrLib'=>self::$tabEffectif[$etab['teff_entrep']],
'EffEtTr'=>$etab['teff_etab'],
'EffEtTrLib'=>self::$tabEffectif[$etab['teff_etab']],
// Added 30/05/2012
//'EffEn'=>$etab['teff_entrep'],
//'EffEt'=>$etab['teff_etab'],
);
return $tabRet;
}
/** Retourne la liste des devise
**
** @param string $codeDevise Code ISO devise
** @return Devise ou liste des devises (si pas de code ISO en entrée)
**/
function getDevises($codeIso='') {
/**
* Retourne la liste des devise
*
* @param string $codeDevise Code ISO devise
* @return Devise ou liste des devises (si pas de code ISO en entrée)
*/
function getDevises($codeIso='')
{
if (trim($codeIso)<>'') $strWhere="devIso='$codeIso'";
else $strWhere='1';
$liste=$this->iDb->select('tabDevises', 'devIso, devNom', $strWhere, false, MYSQL_ASSOC);
@ -1966,14 +1991,16 @@ class MInsee
return $tabRet;
}
/** Retourne la liste des mandataires/administrateurs/oppositions d'une ou plusieurs cours d'appel
**
** @param array $arrIdCA Id S&D de la cour d'appel
** @param bool $condense Par défaut retourne un tableau concatenant Nom, prenom, adresse complète
** @param array $type Type d'opposition. Ex array('A','M') pour Admin/Mandataires. Autres: a'V'ocat,'H'uissier,'N'otaire
** @return Liste des Mandataires/Administrateurs de la cours d'appel
**/
function getMandataires($arrIdCA=array(), $condense=true, $type=array()) {
/**
* Retourne la liste des mandataires/administrateurs/oppositions d'une ou plusieurs cours d'appel
*
* @param array $arrIdCA Id S&D de la cour d'appel
* @param bool $condense Par défaut retourne un tableau concatenant Nom, prenom, adresse complète
* @param array $type Type d'opposition. Ex array('A','M') pour Admin/Mandataires. Autres: a'V'ocat,'H'uissier,'N'otaire
* @return Liste des Mandataires/Administrateurs de la cours d'appel
*/
function getMandataires($arrIdCA=array(), $condense=true, $type=array())
{
if (count($arrIdCA)>0) $strIdCA='AND ( coursAppel in ('.implode(',', $arrIdCA).') OR coursAppel2 in ('.implode(',', $arrIdCA).') )';
else $strIdCA='';
@ -1994,15 +2021,16 @@ class MInsee
return $tabRet;
}
/** Retourne la liste des mandataires/administrateurs/oppositions correspondant à un nom
**
** @param string $nom Nom du mandataire
** @param bool $condense Par défaut retourne un tableau concatenant Nom, prenom, adresse complète
** @param array $type Type d'opposition. Ex array('A','M') pour Admin/Mandataires. Autres: a'V'ocat,'H'uissier,'N'otaire
** @return Liste des Mandataires/Administrateurs de la cours d'appel
**/
function searchMandataires($nom, $condense=true, $type=array(), $cpDep=0) {
/**
* Retourne la liste des mandataires/administrateurs/oppositions correspondant à un nom
*
* @param string $nom Nom du mandataire
* @param bool $condense Par défaut retourne un tableau concatenant Nom, prenom, adresse complète
* @param array $type Type d'opposition. Ex array('A','M') pour Admin/Mandataires. Autres: a'V'ocat,'H'uissier,'N'otaire
* @return Liste des Mandataires/Administrateurs de la cours d'appel
*/
function searchMandataires($nom, $condense=true, $type=array(), $cpDep=0)
{
$strIdCA="AND (Nom LIKE '%$nom%' OR Prenom LIKE '%$nom%') ";
if (count($type)>0) $strType="AND type in ('".implode("','", $type)."') ";
@ -2123,7 +2151,7 @@ class MInsee
elseif ($nic<>0) $where=" siren=$siren AND nic=$nic ";
elseif ($siren<>0) $where=" siren=$siren ";//AND siege=1 ";
$listeEtab = $this->iDb->select('etablissements e',
"e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, e.autre_id, ".
"e.id, e.source, e.source_id, e.triCode, e.autre_id, LPAD(e.siren,9,0) as siren, LPAD(e.nic,5,0) as nic, e.siege, e.autre_id, ".
"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.capital, e.capitalDev, e.capitalSrc, CONCAT(e.siren, e.nic) as siret, e.actif, ".
@ -2178,20 +2206,28 @@ class MInsee
$timer['tableEtablissements']=microtime(true);
}
/** Informations locales issues de la table infos_entrep
**/
/** Informations locales issues de la table infos_entrep **/
if ($siren>100) {
$info = $this->iDb->select('infos_entrep', 'raisonSociale, isin, nscrl, tel, fax, web, mail, latitude, longitude, precis, dateCreation, dateFermeture, naf, naf_lib, ca, effectif, nbEtab, activite, sirenDoublon, waldec', "siren=$siren", false, MYSQL_ASSOC);
$tab=$info[0];
$waldec=$tab['waldec'];
if ($tab['sirenDoublon']==0) {
$info=$this->iDb->select('infos_entrep', 'siren AS sirenDoublon', "sirenDoublon=$siren", false, MYSQL_ASSOC);
$tab['sirenDoublon']=$info[0]['sirenDoublon'];
$info = $this->iDb->select(
'infos_entrep',
'raisonSociale, isin, nscrl, tel, fax, web, mail, latitude, longitude, precis, dateCreation, dateFermeture, naf, naf_lib, ca, effectif, nbEtab, activite, LPAD(sirenDoublon,9,0), waldec',
"siren=$siren", false, MYSQL_ASSOC);
if ( count($info)>0 ) {
$tab=$info[0];
$waldec = $tab['waldec'];
if ( $tab['sirenDoublon']==0 ) {
$info = $this->iDb->select('infos_entrep', 'siren AS sirenDoublon', "sirenDoublon=$siren", false, MYSQL_ASSOC);
$tab['sirenDoublon']=$info[0]['sirenDoublon'];
}
}
$insee=$this->iDb->select('etablissements', 'CONCAT(SIREN,NIC) AS siret', "SIREN=$siren AND SIEGE=1 ORDER BY ACTIF%10 DESC, NIC DESC",false,MYSQL_ASSOC);
$siretSiege=$insee[0]['siret'];
$timer['infosEntrep']=microtime(true);
if ( count($insee)>0 ) {
$siretSiege = $insee[0]['siret'];
}
$timer['infosEntrep']=microtime(true);
}
if ($nic>0) $strNic="AND NIC=$nic";
@ -2237,10 +2273,16 @@ class MInsee
);
}
$tabTmp=$this->iDb->select('etablissements', 'count(*) AS nbEtabs', "siren=$siren AND NIC<100000 AND ACTIF%10=1",false,MYSQL_ASSOC);
$nbEtab=$tabTmp[0]['nbEtabs'];
$inseeND=$this->iDbInsee->select('insee_nondiff', 'siren, mois, dateInsert',"siren=$siren",false,MYSQL_ASSOC);
$moisNonDiff=@$tabTmp[0]['mois'];
$tabTmp = $this->iDb->select('etablissements', 'count(*) AS nbEtabs', "siren=$siren AND NIC<100000 AND ACTIF%10=1",false,MYSQL_ASSOC);
$nbEtab = 0;
if ( count($tabTmp)>0 ) {
$nbEtab = $tabTmp[0]['nbEtabs'];
}
$inseeND = $this->iDbInsee->select('insee_nondiff', 'siren, mois, dateInsert',"siren=$siren",false,MYSQL_ASSOC);
if ( count($inseeND)>0 ) {
$moisNonDiff = $tabTmp[0]['mois'];
}
$timer['tableIdentite']=microtime(true);
} else {
@ -2266,8 +2308,8 @@ class MInsee
}
if (count($info)==0) {
$idComp=$this->getIdentitePart($siren, $etab['raisonSociale'], $etab['enseigne'], $etab['sigle'], 0, $accesDist);
$tab=$idComp;
$idComp = $this->getIdentitePart($siren, $etab['raisonSociale'], $etab['enseigne'], $etab['sigle'], 0, $accesDist);
$tab = $idComp;
$timer['getIdentitePart']=microtime(true);
}
@ -2301,9 +2343,9 @@ class MInsee
fclose($fp);
$timer['zonesPrioritaires']=microtime(true);
}
} else
} else {
$repAmabis=array();
}
/** N° de TVA Intracommunautaire **/
if ($siren*1>100) {
@ -2376,14 +2418,15 @@ class MInsee
}
$timer['telFax']=microtime(true);
/** Type d'exploitation
** 0 : N/C
** 1 : Locataire d'un fond de commerce
** 2 : Loueur d'un fond de commerce
** 3 : Prestataire de personnel
** 10: Exploitation directe
** 11: Sans activité ???
**/
/**
* Type d'exploitation
* 0 : N/C
* 1 : Locataire d'un fond de commerce
* 2 : Loueur d'un fond de commerce
* 3 : Prestataire de personnel
* 10: Exploitation directe
* 11: Sans activité ???
*/
$typeExploitation=0;
if (strtoupper($tabInsee['EXPLET'])=='O') {
switch ($tabInsee['PRODPART']*1) {
@ -2545,119 +2588,120 @@ class MInsee
}
}
$tabRet=array( 'id'=>$etab['id'],
'Siret'=>$etab['siret'],
'SiretSiege'=>$siretSiege,
'AncienSiege'=>$ancienSiege,
'AncienSiegeDateFin'=>$dateFinSiege,
'Siege'=>$etab['siege'],
'Tribunal'=>strtr($etab['triCode'],array('préfec'=>'','sous-p'=>'','Déclar'=>'')),
'Nom'=>$nom, //EIRL
$tabRet = array(
'id'=>$etab['id'],
'Siret'=>$etab['siret'],
'SiretSiege'=>$siretSiege,
'AncienSiege'=>$ancienSiege,
'AncienSiegeDateFin'=>$dateFinSiege,
'Siege'=>$etab['siege'],
'Tribunal'=>strtr($etab['triCode'],array('préfec'=>'','sous-p'=>'','Déclar'=>'')),
'Nom'=>$nom, //EIRL
'Nom2'=>$nom2,
'Sigle'=>$etab['sigle'],
'Enseigne'=>$etab['enseigne'], //EIRL
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'AdresseNum'=>$etab['adr_num'],
'AdresseBtq'=>$etab['adr_btq'],
'AdresseVoie'=>$etab['adr_typeVoie'],
'AdresseRue'=>$etab['adr_libVoie'],
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Pays'=>$tabInsee['PAYS'],
'PaysIso2'=>$codePaysIso2,
'Nom2'=>$nom2,
'Sigle'=>$etab['sigle'],
'Enseigne'=>$etab['enseigne'], //EIRL
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
'AdresseNum'=>$etab['adr_num'],
'AdresseBtq'=>$etab['adr_btq'],
'AdresseVoie'=>$etab['adr_typeVoie'],
'AdresseRue'=>$etab['adr_libVoie'],
'CP'=>$etab['adr_cp'],
'Ville'=>$etab['adr_ville'],
'Pays'=>$tabInsee['PAYS'],
'PaysIso2'=>$codePaysIso2,
'Civilite'=>$tabInsee['CIVILITE'],
'NbEtab'=>$nbEtab,
'Tel'=>$tel,
'Fax'=>$fax,
'Web'=>$tab['web'],
'Mail'=>$tab['mail'],
'Civilite'=>$tabInsee['CIVILITE'],
'NbEtab'=>$nbEtab,
'Tel'=>$tel,
'Fax'=>$fax,
'Web'=>$tab['web'],
'Mail'=>$tab['mail'],
'GeoLat'=>$tab['latitude'],
'GeoLon'=>$tab['longitude'],
'GeoAlt'=>$tab['altitude'],
'GeoPrecis'=>$tab['precis'],
'GeoLat'=>$tab['latitude'],
'GeoLon'=>$tab['longitude'],
'GeoAlt'=>$tab['altitude'],
'GeoPrecis'=>$tab['precis'],
'TvaNumero'=>$vatNumber,
'TvaAttribue'=>$vatDefined,
'TvaNumero'=>$vatNumber,
'TvaAttribue'=>$vatDefined,
'FJ'=>$tabInsee['CJ'],
'FJ_lib'=>$this->getLibelleFJ($tabInsee['CJ']),
'RECME'=>$tabInsee['RECME'],
'Siren'=>$etab['siren'],
'Nic'=>$etab['nic'],
'Actif'=>$tabInsee['ACTIF'], // Etablissement juridiquement ACTIF
'ActifEco'=>$tabInsee['actifEco'], // Etablissement économiquement ACTIF
'ActifEcoDate'=>$tabInsee['actifEcoDate'], // Etablissement économiquement Inactif depuis
'ActifEcoType'=>$tabInsee['actifEcoType'], // Type d'inactivité éco ECOF, NPAI, PFER ou vide
'NafEtab'=>$tabInsee['APE_ETAB'],
'NafEnt'=>$tabInsee['APE_ENT'],
'NaceEtab'=>$this->getCodeNace($tabInsee['APE_ETAB']),
'NaceEnt'=>$this->getCodeNace($tabInsee['APE_ENT']),
'NafEntLib' =>$this->getLibelleNaf($tabInsee['APE_ENT']),
'NafEtabLib'=>$this->getLibelleNaf($tabInsee['APE_ETAB']),
'AutreId'=>$etab['autre_id'],
'Source'=>$etab['source'],
'SourceId'=>$etab['source_id'],
'Isin'=>$tab['isin'],
'Capital'=>$etab['capital'],//IKI
'CapitalDev'=>$etab['capitalDev'],
'CapitalSrc'=>$etab['capitalSrc'],
'FJ'=>$tabInsee['CJ'],
'FJ_lib'=>$this->getLibelleFJ($tabInsee['CJ']),
'RECME'=>$tabInsee['RECME'],
'Siren'=>$etab['siren'],
'Nic'=>$etab['nic'],
'Actif'=>$tabInsee['ACTIF'], // Etablissement juridiquement ACTIF
'ActifEco'=>$tabInsee['actifEco'], // Etablissement économiquement ACTIF
'ActifEcoDate'=>$tabInsee['actifEcoDate'], // Etablissement économiquement Inactif depuis
'ActifEcoType'=>$tabInsee['actifEcoType'], // Type d'inactivité éco ECOF, NPAI, PFER ou vide
'NafEtab'=>$tabInsee['APE_ETAB'],
'NafEnt'=>$tabInsee['APE_ENT'],
'NaceEtab'=>$this->getCodeNace($tabInsee['APE_ETAB']),
'NaceEnt'=>$this->getCodeNace($tabInsee['APE_ENT']),
'NafEntLib' =>$this->getLibelleNaf($tabInsee['APE_ENT']),
'NafEtabLib'=>$this->getLibelleNaf($tabInsee['APE_ETAB']),
'AutreId'=>$etab['autre_id'],
'Source'=>$etab['source'],
'SourceId'=>$etab['source_id'],
'Isin'=>$tab['isin'],
'Capital'=>$etab['capital'],//IKI
'CapitalDev'=>$etab['capitalDev'],
'CapitalSrc'=>$etab['capitalSrc'],
// 'Singularite'=>'',
'DateCreaEt'=>$tabInsee['DCRET'],
'DateCreaEn'=>$tabInsee['DCREN'],
// 'DateClotEn'=>$tabInsee[''],
// 'DateClotEt'=>$tabInsee[''],
// 'SitJur_lib'=>$tabInsee['PROCOL_TYPE'],
// 'SitJur_date'=>$tabInsee['PROCOL_DATE'],
'SituationJuridique'=>'',
'EffEnTr'=>$tabInsee['TEFF_ENT'],
'EffEnTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ENT']],
'EffEtTr'=>$tabInsee['TEFF_ET'],
'EffEtTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ET']],
'EffectifEtab'=>$tabInsee['EFF_ET'],
'Effectif'=>$tabInsee['EFF_ENT'],
'Dept'=>$tabInsee['ADR_DEP'],
'codeCommune'=>$tabInsee['ADR_COM'],
'TrancheCA'=>$tabInsee['TCA'],
'TrancheCALib'=>self::$tabTCA[$tabInsee['TCA']],
'TrancheCAexp'=>$tabInsee['TCAEXP'],
'TrancheCAexpLib'=>self::$tabTCAexp[$tabInsee['TCAEXP']],
'TrancheCAType'=>'I',
'AnneeEffEn'=>$tabInsee['DEFEN'],
'AnneeEffEt'=>$tabInsee['DEFET'],
'AnneeTCA'=>$tabInsee['TCA_AN'],
//'Singularite'=>'',
'DateCreaEt'=>$tabInsee['DCRET'],
'DateCreaEn'=>$tabInsee['DCREN'],
//'DateClotEn'=>$tabInsee[''],
//'DateClotEt'=>$tabInsee[''],
//'SitJur_lib'=>$tabInsee['PROCOL_TYPE'],
//'SitJur_date'=>$tabInsee['PROCOL_DATE'],
'SituationJuridique'=>'',
'EffEnTr'=>$tabInsee['TEFF_ENT'],
'EffEnTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ENT']],
'EffEtTr'=>$tabInsee['TEFF_ET'],
'EffEtTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ET']],
'EffectifEtab'=>$tabInsee['EFF_ET'],
'Effectif'=>$tabInsee['EFF_ENT'],
'Dept'=>$tabInsee['ADR_DEP'],
'codeCommune'=>$tabInsee['ADR_COM'],
'TrancheCA'=>$tabInsee['TCA'],
'TrancheCALib'=>self::$tabTCA[$tabInsee['TCA']],
'TrancheCAexp'=>$tabInsee['TCAEXP'],
'TrancheCAexpLib'=>self::$tabTCAexp[$tabInsee['TCAEXP']],
'TrancheCAType'=>'I',
'AnneeEffEn'=>$tabInsee['DEFEN'],
'AnneeEffEt'=>$tabInsee['DEFET'],
'AnneeTCA'=>$tabInsee['TCA_AN'],
'dir1Titre'=>self::$tabFct[$tabInsee['DIR_FCT']],
'dir1NomPrenom'=>preg_replace('/^EIRL\s/','',$tabInsee['DIR_IDEN']),
'Rivoli'=>substr($tabInsee['CODEVOIE'],0,4).' '.substr($tabInsee['CODEVOIE'],-1),
'InfosIris'=>$tabIris,
'NatureActivite'=>$tabInsee['ACTIVNAT'], // Nature de l'activité
'OrigineCreation'=>$tabInsee['ORIGINE'], // Origine de la création
'Auxiliaire'=>$tabInsee['AUXILT'], // 1=Auxiliaire / 0=Non auxiliaire
'Saisonnalite'=>$tabInsee['SAISONAT'], // P=Activité permanente / S=Activité saisonnière
'ACTISURF'=>$tabInsee['ACTISURF'],
'EXPLEN'=>$tabInsee['EXPLEN'],
'EXPLET'=>$tabInsee['EXPLET'],
'LIEUACT'=>$tabInsee['LIEUACT'],
'MODEN'=>$tabInsee['MODEN'],
'MONOACT'=>$tabInsee['MONOACT'],
'MONOREG'=>$tabInsee['MONOREG'],
'REGIMP'=>$tabInsee['REGIMP'],
'PRODPART'=>$tabInsee['PRODPART'],
'GeoInfos'=>$repAmabis,
'NonDiffusible'=>$moisNonDiff,
'TypeExploitation'=>$typeExploitation,
'DateMajINSEE'=>str_replace('--','',$classWDate->dateT('Ymd','Y-m-d',$tabInsee['DATE_MAJ'])),
'APRM'=>$tabInsee['APRM'],
'APRM_Lib'=>$this->getLibelleNafa($tabInsee['APRM']),
'AutreSiret'=>$tabAssoc,
// MODET,
);
'dir1Titre'=>self::$tabFct[$tabInsee['DIR_FCT']],
'dir1NomPrenom'=>preg_replace('/^EIRL\s/','',$tabInsee['DIR_IDEN']),
'Rivoli'=>substr($tabInsee['CODEVOIE'],0,4).' '.substr($tabInsee['CODEVOIE'],-1),
'InfosIris'=>$tabIris,
'NatureActivite'=>$tabInsee['ACTIVNAT'], // Nature de l'activité
'OrigineCreation'=>$tabInsee['ORIGINE'], // Origine de la création
'Auxiliaire'=>$tabInsee['AUXILT'], // 1=Auxiliaire / 0=Non auxiliaire
'Saisonnalite'=>$tabInsee['SAISONAT'], // P=Activité permanente / S=Activité saisonnière
'ACTISURF'=>$tabInsee['ACTISURF'],
'EXPLEN'=>$tabInsee['EXPLEN'],
'EXPLET'=>$tabInsee['EXPLET'],
'LIEUACT'=>$tabInsee['LIEUACT'],
'MODEN'=>$tabInsee['MODEN'],
'MONOACT'=>$tabInsee['MONOACT'],
'MONOREG'=>$tabInsee['MONOREG'],
'REGIMP'=>$tabInsee['REGIMP'],
'PRODPART'=>$tabInsee['PRODPART'],
'GeoInfos'=>$repAmabis,
'NonDiffusible'=>$moisNonDiff,
'TypeExploitation'=>$typeExploitation,
'DateMajINSEE'=>str_replace('--','',$classWDate->dateT('Ymd','Y-m-d',$tabInsee['DATE_MAJ'])),
'APRM'=>$tabInsee['APRM'],
'APRM_Lib'=>$this->getLibelleNafa($tabInsee['APRM']),
'AutreSiret'=>$tabAssoc,
// MODET,
);
/** Estimation du Chiffre d'affaires **/
$cj1=substr($tabInsee['CJ'],0,1)*1;
@ -2672,21 +2716,22 @@ class MInsee
}
/** Si tourisme, recherche du classeement **/
$tabNafTourisme=array( '5510Z', // Hôtels et hébergement similaire
'5520Z', // Hébergement touristique et autre hébergement de co
'5530Z', // Terrains de camping et parcs pour caravanes ou véh
'702A', // Location de logements
'6820A', // Location de logements
'6820B', // Location de terrains et d'autres biens immobiliers
'551A', // Hôtels touristiques avec restaurant
'5610A', // Restauration traditionnelle
'741J', // Administration d'entreprises
'7010Z', // Activités des sièges sociaux
'552C', // Exploitation de terrains de camping
'702C', // Location d'autres biens immobiliers
'551C', // Hôtels touristiques sans restaurant
'553A', // Restauration de type traditionnel
);
$tabNafTourisme=array(
'5510Z', // Hôtels et hébergement similaire
'5520Z', // Hébergement touristique et autre hébergement de co
'5530Z', // Terrains de camping et parcs pour caravanes ou véh
'702A', // Location de logements
'6820A', // Location de logements
'6820B', // Location de terrains et d'autres biens immobiliers
'551A', // Hôtels touristiques avec restaurant
'5610A', // Restauration traditionnelle
'741J', // Administration d'entreprises
'7010Z', // Activités des sièges sociaux
'552C', // Exploitation de terrains de camping
'702C', // Location d'autres biens immobiliers
'551C', // Hôtels touristiques sans restaurant
'553A', // Restauration de type traditionnel
);
if (in_array($tabInsee['APE_ENT'], $tabNafTourisme) ||
in_array($tabInsee['APE_ETAB'], $tabNafTourisme) ) {
$ret=$this->iDb->select('tourisme', 'id, nom, adresse, adrCp, adrVille, nbEtoiles, typeClasse, categorie, dateClasse, tel, fax, mail, web, typeChambres, capacite', "siren=$siren AND nic=$nic", false, MYSQL_ASSOC);
@ -2718,8 +2763,7 @@ class MInsee
}
$timer['nbActionsCapital']=microtime(true);
/** Numéro de TVA non défini
**/
/** Numéro de TVA non défini **/
if (!$vatDefined) {
// Dom Tom ou étranger
if ($tabRet['Dept']>96)
@ -2733,8 +2777,7 @@ class MInsee
}
/** Date de début d'activité de l'entreprise si absente INSEE
**/
/** Date de début d'activité de l'entreprise si absente INSEE **/
if ($siren>100 && $tabRet['DateCreaEn']==0) {
$insee=$this->iDbInsee->select('identite', 'DCREN', "SIREN=$siren AND DCREN>0 ORDER BY DCREN ASC LIMIT 0,1",false,MYSQL_ASSOC);
if (count($insee)>0)
@ -2744,22 +2787,16 @@ class MInsee
$dateCreaEn=$classWDate->dateT('Y-m-d','Ymd',$tmp['dateEtatEn']);
if (preg_match("/Prise d'activité/", $tmp['etatEn']) &&
$dateCreaEn>19000101) {
$this->iDbInsee->update('identite', array('DCREN'=>$dateCreaEn),
"SIREN=$siren AND NIC=".$etab['nic']);
/* @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentiteEntreprise() sur $siren DateCreaEn trouvée",
print_r($tmp, true));
} else
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentiteEntreprise() sur $siren date NON TROUVEE",
print_r($tmp, true));
*/
$this->iDbInsee->update('identite', array(
'DCREN'=>$dateCreaEn),
"SIREN=$siren AND NIC=".$etab['nic']
);
}
}
}
$timer['dateDebutActivite']=microtime(true);
/** Adresse de domiciliation
**/
/** Adresse de domiciliation **/
$tabDom=$this->infoAdresseDom( $tabRet['AdresseNum'],
$tabRet['AdresseBtq'],
$tabRet['AdresseVoie'],

View File

@ -1,87 +1,122 @@
<?php
class WDB
{
/**
* @var Zend_Db_Adapter_Abstract
*/
protected $db = null;
class WDB {
private $host;
private $database;
private $user;
private $password;
private $con_id; // Connection ID with MySQL
private $result;
/**
*
* @var unknown
*/
protected $result = null;
public function __construct($database='', $host='', $user='', $password='') {
if ($host=='') $this->host=MYSQL_HOST;
else $this->host=$host;
if ($user=='') $this->user=MYSQL_USER;
else $this->user=$user;
if ($password=='') $this->password=MYSQL_PASS;
else $this->password=$password;
if ($database=='') $this->database=MYSQL_DEFAULT_DB;
else $this->database=$database;
protected $errorCode;
$this->con_id = mysql_pconnect($this->host, $this->user, $this->password);
if (!($this->con_id === false)) {
if (mysql_select_db($this->database, $this->con_id) === false) {
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
}
return mysql_query("SET NAMES 'utf8';", $this->con_id);
protected $errorMsg;
public function __construct( $database = null, $host = null, $user = null, $password = null )
{
if ( $database === null ) {
$database = 'jo';
}
if ( $host === null ) {
$c = Zend_Registry::get('config');
$config = new Zend_Config(array(
'adapter' => $c->profil->db->metier->adapter,
'params' => array(
'host' => $c->profil->db->metier->params->host,
'username'=> $c->profil->db->metier->params->username,
'password'=> $c->profil->db->metier->params->password,
'dbname'=> $database,
'driver_options' => array(
MYSQLI_INIT_COMMAND => "SET NAMES utf8",
),
),
));
} else {
$config = new Zend_Config(array(
'adapter' => 'mysqli',
'params' => array(
'host' => $host,
'username'=> $user,
'password'=> $password,
'dbname'=> $database,
'driver_options' => array(
MYSQLI_INIT_COMMAND => "SET NAMES utf8",
),
),
));
}
try {
$this->db = Zend_Db::factory($config);
} catch ( Exception $e ) {
file_put_contents('debug.log', $e->getMessage()."\n", FILE_APPEND);
exit;
}
}
public function setCharSet($charSet) {
return (mysql_query("SET CHARACTER SET $charSet;", $this->con_id));
}
private function setDB() {
return (mysql_query("USE $this->database;", $this->con_id));
}
/** INSERTION d'un tableau dans une table.
** Les index doivent avoir les mêmes noms que les champs.
** @param string Table
** @param array Valeurs insérer
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
**/
public function insert($table, $toAdd, $debug=false, $low_priority=false){
$this->setDB();
$fields = implode(array_keys($toAdd), '`,`');
/**
* INSERTION d'un tableau dans une table.
* Les index doivent avoir les mêmes noms que les champs.
* @param string Table
* @param array Valeurs insérer
* @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
*/
public function insert($table, $toAdd, $debug=false, $low_priority=false)
{
$fields = implode(array_keys($toAdd), '`,`');
foreach (array_values($toAdd) as $key=>$array_values)
$tmp[$key]=checkaddslashes($array_values);
$values = "'".implode(array_values($tmp), "','")."'"; # better
$values = str_replace("'NULL'", 'NULL', $values);
if ($low_priority)
$query = 'INSERT DELAYED INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
else
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
if ($low_priority)
$query = 'INSERT DELAYED INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
else
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
if ($debug) $tdeb=microtime_float();
$res = mysql_query($query, $this->con_id);
if ($res!==false)
{
if (mysql_insert_id()>0)
$res=mysql_insert_id();
else
$res=true;
}
if ($debug) $this->trace($query, $res, $tdeb);
try {
$stmt = $this->db->query($query);
$res = $this->db->lastInsertId();
if ( $res == 0 ) {
$res = true;
}
} catch(Zend_Db_Exception $e) {
$res = false;
}
if ($debug) $this->trace($query, $res, $tdeb);
return $res;
}
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false){
$this->setDB();
/**
*
* @param unknown $table
* @param unknown $update
* @param unknown $where
* @param string $debug
* @param number $limit
* @param string $low_priority
* @return resource
*/
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false)
{
$fields = array_keys($update);
$values = array_values($update);
$i=0;
if ($low_priority)
$query='UPDATE LOW_PRIORITY `'.$table.'` SET ';
else
$query='UPDATE `'.$table.'` SET ';
if ($low_priority)
$query='UPDATE LOW_PRIORITY `'.$table.'` SET ';
else
$query='UPDATE `'.$table.'` SET ';
while(isset($fields[$i])){
if($i>0) { $query.=', '; }
$query.=' `'.$fields[$i]."`='".checkaddslashes($values[$i])."'";
@ -90,139 +125,233 @@ public function update($table, $update, $where, $debug=false, $limit=0, $low_pri
$query = str_replace("'NULL'", 'NULL', $query);
$query.=' WHERE '.$where;
if ($limit>0) $query.=" LIMIT $limit";
if ($debug) $tdeb=microtime_float();
$res=mysql_query($query, $this->con_id);
if ($debug) $this->trace($query, $res, $tdeb);
try {
$stmt = $this->db->query($query);
$res = $this->db->lastInsertId();
if ( $res == 0 ) {
$res = true;
}
} catch(Zend_Db_Exception $e) {
$res = false;
}
if ($debug) $this->trace($query, $res, $tdeb);
return $res;
}
public function delete($table, $where, $debug=false, $low_priority=false) {
$this->setDB();
if ($low_priority)
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
else
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
if ($debug) $tdeb=microtime_float();
$res=mysql_query($query, $this->con_id);
if ($debug) $this->trace($query, $res, $tdeb);
/**
*
* @param unknown $table
* @param unknown $where
* @param string $debug
* @param string $low_priority
* @return resource
*/
public function delete($table, $where, $debug=false, $low_priority=false)
{
if ($low_priority)
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
else
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
if ($debug) $tdeb=microtime_float();
try {
$stmt = $this->db->query($query);
$res = $this->db->lastInsertId();
if ( $res == 0 ) {
$res = true;
}
} catch(Zend_Db_Exception $e) {
$this->errorCode = $e->getCode();
$this->errorMsg = $e->getMessage();
$res = false;
}
if ($debug) $this->trace($query, $res, $tdeb);
return $res;
}
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false) {
$this->setDB();
if (mysql_select_db($this->database, $this->con_id) === false) {
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
/**
*
* @param unknown $table
* @param unknown $fields
* @param unknown $where
* @param string $debug
* @param string $assoc
* @param string $huge
* @return boolean|multitype:multitype: |number
*/
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false)
{
$query="SELECT $fields FROM $table WHERE $where;";
if ($debug) $tdeb=microtime_float();
$this->result=mysql_query($query, $this->con_id);// or die(mysql_error());
if (mysql_errno()) {
$fpErr=fopen(LOG_PATH.'/sqlerror.log','a');
fwrite($fpErr, date('YmdHis'). ' - '.$query .EOL);
fwrite($fpErr, date('YmdHis'). ' - '.mysql_errno() .' - '. mysql_error().EOL);
return false;
}
// echo ;
if (!$huge) {
$tab=array();
while ($ligne = mysql_fetch_array($this->result, $assoc))
$tab[]=$ligne;
if ($debug) $this->trace($query, sizeof($tab), $tdeb);
return $tab;
try {
$stmt = $this->db->query($query);
} catch(Zend_Db_Exception $e) {
$this->errorCode = $e->getCode();
$this->errorMsg = $e->getMessage();
$fpErr = fopen(LOG_PATH.'/sqlerror.log','a');
fwrite($fpErr, date('YmdHis'). ' - '.$query .EOL);
fwrite($fpErr, date('YmdHis'). ' - '.$e->getCode().' - '. $e->getMessage().PHP_EOL);
return false;
}
if ( !$huge ) {
switch($assoc) {
case MYSQL_NUM:
$mode = Zend_Db::FETCH_NUM;
break;
case MYSQL_ASSOC:
$mode = Zend_Db::FETCH_ASSOC;
break;
case MYSQL_BOTH:
$mode = Zend_Db::FETCH_BOTH;
break;
}
$tab = $stmt->fetchAll($mode);
if ($debug) $this->trace($query, sizeof($tab), $tdeb);
return $tab;
} else {
$nbRows=mysql_num_rows($this->result);
if ($debug) $this->trace($query, $nbRows, $tdeb);
return $nbRows;
$nbRows = $stmt->rowCount();
if ($debug) $this->trace($query, $nbRows, $tdeb);
return $nbRows;
}
}
public function fetch($assoc=MYSQL_BOTH) {
return mysql_fetch_array($this->result, $assoc);
/**
*
* @param string $assoc
* @return multitype:
*/
public function fetch($assoc=MYSQL_BOTH)
{
switch($assoc) {
case MYSQL_NUM:
$mode = Zend_Db::FETCH_NUM;
break;
case MYSQL_ASSOC:
$mode = Zend_Db::FETCH_ASSOC;
break;
case MYSQL_BOTH:
$mode = Zend_Db::FETCH_BOTH;
break;
}
return $this->result->fetch($mode);
}
public function trace($query, $res='', $tdeb=-1) {
if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
return false;
$errnum=mysql_errno($this->con_id);
if ($tdeb>-1) $duree=substr(''.microtime_float()-$tdeb, 0, 5);
else $duree='N/D';
if (!fwrite($fp, date('Y/m/d - H:i:s') ." - $errnum - $res - $duree - $query\n"))
return false;
if (!fclose($fp))
return false;
return true;
/**
*
* @param unknown $query
* @param string $res
* @param unknown $tdeb
* @return boolean
*/
public function trace($query, $res='', $tdeb=-1)
{
if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
return false;
$errnum=mysql_errno($this->con_id);
if ($tdeb>-1) $duree=substr(''.microtime_float()-$tdeb, 0, 5);
else $duree='N/D';
if (!fwrite($fp, date('Y/m/d - H:i:s') ." - $errnum - $res - $duree - $query\n"))
return false;
if (!fclose($fp))
return false;
return true;
}
/** Exécute la requête passé en paramètre **/
public function query($query, $debug=false){
$this->setDB();
$this->result=mysql_query($query, $this->con_id);
/**
* Exécute la requête passé en paramètre
*/
public function query($query, $debug=false)
{
try {
$stmt = $this->db->query($query);
$this->result = $stmt;
} catch(Zend_Db_Exception $e) {
$this->errorCode = $e->getCode();
$this->errorMsg = $e->getMessage();
return false;
}
return $this->result;
}
/** Retourne le nombre de records de la dernière requête de sélection **
public function getNumRows() {
return mysql_num_rows($this->con_id);
}
*/
/** Retourne le libellé de la dernière erreur **/
public function getLastErrorMsg() {
return mysql_error($this->con_id);
public function getLastErrorMsg()
{
return $this->errorMsg;
}
/** Retourne le numéro de la dernière erreur **/
public function getLastErrorNum() {
return mysql_errno($this->con_id);
/**
* Retourne le numéro de la dernière erreur
*/
public function getLastErrorNum()
{
return $this->errorCode;
}
/** Retourne le libellé et le numéro de la dernière erreur **/
public function getLastError() {
return mysql_error($this->con_id).' ('.mysql_errno($this->con_id).')';
public function getLastError()
{
return $this->errorMsg.' ('.$this->errorCode.')';
}
/** Retourne le nombre de lignes modifiées par la dernière requête **/
public function getAffectedRows() {
return mysql_affected_rows($this->con_id);
public function getAffectedRows()
{
return $this->result->rowCount();
}
/** Génère le fichier CSV pour la requete SQL
**
** @param string $query
** @param string $fileCsv
** @return bool
/**
* Génère le fichier CSV pour la requete SQL
*
* @param string $query
* @param string $fileCsv
* @return bool
*/
public function exportCSV($query, $fileCsv, $sep=',', $eol=EOL) {
$i=$c=0;
public function exportCSV($query, $fileCsv, $sep=',', $eol=EOL) {
$i = 0;
$fp = fopen($fileCsv, 'w');
if (!$fp) return false;
$res=$this->query($query);
$nbLignes=mysql_num_rows($res);
$res = $this->query($query);
$nbLignes = mysql_num_rows($res);
while ($ligne=$this->fetch(MYSQL_ASSOC)) {
if ($i==0) {
$nbCols=count($ligne);
//Header
if ($i==0) {
$nbCols = count($ligne);
$fields = array();
$header = array();
foreach ($ligne as $libCol=>$col) {
$c++;
if ($c<$nbCols) fwrite($fp, str_replace($sep,' ', $libCol).$sep);
else fwrite($fp, str_replace($sep,' ', $libCol));
$header[] = $libCol;
$fields[] = $col;
}
fwrite($fp, $eol);
fputcsv($fp, $header, $sep, '"');
fputcsv($fp, $fields, $sep, '"');
}
$c=0;
foreach ($ligne as $libCol=>$col) {
$c++;
if ($c<$nbCols) fwrite($fp, str_replace($sep,' ', $col).$sep);
else fwrite($fp, str_replace($sep,' ', $col));
//Content
else {
$fields = array();
foreach ($ligne as $libCol=>$col) {
$fields[] = $col;
}
fputcsv($fp, $fields, $sep, '"');
}
fwrite($fp, $eol);
$i++;
}
fclose($fp);
return $nbLignes;//$this->getAffectedRows();
}
return $nbLignes;
}
}
?>