Refactor mysql class with Zend_Db
This commit is contained in:
parent
3e79aee219
commit
12c42d41a0
@ -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 n° 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 n° 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,10 +1621,10 @@ 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 ';
|
||||
@ -1679,6 +1693,7 @@ class MInsee
|
||||
}
|
||||
}
|
||||
|
||||
if ( count($listeEtab)>0 ) {
|
||||
foreach ($listeEtab as $etab) {
|
||||
$tel=sprintf('%010d', strtr($etab['tel'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
|
||||
if ($tel<>'0000000000') $tel=implode('.', str_split($tel,2));
|
||||
@ -1695,11 +1710,12 @@ class MInsee
|
||||
$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'],
|
||||
@ -1730,6 +1746,7 @@ class MInsee
|
||||
'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,7 +1924,8 @@ class MInsee
|
||||
// Cas des noms vides à l'INSEE (une centaine)
|
||||
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
|
||||
|
||||
$tabRet=array( 'id'=>$etab['id'],
|
||||
$tabRet = array(
|
||||
'id'=>$etab['id'],
|
||||
'Siret'=>$etab['siret'],
|
||||
'Siege'=>$etab['siege'],
|
||||
'Nom'=>$nom,
|
||||
@ -1951,12 +1974,14 @@ class MInsee
|
||||
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);
|
||||
$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);
|
||||
if ( count($insee)>0 ) {
|
||||
$siretSiege = $insee[0]['siret'];
|
||||
}
|
||||
|
||||
$timer['infosEntrep']=microtime(true);
|
||||
|
||||
}
|
||||
|
||||
if ($nic>0) $strNic="AND NIC=$nic";
|
||||
@ -2238,9 +2274,15 @@ class MInsee
|
||||
}
|
||||
|
||||
$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);
|
||||
$moisNonDiff=@$tabTmp[0]['mois'];
|
||||
if ( count($inseeND)>0 ) {
|
||||
$moisNonDiff = $tabTmp[0]['mois'];
|
||||
}
|
||||
$timer['tableIdentite']=microtime(true);
|
||||
|
||||
} else {
|
||||
@ -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,7 +2588,8 @@ class MInsee
|
||||
}
|
||||
}
|
||||
|
||||
$tabRet=array( 'id'=>$etab['id'],
|
||||
$tabRet = array(
|
||||
'id'=>$etab['id'],
|
||||
'Siret'=>$etab['siret'],
|
||||
'SiretSiege'=>$siretSiege,
|
||||
'AncienSiege'=>$ancienSiege,
|
||||
@ -2672,7 +2716,8 @@ class MInsee
|
||||
}
|
||||
|
||||
/** Si tourisme, recherche du classeement **/
|
||||
$tabNafTourisme=array( '5510Z', // Hôtels et hébergement similaire
|
||||
$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
|
||||
@ -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'],
|
||||
|
@ -1,52 +1,74 @@
|
||||
<?php
|
||||
class WDB
|
||||
{
|
||||
/**
|
||||
* @var Zend_Db_Adapter_Abstract
|
||||
*/
|
||||
protected $db = null;
|
||||
|
||||
class WDB {
|
||||
/**
|
||||
*
|
||||
* @var unknown
|
||||
*/
|
||||
protected $result = null;
|
||||
|
||||
private $host;
|
||||
private $database;
|
||||
private $user;
|
||||
private $password;
|
||||
private $con_id; // Connection ID with MySQL
|
||||
private $result;
|
||||
protected $errorCode;
|
||||
|
||||
public function __construct($database='', $host='', $user='', $password='') {
|
||||
protected $errorMsg;
|
||||
|
||||
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;
|
||||
|
||||
$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);
|
||||
public function __construct( $database = null, $host = null, $user = null, $password = null )
|
||||
{
|
||||
if ( $database === null ) {
|
||||
$database = 'jo';
|
||||
}
|
||||
|
||||
public function setCharSet($charSet) {
|
||||
return (mysql_query("SET CHARACTER SET $charSet;", $this->con_id));
|
||||
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",
|
||||
),
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
private function setDB() {
|
||||
return (mysql_query("USE $this->database;", $this->con_id));
|
||||
try {
|
||||
$this->db = Zend_Db::factory($config);
|
||||
} catch ( Exception $e ) {
|
||||
file_put_contents('debug.log', $e->getMessage()."\n", FILE_APPEND);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
/** 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();
|
||||
/**
|
||||
* 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);
|
||||
@ -59,22 +81,35 @@ public function insert($table, $toAdd, $debug=false, $low_priority=false){
|
||||
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
|
||||
|
||||
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;
|
||||
@ -90,60 +125,139 @@ 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);
|
||||
|
||||
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();
|
||||
/**
|
||||
*
|
||||
* @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();
|
||||
$res=mysql_query($query, $this->con_id);
|
||||
|
||||
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()) {
|
||||
|
||||
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'). ' - '.mysql_errno() .' - '. mysql_error().EOL);
|
||||
fwrite($fpErr, date('YmdHis'). ' - '.$e->getCode().' - '. $e->getMessage().PHP_EOL);
|
||||
|
||||
return false;
|
||||
}
|
||||
// echo ;
|
||||
if (!$huge) {
|
||||
$tab=array();
|
||||
while ($ligne = mysql_fetch_array($this->result, $assoc))
|
||||
$tab[]=$ligne;
|
||||
|
||||
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);
|
||||
$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) {
|
||||
/**
|
||||
*
|
||||
* @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);
|
||||
@ -156,73 +270,88 @@ public function delete($table, $where, $debug=false, $low_priority=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;
|
||||
$i = 0;
|
||||
$fp = fopen($fileCsv, 'w');
|
||||
if (!$fp) return false;
|
||||
|
||||
$res = $this->query($query);
|
||||
$nbLignes = mysql_num_rows($res);
|
||||
|
||||
while ($ligne=$this->fetch(MYSQL_ASSOC)) {
|
||||
//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;
|
||||
//Content
|
||||
else {
|
||||
$fields = array();
|
||||
foreach ($ligne as $libCol=>$col) {
|
||||
$c++;
|
||||
if ($c<$nbCols) fwrite($fp, str_replace($sep,' ', $col).$sep);
|
||||
else fwrite($fp, str_replace($sep,' ', $col));
|
||||
$fields[] = $col;
|
||||
}
|
||||
fputcsv($fp, $fields, $sep, '"');
|
||||
}
|
||||
fwrite($fp, $eol);
|
||||
$i++;
|
||||
}
|
||||
fclose($fp);
|
||||
return $nbLignes;//$this->getAffectedRows();
|
||||
return $nbLignes;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user