Integrate changes from webservice

This commit is contained in:
Michael RICOIS 2014-06-02 12:12:51 +00:00
parent 3c0e395371
commit 88cd0db88e
10 changed files with 486 additions and 429 deletions

View File

@ -1,7 +1,8 @@
<?
class MBalo {
function getLibEven($strEven) {
<?php
class MBalo
{
public function getLibEven($strEven)
{
$even=9015;
$strEven=trim($strEven);
if (preg_match("/AUTRES OP.RATIONS . Décisions prises par des assemblées d'obligataires et homologation de résolutions/iu", $strEven)) $even=9001;
@ -42,9 +43,10 @@ class MBalo {
}
class MBoamp {
function getCodEvenSd($codEvenBoamp, $strEvenBoamp='') {
class MBoamp
{
public function getCodEvenSd($codEvenBoamp, $strEvenBoamp='')
{
$codEvenBoamp=str_replace('R','',$codEvenBoamp)*1;
switch ($codEvenBoamp) {
case 10: $libEvenSd='Annulation'; break;
@ -76,7 +78,8 @@ class MBoamp {
return substr('95'.$codEvenBoamp.'00',0,4)*1;
}
function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='') {
public function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='')
{
return $this->getCodEvenSd($codEvenBoamp, $strEvenBoamp);
}

View File

@ -1,132 +1,4 @@
<?php
global $tabNaturesJugements;
$tabNaturesEvenements = array(
md5("Jugement modifiant le plan de cession")=>1408,
md5("Jugement d'ouverture d'une procédure de redressement judiciaire")=>'1200',
md5("Jugement d'ouverture de liquidation judiciaire")=>'1301',
md5("Jugement de clôture pour insuffisance d'actif")=>1503,
md5("Jugement de clôture de la liquidation des biens pour insuffisance d'actif")=>1503,
md5("Dépôt de l'état des créances")=>1204,
md5("Dépôt de l'état des créances Loi de 1985")=>1214,
md5("Jugement de plan de redressement")=>1414,
md5("Jugement de clôture pour extinction du passif")=>1502,
md5("Jugement arrêtant le plan de sauvegarde")=>1101,
md5("Liste des créances nées après le jugement d'ouverture d'une procédure de liquidation judiciaire")=>1206,
md5("Jugement de conversion en liquidation judiciaire")=>1300,
md5("Jugement arrêtant un plan de cession")=>1411,
md5("Jugement prononçant la résolution du plan de cession et la liquidation judiciaire")=>'1305;1511',
md5("Liste des créances nées après le jugement d'ouverture d'une procédure de redressement judiciaire")=>1206,
md5("Dépôt de l'état de collocation")=>1203,
md5("Jugement prononçant la résolution du plan de redressement et la liquidation judiciaire")=>'1305;1512',
md5("Jugement prononçant la résolution du plan de sauvegarde et la liquidation judiciaire")=>'1305;1513',
md5("Jugement de faillite personnelle")=>1600,
md5("Jugement de faillite personnelle Loi de 1985")=>1610,
md5("Jugement d'interdiction de gérer")=>1601,
md5("Jugement d'interdiction de gérer Loi de 1985")=>1611,
md5("Arrêt de la cour d'appel infirmant une décision soumise à publicité")=>1506,
md5("Jugement d'ouverture d'une procédure de sauvegarde")=>1100,
md5("Jugement de reprise de la procédure de liquidation judiciaire")=>1304,
md5("Jugement modifiant le plan de continuation")=>1409,
md5("Dépôt du projet de répartition")=>1208,
md5("Dépôt de l'état des créances et du projet de répartition")=>'1204;1208',
md5("Jugement d'homologation de l'accord")=>1550,
md5("Jugement prononçant la résolution du plan de cession")=>1511,
md5("Jugement de conversion en redressement judiciaire de la procédure de sauvegarde")=>1201,
md5("Jugement de conversion en liquidation judiciaire de la procédure de sauvegarde")=>1307,
md5("Jugement modifiant la date de cessation des paiements")=>1450,
md5("Jugement de clôture de la liquidation des biens pour extinction du passif")=>1502,
md5("Jugement modifiant le plan de redressement")=>1407,
md5("Jugement mettant fin à la procédure de redressement judiciaire")=>1500,
md5("Jugement accordant un délai pour déposer la liste des créances")=>1440,
md5("Jugement modifiant le plan de sauvegarde")=>1407,
md5("Jugement de clôture pour insuffisance d'actif et autorisant la reprise des poursuites individuelles")=>'1503;1605',
md5("Ordonnance statuant sur les contestations du projet de répartition")=>1540,
md5("Jugement de clôture de la procédure de sauvegarde")=>1500,
md5("Jugement mettant fin à la procédure de sauvegarde")=>1500,
md5("Jugement d'extension de liquidation judiciaire")=>1417,
md5("Jugement d'extension d'une procédure de redressement judiciaire")=>1418,
md5("Jugement d'extension d'une procédure de sauvegarde")=>1419,
md5("Rétractation de prononcé de liquidation judiciaire sur tierce opposition")=>1541,
md5("Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition")=>1542,
md5("Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition")=>1543,
md5("Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition")=>1544,
md5("Jugement de désignation des organes de la procédure")=>1215, // v1.5 Avril 2008
md5("Rétractation de jugement d'ouverture sur tierce opposition")=>1545,
md5("Autre rétractation sur tierce opposition")=>1546,
md5("Autre jugement de liquidation des biens")=>1603,
md5("Autre arrêt de la Cour d'Appel")=>1507,
md5("Autre jugement de clôture")=>1500,
md5("Autres avis de dépôt")=>1216,
md5("Arrêts divers")=>1515,
md5("Autre jugement d'ouverture")=>1998,
md5("Autres jugements et ordonnances")=>1998,
md5("Autre jugement prononçant")=>1998,
/**
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Ventes / Cessions
**/
md5("Achat d'un fonds par une personne morale (insertion provisoire)")=>5103,
md5("Achat d'un foncs par une personne morale (insertion provisoire)")=>5103,
md5("Achat d'un fonds par une personne morale.")=>5103, // Ajout le 23/12/2010
md5("Achat d'un établissement principal par une personne physique (immatriculation)")=>5000,
md5("Achat d'un établissement principal par une personne morale lors de l'immatriculation")=>5000,
md5("Autre achat, apport, attribution")=>5900,
md5("Autre achat, appport, attribution")=>5900,
md5("Autre achat, apport, attribution (personne physique)")=>5900,
md5("Autre achat, apport, attribution (personne physque)")=>5900,
md5("Autre achat, apport, atribution (personne morale)")=>5900,
md5("Autre achat, apport, attribution (personne morale)")=>5900,
md5("achat, apport, attribution (personne morale)")=>5900,
md5("Achat d'un fonds par une personne physique (insertion provisoire)")=>5103,
md5("Achat d'un établissement secondaire ou complémentaire par une personne morale")=>5001,
md5("Apport d'un établissement secondaire/complémentaire (personne morale, uniquement)")=>5001,
md5("Achat d'un établissement complémentaire par une personne morale")=>5001,
md5("Achat d'un établissement secondaire ou complémentaire par une personne physique")=>5001,
md5("Mise en activité d'une société suite à achat")=>'2316;5999',
md5("Mise en activité d'une soicété suite à achat")=>'2316;5999',
md5("Achat d'un fonds par le locataire-gérant personne morale")=>5450,
md5("Achat d'un fonds par le locataire-gérant personne physique")=>5450,
md5("Apport d'un établissement principal (immatriculation d'une personne morale, uniquement)")=>5000,
md5("Apport d'un établissement principal (immatriculation d'une personne morale uniquement)")=>5000,
md5("Attribution d'un fonds suite à partage, à licitation (Immatriculation d'une personne physique)")=>5460,
md5("Attribution d'un fonds suite à donation avec délai d'oppositions (Immatriculation d'une personne physique)")=>5460,
md5("Annulation d'avis Vente")=>5999,
md5("Annulation d'avis vente")=>5999,
md5("fonds acquis par achat au prix stipulé de 155 000 euros.")=>5900,
/**
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Créations / Immatriculations
**/
md5("Immatriculation d'une personne physique suite à création d'un établissement principal")=>4000,
md5("Immatriculation d'une personne morale (B, D) sans activité")=>4050,
md5("Immatriculation d'une personne morale (B, C, D) suite à création d'un établissement principal")=>4000,
md5("Immatriculation d'une personne morale (B, C, D suite à création d'un établissement principal)")=>4000,
md5("Immatriculation d'une personne physique suite à transfert de l'établissement principal")=>4250,
md5("Immatriculation d'une personne morale après 1er avis")=>4000,//???????
md5("Immatriculation d'une personne morale suite à transfert de son siège social")=>4250,
md5("Immatriculation d'une personne physique, reprise d'activité après location-gérance")=>4350,
md5("Immatriculation d'une personne morale, établissement principal reçu en location-gérance")=>4355,
md5("Immatriculation d'une personne physique après 1er avis")=>4000,
md5("Immatriculation d'une personne physique, établissement principal reçu en location-gérance")=>4355,
md5("Immatriculation d'une personne physique, établissement principal précédemment exploité par le conjoint")=>4450,
md5("Immatriculation d'une personne physique, établissement précédemment exploité par le conjoint")=>4450,
md5("Transformation d'un GAEC")=>4400,
md5("Autre immatriculation personne morale")=>4000,
md5("Autre immatriculation personne physique")=>4000,
md5("Immatriculation d'une société de droit européen (quelle que soit l'origine du fonds)")=>4600,
md5("Immatriculation avec origine du fonds création")=>4000,
md5("Immatriculation avec orgine du fonds création")=>4000,
md5("Immatriculation avec origine de fonds achat")=>4501,
md5("Immatriculation avec origine du fonds achat")=>4501,
md5("Immatriculation d'une personne physique, établissement principal hérité, reçu par donation")=>4410,
);
$tabTypeAsso=array(
'_1' =>array('even'=>8000,'type'=>'Insertion', 'forme'=>'ASS','lib'=>'ASSOCIATION/CREATION'),
'_2' =>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASS','lib'=>'ASSOCIATION/MODIFICATION'),
@ -187,6 +59,135 @@ $tabTypeAsso=array(
class MBodacc
{
/**
*
*/
protected $tabNaturesEvenements = array(
"Jugement modifiant le plan de cession" => 1408,
"Jugement d'ouverture d'une procédure de redressement judiciaire" => '1200',
"Jugement d'ouverture de liquidation judiciaire" => '1301',
"Jugement de clôture pour insuffisance d'actif" => 1503,
"Jugement de clôture de la liquidation des biens pour insuffisance d'actif" => 1503,
"Dépôt de l'état des créances" => 1204,
"Dépôt de l'état des créances Loi de 1985" => 1214,
"Jugement de plan de redressement" => 1414,
"Jugement de clôture pour extinction du passif" => 1502,
"Jugement arrêtant le plan de sauvegarde" => 1101,
"Liste des créances nées après le jugement d'ouverture d'une procédure de liquidation judiciaire" => 1206,
"Jugement de conversion en liquidation judiciaire" => 1300,
"Jugement arrêtant un plan de cession" => 1411,
"Jugement prononçant la résolution du plan de cession et la liquidation judiciaire" => '1305;1511',
"Liste des créances nées après le jugement d'ouverture d'une procédure de redressement judiciaire" => 1206,
"Dépôt de l'état de collocation" => 1203,
"Jugement prononçant la résolution du plan de redressement et la liquidation judiciaire" => '1305;1512',
"Jugement prononçant la résolution du plan de sauvegarde et la liquidation judiciaire" => '1305;1513',
"Jugement de faillite personnelle" => 1600,
"Jugement de faillite personnelle Loi de 1985" => 1610,
"Jugement d'interdiction de gérer" => 1601,
"Jugement d'interdiction de gérer Loi de 1985" => 1611,
"Arrêt de la cour d'appel infirmant une décision soumise à publicité" => 1506,
"Jugement d'ouverture d'une procédure de sauvegarde" => 1100,
"Jugement de reprise de la procédure de liquidation judiciaire" => 1304,
"Jugement modifiant le plan de continuation" => 1409,
"Dépôt du projet de répartition" => 1208,
"Dépôt de l'état des créances et du projet de répartition" => '1204;1208',
"Jugement d'homologation de l'accord" => 1550,
"Jugement prononçant la résolution du plan de cession" => 1511,
"Jugement de conversion en redressement judiciaire de la procédure de sauvegarde" => 1201,
"Jugement de conversion en liquidation judiciaire de la procédure de sauvegarde" => 1307,
"Jugement modifiant la date de cessation des paiements" => 1450,
"Jugement de clôture de la liquidation des biens pour extinction du passif" => 1502,
"Jugement modifiant le plan de redressement" => 1407,
"Jugement mettant fin à la procédure de redressement judiciaire" => 1500,
"Jugement accordant un délai pour déposer la liste des créances" => 1440,
"Jugement modifiant le plan de sauvegarde" => 1407,
"Jugement de clôture pour insuffisance d'actif et autorisant la reprise des poursuites individuelles" => '1503;1605',
"Ordonnance statuant sur les contestations du projet de répartition" => 1540,
"Jugement de clôture de la procédure de sauvegarde" => 1500,
"Jugement mettant fin à la procédure de sauvegarde" => 1500,
"Jugement d'extension de liquidation judiciaire" => 1417,
"Jugement d'extension d'une procédure de redressement judiciaire" => 1418,
"Jugement d'extension d'une procédure de sauvegarde" => 1419,
"Rétractation de prononcé de liquidation judiciaire sur tierce opposition" => 1541,
"Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition" => 1542,
"Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition" => 1543,
"Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition" => 1544,
"Jugement de désignation des organes de la procédure" => 1215, // v1.5 Avril 2008
"Rétractation de jugement d'ouverture sur tierce opposition" => 1545,
"Autre rétractation sur tierce opposition" => 1546,
"Autre jugement de liquidation des biens" => 1603,
"Autre arrêt de la Cour d'Appel" => 1507,
"Autre jugement de clôture" => 1500,
"Autres avis de dépôt" => 1216,
"Arrêts divers" => 1515,
"Autre jugement d'ouverture" => 1998,
"Autres jugements et ordonnances" => 1998,
"Autre jugement prononçant" => 1998,
/**
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Ventes / Cessions
**/
"Achat d'un fonds par une personne morale (insertion provisoire)" => 5103,
"Achat d'un foncs par une personne morale (insertion provisoire)" => 5103,
"Achat d'un fonds par une personne morale." => 5103, // Ajout le 23/12/2010
"Achat d'un établissement principal par une personne physique (immatriculation)" => 5000,
"Achat d'un établissement principal par une personne morale lors de l'immatriculation" => 5000,
"Autre achat, apport, attribution" => 5900,
"Autre achat, appport, attribution" => 5900,
"Autre achat, apport, attribution (personne physique)" => 5900,
"Autre achat, apport, attribution (personne physque)" => 5900,
"Autre achat, apport, atribution (personne morale)" => 5900,
"Autre achat, apport, attribution (personne morale)" => 5900,
"achat, apport, attribution (personne morale)" => 5900,
"Achat d'un fonds par une personne physique (insertion provisoire)" => 5103,
"Achat d'un établissement secondaire ou complémentaire par une personne morale" => 5001,
"Apport d'un établissement secondaire/complémentaire (personne morale, uniquement)" => 5001,
"Achat d'un établissement complémentaire par une personne morale" => 5001,
"Achat d'un établissement secondaire ou complémentaire par une personne physique" => 5001,
"Mise en activité d'une société suite à achat" => '2316;5999',
"Mise en activité d'une soicété suite à achat" => '2316;5999',
"Achat d'un fonds par le locataire-gérant personne morale" => 5450,
"Achat d'un fonds par le locataire-gérant personne physique" => 5450,
"Apport d'un établissement principal (immatriculation d'une personne morale, uniquement)" => 5000,
"Apport d'un établissement principal (immatriculation d'une personne morale uniquement)" => 5000,
"Attribution d'un fonds suite à partage, à licitation (Immatriculation d'une personne physique)" => 5460,
"Attribution d'un fonds suite à donation avec délai d'oppositions (Immatriculation d'une personne physique)" => 5460,
"Annulation d'avis Vente" => 5999,
"Annulation d'avis vente" => 5999,
"fonds acquis par achat au prix stipulé de 155 000 euros." => 5900,
/**
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Créations / Immatriculations
**/
"Immatriculation d'une personne physique suite à création d'un établissement principal" => 4000,
"Immatriculation d'une personne morale (B, D) sans activité" => 4050,
"Immatriculation d'une personne morale (B, C, D) suite à création d'un établissement principal" => 4000,
"Immatriculation d'une personne morale (B, C, D suite à création d'un établissement principal)" => 4000,
"Immatriculation d'une personne physique suite à transfert de l'établissement principal" => 4250,
"Immatriculation d'une personne morale après 1er avis" => 4000,//???????
"Immatriculation d'une personne morale suite à transfert de son siège social" => 4250,
"Immatriculation d'une personne physique, reprise d'activité après location-gérance" => 4350,
"Immatriculation d'une personne morale, établissement principal reçu en location-gérance" => 4355,
"Immatriculation d'une personne physique après 1er avis" => 4000,
"Immatriculation d'une personne physique, établissement principal reçu en location-gérance" => 4355,
"Immatriculation d'une personne physique, établissement principal précédemment exploité par le conjoint" => 4450,
"Immatriculation d'une personne physique, établissement précédemment exploité par le conjoint" => 4450,
"Transformation d'un GAEC" => 4400,
"Autre immatriculation personne morale" => 4000,
"Autre immatriculation personne physique" => 4000,
"Immatriculation d'une société de droit européen (quelle que soit l'origine du fonds)" => 4600,
"Immatriculation avec origine du fonds création" => 4000,
"Immatriculation avec orgine du fonds création" => 4000,
"Immatriculation avec origine de fonds achat" => 4501,
"Immatriculation avec origine du fonds achat" => 4501,
"Immatriculation d'une personne physique, établissement principal hérité, reçu par donation" => 4410,
);
private static $tabAccents = array(
'[A'=>'Á', //5B41
'^A'=>'Â', //5E41
@ -958,19 +959,23 @@ class MBodacc
return $this->tabRubriques[$codeRubriqueBodacc];
}
/** Retourne le code évènement de l'annonce en provenance du Bodacc XML
**
** @param string $libJugementXML Libellé de la rubrique au Bodacc XML
** @return string
**/
public function getCodeNatureEvenement($libEvenXML) {
global $tabNaturesEvenements;
$codeEven=@$tabNaturesEvenements[md5($libEvenXML)]*1;
if ($codeEven>0) return $codeEven;
else return 0;
/**
* Retourne le code évènement de l'annonce en provenance du Bodacc XML
* @param string $libJugementXML Libellé de la rubrique au Bodacc XML
* @return string
*/
public function getCodeNatureEvenement($libEvenXML)
{
foreach ( $this->tabNaturesEvenements as $code => $label ) {
if ( md5($label) == md5($libEvenXML) ) {
return intval($code);
}
}
return 0;
}
public function getDirigeants($strAdministration) {
public function getDirigeants($strAdministration)
{
$tabRet=array();
$strFonctions=$this->regExFonction;
$tabNoms=array();

View File

@ -631,7 +631,7 @@ class MInsee
/**
*
*/
public function __construct($db = null)
public function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
@ -2319,7 +2319,7 @@ class MInsee
}
/** Géocodage de l'adresse **/
$mMap=new MMap($accesDist);//$etab['adr_num'].' '.$this->getCodeVoie($etab['adr_typeVoie']).' '.$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville']);
$mMap = new MMap($accesDist, $this->iDb);
$mMap->geoCodeAdresse($etab['adr_num'],'',$etab['adr_typeVoie'],$this->getCodeVoie($etab['adr_typeVoie']), $etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], 'France', trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']));
$tab['latitude']=$mMap->latitudeDec;
$tab['longitude']=$mMap->longitudeDec;
@ -2337,8 +2337,8 @@ class MInsee
$tdeb=microtime(1);
}
$iAmabis=new MAmabis();
$repAmabis=$iAmabis->getZonage($etab['adr_num'],$etab['adr_btq'],$etab['adr_typeVoie'],$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']), false, 'TEST', false);
$iAmabis = new MAmabis();
$repAmabis = $iAmabis->getZonage($etab['adr_num'],$etab['adr_btq'],$etab['adr_typeVoie'],$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']), false, 'TEST', false);
$duree=round(microtime(1)-$tdeb,3);
if($this->debugtime) {
@ -2362,9 +2362,9 @@ class MInsee
$tdeb=microtime(1);
}
$iTva=new MTva($siren, $accesDist);
$vatNumber=$iTva->vatNumber;
$vatDefined=$iTva->vatDefined;
$iTva = new MTva($siren, $accesDist);
$vatNumber = $iTva->vatNumber;
$vatDefined = $iTva->vatDefined;
if($this->debugtime) {
$duree=round(microtime(1)-$tdeb,3);
@ -2399,7 +2399,7 @@ class MInsee
$tdeb=microtime(1);
}
$iTel = new MTel(false);
$iTel = new MTel(false, $this->iDb);
$tmp = $iTel->getTel($siren, $nic, true, 1);
if($this->debugtime) {
@ -2778,7 +2778,7 @@ class MInsee
/** Date de début d'activité de l'entreprise si absente INSEE **/
if ($siren>100 && $tabRet['DateCreaEn']==0) {
$insee=$this->iDb->select('insee.identite', 'DCREN', "SIREN=$siren AND DCREN>0 ORDER BY DCREN ASC LIMIT 0,1",false,MYSQL_ASSOC);
$insee=$this->iDb->select('insee.identite', 'DCREN', "SIREN=$siren AND DCREN>0 ORDER BY DCREN ASC LIMIT 0,1",false,MYSQL_ASSOC);
if (count($insee)>0)
$tabRet['DateCreaEn']=$insee[0]['DCREN'];
else {
@ -2802,19 +2802,21 @@ class MInsee
$tabRet['AdresseRue'],
$tabRet['Adresse2'],
$tabRet['CP'], $tabRet['Ville']);
if (is_array($tabDom) && count($tabDom)>0)
foreach($tabDom as $i=>$dom) {
$tabRet['AdresseDom']=1;
$tabRet['AdresseDomNb']=$dom['nbEntrep'];
$domiciliataire='';
if (preg_match('/^CHEZ (.*)$/i',$tabRet['Adresse2'], $matches) &&
!preg_match('/ M | M. | MR | MME | MLLE /i',$tabRet['Adresse2'])) {
$domiciliataire=$matches[1];
$tabRet['AdresseDom']=2;
}
$tabRet['AdresseDomEnt'][]=array('siren'=>$dom['siren'],
'nom'=>prepareString($dom['nom']),
);
if (is_array($tabDom) && count($tabDom)>0) {
foreach($tabDom as $i=>$dom) {
$tabRet['AdresseDom']=1;
$tabRet['AdresseDomNb']=$dom['nbEntrep'];
$domiciliataire='';
if (preg_match('/^CHEZ (.*)$/i',$tabRet['Adresse2'], $matches)
&& !preg_match('/ M | M. | MR | MME | MLLE /i',$tabRet['Adresse2'])) {
$domiciliataire=$matches[1];
$tabRet['AdresseDom']=2;
}
$tabRet['AdresseDomEnt'][] = array(
'siren'=>$dom['siren'],
'nom'=>prepareString($dom['nom']),
);
}
}
$timer['adresseDom']=microtime(true);
@ -3384,7 +3386,7 @@ class MInsee
)
) {
if($this->debugtime) {
if ( $this->debugtime ) {
$ligne=date('YmdHis').";$siren;MGreffes Avant";
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
fwrite($fp,$ligne.EOL);
@ -3392,9 +3394,9 @@ class MInsee
$tdeb=microtime(1);
}
$iGeffes=new MGreffes();
$iRncs=new MRncs();
$etabG=$iGeffes->getIdentite($siren);
$iGeffes = new MGreffes($this->iDb);
$iRncs = new MRncs();
$etabG = $iGeffes->getIdentite($siren);
if($this->debugtime) {
$duree=round(microtime(1)-$tdeb,3);
@ -3419,11 +3421,12 @@ class MInsee
$timer['infosInfogreffes']=microtime(true);
}
/** Si il n'y a aucun établissement actif et qu'on est radié au RCS :
** on part chercher la dernière annonce de Radiation au Bodacc
**/
/**
* Si il n'y a aucun établissement actif et qu'on est radié au RCS :
* on part chercher la dernière annonce de Radiation au Bodacc
*/
if (($nbEtab*1)==0 || (isset($entrep['numGreffe']) && $entrep['actif']==0 && $entrep['dateRadNum']==0)) {
$tabRad=$this->getAnnoncesLegales($siren, 0, 'R');
$tabRad = $this->getAnnoncesLegales($siren, 0, 'R');
//@file_put_contents('/var/www/html/ws2/inseeDebug.log', print_r($tabRad, true));
if (count($tabRad)>0) {
// Il y a au moins une annonce de radiation au Bodacc
@ -3443,11 +3446,12 @@ class MInsee
$timer['infosRadiation']=microtime(true);
}
/** Eléments Financiers en provenance du dernier Bilan
**/
/**
* Eléments Financiers en provenance du dernier Bilan
*/
$rep=$this->iDb->select('bilans', 'siren, dateExercice, dureeExercice, monnaie, typeBilan, unite, postes, dateProvPartenaire, dateInsert', "siren=$siren AND typeBilan IN ('N','S') ORDER BY dateExercice DESC LIMIT 0,1", true, MYSQL_ASSOC);
$entrep=$rep[0];
if (isset($entrep['dateExercice'])) {
if ( count($rep)>0 ) {
$entrep=$rep[0];
$tabRet['bilanAnnee'] = substr($entrep['dateExercice'],0,4);
$tabRet['bilanDate'] = $entrep['dateExercice'];
$tabRet['bilanMois'] = $entrep['dureeExercice'];
@ -3473,10 +3477,10 @@ class MInsee
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000000;
else $tabBilan[$tabTmp2[0]]=$tabTmp2[1];
}
if (strtoupper($entrep['typeBilan'])=='S') {
$mBil=new MBilans(0);
$tabTmp=$mBil->bilanSimplifie2Normal($tabBilan);
$tabBilan=array_merge($tabTmp, $tabBilan);
if ( strtoupper($entrep['typeBilan'])=='S' ) {
$mBil = new MBilans(0, $this->iDb);
$tabTmp = $mBil->bilanSimplifie2Normal($tabBilan);
$tabBilan = array_merge($tabTmp, $tabBilan);
}
$tabRet['bilanDA'] = $tabBilan['DA'];
@ -3517,16 +3521,13 @@ class MInsee
}
$timer['infosBilan']=microtime(true);
} elseif($caEstime>0 && $tabInsee['ACTIF']==1) {
$tabRet['bilanAnnee'] = date('Y')-2;
} elseif ( $caEstime>0 && $tabInsee['ACTIF']==1 ) {
$tabRet['bilanAnnee'] = date('Y')-2;
$tabRet['bilanFLestime']=$caEstime;
}
/** CA Estimé si aucune info Bilan au TCA Insee
**/
//$tabRet['caEstime'] = getCAnafEffectif($tabRet['NafEnt'],$tabRet['Effectif']);
$tabRet['TribunalLib']=$this->iBodacc->getTribunalNom($tabRet['Tribunal']);
/* CA Estimé si aucune info Bilan au TCA Insee */
$tabRet['TribunalLib'] = $this->iBodacc->getTribunalNom($tabRet['Tribunal']);
if($this->debugtime) {
$duree=round(microtime(1)-$tdebIni,3);
@ -3573,7 +3574,14 @@ class MInsee
return $tabRet;
}
function getDirigeantsOp($siren, $id = null) {
/**
* Dirigeants Opérationnel
* @param string $siren
* @param string $id
* @return array
*/
public function getDirigeantsOp($siren, $id = null)
{
$siren=$siren*1;
$tabRet=array();
@ -4339,7 +4347,7 @@ class MInsee
/** En Procol mais présence d'une annonce de cloture ou LJ
avec Bilan publié ultérieurement
**/
$mBil=new MBilans($siren);
$mBil=new MBilans($siren, $this->iDb);
$tabBilans=$mBil->listeBilans($accesDist);
$derExercice=0;
@ -4363,7 +4371,7 @@ class MInsee
krsort($tabJugements);
reset($tabJugements);
$mBil=new MBilans($siren);
$mBil=new MBilans($siren, $this->iDb);
$tabBilans=$mBil->listeBilans($accesDist);
$derExercice=0;
$derProcol=str_replace('-','',key($tabJugements))*1;

View File

@ -6,20 +6,20 @@ class MAmabis
{
private $client;
function __construct()
public function __construct()
{
$this->client = new SoapClient(null, array(
'location' => 'http://sw2.amabis.com:5100/',
'uri' => 'http://www.amabis.com/ns.xsd',
'connection_timeout' => 2,
'soap_version' => SOAP_1_1,
'trace' => 1,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
'location' => 'http://sw2.amabis.com:5100/',
'uri' => 'http://www.amabis.com/ns.xsd',
'connection_timeout' => 2,
'soap_version' => SOAP_1_1,
'trace' => 1,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED,
));
}
function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false)
public function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false)
{
$tabRep=array();
if (!$rnvp) {

View File

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

View File

@ -1170,8 +1170,8 @@ require_once 'framework/common/curl.php';
require_once 'framework/common/mysql.php';
class MGreffes {
class MGreffes
{
public $body = '';
public $header = '';
public $codeRetour = 0;
@ -1182,9 +1182,14 @@ class MGreffes {
private $iInsee;
public $enCache=false;
public function __construct() {
$this->iDb=new WDB();
$this->iInsee=new MInsee();
public function __construct($db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
$this->iInsee = new MInsee($this->iDb);
}
function getPageHeader($start,$end,$header)
@ -4204,6 +4209,4 @@ https://www.infogreffe.fr/mantis/csv_export.php
}
}
?>
}

View File

@ -490,6 +490,7 @@ class pointLocation {
class MMap {
protected $iDb;
private $accesDist = true;
private $referer ='';
private $body = '';
@ -515,12 +516,19 @@ class MMap {
public $adresseValidee='';
public $enCache=false;
private $apiKeyG='ABQIAAAAuKBtUyFonYJBl1fqfc78tRQvADPcxwXf3Q2QIE-M32vuSkrxiBRLUHDB_YSLeTscTDeWRKM_wILaaw';
// private $apiKeyG='ABQIAAAAuKBtUyFonYJBl1fqfc78tRQvADPcxwXf3Q2QIE-M32vuSkrxiBRLUHDB_YSLeTscTDeWRKM_wILaaw';
private $apiKeyG='AIzaSyBfyIMaVwm1nn8AupBf-asC816R71LZl8g';
// private $apiKey='ABQIAAAAuKBtUyFonYJBl1fqfc78tRT4Qe_2x2fax4Crd4sBzQI-tDkl3BRm2l2feTV5Lnx0Ah-aTIlwHtglpA';
private $apiKeyY='klII0gzV34Ho2TCsN3XiXeh4No033AifxMeDXfFXj8TDCXO3WAtOLj9c74VsV45HcII-';
private $apiKeyC='ae5216123e414fcd84b8ca9a0f43a68c';
function __construct($accesDist=true) {// $adresse, $cp, $ville, $pays='France') {
function __construct($accesDist=true, $db = null)
{
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
$this->accesDist=$accesDist;
}
@ -540,8 +548,8 @@ 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='') {
public function geoCodeAdrCpVilleM($adresse,$cp,$ville,$pays='')
{
if ($pays=='') $pays='France';
if (preg_match('/^([0-9]{1,4} )(.*)$/', $adresse, $matches)) {
$adresseVoie=trim($matches[2]);
@ -566,7 +574,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
case 2: $this->precision=4; break; // Town level geocoding
case 3: $this->precision=6; break; // Way level geocoding
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;
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)))));
@ -615,8 +623,8 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$this->precision=0;
$fileName=LOG_PATH.'/geoCodeur'.$this->geocodeur.'.log';
$tmp=@explode(',',file_get_contents($filename));
$nbQuery=$tmp[0]*1;
$tmp=@explode('|',file_get_contents($fileName));
$nbQuery=@$tmp[1]*1;
if ($pays=='') $pays='France';
/*if (preg_match('/^([0-9]{1,4} )(.*)$/', $adresse, $matches)) {
@ -632,8 +640,8 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$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);
$nbQuery++;
file_put_contents($fileName, $this->geocodeur.'|'.$nbQuery.'|'.$this->codeRetour."|$url|".date('Y-m-d H:i:s').'|'.$this->body.EOL);
$res=@json_decode(utf8_decode($page['body']));
if ($this->codeRetour==200 && $res->status->success==1) {
@ -643,6 +651,9 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
case 'housenumber': $this->precision=8; break;
case 'street': $this->precision=6; break;
case 'zip': $this->precision=5; break;
case 'city': $this->precision=4; break;
case 'district': $this->precision=3; break;
case 'sight': $this->precision=0; break;
default:
//print_r($res);
//die('addressType inconnue : '.$geoCodage->addressType.EOL);
@ -663,7 +674,8 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
echo 'lon='.$this->longitudeDec.EOL;
echo 'precis='.$this->precision.EOL;
die($url);*/
return true;
if ($this->precision>0)
return true;
}
//print_r($page);
//print_r($res);
@ -677,18 +689,18 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$this->precision=0;
$fileName=LOG_PATH.'/geoCodeur'.$this->geocodeur.'.log';
$tmp=@explode(',',file_get_contents($filename));
$nbQuery=$tmp[0]*1;
$tmp=@explode('|',file_get_contents($fileName));
$nbQuery=@$tmp[1]*1;
$_url='http://query.yahooapis.com/v1/public/yql?q=select+*+from+geo.placefinder+where+text%3D%22'.rawurlencode($address).'%22&format=xml';
$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);
$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);
$nbQuery++;
file_put_contents($fileName, $this->geocodeur.'|'.$nbQuery.'|'.$this->codeRetour."|$url|".date('Y-m-d H:i:s').'|'.$this->body.EOL);
if ($this->codeRetour==200) {
@ -700,6 +712,14 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
<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 -->
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2014-05-20T18:13:30Z" yahoo:lang="en-US"><results><Result><quality>87</quality>
<addressMatchType>POINT_ADDRESS</addressMatchType>
<latitude>48.281769</latitude><longitude>4.09041</longitude><offsetlat>48.281731</offsetlat><offsetlon>4.09047</offsetlon><radius>400</radius>
<name/><line1>38B, Rue Maurice Romagon</line1><line2>10800 Saint-Julien-les-Villas</line2><line3/><line4>France</line4><house>38B</house><street>Rue Maurice Romagon</street><xstreet/>
<unittype/><unit/><postal>10800</postal><neighborhood/><city>Saint-Julien-les-Villas</city><county>Aube</county><state>Champagne-Ardenne</state><country>France</country><countrycode>FR</countrycode><statecode/><countycode>10</countycode><uzip>10800</uzip><hash>D49A3CF6AD6DEB1C</hash><woeid>12722975</woeid><woetype>11</woetype></Result></results></query><!-- total: 49 -->
<!-- engine4.yql.bf1.yahoo.com -->
*/
//echo "Yahoo :'$address'".EOL.$this->body.EOL;
@ -707,20 +727,38 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$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';
} elseif (preg_match('!<quality>(.*)</quality>(?:.*)<latitude>(.*)</latitude><longitude>(.*)</longitude>!U', $this->body, $_match)) {
if (preg_match('!<quality>(.*)</quality><addressMatchType>(.*)</addressMatchType><latitude>(.*)</latitude><longitude>(.*)</longitude>!U', $this->body, $_match2)) {
$quality=$_match2[1];
$qualityTxt=$_match2[2];
$this->codeRetourY='OK';
if ($quality>87 || $qualityTxt=='POINT_ADDRESS') $this->precision=9; // POI or Coordinate
elseif ($quality>82 || $qualityTxt=='INTERPOLATED') $this->precision=8; // Address (N° compris dans une Tranche d'adresse)
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';
}
} else {
$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];
@ -755,19 +793,22 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$this->precision=0;
$fileName=LOG_PATH.'/geoCodeur'.$this->geocodeur.'.log';
$tmp=@explode(',',file_get_contents($filename));
$nbQuery=$tmp[0]*1;
$tmp=@explode('|',file_get_contents($fileName));
$nbQuery=@$tmp[1]*1;
$url='http://maps.googleapis.com/maps/api/geocode/xml?address='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays).'&sensor=false';
//$url='http://maps.googleapis.com/maps/api/geocode/xml?address='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays).'&sensor=false';
$url='https://maps.googleapis.com/maps/api/geocode/xml?address='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays).'&sensor=false&key='.$this->apiKeyG;
$page=getUrl($url, '', '', $this->referer, false, 'maps.google.com', $proxy,3);
$page=getUrl($url, '', '', $this->referer, false, 'maps.googleapis.com', $proxy,3);
//print_r($page);
//die($url);
//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);
$nbQuery++;
file_put_contents($fileName, $this->geocodeur.'|'.$nbQuery.'|'.$this->codeRetour."|$url|".date('Y-m-d H:i:s').'|'.$this->body.EOL);
if ($this->codeRetour==200) {
// REVERSE GEOCODING
@ -784,6 +825,32 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
7 Intersection level accuracy. (Since 2.59)
8 Address level accuracy. (Since 2.59)
*/
/* <?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<formatted_address>0 Impasse Saint-Germier, 31270 Frouzins, France</formatted_address>
<address_component>
<long_name>0</long_name>
<short_name>0</short_name>
<type>street_number</type>
</address_component>
<address_component>
<long_name>Impasse Saint-Germier</long_name>
<short_name>Imp. Saint-Germier</short_name>
<type>route</type>
<geometry>
<location>
<lat>43.5160071</lat>
<lng>1.3252185</lng>
</location>
<location_type>RANGE_INTERPOLATED</location_type>
</geometry>
<partial_match>true</partial_match>
</result>
</GeocodeResponse>
*/
$this->codeRetourG=@getTextInHtml($this->body, '<GeocodeResponse>', '<status>', '</status>');
$location_type=@getTextInHtml($this->body, '<geometry>', '<location_type>', '</location_type>');
switch($location_type) {
@ -805,17 +872,16 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
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->adresseValidee=strtoupper(str_replace('&apos;', "'", htmlspecialchars_decode(utf8_decode(@getTextInHtml($this->body, '<result', '<formatted_address>', '</formatted_address>')),ENT_QUOTES)));
if (preg_match('!<geometry>(?:.*)<location>(?:.*)<lat>(.*)</lat>(?:.*)<lng>(.*)</lng>(?:.*)</location>!Uis', $this->body, $matches2)) {
$this->latitudeDec=@$matches2[1];
$this->longitudeDec=@$matches2[2];
$this->latitudeDeg=dec2dms($this->latitudeDec);
$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';
.
400 G_GEO_BAD_REQUEST A directions request could not be successfully parsed.
500 G_GEO_SERVER_ERROR A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.
601 G_GEO_MISSING_QUERY The HTTP q parameter was either missing or had no value. For geocoding requests, this means that an empty address was
@ -840,8 +906,23 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
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')
/*
<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
<status>OVER_QUERY_LIMIT</status>
<error_message>You have exceeded your daily request quota for this API.</error_message>
</GeocodeResponse>
*/
if ($this->codeRetourG=='OK') {
//echo $this->body.EOL;
//echo 'Adr='.$this->adresseValidee.EOL;
//echo 'Lat='.$this->latitudeDec.EOL;
//echo 'Lon='.$this->longitudeDec.EOL;
//echo 'Pre='.$this->precision.EOL;
//die();
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') {
@ -867,12 +948,12 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
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();
function geoCodeAdresse($adrNum, $adrIndRep, $adrTypeVoieCourt, $adrTypeVoieLong, $adrLibVoie, $cp, $ville='', $pays='France', $codeRivoli='')
{
$tabRep=array();
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoieLong $adrLibVoie")));
$ville=addslashes($ville);
$ret=$iDb->select( 'zonageXY', 'lat, lon, l93_x, l93_y, alt, precis, adresseValidee, dateInsert', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
$ret=$this->iDb->select('zonageXY', 'lat, lon, l93_x, l93_y, alt, precis, adresseValidee, dateInsert', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
if (count($ret)>0) {
$zonage=$ret[0];
$this->precision=$zonage['precis']*1;
@ -898,7 +979,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
'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->iDb->update('zonageXY', $tabUpdate, "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'");
}
$this->latitudeDeg=dec2dms($this->latitudeDec);
@ -907,7 +988,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
$ligne='En base : '.print_r($zonage, true);
} elseif ($this->accesDist) {
$this->enCache=false;
$retM=$retY=false;
$retG=$retY=$retC=$retM=false;
if (substr($codeRivoli,0,3)*1==971) $pays='Guadeloupe';
elseif (substr($codeRivoli,0,3)*1==972) $pays='Martinique';
elseif (substr($codeRivoli,0,3)*1==973) $pays='Guyane';
@ -921,8 +1002,8 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
elseif (substr($codeRivoli,0,3)*1==987) $pays='Polynésie française'; // 98711 à 98758,98799 Polynésie française (sans changement)
elseif (substr($codeRivoli,0,3)*1==988) $pays='Nouvelle Calédonie'; // 98801 à 98832 Nouvelle Calédonie (sans changement)
elseif (substr($codeRivoli,0,3)*1==989) $pays='Wallis-et-Futuna'; // 98911 à 98913 Wallis et Futuna (anciens codes non compatibles : 98611 à 98613)
elseif (substr($codeRivoli,0,2)*1>96 && substr($codeRivoli,0,2)*1<99)
die("Code Rivoli non géré : '$codeRivoli'".EOL);
/*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=='OVER_QUERY_LIMIT' || $this->precision==0) {
@ -968,11 +1049,11 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
/** Insertion de l'adresse que si elle est possible
**/
//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);
if (mysql_errno()>0) echo mysql_error().die(EOL);
if ($this->latitudeDec<>0 && $this->longitudeDec<>0 && $this->precision>0) {
// print_r($tabInsert);
//echo ($this->latitudeDec.EOL.$this->longitudeDec.EOL);
$this->iDb->insert('zonageXY', $tabInsert);
/*if (mysql_errno()>0) echo mysql_error().die(EOL);*/
} else {
$this->precision=$this->latitudeDec=$this->longitudeDec=0;
$this->adresseValidee='';
@ -1074,7 +1155,7 @@ The text version of the service also accepts a list of lat/lng for the parameter
[3] => 78.31.45.206
*/
$url="http://ws.geonames.org/srtm3?lat=$tabLatLon&lng=$lon";
$url="http://ws.geonames.org/srtm3?lat=$tabLatLon&lng=$lon&username=scores_et_decisions&password=bj10sx";
$page=getUrl($url, '', '', '', false, '', '', 3);
$alt=trim($page['body']);
if (preg_match('/the (.*) limit of (.*) credits(.*) has been exceeded\. Please throttle your requests or use the commercial service/Uis', $alt, $matches)) {

View File

@ -52,14 +52,18 @@ class MRncs
public $infoIMR=array();
public $maxDemJour=10;
function __construct()
function __construct($db = null)
{
$this->iDb=new WDB();
$this->tabDevises=$this->getTabDevisesInpi();
$this->tabPays=$this->getTabPaysInpi();
$this->tabTribunaux=$this->getTabTribunaux();
$this->tabMandataires=$this->getTabMandataires();
$this->tabJugements=$this->getTabJugements();
if ( $db === null ) {
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}
$this->tabDevises = $this->getTabDevisesInpi();
$this->tabPays = $this->getTabPaysInpi();
$this->tabTribunaux = $this->getTabTribunaux();
$this->tabMandataires = $this->getTabMandataires();
$this->tabJugements = $this->getTabJugements();
}
public function getLibFctDir($codeFonctionDirectionRncs) {

View File

@ -27,7 +27,7 @@ class MTel
$this->codeRetour=$page['code'];
}
if ( $db === null ) {
$this->iDb=new WDB('jo');
$this->iDb = new WDB();
} else {
$this->iDb = $db;
}

View File

@ -1,100 +1,39 @@
<?php
//ini_set('soap.wsdl_cache_enabled', 1); // 0 en dév
class MTvaOld {
public $vatNumber=''; // Numéro de TVA retourné
public $vatDefined=false; // Le numéro de TVA est il validé ?
public $errnum=0; // Numéro de l'erreur en cas d'erreur
public $errmsg=''; // Message de l'erreur en cas d'erreur
class MTva
{
public $vatNumber = ''; // Numéro de TVA retourné
public $vatDefined = false; // Le numéro de TVA est il validé ?
public $errnum = 0; // Numéro de l'erreur en cas d'erreur
public $errmsg = ''; // Message de l'erreur en cas d'erreur
private $siren;
function __construct($siren, $accesDist=true) {
//$accesDist=false;
if ($accesDist==true) {
/*$fp=fopen('/var/www/log/infoVat.log', 'a');
fwrite($fp, "MTva->__construct pour $siren $accesDist\n");
fclose($fp);
*/
$this->siren=$siren;
$client = new SoapClient('http://ws1.scores-decisions.com/entreprise/vat.wsdl',
array( 'trace' => 1, 'soap_version' => SOAP_1_1,
'login' => 'TESTTVA', 'password' => 'TVATESTPW'));
try {
$O = $client->getCompanyVat($this->siren);
if ($O->error->errnum) {
//echo 'Erreur : '. $O->error->errmsg .' ('. $O->error->errnum .")\n";
//echo $client->__getLastResponse()."\n";
$this->errnum=$O->error->errnum;
$this->errmsg=$O->error->errmsg;
return false;
} else {
$val=$O->result;
$this->vatNumber=$val->vatNumber;
$this->vatDefined=$val->vatDefined;
}
} catch (SoapFault $fault) {
//echo $client->__getLastResponse()."\n";
//echo 'ERREUR SOAP :'.EOL;
//print_r($fault);
return false;
}
}
else {
$this->errnum=999;
$this->errmsg="Pas d'accès à la base TVA";
$this->vatNumber='';
$this->vatDefined=false;
return false;
}
}
}
class MTva {
public $vatNumber=''; // Numéro de TVA retourné
public $vatDefined=false; // Le numéro de TVA est il validé ?
public $errnum=0; // Numéro de l'erreur en cas d'erreur
public $errmsg=''; // Message de l'erreur en cas d'erreur
private $siren;
function __construct($siren, $accesDist=true)
public function __construct($siren, $accesDist=true)
{
$sirenIn=$siren*1;
if ($sirenIn<000001000) {
$this->vatNumber='FR00000000000';
$this->vatDefined=false;
$sirenIn = $siren*1;
if ( $sirenIn<000001000 ) {
$this->vatNumber = 'FR00000000000';
$this->vatDefined = false;
return false;
}
elseif($sirenIn<000010000) $siren='00000'.$sirenIn;
elseif ($sirenIn<000100000) $siren='0000'.$sirenIn;
elseif ($sirenIn<001000000) $siren='000'.$sirenIn;
elseif ($sirenIn<010000000) $siren='00'.$sirenIn;
elseif ($sirenIn<100000000) $siren='0'.$sirenIn;
else $siren=''.$sirenIn;
$siren = str_pad($siren, 9, '0', STR_PAD_LEFT);
$this->siren=$siren;
$this->siren = $siren;
$cleAlgo=$this->genereCleFr();
if ($cleAlgo<10) $cleAlgo='0'.$cleAlgo;
else $cleAlgo=''.$cleAlgo;
$tabRep=array();
if (!$this->valideSiren($siren) && substr($siren,0,4)<>'0000') {
$this->errnum=102;
$this->errmsg='Siren invalide';
return false;
}
$iDb=new WDB('sdv1');
$info=$iDb->select('siren_tva', "cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
$info = $iDb->select('siren_tva', "cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
$tab=$info[0];
if (count($tab)>0) {
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTva sur $siren en cache", print_r($tab, true));
@ -321,6 +260,4 @@ class MTva {
}
return true;
}
}
?>
}