Intégration des modifications du WebService v1.0
This commit is contained in:
parent
543a04387d
commit
e8d1f01811
File diff suppressed because it is too large
Load Diff
@ -1,53 +1,24 @@
|
||||
<?php
|
||||
|
||||
ini_set('soap.wsdl_cache_enabled', 0);
|
||||
|
||||
class AmaSoapClient extends SoapClient {
|
||||
|
||||
function __doRequest($request, $location, $action, $version) {
|
||||
/* $request = strtr($request, array('<ns1:'=>'<ama:',
|
||||
'</ns1:'=>'</ama:',
|
||||
// '<param0 xsi:type="xsd:string">'=>'',
|
||||
'xmlns:ns1="http://www.amabis.com/ama.xsd"'=>'xmlns:ama="http://www.amabis.com/ama.xsd"',
|
||||
// '</param0>'=>'',
|
||||
// '<'=>'<',
|
||||
// '>'=>'>',
|
||||
)
|
||||
);*/
|
||||
return parent::__doRequest($request, $location, $action, $version);
|
||||
}
|
||||
}
|
||||
ini_set('default_socket_timeout', 30);
|
||||
|
||||
class MAmabis {
|
||||
|
||||
private $client;
|
||||
|
||||
function __construct() {
|
||||
/* $this->client = new AmaSoapClient(null, //'http://www.amabis.com/ama.wsdl',//null, //
|
||||
array( 'location' => AMABIS_WS_URL,//'http://sw4.amabis.com:5101',
|
||||
'uri' => AMABIS_WS_URI,//'http://sw4.amabis.com:5101',
|
||||
'soap_version' => SOAP_1_1,
|
||||
'trace' => 1,
|
||||
'style' => SOAP_RPC,
|
||||
'use' => SOAP_ENCODED,
|
||||
'connection_timeout'=> 2,
|
||||
)
|
||||
);
|
||||
*/
|
||||
$this->client = new AmaSoapClient(null,
|
||||
array( //'location' => 'http://sw4.amabis.com:5100',
|
||||
'location' => 'http://sw2.amabis.com:5100/',
|
||||
'uri' => 'http://www.amabis.com/ns.xsd',
|
||||
'connection_timeout' => 2,
|
||||
'default_socket_timeout'=> 2,
|
||||
'soap_version' => SOAP_1_1,
|
||||
'trace' => 1,
|
||||
'style' => SOAP_RPC,
|
||||
'use' => SOAP_ENCODED,
|
||||
)
|
||||
);
|
||||
|
||||
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,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false) {
|
||||
$tabRep=array();
|
||||
if (!$rnvp) {
|
||||
@ -75,7 +46,7 @@ class MAmabis {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$iDb=new WDB();
|
||||
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
|
||||
$ville=addslashes($ville);
|
||||
@ -105,11 +76,11 @@ class MAmabis {
|
||||
}
|
||||
//return $tabRep;
|
||||
} else {
|
||||
|
||||
|
||||
try {
|
||||
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
|
||||
$rep=$this->client->zonage( new SoapParam(strtr("$raisonSociale:$adresse:$cp:$ville",
|
||||
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
|
||||
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
|
||||
' aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'),'adresse'),
|
||||
new SoapParam(':','separateur'),
|
||||
new SoapParam('type=M','options')
|
||||
@ -117,13 +88,13 @@ class MAmabis {
|
||||
/*$rep=$this->client->zonage( "<adresse></adresse>".
|
||||
"<separateur>:</separateur>".
|
||||
"<options>type=M</options>");*/
|
||||
|
||||
|
||||
/** Découpage des ZFU, CUCS etcs...
|
||||
**/
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s').' - '.implode("\n", $rep)."\n============================================================================\n");
|
||||
fclose($fp);
|
||||
|
||||
|
||||
$tabZones=explode(',',$rep['zonage']); // ZUS=OUI,NZUS=1127020,ZFU=OUI,NZFU=11270ZF,CUCS=OUI,NCUCS=1127020
|
||||
foreach ($tabZones as $zone) {
|
||||
$tabTmp=explode('=',$zone);
|
||||
@ -150,7 +121,7 @@ class MAmabis {
|
||||
'rivoli'=>$codeRivoli,
|
||||
);
|
||||
$iDb->insert('zonage', $tabInsert);
|
||||
|
||||
|
||||
/** Autres Informations de la RNVP
|
||||
**/
|
||||
if ($rnvp || $debug) {
|
||||
@ -158,7 +129,7 @@ class MAmabis {
|
||||
$tabZones=explode(',',$rep['objdesc']);
|
||||
foreach ($tabZones as $zone) {
|
||||
$tabTmp=explode('=',$zone);
|
||||
if (trim($tabTmp[0])<>'')
|
||||
if (trim($tabTmp[0])<>'')
|
||||
$tabRepTmp[$tabTmp[0]]=$tabTmp[1];
|
||||
}
|
||||
if (!$debug) {
|
||||
@ -193,7 +164,7 @@ class MAmabis {
|
||||
case 'ZAFR': $tabRep['AFR']='OUI'; $tabRep['NAFR']=$codeInsee; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
|
||||
return $tabRep;
|
||||
}
|
||||
|
||||
@ -208,16 +179,16 @@ class MAmabis {
|
||||
$query="<rs>$nom</rs><cpville>$cp $ville</cpville><scoremini>90</scoremini><distinction>30</distinction>";
|
||||
else
|
||||
$query="<nom>$nom</nom><prenom>$prenom</prenom><cpville>$cp $ville</cpville><scoremini>90</scoremini><distinction>30</distinction>";
|
||||
|
||||
|
||||
$rep=$this->client->rechtel($query);
|
||||
|
||||
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s')." - $query - ".implode("\n", $rep)."\n============================================================================\n");
|
||||
fwrite($fp, "Requête : ".$this->client->__getLastRequest()."\n");
|
||||
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
@ -138,6 +138,10 @@ class MArtisanat {
|
||||
$this->libErreur='Erreur Siren $sirenLu<>$siren !';
|
||||
return false;
|
||||
}
|
||||
} elseif (preg_match('/<span class="rouge">aucune entreprise ne correspond à vos critères de recherche<\/span>/Uis', $this->body, $matches)) {
|
||||
$this->libErreur='Erreur Artisan absent de la base Artisanat !';
|
||||
// die($this->body);
|
||||
return false;
|
||||
} else {
|
||||
$this->libErreur='Erreur Siren absent dans la page !';
|
||||
return false;
|
||||
|
@ -98,7 +98,7 @@ $tabCtrl=array(
|
||||
'AA+BJ+CJ+CL+CM+CN=CO'=>'Total Actif Brut',
|
||||
'BK+CK=1A'=>'Total Actif (Amor.)',
|
||||
'AA2+BK1+CK1+CL2+CM2+CN2=1A1'=>'Total Actif Net',
|
||||
// PASSIF
|
||||
// PASSIF
|
||||
'DA+DB+DC+DD+DE+DF+DG+DH+DI+DJ+DK=DL'=>'Passif : s/total I (Capitaux Propres)',
|
||||
'DM+DN=DO'=>'Passif : s/total II (Autres fonds propres)',
|
||||
'DP+DQ=DR'=>'Passif : s/total III (Provisions)',
|
||||
@ -134,7 +134,17 @@ $tabCtrl=array(
|
||||
),
|
||||
);
|
||||
|
||||
$tabLibCodeCtrl=array(
|
||||
'_0'=>'-',
|
||||
'_1'=>'Corrigé',
|
||||
'_3'=>'Capital',
|
||||
'_5'=>'Calculs', // Anciennement 2 mais maintenant >=5 correspond à une erreur grave
|
||||
'_7'=>'Effectif',
|
||||
'_9'=>'Unité',
|
||||
);
|
||||
|
||||
$tabLibCodeSaisie=array(
|
||||
// Code Saisie Bilans par Infogreffe
|
||||
'_00'=>'Bilan saisi sans anomalie',
|
||||
'_01'=>'Bilan saisi avec des incohérences comptables à la source du document (issues du remettant)',
|
||||
'_02'=>'Bilan avec Actif, Passif ou Compte de Résultat nul',
|
||||
@ -157,6 +167,8 @@ $tabLibCodeSaisie=array(
|
||||
'_13'=>'Bilan de Société d\'assurance',
|
||||
'_14'=>'Bilan de Société immobilière',
|
||||
'_15'=>'Bilan de Société étrangère',
|
||||
// Codes saisie de Bilans spécifique às S&D
|
||||
'_70'=>'Document relatif à une autre société',
|
||||
);
|
||||
|
||||
class MBilans {
|
||||
@ -166,6 +178,112 @@ class MBilans {
|
||||
public $dernierExerciceDeposeLe=0;
|
||||
// public $rncs;
|
||||
public $igreffe;
|
||||
private $tabBS2BN=array('AH'=>'010',
|
||||
'AI'=>'012',
|
||||
'AI1'=>'013',
|
||||
'AJ'=>'014',
|
||||
'AK'=>'016',
|
||||
'AK1'=>'017',
|
||||
'AT'=>'028',
|
||||
'AU'=>'030',
|
||||
'AU1'=>'031',
|
||||
'BH'=>'040',
|
||||
'BI'=>'042',
|
||||
'BI1'=>'043',
|
||||
'BJ'=>'044',
|
||||
'BK'=>'048',
|
||||
'BK1'=>'049',
|
||||
'BL'=>'050',
|
||||
'BM'=>'052',
|
||||
'BM1'=>'053',
|
||||
'BT'=>'060',
|
||||
'BU'=>'062',
|
||||
'BU1'=>'063',
|
||||
'BV'=>'064',
|
||||
'BW'=>'066',
|
||||
'BW1'=>'067',
|
||||
'BX'=>'068',
|
||||
'BY'=>'070',
|
||||
'BY1'=>'071',
|
||||
'BZ'=>'072',
|
||||
'CA'=>'074',
|
||||
'CA1'=>'075',
|
||||
'CD'=>'080',
|
||||
'CE'=>'082',
|
||||
'CE1'=>'083',
|
||||
'CF'=>'084',
|
||||
'CG'=>'086',
|
||||
'CG1'=>'087',
|
||||
'CH'=>'092',
|
||||
'CI'=>'094',
|
||||
'CI1'=>'095',
|
||||
'CJ'=>'096',
|
||||
'CK'=>'098',
|
||||
'CK1'=>'099',
|
||||
'CO'=>'110',
|
||||
'1A'=>'112',
|
||||
'1A1'=>'113',
|
||||
'DA'=>'120',
|
||||
'DC'=>'124',
|
||||
'DD'=>'126',
|
||||
'DF'=>'130',
|
||||
'DG'=>'132',
|
||||
'DH'=>'134',
|
||||
'DI'=>'136',
|
||||
'DK'=>'140',
|
||||
'DL'=>'142',
|
||||
'DR'=>'154',
|
||||
'DP'=>'154',
|
||||
'DU'=>'156',
|
||||
'DV'=>'169',
|
||||
'DW'=>'164',
|
||||
'DX'=>'166',
|
||||
'EA'=>'172-169',
|
||||
'EB'=>'174',
|
||||
'EC'=>'176',
|
||||
'EE'=>'180',
|
||||
'EH'=>'156-195',
|
||||
'FA'=>'210-209',
|
||||
'FB'=>'209',
|
||||
'FC'=>'210',
|
||||
'FD'=>'214-215',
|
||||
'FE'=>'215',
|
||||
'FF'=>'214',
|
||||
'FH'=>'217',
|
||||
'FI'=>'218',
|
||||
'FK'=>'209+215+217',
|
||||
'FL'=>'210+214+218',
|
||||
'FM'=>'222',
|
||||
'FN'=>'224',
|
||||
'FO'=>'226',
|
||||
'FQ'=>'230',
|
||||
'FR'=>'232',
|
||||
'FS'=>'234',
|
||||
'FT'=>'236',
|
||||
'FU'=>'238',
|
||||
'FV'=>'240',
|
||||
'FW'=>'242',
|
||||
'FX'=>'244',
|
||||
'FY'=>'250',
|
||||
'FZ'=>'252',
|
||||
'GA'=>'254',
|
||||
'GE'=>'262',
|
||||
'GF'=>'264',
|
||||
'GG'=>'270',
|
||||
'GP'=>'280',
|
||||
'GU'=>'294',
|
||||
'GW'=>'270+280+294',
|
||||
'HD'=>'290',
|
||||
'HH'=>'300',
|
||||
'HI'=>'290-300',
|
||||
'HK'=>'306',
|
||||
'HL'=>'232+280+290',
|
||||
'HM'=>'264+294+300+306',
|
||||
'HN'=>'310',
|
||||
'YY'=>'374',
|
||||
'YZ'=>'378',
|
||||
'YP'=>'376',
|
||||
);
|
||||
|
||||
function __construct($siren) {
|
||||
$this->siren=$siren;
|
||||
@ -175,7 +293,11 @@ class MBilans {
|
||||
|
||||
function __destruct() {}
|
||||
|
||||
/** Liste les bilans disponibles */
|
||||
/** Liste les bilans disponibles au format numérique (et non PDF image) pour une entreprise
|
||||
**
|
||||
** @param $accesPartenaire bool Accès autorisé aux partenaires distant si le bilan est absenr
|
||||
** @param $nbMaxBilans int Nombre de bilans maximums retournés
|
||||
**/
|
||||
function listeBilans($accesPartenaire=false, $nbMaxBilans=0) {
|
||||
$iDb2=new WDB();
|
||||
if ($nbMaxBilans>0) $limit="LIMIT 0, $nbMaxBilans";
|
||||
@ -202,19 +324,19 @@ class MBilans {
|
||||
|
||||
if ($ENV=='PRD') { // A supprimer le jour ou on vire l'ancien serveur car curl plantait sur Infogreffe !!!
|
||||
$tabRefXml=$tabRefPdf=array();
|
||||
// Tableau des références de bilans XML Infogreffe
|
||||
// Tableau des références de bilans XML Infogreffe
|
||||
foreach ($tabRet as $idxTmp=>$bilanTmp) {
|
||||
if ((substr($idxTmp,-4)*1)>(date(Y)-4))
|
||||
$tabRefXml[]=$bilanTmp['ref'];
|
||||
}
|
||||
|
||||
|
||||
$tabImg=$this->igreffe->getBilansImages($this->siren);
|
||||
// Tableau des références de bilans PDF Infogreffe
|
||||
// Tableau des références de bilans PDF Infogreffe
|
||||
foreach ($tabImg as $idxTmp=>$bilanTmp) {
|
||||
if ($bilanTmp['annee']>(date(Y)-4))
|
||||
$tabRefPdf[]=$bilanTmp['ref'];
|
||||
}
|
||||
|
||||
|
||||
$tabDiff=array_diff($tabRefPdf, $tabRefXml);
|
||||
if (count($tabDiff)>0) {
|
||||
$strMillesimes='';
|
||||
@ -229,7 +351,7 @@ class MBilans {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$tabTri=array();
|
||||
foreach ($tabRet as $millesime=>$bil) {
|
||||
$typeBilan=substr($millesime,0,1);
|
||||
@ -293,6 +415,13 @@ class MBilans {
|
||||
return $tabRet3;
|
||||
}
|
||||
|
||||
/** Retourne un bilan disponible au format numérique pour une entreprise
|
||||
**
|
||||
** @param $millesime date Date de cloture du bilan au format d/m/Y
|
||||
** @param $typeBilan enum Type de bilan (N=Réel Normal, S=Réel Simplifié, C=Consolidé, A=Assurance, B=Banque)
|
||||
** @param $refPart string Référence du bilan chez le partenaire (si $accesPartenaire=true)
|
||||
** @param $accesPartenaire bool Accès autorisé aux partenaires distant si le bilan est absenr
|
||||
**/
|
||||
function getBilan($millesime='', $typeBilan='N', $refPart=0, $accesPartenaire=false) {
|
||||
$millesimeDB=WDate::dateT('d/m/Y','Ymd',$millesime);
|
||||
$iDb2=new WDB();
|
||||
@ -301,7 +430,7 @@ class MBilans {
|
||||
$strSansBilansWeb=' AND partenaire<>7 ';
|
||||
else
|
||||
$strSansBilansWeb='';
|
||||
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB' $strSansBilansWeb", true, MYSQL_ASSOC);
|
||||
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB' $strSansBilansWeb", true, MYSQL_ASSOC);
|
||||
$bilan=$ret[0];
|
||||
if (count($ret)==0 && $accesPartenaire) {
|
||||
if ($refPart=='' || $refPart==0) {
|
||||
@ -344,7 +473,7 @@ class MBilans {
|
||||
);
|
||||
if (!$iDb2->insert('bilans', $tabInsert, true))
|
||||
$iDb2->update('bilans', $tabInsert, "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB'");
|
||||
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB'", true);
|
||||
$ret=$iDb2->select('bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB'", true);
|
||||
$bilan=$ret[0];
|
||||
}
|
||||
}
|
||||
@ -360,6 +489,9 @@ class MBilans {
|
||||
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
|
||||
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
|
||||
$tabBilan['SOURCE'] = $bilan['partenaire'];
|
||||
$tabBilan['ID_BILAN_SD'] = $bilan['id'];
|
||||
$tabBilan['DATE_BILAN_SD'] = $bilan['dateInsert'];
|
||||
$tabBilan['TOP_CONFIDENTIEL'] = $bilan['confidentiel'];
|
||||
|
||||
// Devise et Unité
|
||||
if ($bilan['monnaie']=='EUR') $monnaie='€'; else $monnaie=$bilan['monnaie'];
|
||||
@ -801,118 +933,14 @@ class MBilans {
|
||||
return $tabBilan;
|
||||
}
|
||||
|
||||
|
||||
/** Conversion des bilans Simplifiés en Réels Normal
|
||||
** @param $bilanRS array Bilan au format réel simplifé (2033)
|
||||
** @return array Bilan au format réel Normal (2050)
|
||||
*/
|
||||
function bilanSimplifie2Normal($bilanRS) {
|
||||
|
||||
$tabBS2BN=array('AH'=>'010',
|
||||
'AI'=>'012',
|
||||
'AI1'=>'013',
|
||||
'AJ'=>'014',
|
||||
'AK'=>'016',
|
||||
'AK1'=>'017',
|
||||
'AT'=>'028',
|
||||
'AU'=>'030',
|
||||
'AU1'=>'031',
|
||||
'BH'=>'040',
|
||||
'BI'=>'042',
|
||||
'BI1'=>'043',
|
||||
'BJ'=>'044',
|
||||
'BK'=>'048',
|
||||
'BK1'=>'049',
|
||||
'BL'=>'050',
|
||||
'BM'=>'052',
|
||||
'BM1'=>'053',
|
||||
'BT'=>'060',
|
||||
'BU'=>'062',
|
||||
'BU1'=>'063',
|
||||
'BV'=>'064',
|
||||
'BW'=>'066',
|
||||
'BW1'=>'067',
|
||||
'BX'=>'068',
|
||||
'BY'=>'070',
|
||||
'BY1'=>'071',
|
||||
'BZ'=>'072',
|
||||
'CA'=>'074',
|
||||
'CA1'=>'075',
|
||||
'CD'=>'080',
|
||||
'CE'=>'082',
|
||||
'CE1'=>'083',
|
||||
'CF'=>'084',
|
||||
'CG'=>'086',
|
||||
'CG1'=>'087',
|
||||
'CH'=>'092',
|
||||
'CI'=>'094',
|
||||
'CI1'=>'095',
|
||||
'CJ'=>'096',
|
||||
'CK'=>'098',
|
||||
'CK1'=>'099',
|
||||
'CO'=>'110',
|
||||
'1A'=>'112',
|
||||
'1A1'=>'113',
|
||||
'DA'=>'120',
|
||||
'DC'=>'124',
|
||||
'DD'=>'126',
|
||||
'DF'=>'130',
|
||||
'DG'=>'132',
|
||||
'DH'=>'134',
|
||||
'DI'=>'136',
|
||||
'DK'=>'140',
|
||||
'DL'=>'142',
|
||||
'DR'=>'154',
|
||||
'DP'=>'154',
|
||||
'DU'=>'156',
|
||||
'DV'=>'169',
|
||||
'DW'=>'164',
|
||||
'DX'=>'166',
|
||||
'EA'=>'172-169',
|
||||
'EB'=>'174',
|
||||
'EC'=>'176',
|
||||
'EE'=>'180',
|
||||
'EH'=>'156-195',
|
||||
'FA'=>'210-209',
|
||||
'FB'=>'209',
|
||||
'FC'=>'210',
|
||||
'FD'=>'214-215',
|
||||
'FE'=>'215',
|
||||
'FF'=>'214',
|
||||
'FH'=>'217',
|
||||
'FI'=>'218',
|
||||
'FK'=>'209+215+217',
|
||||
'FL'=>'210+214+218',
|
||||
'FM'=>'222',
|
||||
'FN'=>'224',
|
||||
'FO'=>'226',
|
||||
'FQ'=>'230',
|
||||
'FR'=>'232',
|
||||
'FS'=>'234',
|
||||
'FT'=>'236',
|
||||
'FU'=>'238',
|
||||
'FV'=>'240',
|
||||
'FW'=>'242',
|
||||
'FX'=>'244',
|
||||
'FY'=>'250',
|
||||
'FZ'=>'252',
|
||||
'GA'=>'254',
|
||||
'GE'=>'262',
|
||||
'GF'=>'264',
|
||||
'GG'=>'270',
|
||||
'GP'=>'280',
|
||||
'GU'=>'294',
|
||||
'GW'=>'270+280+294',
|
||||
'HD'=>'290',
|
||||
'HH'=>'300',
|
||||
'HI'=>'290-300',
|
||||
'HK'=>'306',
|
||||
'HL'=>'232+280+290',
|
||||
'HM'=>'264+294+300+306',
|
||||
'HN'=>'310',
|
||||
'YY'=>'374',
|
||||
'YZ'=>'378',
|
||||
'YP'=>'376',
|
||||
);
|
||||
|
||||
$bilanRN=array();
|
||||
foreach ($tabBS2BN as $posteRN => $formule) {
|
||||
foreach ($this->tabBS2BN as $posteRN => $formule) {
|
||||
if (preg_match('/\+|\-/', $formule)) {
|
||||
$tabTmp=preg_split('/\+|\-/', $formule, -1, PREG_SPLIT_OFFSET_CAPTURE);
|
||||
//$bilanRN[$posteRN]=0;
|
||||
@ -962,4 +990,4 @@ class MBilans {
|
||||
return $bilanRN;
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
@ -1,15 +1,14 @@
|
||||
<?
|
||||
|
||||
<?php
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class MBourse {
|
||||
|
||||
class MBourse
|
||||
{
|
||||
var $siren=false;
|
||||
|
||||
|
||||
public function __construct($siren=0) {
|
||||
$this->siren=$siren;
|
||||
$this->siren=$siren;
|
||||
}
|
||||
|
||||
|
||||
public function getLibSource($source) {
|
||||
switch ($source) {
|
||||
case 'B': return 'Business Wire'; break;
|
||||
@ -20,17 +19,44 @@ class MBourse {
|
||||
default: return 'N/C'; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** Vérifie la validité de la structure d'un code ISIN
|
||||
**
|
||||
** @param string $isin
|
||||
** @return bool
|
||||
**/
|
||||
function isIsin($isin) {
|
||||
if (strlen(trim($isin))) {
|
||||
$cle = substr($isin, -1);
|
||||
$isinLeft = substr($isin, 0, strlen($isin)-1);
|
||||
$letter2number = array('A'=>10, 'B'=>11, 'C'=>12, 'D'=>13, 'E'=>14, 'F'=>15, 'G'=>16, 'H'=>17, 'I'=>18, 'J'=>19, 'K'=>20, 'L'=>21, 'M'=>22, 'N'=>23, 'O'=>24, 'P'=>25, 'Q'=>26, 'R'=>27, 'S'=>28, 'T'=>29, 'U'=>30, 'V'=>31, 'W'=>32, 'X'=>33, 'Y'=>34, 'Z'=>35);
|
||||
$isinConvertion = strtr($isinLeft, $letter2number);
|
||||
$sum = '';
|
||||
$sumFinal = 0;
|
||||
for($i=0; $i<strlen($isinConvertion); ++$i) $sum .= (($i % 2) ? 1 : 2)*$isinConvertion[$i];
|
||||
for($i=0; $i<strlen($sum); ++$i) $sumFinal += $sum[$i];
|
||||
if ($sumFinal % 10){
|
||||
$cleVerif = ((int)($sumFinal/10) + 1)*10-$sumFinal;
|
||||
} else {
|
||||
$cleVerif = 0;
|
||||
}
|
||||
if ($cle == $cleVerif) {
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
/** Obtenir le code ISIN à partir d'un siren
|
||||
**
|
||||
** @param integer $siren
|
||||
** @param integer $siren
|
||||
** @return string
|
||||
**/
|
||||
function getCodeIsin($siren=false) {
|
||||
$iDb=new WDB();
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
|
||||
|
||||
$tabTmp=$iDb->select('infos_entrep', 'isin', "siren=$siren AND isin<>''", false, MYSQL_ASSOC);
|
||||
return trim(@$tabTmp[0]['isin']);
|
||||
}
|
||||
@ -45,7 +71,7 @@ class MBourse {
|
||||
$tabTmp=$iDb->select('infos_entrep', 'siren', "isin='$isin' AND siren<>0", false, MYSQL_ASSOC);
|
||||
return trim($tabTmp[0]['siren']);
|
||||
}
|
||||
|
||||
|
||||
/** A partir d'un siren, récupère les informations règlementés
|
||||
**
|
||||
** @param integer $siren
|
||||
@ -53,7 +79,7 @@ class MBourse {
|
||||
** @return unknown
|
||||
**/
|
||||
function getInfosReg($siren=false, $id=false) {
|
||||
|
||||
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
|
||||
@ -64,7 +90,7 @@ class MBourse {
|
||||
$iDb=new WDB('presse');
|
||||
if ($id) $sqlID=" AND id=$id ";
|
||||
else $sqlID='';
|
||||
|
||||
|
||||
$bodacc=$iDb->select( 'articles',
|
||||
'id, companyName, companyIsin, companySiren, companyWebSite, pressReleaseDate, pressReleaseTitle, '.
|
||||
'pressReleaseText, pressReleaseHtml, pressReleaseAttachments, pressReleaseUrl, source, dateInsert',
|
||||
@ -83,7 +109,7 @@ class MBourse {
|
||||
'url'=>$ann['pressReleaseUrl'],
|
||||
'dateInsertionSD'=>$ann['dateInsert'],
|
||||
);
|
||||
else
|
||||
else
|
||||
$tabRet[$k]=array( 'id'=>$ann['id'],
|
||||
'source'=>$this->getLibSource($ann['source']),
|
||||
'DateParution'=>$ann['pressReleaseDate'],
|
||||
@ -98,7 +124,7 @@ class MBourse {
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
/** A partir d'un siren, récupère les informations boursières
|
||||
**
|
||||
** @param integer $siren
|
||||
@ -116,15 +142,25 @@ class MBourse {
|
||||
$tabRet=array();
|
||||
if ($isin<>'') {
|
||||
$datePre=date('Y-m').'-01';
|
||||
$tabRes=$iDb->select( 'bourse_isin b, bourse_cours c',
|
||||
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
|
||||
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
|
||||
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
|
||||
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') AND c.`date`>='$datePre' ORDER BY b.dateUpdate DESC, c.dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
if (APPLICATION_ENV=='development') {
|
||||
$tabRes=$iDb->select( 'bourse_isin b, bourse_cours c',
|
||||
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
|
||||
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
|
||||
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
|
||||
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') ORDER BY b.dateUpdate DESC, c.dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
} else {
|
||||
$tabRes=$iDb->select( 'bourse_isin b, bourse_cours c',
|
||||
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
|
||||
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
|
||||
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
|
||||
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') AND c.`date`>='$datePre' ORDER BY b.dateUpdate DESC, c.dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
}
|
||||
|
||||
$tabRet=$tabRes[0];
|
||||
$timer['infosBoursieres-infosIsin']=microtime(true);
|
||||
|
||||
|
||||
$tabRes=$iDb->select( 'bourse_cours',
|
||||
'min(close) AS coursMin, avg(close) AS coursMoy, max(close) AS coursMax',
|
||||
"isin='$isin' GROUP BY isin", false, MYSQL_ASSOC);
|
||||
@ -133,73 +169,9 @@ class MBourse {
|
||||
$tabRet['coursMoy']=$tabTmp['coursMoy'];
|
||||
$tabRet['coursMax']=$tabTmp['coursMax'];
|
||||
$timer['infosBoursieres-derniersCours']=microtime(true);
|
||||
/*
|
||||
$tabRes=$iDb->select( 'bourse_cours',
|
||||
'`date`, close',
|
||||
"isin='$isin' AND autre IN('','e','f','g','m','s','u') AND heure=9999 AND ( ".
|
||||
"`date`=DATE_SUB(CURDATE(), INTERVAL 6 DAY) OR ".
|
||||
"`date`=DATE_SUB(CURDATE(), INTERVAL 7 DAY) OR ".
|
||||
"`date`=DATE_SUB(CURDATE(), INTERVAL 8 DAY) OR ".
|
||||
"`date`='".date('Y')."-01-02' OR ".
|
||||
"`date`='".date('Y')."-01-03' OR ".
|
||||
"`date`='".date('Y')."-01-04' OR ".
|
||||
"`date`=DATE_SUB(CURDATE(), INTERVAL 365 DAY) OR ".
|
||||
"`date`=DATE_SUB(CURDATE(), INTERVAL 366 DAY) OR ".
|
||||
"`date`=DATE_SUB(CURDATE(), INTERVAL 367 DAY) OR ".
|
||||
"`date`=MIN(`date`) ) GROUP BY `date` ORDER BY `date` DESC", false, MYSQL_ASSOC);
|
||||
$tabTmp=$tabRes[0];
|
||||
print_r($tabTmp);
|
||||
*/
|
||||
/* Variations en clôture du 07/03/2008
|
||||
Variation 5 jours -2.03%
|
||||
Variation au 1 janvier +9.36%
|
||||
Variation 1 an +13.84%
|
||||
Variation 10 ans NC
|
||||
Volumes
|
||||
Volume séance 2 253
|
||||
Volume moy. 20 séances 16 326
|
||||
Ratio volumes 13.80%
|
||||
Nombre de titres 113 038 156
|
||||
Capital échangé séance 0.00%
|
||||
Extrêmes
|
||||
Plus haut 10 ans (14/02/2008) 78.5
|
||||
Plus bas 10 ans (18/04/2005) 41.12*/
|
||||
/*$tabRet[]=array( 'siren'=>$tabBourse,
|
||||
'raisonSociale',
|
||||
'adresse',
|
||||
'effectif',
|
||||
'code_sicovam',
|
||||
'code_mnemo',
|
||||
'code_bloomberg',
|
||||
'code_datastream',
|
||||
'code_isin',
|
||||
'logo',
|
||||
'code_ric',
|
||||
'dateIntroduction',
|
||||
'dateDerAG',
|
||||
'dateRadiation',
|
||||
'autre_isin',
|
||||
'eligibleSRD',
|
||||
'eligiblePEA',
|
||||
'nombreTitres',
|
||||
'tel1',
|
||||
'tel2',
|
||||
'fax1',
|
||||
'fax2',
|
||||
'web',
|
||||
'mail',
|
||||
'marche',
|
||||
'placeCotation',
|
||||
'description',
|
||||
'secteur',
|
||||
'activite',
|
||||
'activiteDet',
|
||||
'dirigeants',
|
||||
'actionnaires',
|
||||
'chiffresTrim'
|
||||
);*/
|
||||
|
||||
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
@ -386,6 +386,13 @@ class MFacto {
|
||||
'parTrim'=>$tabNbr2);
|
||||
}
|
||||
|
||||
public function getLibInfoCS($cs) {
|
||||
return array( 'CoteCS' => $cs,
|
||||
'LibCS' => $this->tabInfoCS["_$cs"]['libExt'],
|
||||
'NivRisque' => $this->tabInfoCS["_$cs"]['risque'],
|
||||
'CodeRisque' => $this->tabInfoCS["_$cs"]['type'],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -33,7 +33,7 @@
|
||||
|
||||
public function getRefCodeVoie($sep=',', $eol=EOL) {
|
||||
$row = 1;
|
||||
$handle = fopen(DOC_WEB_LOCAL.'voies.csv', 'r');
|
||||
$handle = fopen(DOC_WEB_LOCAL.'tables/voies.csv', 'r');
|
||||
if (!$handle) die('Impossible d\'ouvrir le fichier de configuration des voies INSEE');
|
||||
$tabTmp=array();
|
||||
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE) {
|
||||
|
@ -220,9 +220,9 @@ $tabPostesDGI=array(
|
||||
'1T'=>'Prêts et autres immobilisations financières (brut)',
|
||||
'LQ'=>'TOTAL IV (brut)',
|
||||
'0G'=>'TOTAL GENERAL (I+II+III+IV) (brut)',
|
||||
'L9'=>'Sur sol propre dont Composant',
|
||||
'L9'=>'Sur sol propre dont Composant',
|
||||
'M1'=>'Sur sol d\'autrui dont Composant',
|
||||
'M2'=>'Installation générale, aménagement, agencement dont Composant',
|
||||
'M2'=>'Installation générale, aménagement, agencement dont Composant',
|
||||
'M3'=>'Installations techniques, matériel et outillage industriels dont Composant',
|
||||
'KB'=>'Frais d\'établissement de Rech. et Dev. TOTAL I (réév.)',
|
||||
'KE'=>'Autres postes d\'immobilisations incorporelles TOTAL II (réév.)',
|
||||
@ -737,16 +737,16 @@ $tabPostesDGI=array(
|
||||
'VF'=>'(2) Prêts et avances consentis aux associés (pers. phys.)',
|
||||
'7Y'=>'Emprunts obligataires convertibles (1)',
|
||||
'7Z'=>'Autres emprunts obligataires (1)',
|
||||
'VG'=>'Emprunts et dettes auprès des établissements de crédits (1) : à 1 an maximum',
|
||||
'VH'=>'Emprunts et dettes auprès des établissements de crédits (1) : à + 1 an',
|
||||
'VG'=>'Emprunts et dettes auprès des établissements de crédits (1) : à 1 an maximum',
|
||||
'VH'=>'Emprunts et dettes auprès des établissements de crédits (1) : à + 1 an',
|
||||
'8A'=>'Emprunts,dettes financières divers (1)(2)',
|
||||
'8B'=>'Fournisseurs comptes rattachées',
|
||||
'8C'=>'Personnels et comptes rattachés',
|
||||
'8D'=>'SS et autres organisme sociaux',
|
||||
'8E'=>'Etat et autres collectivités publiques : Impôts sur les bénéfices',
|
||||
'VW'=>'Etat et autres collectivités publiques : T.V.A.',
|
||||
'VX'=>'Etat et autres collectivités publiques : Obligations cautionnées',
|
||||
'VQ'=>'Etat et autres collectivités publiques : Autes impôts, taxes et assimilés',
|
||||
'VW'=>'Etat et autres collectivités publiques : T.V.A.',
|
||||
'VX'=>'Etat et autres collectivités publiques : Obligations cautionnées',
|
||||
'VQ'=>'Etat et autres collectivités publiques : Autes impôts, taxes et assimilés',
|
||||
'8J'=>'Dettes sur immo, comptes rattachés',
|
||||
'VI'=>'Groupe et associés (2)',
|
||||
'8K'=>'Autres dettes',
|
||||
@ -1045,13 +1045,13 @@ $tabGreffe2Sd=array(
|
||||
'E1J'=>'IU',
|
||||
'E1K'=>'IV',
|
||||
'E3L'=>'IW',
|
||||
'E3M'=>'IX',
|
||||
'E3M'=>'IX',
|
||||
'E3N'=>'NN',
|
||||
// IMMO Fin
|
||||
'E4A'=>'IZ',
|
||||
'E4B'=>'I0',
|
||||
'E3R'=>'I1',
|
||||
'E3S'=>'I2',
|
||||
'E3S'=>'I2',
|
||||
'E3T'=>'NM',
|
||||
'E3U'=>'NP',
|
||||
|
||||
@ -1085,7 +1085,7 @@ $tabGreffe2Sd=array(
|
||||
'J1X'=>'VP2',
|
||||
'J1Y'=>'VC2',
|
||||
'J1Z'=>'VR2',
|
||||
'J2A'=>'VS2',
|
||||
'J2A'=>'VS2',
|
||||
|
||||
'J2B'=>'7Y1',
|
||||
'J2C'=>'7Z1',
|
||||
@ -1165,7 +1165,7 @@ $tabGreffe2Sd=array(
|
||||
'M2L'=>'ZK1',
|
||||
|
||||
);
|
||||
|
||||
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class MGreffes {
|
||||
@ -1179,12 +1179,12 @@ class MGreffes {
|
||||
public $iDb;
|
||||
private $iInsee;
|
||||
public $enCache=false;
|
||||
|
||||
|
||||
function __construct() {
|
||||
$this->iDb=new WDB();
|
||||
$this->iInsee=new MInsee();
|
||||
}
|
||||
|
||||
|
||||
function getIdentite($siren, $refresh=false) {
|
||||
$res=$this->iDb->select('greffes_identite', 'id, siren, nom, nomCommercial, adresse, adresse2, cp, ville, enseigne, siege, fj, fjLib, naf, nafLib, numRC, numRC2, typeRCS, numGreffe, libGreffe, dateCreation, dateRadiation, dateCloture, ca, res, eff, dateInsert', "siren=$siren");
|
||||
if (count($res)>0 && !$refresh) {
|
||||
@ -1211,9 +1211,9 @@ class MGreffes {
|
||||
$dateRad=$ent['dateRadiation'];
|
||||
$dateCloture=$ent['dateCloture'];
|
||||
$dateInsert=$ent['dateInsert'];
|
||||
} elseif (INFOGREFFE_DISPO_WEB) {
|
||||
} elseif (INFOGREFFE_DISPO_WEB) { // @todo : Pour désactiver Infogreffe
|
||||
$url='http://www.infogreffe.fr/infogreffe/index.jsp';
|
||||
$page=getUrl($url, '', '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$page=getUrl($url, '', '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 5);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -1222,7 +1222,7 @@ class MGreffes {
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/newRechercheEntreprise.xml';
|
||||
$postData=array( 'denomination'=>'',
|
||||
'commune'=>'',
|
||||
@ -1243,7 +1243,7 @@ class MGreffes {
|
||||
$url='http://www.infogreffe.fr/weblogic/infogreffe/index.do';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
$this->libErreur='Erreur Infogreffe 302b !';
|
||||
return false;
|
||||
@ -1276,11 +1276,11 @@ class MGreffes {
|
||||
$fp=fopen(LOG_PATH.'/infogreffe.log', 'a');
|
||||
fwrite($fp, $this->body);
|
||||
fclose($fp);
|
||||
|
||||
|
||||
//005480256R.C.S.STNAZAIRE
|
||||
$nomCom=$adr=$adr2=$cpVille=$cp=$ville=$ens=$dateRad=$dateCre=$dateCloture=$ca=$res=$eff='';
|
||||
|
||||
$strSiren=htm2txt(@getTextInHtml($this->body, '<div class="text-rcs" id="libelleRcsGreffe" style="margin-left:0px; margin-right: 0px;">', '0px;">', '</div>'));
|
||||
|
||||
$strSiren=htm2txt(@getTextInHtml($this->body, '<div class="text-rcs" id="libelleRcsGreffe" style="margin-left:0px; margin-right: 0px;">', '0px;">', '</div>'));
|
||||
//511 054 843 R.S.A.C. NARBONNE
|
||||
/*if (preg_match("/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/", $strSiren, $matches)) {
|
||||
print_r($matches);
|
||||
@ -1296,7 +1296,7 @@ class MGreffes {
|
||||
$greffe_lib=trim(preg_replace('/^Spécial des Entrepreneurs Individuels à Responsabilité Limitée/','',trim(implode(' ', $tabTmp))));
|
||||
} else
|
||||
$greffe_lib=trim(preg_replace('/^inscrit au R.C.S./','',trim(implode(' ', $tabTmp))));
|
||||
|
||||
|
||||
$strTmp=@getTextInHtml($this->body, '<td class=\'content\'>IDENTITE</td></tr></table></div>', '</tr></table></div>', '<span class="span-planAcces">');
|
||||
$siege=htm2txt(@getTextInHtml($strTmp, '<span id="fiche.etablissement.type" class="ficheidentite-texte-standard-italic-gras">', 'gras">', '</span>'));
|
||||
if ($siege=='Siège social') $siege=1; else $siege=0;
|
||||
@ -1305,10 +1305,10 @@ class MGreffes {
|
||||
|
||||
if (preg_match('/<span id="fiche.denomination" class="texte-standard">(?:.*)Enseigne \:(.*)</Uis',$this->body,$matches))
|
||||
$ens=htm2txt(trim($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/<span id="fiche.denomination" class="texte-standard">(?:.*)Nom commercial \:(.*)</Uis',$this->body,$matches))
|
||||
$nomCom=htm2txt(trim($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/<\/span>(.*)<div>(.*)<br\/>(.*)<br\/>(.*)<br\/>(.*)<br\/>/Uis',$strTmp,$matches)) {
|
||||
// Adresse sur 5 lignes
|
||||
$adr=htm2txt(trim($matches[4]));
|
||||
@ -1335,7 +1335,7 @@ class MGreffes {
|
||||
$cp=substr($cpVille,0,5);
|
||||
$ville=trim(substr($cpVille,5));
|
||||
}
|
||||
|
||||
|
||||
if (preg_match('/<span class=\'ficheidentite.texte.standard.italic.gras\'>Activit(?:.*)\(code NAF\)(?:.*)title="(.*)">(.*)<\/span>/Uis',$this->body,$matches)) {
|
||||
$naf=$matches[2];
|
||||
$nafLib=htm2txt(ucfirst(strtolower($matches[1])));
|
||||
@ -1344,7 +1344,7 @@ class MGreffes {
|
||||
$siege=1;
|
||||
} else {
|
||||
$matches=array();
|
||||
preg_match('/<span class=\'ficheidentite.texte.standard.italic.gras\'>Forme juridique<\/span><br\/><span id="fiche.forme.juridique" class="texte-standard">(.*)<\/span>/Uis',$this->body,$matches);
|
||||
preg_match('/<span class=\'ficheidentite.texte.standard.italic.gras\'>Forme juridique<\/span><br\/><span id="fiche.forme.juridique" class="texte-standard">(.*)<\/span>/Uis',$this->body,$matches);
|
||||
}
|
||||
$cjLib=prepareString(@strtoupper(trim($matches[1])));
|
||||
$capitalType='SOC';
|
||||
@ -1442,7 +1442,7 @@ class MGreffes {
|
||||
case 'SARL D'ARCHITECTURE': $cj=5499; break;
|
||||
case 'SARL D'INTERET COLLECTIF ET AGRICOLE A CAPITAL VARIABLE': $cj=5432; $capitalType='VAR'; break;
|
||||
case 'SARL NON MEMBRE DE LA CE OU NON PARTIE A L'ACCORD SUR L'ESPACE ECONOMIQUE EUR.': $cj=3120; break;
|
||||
case 'SARL SOCIETE A ASSOCIE UNIQUE': $cj=5498; break;
|
||||
case 'SARL SOCIETE A ASSOCIE UNIQUE': $cj=5498; break;
|
||||
case 'SARL SOUS FORME DE EURL': $cj=5498; break;
|
||||
case 'SARL UNIPERSONNELLE SPORTIVE': $cj=5498; break;
|
||||
case 'SARL UNIPERSONNELLE': $cj=5498; break;
|
||||
@ -1644,7 +1644,7 @@ class MGreffes {
|
||||
else
|
||||
$cjLib=ucfirst(strtolower($cjLib));
|
||||
|
||||
|
||||
|
||||
if (preg_match('/<input type="hidden" name="greffe" value="(.*)">/Uis',$this->body,$matches)) {
|
||||
$greffe_num=$matches[1];
|
||||
}
|
||||
@ -1675,7 +1675,7 @@ class MGreffes {
|
||||
if (preg_match('/<span class="text-standard">(?:.*)Effectif \:(.*)<br/Uis',$this->body,$matches)) {
|
||||
$eff=strtr(trim($matches[1]),array(chr(160)=>'',' '=>'','k'=>'000','K'=>'000','€'=>'','personnes'=>''));
|
||||
}
|
||||
|
||||
|
||||
$numRC=$greffe_mil.$greffe_sta.$greffe_chr;
|
||||
if (strlen($numRC)>4 && strlen($numRC)<10) {
|
||||
if ($numRC<>'' && substr($numRC,0,2)*1>=30)
|
||||
@ -1686,7 +1686,7 @@ class MGreffes {
|
||||
$numRC2='';
|
||||
} else
|
||||
$numRC2=$numRC;
|
||||
|
||||
|
||||
/** Insertion en base de données **/
|
||||
$tabInsert=array( 'siren' => $siren,
|
||||
'nom' => $nom,
|
||||
@ -1718,7 +1718,7 @@ class MGreffes {
|
||||
//sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug identite $siren", $this->body);
|
||||
// 997536917
|
||||
}
|
||||
|
||||
|
||||
|
||||
$tabRet=array( 'id' => $id,// A calculer après insert
|
||||
'Pertinence' => 100,
|
||||
@ -1753,7 +1753,7 @@ class MGreffes {
|
||||
);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
function getListeEtab($siren) {
|
||||
//POSTDATA=
|
||||
$tabIdentite=$this->getIdentite($siren, true);
|
||||
@ -1798,14 +1798,14 @@ class MGreffes {
|
||||
|
||||
/* [22] => ^M
|
||||
AUTOMOBILES PEUGEOT^M
|
||||
|
||||
|
||||
PARC DU GRIFFON 38 AV DES GEORGE S DE CAB RIES BP 258 . 13747 VITROLLES - Etablissement Secondaire^M
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
if (preg_match('/^(.*)<\/a>/Uis', $tabEtabs[$i], $matches))
|
||||
$nom=htm2txt(trim($matches[1]));
|
||||
|
||||
|
||||
if (preg_match('/^(?:.*)<\/a>(?:.*)<br \/>(.*) - /Uis', $tabEtabs[$i], $matches)) {
|
||||
if (preg_match('/Enseigne \:(.*)<br\/>(.*)/Uis',$matches[1],$matches2)) {
|
||||
$ens=htm2txt(trim($matches2[1]));
|
||||
@ -1813,17 +1813,17 @@ class MGreffes {
|
||||
} elseif (preg_match('/Nom commercial \:(.*)<br\/>(.*)/Uis',$matches[1],$matches2)) {
|
||||
$nomCom=htm2txt(trim($matches2[1]));
|
||||
$adr=htm2txt(trim($matches2[2]));
|
||||
} else
|
||||
$adr=htm2txt(trim($matches[1]));
|
||||
} else
|
||||
$adr=htm2txt(trim($matches[1]));
|
||||
$tabAdr=$this->iInsee->structureVoie($adr.'.');
|
||||
}
|
||||
|
||||
|
||||
if (preg_match("/([0-9]{3,3} [0-9]{3,3} [0-9]{3,3}) (R\.C\.S\.|R\.S\.A\.C\.) (.*)<br/Uis", $tabEtabs[$i], $matches)) {
|
||||
$siren=$matches[1];
|
||||
$typeRCS=$matches[2];
|
||||
$greffe_lib=htm2txt(trim($matches[3]));
|
||||
}
|
||||
|
||||
|
||||
if (preg_match('/<br\/>(.*)$/sUi', $tabEtabs[$i], $matches))
|
||||
$nafEtab=htm2txt(trim($matches[1]));
|
||||
|
||||
@ -1833,11 +1833,11 @@ class MGreffes {
|
||||
$princip=1;
|
||||
elseif (preg_match('/- Siège Social/Uis', htm2txt($tabEtabs[$i])))
|
||||
$siege=1;
|
||||
|
||||
|
||||
if (preg_match('/<span class="text-orange-xsmall">Radié<\/span>/Uis', $tabEtabs[$i]))
|
||||
$actif=0;
|
||||
|
||||
|
||||
|
||||
$greffe_num = substr($docId,0,4);
|
||||
$numRC = substr($docId,4,8);
|
||||
if (strlen($numRC)>4 && strlen($numRC)<10) {
|
||||
@ -1849,7 +1849,7 @@ class MGreffes {
|
||||
$numRC2='';
|
||||
} else
|
||||
$numRC2=$numRC;
|
||||
|
||||
|
||||
$tabEt[$i]=@array( 'docId' => $docId, //
|
||||
'nom' => $nom, //
|
||||
'nomCommercial' => $nomCom, //
|
||||
@ -1878,15 +1878,15 @@ class MGreffes {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/** http://www.infogreffe.fr/infogreffe/listEtablissement.do?ets=552144503&index=RCS
|
||||
** numRC des établissements :
|
||||
** http://www.infogreffe.fr/infogreffe/getEntrepDetail.do?docId=330290B017760010
|
||||
** http://www.infogreffe.fr/infogreffe/getEntrepDetail.do?docId=130379B005800010
|
||||
**/
|
||||
|
||||
|
||||
|
||||
|
||||
/** Génère une requète sur le Web Service Infogreffe et récupère le résultat
|
||||
**
|
||||
** @param unknown_type $siren
|
||||
@ -1922,13 +1922,13 @@ class MGreffes {
|
||||
case 'rcs': break;
|
||||
}*/
|
||||
|
||||
// Par défaut, le résultat ne provient pas du cache
|
||||
// Par défaut, le résultat ne provient pas du cache
|
||||
$this->enCache=false;
|
||||
|
||||
/** Par défaut les documents avec des liens vers les actes ne sont pas périsables
|
||||
**/
|
||||
if ($option=='')
|
||||
$perisable=true;
|
||||
$perisable=true;
|
||||
else
|
||||
$perisable=false;
|
||||
/*`siren` , `dateRequete` , `strXml` , `type` , , `codeErreur`
|
||||
@ -1949,12 +1949,12 @@ FROM ``*/
|
||||
$errMsg=$xml;
|
||||
}
|
||||
//echo 'Une requête dans le cache <br/>';
|
||||
}// else
|
||||
}// else
|
||||
//echo 'Pas de requête dans le cache <br/>';
|
||||
|
||||
|
||||
if (INFOGREFFE_DISPO_WS && (
|
||||
!$this->enCache ||
|
||||
($perisable && $dateReq*1<>date('Ymd')) ||
|
||||
!$this->enCache ||
|
||||
($perisable && $dateReq*1<>date('Ymd')) ||
|
||||
($this->enCache && !$perisable && strlen($xml)<=200))) {
|
||||
$query=$this->requeteInfogreffe($siren,$idCommande,$type, $vecteur, $option);
|
||||
$xml=$this->getInfogreffeXML($query);
|
||||
@ -1962,10 +1962,10 @@ FROM ``*/
|
||||
$sirenQuery=$sirenReponse=0;
|
||||
if (preg_match('/<num_siren>(.*)<\/num_siren>/Uis', $query, $matches))
|
||||
$sirenQuery=$matches[1];
|
||||
|
||||
|
||||
if (preg_match('/<num_siren>(.*)<\/num_siren>/Uis', $xml, $matches))
|
||||
$sirenReponse=$matches[1];
|
||||
|
||||
|
||||
/** Réponse pour un autre siren, sans erreur ! **/
|
||||
if ($sirenQuery<>$sirenReponse && strlen($xml)>=200)
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug requete $siren,$idCommande,$type, $vecteur, $option", "Debug requete $siren,$idCommande,$type, $vecteur, $option
|
||||
@ -2003,10 +2003,10 @@ $xml");
|
||||
//echo EOL.'Insertion réponse Infogreffe'.EOL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne le résultat du webservice infogreffe.
|
||||
* @param string $req
|
||||
@ -2026,7 +2026,7 @@ function getInfogreffeXML($req){
|
||||
//$url='https://wsrcte.experian.fr/WSContextInfogreffe/INFOGREFFE';
|
||||
else
|
||||
$url = INFOGREFFE_WS_URL;
|
||||
|
||||
|
||||
$req = utf8_encode($req);
|
||||
debugLog('I', "Accès Infogreffe WS Avant = $url", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$post = '<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://webservices.infogreffe.fr/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getProduitsWebServicesXML><param0 xsi:type="xsd:string">'.$req.'</param0></ns1:getProduitsWebServicesXML></SOAP-ENV:Body></SOAP-ENV:Envelope>';
|
||||
@ -2037,16 +2037,16 @@ function getInfogreffeXML($req){
|
||||
$fpErr=fopen(LOG_PATH.'/curlDebug.log', 'a');
|
||||
curl_setopt($ch, CURLOPT_STDERR, $fpErr);
|
||||
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
|
||||
|
||||
|
||||
curl_setopt($ch, CURLOPT_COOKIEFILE,TRUE);
|
||||
curl_setopt($ch, CURLOPT_POST, TRUE);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
|
||||
|
||||
|
||||
$output = curl_exec($ch);
|
||||
fclose($fpErr);
|
||||
|
||||
|
||||
$xml = str_replace("<?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><SOAP-ENV:Body><ns0:getProduitsWebServicesXMLResponse xmlns:ns0='urn:local' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><return xsi:type='xsd:string'>", '', $output);
|
||||
$xml = str_replace('</return></ns0:getProduitsWebServicesXMLResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>','', $xml);
|
||||
// $firephp->log($xml,'XML');
|
||||
@ -2107,7 +2107,7 @@ function requeteInfogreffe($siren, $idCommande=0, $type='BS', $vecteur='XL', $op
|
||||
'<type_requete>S</type_requete>'.
|
||||
'<media>WS</media>'.
|
||||
'<mode_diffusion>';
|
||||
|
||||
|
||||
if ($type=='AC' && $option=='' && $vecteur=='XL')
|
||||
$req.= '<mode type="T"/>'.
|
||||
'<mode type="C"/>';
|
||||
@ -2171,15 +2171,15 @@ function getListeBilans($siren, $type='*') {
|
||||
|
||||
$result = $xpath->query("//listeBilanSaisi/bilanSaisi/.");
|
||||
if (count($result)>0) {
|
||||
|
||||
|
||||
/** On parse chaque noeud XML pour récupérer les infos **/
|
||||
foreach ($result as $annonce) {
|
||||
/** Année de Millésime et infos Greffes pour la Ref Commande **/
|
||||
$title = $xpath->query ('millesime', $annonce);
|
||||
$mil=trim($title->item(0)->nodeValue);
|
||||
/*<>7501</greffe>
|
||||
<>55</dossier_millesime>
|
||||
<dossier_statut>B</dossier_statut>
|
||||
/*<>7501</greffe>
|
||||
<>55</dossier_millesime>
|
||||
<dossier_statut>B</dossier_statut>
|
||||
<dossier_chrono>*/
|
||||
$title = $xpath->query ('num_gest/greffe', $annonce);
|
||||
$dgre=trim($title->item(0)->nodeValue);
|
||||
@ -2189,7 +2189,7 @@ function getListeBilans($siren, $type='*') {
|
||||
$dsta=trim($title->item(0)->nodeValue);
|
||||
$title = $xpath->query ('num_gest/dossier_chrono', $annonce);
|
||||
$dchr=trim($title->item(0)->nodeValue);
|
||||
|
||||
|
||||
$title = $xpath->query ('type_comptes', $annonce);
|
||||
$typeCpt=strtolower(trim($title->item(0)->nodeValue));
|
||||
$title = $xpath->query ('liasse', $annonce);
|
||||
@ -2206,7 +2206,7 @@ function getListeBilans($siren, $type='*') {
|
||||
|
||||
$title = $xpath->query ('num_depot', $annonce);
|
||||
$num_depot=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$ref=$mil."_$typeCpt-".str_replace('-', '',$millesime)."-$dgre-$dmil-$dsta-$dchr-$num_depot";
|
||||
|
||||
/*elseif ($type=='C') $presta=2001;
|
||||
@ -2242,7 +2242,7 @@ function getListeBilans($siren, $type='*') {
|
||||
@$iDb->insert('greffes_actes', $tabInsert);*/
|
||||
}
|
||||
//print_r($tabRet2);
|
||||
|
||||
|
||||
/** Ajout des dates de clotures précédentes et des durées d'exercices **/
|
||||
foreach ($tabRet2 as $i=>$ret) {
|
||||
$tabRet[$ret['index']]=$ret;
|
||||
@ -2261,16 +2261,16 @@ function getListeBilans($siren, $type='*') {
|
||||
$tabRet[$ret['index']]['dateExercicePre']=str_replace('-', '',$millesimePre);
|
||||
$tabRet[$ret['index']]['dureeExercicePre']=$delta2;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::getListeBilans sur $siren", $xml.EOL.print_r($tabRet, true).EOL.'enCache='.$this->enCache.EOL);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
function getBilan($siren, $ref='') {
|
||||
global $tabGreffe2Sd;
|
||||
global $tabPostesDGI;
|
||||
|
||||
|
||||
$tabRet=$tabPostes=array();
|
||||
$xml=$this->getProduitWS($siren,'BS',0,'XL',$ref);
|
||||
//die($xml);
|
||||
@ -2279,11 +2279,11 @@ function getBilan($siren, $ref='') {
|
||||
$xpath = new Domxpath($dom_object);
|
||||
$title = $xpath->query ('//bilanSaisi/liasse');
|
||||
$liasse=strtoupper(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$result = $xpath->query("//bilanSaisi/page/poste/.");
|
||||
if (count($result)>0) {
|
||||
//echo count($result).EOL;
|
||||
|
||||
|
||||
/** On parse chaque Poste du Bilans en XML pour récupérer les infos **/
|
||||
foreach ($result as $poste) {
|
||||
/** Année de Millésime et infos Greffes pour la Ref Commande **/
|
||||
@ -2323,10 +2323,10 @@ function getBilan($siren, $ref='') {
|
||||
$tabPostes[$codeSd]=$valeur;
|
||||
}
|
||||
$tabRet['POSTES']=$tabPostes;
|
||||
|
||||
|
||||
$tabRet['DATE_FRAICHE_BILAN']=date('Ymd');
|
||||
$tabRet['MONNAIE_LIV_UNITE']='';
|
||||
|
||||
|
||||
$title = $xpath->query('//bilanSaisi/date_cloture');
|
||||
$tabRet['DATE_CLOTURE']=WDate::dateT('Y-m-d','d/m/Y',trim($title->item(0)->nodeValue));
|
||||
$title = $xpath->query ('//bilanSaisi/duree_exo');
|
||||
@ -2367,7 +2367,7 @@ function getBilan($siren, $ref='') {
|
||||
$title = $xpath->query ('//bilanSaisi/devise');
|
||||
$tabRet['MONNAIE_ORI']=trim($title->item(0)->nodeValue);
|
||||
if ($tabRet['MONNAIE_ORI']=='') $tabRet['MONNAIE_ORI']='EUR';
|
||||
|
||||
|
||||
// Conversion en EUR car on ne livre qu'en EUROS !
|
||||
if ($tabRet['MONNAIE_ORI']<>'EUR') {
|
||||
if ($tabRet['MONNAIE_ORI']=='FRF') {
|
||||
@ -2385,11 +2385,11 @@ function getBilan($siren, $ref='') {
|
||||
$tabRet['MONNAIE']='EUR';
|
||||
$tabBilan['SOURCE']=10; // 167 avant
|
||||
/*
|
||||
<denomination>AUTOMOBILES PEUGEOT</denomination>
|
||||
<adresse>75 AV DE LA GRANDE ARMEE</adresse>
|
||||
<code_postal>75016</code_postal>
|
||||
<ville>PARIS</ville>
|
||||
<pays />
|
||||
<denomination>AUTOMOBILES PEUGEOT</denomination>
|
||||
<adresse>75 AV DE LA GRANDE ARMEE</adresse>
|
||||
<code_postal>75016</code_postal>
|
||||
<ville>PARIS</ville>
|
||||
<pays />
|
||||
*/
|
||||
}
|
||||
return $tabRet;
|
||||
@ -2438,12 +2438,12 @@ function getListeActes($siren) {
|
||||
</mode_diffusion>
|
||||
</acte>
|
||||
</depot_acte>
|
||||
|
||||
|
||||
</liste_depot_acte>**/
|
||||
|
||||
$result = $xpath->query("//liste_depot_acte/depot_acte/.");
|
||||
if (count($result)>0) {
|
||||
|
||||
|
||||
/** On parse chaque noeud XML pour récupérer les infos **/
|
||||
foreach ($result as $annonce) {
|
||||
/*// N° Gestion
|
||||
@ -2526,7 +2526,7 @@ function getListeActes($siren) {
|
||||
'vecteurC'=>$vecteurC,
|
||||
);
|
||||
}
|
||||
}*/
|
||||
}*/
|
||||
// Greffes et RC
|
||||
$title = $xpath->query ('num_gest/greffe', $annonce);
|
||||
$dgre=trim($title->item(0)->nodeValue);
|
||||
@ -2536,7 +2536,7 @@ function getListeActes($siren) {
|
||||
$dsta=trim($title->item(0)->nodeValue);
|
||||
$title = $xpath->query ('num_gest/dossier_chrono', $annonce);
|
||||
$dchr=trim($title->item(0)->nodeValue);
|
||||
|
||||
|
||||
// Dépôt
|
||||
$title = $xpath->query ('num_depot', $annonce);
|
||||
$depot_num=strtolower(trim($title->item(0)->nodeValue));
|
||||
@ -2546,7 +2546,7 @@ function getListeActes($siren) {
|
||||
// Siren
|
||||
$title = $xpath->query ("num_siren", $annonce);
|
||||
$num_siren = $title->item(0)->nodeValue;
|
||||
|
||||
|
||||
// Actes
|
||||
$actes = $xpath->query("acte/.", $annonce);
|
||||
$nbVecteurT=$nbActes=0;
|
||||
@ -2585,9 +2585,11 @@ function getListeActes($siren) {
|
||||
if ($title->length==1) //$vecteurC = true;
|
||||
$tabVecteurs[]='C';
|
||||
}
|
||||
|
||||
|
||||
if ($date_acte=='') $date=$date_depot; else $date=$date_acte;
|
||||
|
||||
$ref="$acte_type-".str_replace('-', '',$acte_date)."-$dgre-$dmil-$dsta-$dchr-$depot_num-$acte_num";
|
||||
|
||||
$tabRet[]=array( 'siren' => $siren,
|
||||
'numRC' => $dmil.'-'.$dsta.'-'.$dchr,
|
||||
'numGreffe' => $dgre,
|
||||
@ -2601,6 +2603,7 @@ function getListeActes($siren) {
|
||||
'acte_pages' =>$acte_pages,
|
||||
'acte_nature' =>utf8_decode($acte_nature),
|
||||
'acte_decision' =>utf8_decode($acte_decision),
|
||||
'ref' =>$ref,
|
||||
);
|
||||
$tabInsert=array( 'siren' => $siren,
|
||||
'numRC' => $dmil.$dsta.$dchr,
|
||||
@ -2633,9 +2636,9 @@ function getListesProcolVentes() {
|
||||
Referer[http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=5]
|
||||
Cookie[webabacus_id=1259143571392-1; JSESSIONID=5g2VLTDbHFBLJVnPv9TVbNYm17w9KfL90pvPLtdtTj6qydH2D120!1981381761!1657286441]
|
||||
Données POST:
|
||||
|
||||
|
||||
2 GET
|
||||
|
||||
2 GET
|
||||
3 GET http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?page=2
|
||||
Referer[http://www.infogreffe.fr/infogreffe/rechercheListeActualiteAction.do]
|
||||
Cookie[webabacus_id=1259143571392-1; JSESSIONID=5g2VLTDbHFBLJVnPv9TVbNYm17w9KfL90pvPLtdtTj6qydH2D120!1981381761!1657286441]
|
||||
@ -2651,7 +2654,7 @@ function getListesProcolVentes() {
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=1';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false);
|
||||
$this->body=$page['body'];
|
||||
@ -2663,8 +2666,8 @@ function getListesProcolVentes() {
|
||||
//$this->cookie=$page['header']['Set-Cookie'];*/
|
||||
$this->referer=$url;
|
||||
print_r($page);
|
||||
die();
|
||||
|
||||
die();
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/rechercheListeActualiteAction.do';
|
||||
$postData=array( 'radImmatRad'=>'FN',
|
||||
'departement'=>'',
|
||||
@ -2685,17 +2688,17 @@ function getListesProcolVentes() {
|
||||
$this->referer=$url;
|
||||
print_r($page);
|
||||
die();
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/weblogic/infogreffe/index.do';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr');
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
$this->libErreur='Erreur Infogreffe 302b !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?rebuild=true';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr');
|
||||
$this->body=$page['body'];
|
||||
@ -2703,7 +2706,7 @@ function getListesProcolVentes() {
|
||||
$this->header=$page['header'];
|
||||
print_r($page);
|
||||
die();
|
||||
|
||||
|
||||
if ($this->codeRetour==302) {
|
||||
$this->referer=$url;
|
||||
$url='http://www.infogreffe.fr/infogreffe/entrepListe.do?index=rcs';
|
||||
@ -2725,7 +2728,7 @@ function getListesProcolVentes() {
|
||||
$fp=fopen(LOG_PATH.'/infogreffe.log', 'a');
|
||||
fwrite($fp, $this->body);
|
||||
fclose($fp);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2743,10 +2746,10 @@ function getBilansImages($siren, $ref='') {
|
||||
$dom_object = new DomDocument2();
|
||||
$dom_object->loadXML($xml);
|
||||
// create DOMXPath object with our DOMObject
|
||||
$xpath = new Domxpath($dom_object);
|
||||
$xpath = new Domxpath($dom_object);
|
||||
$result = $xpath->query("//liste_bilan_complet/bilan_complet/.");
|
||||
if (count($result)>0) {
|
||||
|
||||
|
||||
/** On parse chaque noeud XML pour récupérer les infos **/
|
||||
foreach ($result as $annonce) {
|
||||
/** Année de Millésime et infos Greffes pour la Ref Commande **/
|
||||
@ -2761,15 +2764,15 @@ function getBilansImages($siren, $ref='') {
|
||||
$dsta=trim($title->item(0)->nodeValue);
|
||||
$title = $xpath->query ('num_gest/dossier_chrono', $annonce);
|
||||
$dchr=trim($title->item(0)->nodeValue);
|
||||
|
||||
|
||||
$title = $xpath->query ('type_comptes', $annonce);
|
||||
$typeCpt=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$title = $xpath->query ('date_cloture', $annonce);
|
||||
$millesime=strtolower(trim($title->item(0)->nodeValue));
|
||||
$title = $xpath->query ('date_cloture_iso', $annonce);
|
||||
$dateClotureIso=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
|
||||
$title = $xpath->query ('num_depot', $annonce);
|
||||
$num_depot=strtolower(trim($title->item(0)->nodeValue));
|
||||
|
||||
@ -2778,7 +2781,7 @@ function getBilansImages($siren, $ref='') {
|
||||
$tabVecteurs=array();
|
||||
$vecteurs = $xpath->query("mode_diffusion/.", $annonce);
|
||||
foreach ($vecteurs as $vecteur) {
|
||||
$title = $xpath->query ("mode[@type='T']", $vecteur);
|
||||
$title = $xpath->query ("mode[@type='T']", $vecteur);
|
||||
if ($title->length==1) //$vecteurT = true;
|
||||
$tabVecteurs[]='T';
|
||||
$title = $xpath->query ("mode[@type='C']", $vecteur);
|
||||
@ -2789,7 +2792,7 @@ function getBilansImages($siren, $ref='') {
|
||||
|
||||
$tabRet[]=array( 'siren' => $siren,
|
||||
'numRC' => $dmil.'-'.$dsta.'-'.$dchr,
|
||||
'numGreffe' => $dgre,
|
||||
'numGreffe' => $dgre,
|
||||
'annee' => $mil,
|
||||
'type' => $typeCpt,
|
||||
'dateClotureAff' => $millesime,
|
||||
@ -2814,9 +2817,9 @@ function getBilansImages($siren, $ref='') {
|
||||
);
|
||||
if (!$iDb->insert('greffes_bilans', $tabInsert))
|
||||
if (!$iDb->update('greffes_bilans', $tabInsert, "siren='$siren' AND num_depot='$num_depot' AND date_cloture='$dateClotureIso' AND type_comptes='$typeCpt'"))
|
||||
$iDb->update('greffes_bilans', $tabInsert, "siren='$siren' AND num_depot='$num_depot' AND date_cloture='$dateClotureIso' AND type_comptes=''");
|
||||
$iDb->update('greffes_bilans', $tabInsert, "siren='$siren' AND num_depot='$num_depot' AND date_cloture='$dateClotureIso' AND type_comptes=''");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::getListeBilans sur $siren", $xml.EOL.print_r($tabRet, true));
|
||||
return $tabRet;
|
||||
@ -2829,15 +2832,15 @@ function getInfosCessions($siren) {
|
||||
$tabCes=$ret[0];
|
||||
if (count($ret)>1)
|
||||
sendMail('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug getInfosCessions $siren", "Plus de 1 cession pour ce siren");
|
||||
//id, siren, nom, libGreffe, inscrit, etat, dateImmat,
|
||||
//id, siren, nom, libGreffe, inscrit, etat, dateImmat,
|
||||
//pdfLink, pdfSize, pdfVer, pdfPage, ,
|
||||
// dateLimite, mandataire, dateInsert
|
||||
// dateLimite, mandataire, dateInsert
|
||||
return array( 'cessJuge'=> $tabCes['etat'],
|
||||
'cessDateJuge'=>$tabCes['dateJuge'],
|
||||
'cessDateConv'=>$tabCes['dateConv'],
|
||||
'cessDateLJS'=> $tabCes['dateLJS'],
|
||||
'cessDateInv'=> $tabCes['dateInventaire'],
|
||||
'cessDateBod'=> $tabCes['dateBodacc'],
|
||||
'cessDateBod'=> $tabCes['dateBodacc'],
|
||||
'cessCAdec'=> $tabCes['caDeclare'],
|
||||
'cessEffectif'=>$tabCes['effectif'],
|
||||
'cessDesc'=> $tabCes['descriptif'],
|
||||
@ -2863,7 +2866,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/newRechercheEntreprise.xml';
|
||||
$postData=array( 'denomination'=>'',
|
||||
'commune'=>'',
|
||||
@ -2879,13 +2882,13 @@ function getListeCessions($typeProcedure='rj') {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
/*
|
||||
* Déprécié le 6 octobre 2010
|
||||
$url='http://www.infogreffe.fr/weblogic/infogreffe/index.do';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
$this->libErreur='Erreur Infogreffe 302b !';
|
||||
return false;
|
||||
@ -2915,7 +2918,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=1';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
@ -2926,7 +2929,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherRechercheActualiteAction.do?paramTypeListe=5';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
@ -2937,7 +2940,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(2);
|
||||
|
||||
|
||||
// Premier POST pour obtenir la liste des RJ ou LJ à céder !
|
||||
$url='http://www.infogreffe.fr/infogreffe/rechercheListeActualiteAction.do';
|
||||
$postData=array('radImmatRad'=>'FN',
|
||||
@ -2958,7 +2961,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
*8 Plus de 500M euros
|
||||
*/
|
||||
);
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -2970,7 +2973,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
$nbCessions=trim($matches[1]);
|
||||
$nbPages=ceil($nbCessions/10);
|
||||
sleep(1);
|
||||
|
||||
|
||||
/** Liste des entreprises **/
|
||||
$tabCessions=array();
|
||||
$nbInsert=$nbDeja=0;
|
||||
@ -2979,8 +2982,8 @@ function getListeCessions($typeProcedure='rj') {
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?rebuild=true';
|
||||
else
|
||||
$url='http://www.infogreffe.fr/infogreffe/afficherListeActualitesAction.do?page='.$iPage;
|
||||
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -2988,7 +2991,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$tabStrCessions=explode('<td class="titre" style="vertical-align:top;font-weight:normal">',$this->body);
|
||||
foreach($tabStrCessions as $k=>$strCession) {
|
||||
if($k==0) continue;
|
||||
@ -3019,11 +3022,11 @@ function getListeCessions($typeProcedure='rj') {
|
||||
//@$k2++;
|
||||
$urlPre=$url;
|
||||
$nomPdf=$page['header']['Location'];
|
||||
//echo "Redirection #$k2 : ".$page['header']['Location'].EOL;
|
||||
//echo "Redirection #$k2 : ".$page['header']['Location'].EOL;
|
||||
$page=getUrl($page['header']['Location'], $this->cookie, '', $urlPre, false);//, 'www.infogreffe.fr', false, '', '', 21);
|
||||
}
|
||||
$strPdf=$page['body'];
|
||||
$pdfSizeIn=$page['header']['Content-Length'];
|
||||
$pdfSizeIn=$page['header']['Content-Length'];
|
||||
$tabInfo['pdfLink']=$nomPdf;
|
||||
/*
|
||||
$tabPdf=getPdfInfo($repPdfGreffesCessions.'/'.basename($nomPdf));
|
||||
@ -3067,13 +3070,13 @@ function getListeCessions($typeProcedure='rj') {
|
||||
}
|
||||
return array( 'insert'=>$nbInsert,
|
||||
'update'=>$nbDeja);//$tabCessions;
|
||||
// echo "$nbCessions cessions sur $nbPages pages".EOL;
|
||||
// echo "$nbCessions cessions sur $nbPages pages".EOL;
|
||||
// die();
|
||||
}
|
||||
}
|
||||
|
||||
/** Declaration d'une anomalie chez Infogreffe
|
||||
*
|
||||
*
|
||||
* @param $siren Siren de l'entreprise concernée
|
||||
* @param $type Type d'anomalie 'CB10','IMR10','WS10'
|
||||
* @param $description Description complète de l'anomalie
|
||||
@ -3081,7 +3084,7 @@ function getListeCessions($typeProcedure='rj') {
|
||||
function declareAnomalie($siren, $type, $description) {
|
||||
/*
|
||||
CB10 https://www.infogreffe.fr/mantis/issues_rss.php?username=SCOREDECISIONS&key=6b42eafa9888f57858599218f57caa17&project_id=37
|
||||
IMR10 https://www.infogreffe.fr/mantis/issues_rss.php?username=SCOREDECISIONS&key=6b42eafa9888f57858599218f57caa17&project_id=11
|
||||
IMR10 https://www.infogreffe.fr/mantis/issues_rss.php?username=SCOREDECISIONS&key=6b42eafa9888f57858599218f57caa17&project_id=11
|
||||
WS10 https://www.infogreffe.fr/mantis/issues_rss.php?username=SCOREDECISIONS&key=6b42eafa9888f57858599218f57caa17&project_id=36
|
||||
|
||||
https://www.infogreffe.fr/mantis/view_all_bug_page.php
|
||||
@ -3098,13 +3101,13 @@ https://www.infogreffe.fr/mantis/csv_export.php
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
$url='https://www.infogreffe.fr/mantis/login.php';
|
||||
$postData=array('username'=>'SCOREDECISIONS',
|
||||
'password'=>'scoredecisions09');
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
// print_r($page);
|
||||
$this->referer=$url;
|
||||
$this->referer=$url;
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
@ -3115,7 +3118,7 @@ https://www.infogreffe.fr/mantis/csv_export.php
|
||||
/*
|
||||
$url='https://www.infogreffe.fr/mantis/'.$page['header']['Location'];
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
$this->referer=$url;
|
||||
$this->referer=$url;
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'302') {
|
||||
@ -3125,7 +3128,7 @@ https://www.infogreffe.fr/mantis/csv_export.php
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
/*print_r($page);
|
||||
die();*/
|
||||
|
||||
|
||||
$url='https://www.infogreffe.fr/mantis/view_all_bug_page.php';
|
||||
$url='https://www.infogreffe.fr/mantis/csv_export.php';
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', '', 21);
|
||||
|
@ -1,14 +1,14 @@
|
||||
<?
|
||||
|
||||
class MLiens {
|
||||
|
||||
|
||||
public $siren=0;
|
||||
private $iDb;
|
||||
private $iInsee;
|
||||
public $tabSirenVisites;
|
||||
|
||||
|
||||
private $tabChars=array('é'=>'é', 'ç'=>'ç','è'=>'è','à '=>'à');
|
||||
|
||||
|
||||
private static $tabFct=array( 'ADM'=>'Administrateur',
|
||||
'ASS'=>'Associé',
|
||||
'COG'=>'Co-gérant',
|
||||
@ -30,15 +30,15 @@ class MLiens {
|
||||
1600=>'Actes', // S&D : 69642, Associé-Gérant
|
||||
1700=>'SED',
|
||||
1800=>'Collecte', // Infolégales
|
||||
1900=>'Collecte');
|
||||
|
||||
|
||||
1900=>'Collecte');
|
||||
|
||||
|
||||
public function __construct($siren) {
|
||||
$this->siren=$siren;
|
||||
$this->siren=$siren;
|
||||
$this->iDb=new WDB();
|
||||
$this->iInsee=new MInsee();
|
||||
}
|
||||
|
||||
|
||||
/** Retourne les actionnaires du siren
|
||||
** @param int Siren de l'entreprise
|
||||
** @return array Tableau d'actionnaires
|
||||
@ -81,7 +81,7 @@ class MLiens {
|
||||
else $majMin=$lien['MajMin'];
|
||||
switch ($tabIdentite['FJ']*1) {
|
||||
case 5488: // Entreprise Unipersonnelle à Responsabilité Limitée
|
||||
case 5498: // SARL unipersonnelle
|
||||
case 5498: // SARL unipersonnelle
|
||||
case 5720: // Société par actions simplifiée à associé unique
|
||||
$lien['Pmin']=100;
|
||||
$unique=true;
|
||||
@ -94,14 +94,17 @@ class MLiens {
|
||||
$pctTot+=$pctLien;
|
||||
// On évite d'afficher des totaux de détention > à 100%
|
||||
if($pctTot>100) $pctLien=0;
|
||||
|
||||
|
||||
if ($lien['dateInsert']>$dateMaj) $dateMaj=$lien['dateInsert'];
|
||||
if ($lien['dateUpdate']>$dateMaj) $dateMaj=$lien['dateUpdate'];
|
||||
if ($lien['source']==1800) $libRS=strtoupper(strtr($lien['RaisonSociale'],$this->tabChars));
|
||||
else $libRS=strtr($lien['RaisonSociale'],$this->tabChars);
|
||||
$tabRet[]=array( 'Pmin' => number_format($pctLien,2,',',''),
|
||||
'PminNum' => $pctLien,
|
||||
'MajMin' => $majMin,
|
||||
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
|
||||
'RaisonSociale' => $libRS,
|
||||
'Pays' => $libPays,
|
||||
'CodePays' => $codPays,
|
||||
'Siren' => $lien['Siren2'],
|
||||
'Actif' => $lien['actif'],
|
||||
'Source' => $this->tabSources[$source],
|
||||
@ -111,9 +114,9 @@ class MLiens {
|
||||
}
|
||||
$sourcePre=$source;
|
||||
}
|
||||
|
||||
|
||||
if (count($tabRet)==0) {
|
||||
switch ($tabIdentite['FJ']*1) {
|
||||
switch ($tabIdentite['FJ']*1) {
|
||||
case 7112: // Autorité administrative indépendante
|
||||
case 7160: // Service déconcentré à compétence nation. D'un ministère (hors Défense)
|
||||
case 7171: // Service déconcentré de l'État à compétence (inter) régionale
|
||||
@ -131,9 +134,10 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => $tabCC['triNom'],
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $tabCC['triSiret'],
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
);
|
||||
@ -141,7 +145,7 @@ class MLiens {
|
||||
case 7113: // Ministère
|
||||
case 7120: // Service central d'un ministère
|
||||
case 7150: // Service du ministère de la Défense
|
||||
|
||||
|
||||
case 7190: // Ecole nationale non dotée de la personnalité morale
|
||||
// case 7210: // COMMUNE (traité après)
|
||||
// case 7220: // DEPARTEMENT (traité après)
|
||||
@ -161,7 +165,7 @@ class MLiens {
|
||||
// case 7345: // Syndicat intercommunal à vocation multiple (SIVOM)
|
||||
// case 7346: // Communauté de communes
|
||||
// case 7347: // Communauté de villes
|
||||
// case 7348: // Communauté d'agglomération
|
||||
// case 7348: // Communauté d'agglomération
|
||||
case 7349: // Autre établissement public local de coopération non spécialisé ou entente
|
||||
case 7351: // Institution interdépartemental ou entente
|
||||
case 7352: // Institution interrégionale ou entente
|
||||
@ -195,9 +199,10 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'ETAT FRANCAIS',
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => 0,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
@ -212,7 +217,7 @@ class MLiens {
|
||||
$strCodeInsee="codeInsee='$codeInsee'";
|
||||
else
|
||||
$strCodeInsee="codeInsee IN ('2A$comm','2B$comm','20$comm') ";
|
||||
|
||||
|
||||
$tmp=$this->iDb->select('insee.insee_tabVillesEpci', 'typEPCI, codEPCI, libEPCI, libCommune', $strCodeInsee, true, MYSQL_ASSOC);
|
||||
$tabCC=$tmp[0];
|
||||
switch($tabCC['typEPCI']) {
|
||||
@ -221,15 +226,16 @@ class MLiens {
|
||||
case 'CU': $typeCC="Communauté urbaine"; break; // CJ=73
|
||||
case 'SAN': $typeCC="Syndicat d'agglomérations nouvelles"; break; // CJ=73
|
||||
default: $typeCC='';
|
||||
}
|
||||
}
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => strtoupper($typeCC.' '.preg_replace('/^(CA|CC|CU|SAN) /Uis', '',$tabCC['libEPCI'])),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $tabCC['codEPCI'],
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
@ -267,18 +273,19 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'REGION '.strtoupper($tabCC['NC']),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $sirenCom,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (count($tabRet)==0) {
|
||||
$fj=$tabIdentite['FJ']*1;
|
||||
$fj=$tabIdentite['FJ']*1;
|
||||
if ($fj==5498) $strFonctions=",'Gérant'";
|
||||
else $strFonctions='';
|
||||
$adresse=end(explode(' ', $tabIdentite['AdresseVoie']));
|
||||
@ -294,7 +301,7 @@ class MLiens {
|
||||
$deb=$siren2=0;
|
||||
$nbRep=$maxRep=200;
|
||||
$pertinence=$avecSiren=true;
|
||||
|
||||
|
||||
$etabs=$this->iInsee->rechercheEtab($lien['nom'].' '.$lien['prenom'], $adresse, $codePostal, $ville, $siege, $actif, $deb, $nbRep, $maxRep, $pertinence, $avecSiren);
|
||||
$tabSiren=array();
|
||||
foreach ($etabs['reponses'] as $etab) {
|
||||
@ -318,6 +325,7 @@ class MLiens {
|
||||
'MajMin' => $majMin,
|
||||
'RaisonSociale' => trim(preg_replace('/ +/', ' ', $lien['dirRS'].' '.$genre.' '.$lien['nom'].' '.$lien['prenom'])),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $siren2,
|
||||
'Actif' => $lien['actif'],
|
||||
'Source' => $this->tabSources[1600],
|
||||
@ -361,7 +369,7 @@ class MLiens {
|
||||
if (!$this->iDb->insert('liens', $tabInsert1, true))
|
||||
$errMaj=1016167;
|
||||
}
|
||||
|
||||
|
||||
/* Insertion de la participation pour l'actionnaire précédent */
|
||||
$tabInsert2=array_merge($tabUpdate, array( 'ActionPart'=>2),
|
||||
array( 'Siren1'=> $siren2,
|
||||
@ -404,10 +412,11 @@ class MLiens {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** Si l'entreprise n'a aucun actionnaire mais est majoritairement contrôlée par l'état alors on déclare l'état actionnaire **/
|
||||
if (count($tabRet)==0) {
|
||||
$tabNotice=$this->iInsee->getInfosNotice($siren, $nic);
|
||||
if ($tabNotice['insRECME']*1>0) {
|
||||
@ -416,14 +425,35 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'ETAT FRANCAIS',
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => 0,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/** Si l'entreprise n'a aucun actionnaire, on regarde au niveau des cessions de parts **/
|
||||
/*if (count($tabRet)==0) {
|
||||
$tab=$this->iDb->select('rncs_even_info', 'siren, dateDepot, codeEven, depot_num, depot_date, acte_num, acte_date, acte_type, acte_lib, acte_pages, acte_nature, acte_decision, collecte, flux, dateInsert',
|
||||
"siren='$siren' AND codeEven IN(2,5,6,7,8,9,10,13,31,32,63)", true, MYSQL_ASSOC);
|
||||
foreach ($tab as $i=>$lien) {
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'ETAT FRANCAIS',
|
||||
'Pays' => '',
|
||||
'Siren' => 0,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
}
|
||||
}*/
|
||||
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement)", print_r($tabRet,true)) ;
|
||||
return $tabRet;
|
||||
}
|
||||
@ -435,7 +465,7 @@ class MLiens {
|
||||
public function getParticipations($siren=false, $actifsUniquement=true) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$tab=$this->iDb->select(
|
||||
'liens l LEFT JOIN tabPays ON codPays3=Pays',
|
||||
'liens l LEFT JOIN tabPays ON codPays3=Pays',
|
||||
'Siren1, ActionPart, Pmin, Pmax, MajMin, PpPm, Siren2, RaisonSociale, Pays, libPays, actif, source, dateLien*1 AS dateLien, DATE(l.dateInsert)*1 AS dateInsert, DATE(l.dateUpdate)*1 AS dateUpdate',
|
||||
"Siren1='$siren' AND ActionPart=2 ORDER BY source DESC, actif DESC, Pmin DESC", true, MYSQL_ASSOC); // OR Siren2='$siren
|
||||
$tabRet=array();
|
||||
@ -444,7 +474,7 @@ class MLiens {
|
||||
if ($lien['source']>=1700) $source=1700;
|
||||
//if ($lien['source']>=1700 && $lien['source']<=1720) $source=1700;
|
||||
else $source=$lien['source']*1;
|
||||
|
||||
|
||||
$dateMaj=$lien['dateLien'];
|
||||
if ($lien['dateInsert']>$dateMaj) $dateMaj=$lien['dateInsert'];
|
||||
if ($lien['dateUpdate']>$dateMaj) $dateMaj=$lien['dateUpdate'];
|
||||
@ -453,11 +483,14 @@ class MLiens {
|
||||
else {
|
||||
if ($lien['MajMin']=='F') $majMin='A';
|
||||
else $majMin=$lien['MajMin'];
|
||||
if ($lien['source']==1800) $libRS=strtoupper(strtr($lien['RaisonSociale'],$this->tabChars));
|
||||
else $libRS=strtr($lien['RaisonSociale'],$this->tabChars);
|
||||
$tabRet[]=array('Pmin' => number_format($lien['Pmin']*1,2,',',''),
|
||||
'PminNum' => $lien['Pmin']*1,
|
||||
'MajMin' => $majMin,
|
||||
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
|
||||
'RaisonSociale' => $libRS,
|
||||
'Pays' => $lien['libPays'],
|
||||
'CodePays' => $lien['Pays'],
|
||||
'Siren' => $lien['Siren2'],
|
||||
'Actif' => $lien['actif'],
|
||||
'Source' => $this->tabSources[$source],
|
||||
@ -467,7 +500,7 @@ class MLiens {
|
||||
}
|
||||
$sourcePre=$source;
|
||||
}
|
||||
|
||||
|
||||
// if (count($tabRet)==0) {
|
||||
$tabTmp=$this->iInsee->getIdentiteLight($siren);
|
||||
switch ($tabTmp['FJ']*1) {
|
||||
@ -487,14 +520,15 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => $tabCC['triNom'],
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $tabCC['triSiret'],
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 7346: // Communaute de communes
|
||||
case 7348: // Communaute d'agglomeration
|
||||
//case 'CC': $typeCC="Communauté de communes"; break; // CJ=73
|
||||
@ -505,7 +539,7 @@ class MLiens {
|
||||
$dept=substr($tabCom['codeInsee'],0,2);
|
||||
if ($dept=='2A' || $dept=='2B' || $dept=='20')
|
||||
$dept='200';
|
||||
elseif ($dept*1>95)
|
||||
elseif ($dept*1>95)
|
||||
$dept=substr($tabCom['codeInsee'],0,3);
|
||||
else
|
||||
$dept=$dept.'0';
|
||||
@ -519,9 +553,10 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'COMMUNE DE '.strtoupper($tabCom['libCommune']),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $sirenCom,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
@ -533,11 +568,11 @@ class MLiens {
|
||||
// Siren du 75 22 750001 => Région 237 500 079
|
||||
// Siren du 972 22 972001 6 => Région 239 720 014
|
||||
$dept=substr($siren,2,2);
|
||||
$deptD=$dept.'000';
|
||||
$deptD=$dept.'000';
|
||||
$deptF=$dept.'999';
|
||||
if ($dept*1>95) {
|
||||
$dept=substr($siren,2,3);
|
||||
$deptD=$dept.'00';
|
||||
$deptD=$dept.'00';
|
||||
$deptF=$dept.'99';
|
||||
}
|
||||
$tmp=$this->iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
@ -556,9 +591,10 @@ class MLiens {
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'DEPARTEMENT '.strtoupper($tabCom['libdep']),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $sirenCom,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1800],
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
@ -567,18 +603,41 @@ class MLiens {
|
||||
}
|
||||
// }
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Liens $siren", print_r($tabRet,true)) ;
|
||||
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
public function getEvenements($siren=false) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$tab=$this->iDb->select('rncs_even_info', 'siren, dateDepot, codeEven, depot_num, depot_date, acte_num, acte_date, acte_type, acte_lib, acte_pages, acte_nature, acte_decision, collecte, flux, dateInsert',
|
||||
"siren='$siren' AND codeEven IN(2,5,6,7,8,9,10,13,31,32,63)", true, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
foreach ($tab as $i=>$lien) {
|
||||
$tabRet[]=array(/*'Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',*/
|
||||
'DateLien' => $lien['acte_date'],
|
||||
'TypeEvenement' => $lien['acte_nature'],
|
||||
'InfoEvenement' => $lien['acte_decision'],
|
||||
// 'Pays' => '',
|
||||
// 'Siren' => 0,
|
||||
// 'Actif' => 1,
|
||||
'Source' => $this->tabSources[1500],
|
||||
'DateMaj' => $lien['flux'],
|
||||
);
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
public function getLiens($siren=false) {
|
||||
$tabA=$this->getActionnaires($siren);
|
||||
$tabP=$this->getParticipations($siren);
|
||||
$tabE=$this->getEvenements($siren);
|
||||
return array( 'actionnaires'=>$tabA,
|
||||
'participations'=>$tabP);
|
||||
'participations'=>$tabP,
|
||||
'evenements'=>$tabE);
|
||||
}
|
||||
|
||||
|
||||
public function getMaisonMereFr($siren, $debug=false, $tabSirenVisites=array()) {
|
||||
$this->tabSirenVisites=$tabSirenVisites;
|
||||
$this->tabSirenVisites[]=$siren;
|
||||
@ -594,8 +653,8 @@ class MLiens {
|
||||
continue;
|
||||
}// else
|
||||
//echo "inconnu".EOL;
|
||||
|
||||
if ($debug && $sirenMere>1000) $tabIdentiteA=$this->iInsee->getIdentiteLight($sirenMere);
|
||||
|
||||
if ($debug && $sirenMere>1000) $tabIdentiteA=$this->iInsee->getIdentiteLight($sirenMere);
|
||||
else $tabIdentiteA['Nom']='';
|
||||
if ($siren*1==$sirenMere*1) {
|
||||
if ($debug) echo "D. $siren détenu à ".$lien['Pmin']." (".$lien['MajMin'].") par ".$tabIdentiteA['Nom']." ($sirenMere)".EOL;
|
||||
@ -623,11 +682,11 @@ class MLiens {
|
||||
}
|
||||
if ($i==0) return $siren;
|
||||
}
|
||||
|
||||
public function getAllParticipations($siren, $pctMin=33, $nbNiveaux=15, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true) {
|
||||
|
||||
public function getAllParticipations($siren, $pctMin=33, $nbNiveaux=15, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true, $format='txt', $tabRet=array()) {
|
||||
$appel++;
|
||||
$tabP=$this->getParticipations($siren, $actifsUniquement);
|
||||
//if ($siren*1==692004807) die(print_r($tabP,true));
|
||||
|
||||
foreach ($tabP as $i=>$lien) {
|
||||
$sirenFille=$lien['Siren']*1;
|
||||
if ($sirenFille>1000) {
|
||||
@ -658,14 +717,14 @@ class MLiens {
|
||||
echo "[D]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
elseif($sirenFille>100 && ($lien['PminNum']>=$pctMin || $lien['MajMin']=='+') && $appel<=$nbNiveaux) {
|
||||
elseif($sirenFille>100 && ($lien['PminNum']>=$pctMin || $lien['MajMin']=='+') && $appel<=$nbNiveaux) {
|
||||
$tabSiren[]=$siren;
|
||||
if (in_array($sirenFille,$tabSiren))
|
||||
echo "[Adeja]".EOL;
|
||||
else {
|
||||
echo "[A]".EOL;
|
||||
$niveauCour++;
|
||||
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel, $actifsUniquement, $format);
|
||||
$tabSiren=$this->getAllParticipations($sirenFille, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $sirenIni, $sirenMere, $appel, $actifsUniquement, $format, $tabRet);
|
||||
}
|
||||
}
|
||||
elseif($sirenFille>100 && ($lien['PminNum']<$pctMin || $lien['MajMin']=='-')) {
|
||||
@ -677,21 +736,96 @@ class MLiens {
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
else {
|
||||
|
||||
|
||||
/**1) {
|
||||
echo "[D]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
elseif($sirenFille>100 && ($lien['PminNum']>=$pctMin || $lien['MajMin']=='+') && $niveauCour<=$nbNiveaux) { */
|
||||
|
||||
|
||||
echo "[E]".EOL;// $siren, $sirenFille, ".$lien['PminNum'].">=$pctMin, ".$lien['MajMin'].", $niveauCour<=$nbNiveaux".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
}
|
||||
$tabPart=array( 'siren' => $sirenFille,
|
||||
'nom' => $nomP,
|
||||
'pct' => $pct,
|
||||
'pays' => $libPays,
|
||||
'filles'=> $tabFilles);
|
||||
$tabParts[]=$tabPart;
|
||||
}
|
||||
|
||||
$tabRet=$tabParts;
|
||||
return array_unique($tabSiren);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne l'arborescence pour les groupes
|
||||
* @param string $siren
|
||||
* @param int $pctMin
|
||||
* @param int $nbNiveaux
|
||||
*/
|
||||
public function getArborescence($siren, $pctMin=33, $nbNiveaux=10)
|
||||
{
|
||||
//Récupération de la maison mère
|
||||
$sirenMere = $this->getMaisonMereFr($siren);
|
||||
|
||||
//Informations de la maison mère
|
||||
$tabId = $this->iInsee->getIdentiteLight($sirenMere);
|
||||
|
||||
$tabSirenDeja = array();
|
||||
$tabSirenDeja[] = $tabId['Siren'];
|
||||
|
||||
//Retour
|
||||
$tabRet = array(
|
||||
'name' => $tabId['Nom'],
|
||||
'siren' => $tabId['Siren'],
|
||||
'children' => $this->getArborescenceRecursive($sirenMere, $pctMin, 1, $nbNiveaux, $tabSirenDeja),
|
||||
);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne un sous élement de l'arborescende pour les groupes
|
||||
* @param string $siren
|
||||
* @param int $pctMin
|
||||
* @param int $niveau
|
||||
* @param int $nbNiveaux
|
||||
* @param array $tabSirenDeja
|
||||
*/
|
||||
public function getArborescenceRecursive( $siren, $pctMin=33, $niveau=0, $nbNiveaux=10, $tabSirenDeja=array() )
|
||||
{
|
||||
if ( $niveau > $nbNiveaux ) return array();
|
||||
$niveau++;
|
||||
|
||||
$tabRet = array();
|
||||
$participations = $this->getParticipations($siren);
|
||||
if ( count($participations)>0 ) {
|
||||
foreach ( $participations as $item ) {
|
||||
if ( $item['Pmin'] > $pctMin ) {
|
||||
|
||||
//file_put_contents('test.log', $item['Siren']."\n", FILE_APPEND);
|
||||
|
||||
$data = array(
|
||||
'name' => $item['RaisonSociale'],
|
||||
'siren' => $item['Siren'],
|
||||
'pmin' => $item['Pmin'],
|
||||
'pays' => $item['Pays'],
|
||||
'children' => array(),
|
||||
);
|
||||
//Pour éviter d'avoir des boucles infinis
|
||||
if ( !in_array($item['Siren'], $tabSirenDeja) && intval($item['Siren'])>1000 ){
|
||||
$tabSirenDeja[] = $item['Siren'];
|
||||
$data['children'] = $this->getArborescenceRecursive($item['Siren'], $pctMin, $niveau, $nbNiveaux, $tabSirenDeja);
|
||||
}
|
||||
$tabRet[] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
//file_put_contents('test.log', "\n", FILE_APPEND);
|
||||
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/** Recherche d'entreprise par leur actionnaire
|
||||
**
|
||||
** @param string $nom Raison sociale / Nom de l'actionnaire (obligatoire)
|
||||
@ -705,7 +839,7 @@ class MLiens {
|
||||
** @param bool $pertinence Recherche orthographique stricte sur les noms et prénoms (si true)
|
||||
** @return Liste des entreprises trouvées
|
||||
**/
|
||||
public function rechercheActionnaire($nom, $cpVille='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false)
|
||||
public function rechercheActionnaire($nom, $cpVille='', $siren=0, $pays='', $pctMin=0, $pctMax=100, $deb=0, $nbRep=20, $maxRep=200, $pertinence=false)
|
||||
{
|
||||
debugLog('I',"rechercheActionnaire de $nom, $cpVille, $pays, $siren entre $pctMin et $pctMax% (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||||
$formR = array(
|
||||
@ -714,10 +848,13 @@ class MLiens {
|
||||
'actNomRS' => join(' ', array($nom, $cpVille)),
|
||||
'pays' => $pays,
|
||||
'pctMin' => $pctMin,
|
||||
'pctMax' => $pctMax,
|
||||
'pctMax' => $pctMax,
|
||||
);
|
||||
|
||||
|
||||
$version = defined('SPHINX_ACT_VERSION') ? SPHINX_ACT_VERSION : 1;
|
||||
require_once 'Metier/sphinx/rechercheFonc.php';
|
||||
$result = rechercheAct($formR, $deb, $nbRep, $maxRep);
|
||||
/*
|
||||
switch($version)
|
||||
{
|
||||
case 1:
|
||||
@ -730,11 +867,12 @@ class MLiens {
|
||||
$result = $recherche->rechercheAct($formR, $deb, $nbRep, $maxRep);
|
||||
break;
|
||||
}
|
||||
*/
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/** Retourne les informations relatives au groupe du siren donné
|
||||
** @param string $siren Siren de l'entreprise
|
||||
** @param string $siren Siren de l'entreprise
|
||||
**/
|
||||
public function getInfoGroupe($siren) {
|
||||
if ($siren<1000) return false;
|
||||
@ -743,7 +881,7 @@ class MLiens {
|
||||
"siren=(SELECT distinct sirenGrp FROM etablissements_act WHERE siren=$siren AND siege=1) LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$tabEnt=$tmp[0];
|
||||
$sirenGrp=$tabEnt['siren'];
|
||||
|
||||
|
||||
if ($sirenGrp<1000) return false;
|
||||
/** Table des Nafs5 => Secteurs **/
|
||||
$tmp=$this->iDb->select('tabNaf5', 'codNaf2, codNaf1', '1 GROUP BY codNAf2', false, MYSQL_ASSOC);
|
||||
@ -751,7 +889,7 @@ class MLiens {
|
||||
foreach ($tmp as $tmp2) {
|
||||
$tabNAf2[$tmp2['codNaf2']]=$tmp2['codNaf1'];
|
||||
}
|
||||
|
||||
|
||||
$tabNaf2Lib=array( 'A'=>'Agriculture, sylviculture et pêche',
|
||||
'B'=>'Industries extractives',
|
||||
'C'=>'Industrie manufacturière',
|
||||
@ -774,7 +912,7 @@ class MLiens {
|
||||
'T'=>'Activités des ménages en tant qu\'employeurs ; activités indifférenciées des ménages en tant que producteurs de biens et services pour usage propre',
|
||||
'U'=>'Activités extra-territoriales',
|
||||
);
|
||||
|
||||
|
||||
$tabId=$this->iInsee->getIdentiteEntreprise($sirenGrp);
|
||||
/*
|
||||
[SiretSiege] => 54205118000066
|
||||
@ -849,7 +987,7 @@ class MLiens {
|
||||
@$tabSecteur[$tabNAf2[''.substr($tabEnt['ape_entrep'],0,2)]]['nb']++;
|
||||
@$tabSecteur[$tabNAf2[''.substr($tabEnt['ape_entrep'],0,2)]]['ca']+=$tabEnt['bilFL'];
|
||||
@$tabSecteur[$tabNAf2[''.substr($tabEnt['ape_entrep'],0,2)]]['eff']+=$tabEnt['eff_entrep'];
|
||||
|
||||
|
||||
@$tabAvis[$tabEnt['avisCs']]++;
|
||||
}
|
||||
foreach ($tabSecteur as $secteur=>$tmp) {
|
||||
@ -873,7 +1011,7 @@ class MLiens {
|
||||
// $tabRet['ape5']=$tabApe5;
|
||||
$tabRet['secteur']=$tabSecteur2;
|
||||
$tabRet['avisCs']=$tabAvis; // Vérifier les procol
|
||||
|
||||
|
||||
$strSiren=implode(',', $tabSirenGrp);
|
||||
/*$tmp=$this->iDb->select('insee.insee_notices',
|
||||
'insSIREN, insNIC, dateNotice',
|
||||
@ -881,9 +1019,8 @@ class MLiens {
|
||||
if (count($tmp)>0) $tabRet['grpRecme']=1;
|
||||
else $tabRet['grpRecme']=0;*/
|
||||
$tabRet['grpNbProcolHisto']=$nbProcol;
|
||||
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
}
|
362
library/Metier/partenaires/classMLiens2.php
Normal file
362
library/Metier/partenaires/classMLiens2.php
Normal file
@ -0,0 +1,362 @@
|
||||
<?php
|
||||
class MLiens2
|
||||
{
|
||||
/**
|
||||
* Company Reference id
|
||||
* @var int
|
||||
*/
|
||||
protected $idRef = null;
|
||||
|
||||
/**
|
||||
* Company SIREN
|
||||
* @var string
|
||||
*/
|
||||
protected $siren = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Db
|
||||
*/
|
||||
protected $db;
|
||||
|
||||
/**
|
||||
* Array to list id find during list of childrens
|
||||
* @var array
|
||||
*/
|
||||
protected $findId = array();
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $id
|
||||
* @param string $type ref|siren
|
||||
* @throws SoapFault
|
||||
*/
|
||||
public function __construct($id, $type = 'ref')
|
||||
{
|
||||
//Load configuration
|
||||
if (Zend_Registry::isRegistered('config')) {
|
||||
$c = Zend_Registry::get('config');
|
||||
} else {
|
||||
$c = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini');
|
||||
}
|
||||
|
||||
//Connect to the database
|
||||
try {
|
||||
$this->db = Zend_Db::factory($c->profil->db->jo);
|
||||
$this->db->getConnection();
|
||||
} catch (Zend_Db_Adapter_Exception $e) {
|
||||
throw new SoapFault('ERR', $e->getMessage());
|
||||
} catch (Zend_Exception $e) {
|
||||
throw new SoapFault('ERR', "Application error");
|
||||
}
|
||||
|
||||
if ( $type == 'siren' ) {
|
||||
$this->siren = $id;
|
||||
$refM = new Application_Model_JoLiensRef($this->db);
|
||||
$sql = $refM->select()->where('siren=?', $id);
|
||||
$result = $refM->fetchRow($sql);
|
||||
if ( $result !== null ) {
|
||||
$this->idRef = $result->id;
|
||||
}
|
||||
} else {
|
||||
$this->idRef = $id;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les actionnaires
|
||||
* @param int $id
|
||||
* @param boolean $actif
|
||||
* @return array Tableau d'actionnaires
|
||||
*/
|
||||
public function getActionnaires($id = null, $actif = null)
|
||||
{
|
||||
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
$liens = array();
|
||||
|
||||
if ( null === $id ) {
|
||||
return $liens;
|
||||
}
|
||||
|
||||
try {
|
||||
$sql = $this->db->select()
|
||||
->from(array('l'=>'liens2'),
|
||||
array('id', 'idAct', 'PDetention', 'Pvote', 'MajMin', 'idPar',
|
||||
'dateEffetLien', 'dateInsert'))
|
||||
->where('idPar=?', $id)
|
||||
->join(array('r'=>'liensRef'), 'l.idAct=r.id',
|
||||
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'civilite', 'nom', 'prenom', 'nom_usage',
|
||||
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
|
||||
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
|
||||
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays'
|
||||
))
|
||||
->order('PDetention DESC');
|
||||
|
||||
//Actif / Inactif
|
||||
if ( null !== $actif ) {
|
||||
if ( false === $actif ) {
|
||||
$sql->where('l.actif=?',0);
|
||||
} else {
|
||||
$sql->where('l.actif=?',1);
|
||||
}
|
||||
}
|
||||
|
||||
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
|
||||
} catch (Zend_Exception $e) {
|
||||
throw new SoapFault('ERR', $e->getMessage());
|
||||
}
|
||||
|
||||
return $liens;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les participations
|
||||
* @param int $id
|
||||
* @param boolean $actif
|
||||
* @return array Tableau des participations
|
||||
*/
|
||||
public function getParticipations($id = null, $actif = null)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
if ( false === $actif ) {
|
||||
$actif = 0;
|
||||
} else {
|
||||
$actif = 1;
|
||||
}
|
||||
|
||||
$liens = array();
|
||||
|
||||
if ( null === $id ) {
|
||||
return $liens;
|
||||
}
|
||||
|
||||
try {
|
||||
$sql = $this->db->select()
|
||||
->from(array('l'=>'liens2'),
|
||||
array('id', 'idAct', 'PDetention', 'Pvote', 'MajMin', 'idPar',
|
||||
'dateEffetLien', 'dateInsert'))
|
||||
->where('idAct=?', $id)
|
||||
->join(array('r'=>'liensRef'), 'l.idPar=r.id',
|
||||
array('LPAD(siren, 9, 000000000) AS siren','PpPm', 'RS', 'civilite', 'nom', 'prenom', 'nom_usage',
|
||||
'naissance_date', 'naissance_dept_pays', 'naissance_lieu', 'nat',
|
||||
'adresse_num', 'adresse_btq', 'adresse_codvoie', 'adresse_libvoie',
|
||||
'adresse_comp', 'adresse_cp', 'adresse_ville', 'adresse_pays'
|
||||
))
|
||||
->order('PDetention DESC');
|
||||
|
||||
//Actif / Inactif
|
||||
if ( null !== $actif ) {
|
||||
if ( false === $actif ) {
|
||||
$sql->where('l.actif=?',0);
|
||||
} else {
|
||||
$sql->where('l.actif=?',1);
|
||||
}
|
||||
}
|
||||
|
||||
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
|
||||
} catch (Zend_Exception $e) {
|
||||
throw new SoapFault('ERR', $e->getMessage());
|
||||
}
|
||||
|
||||
return $liens;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonctions de direction
|
||||
* @param boolean $actif
|
||||
* @return Zend_Db_Table_Rowset_Abstract
|
||||
*/
|
||||
public function getDirections($actif = null)
|
||||
{
|
||||
if ( null === $this->siren ) {
|
||||
$refM = new Application_Model_JoLiensRef($this->db);
|
||||
$rows = $refM->find($this->idRef);
|
||||
$siren = str_pad($rows->current()->siren, 9, '0', STR_PAD_LEFT);
|
||||
} else {
|
||||
$siren = $this->siren;
|
||||
}
|
||||
|
||||
$result = array();
|
||||
|
||||
if ( null !== $siren && intval($siren) != 0 )
|
||||
{
|
||||
$directionsM = new Application_Model_JoRncsDirigeants($this->db);
|
||||
$sql = $directionsM->select()->from($directionsM, array(
|
||||
'siren','raisonSociale', 'dirSiren', 'dirRS', 'civilite', 'nom',
|
||||
'prenom', 'naissance_date', 'naissance_lieu', 'fonction_code', 'fonction_lib'
|
||||
))->where("typeDir IN ('PM', 'PP')")->where('dirSiren=?', $siren);
|
||||
|
||||
//Actif / Inactif
|
||||
if ( null !== $actif ) {
|
||||
if ( false === $actif ) {
|
||||
$sql->where('actif=?',0);
|
||||
} else {
|
||||
$sql->where('actif=?',1);
|
||||
}
|
||||
}
|
||||
$sql->order('fonction_code DESC');
|
||||
$sql->order('raisonSociale ASC');
|
||||
|
||||
$result = $directionsM->fetchAll($sql);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne la maison mère
|
||||
* @param int $id
|
||||
* @return int
|
||||
*/
|
||||
public function getHead($id = null)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
//Add ID to the list of known
|
||||
$this->findId[] = $id;
|
||||
|
||||
//Through the list
|
||||
$liens = $this->getActionnaires($id, true);
|
||||
|
||||
//Find the following up entity
|
||||
if ( count($liens)>0 ) {
|
||||
foreach ( $liens as $item ) {
|
||||
//Don't through again and again
|
||||
if ( in_array($item->idAct, $this->findId) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Remove Special
|
||||
if ( $item->idAct <= 1000 ) {
|
||||
return $id;
|
||||
}
|
||||
//Same id
|
||||
elseif ( $item->idAct == $id ) {
|
||||
return $id;
|
||||
}
|
||||
//PDetention>50
|
||||
elseif ( $item->PDetention > 50 ) {
|
||||
return $this->getHead($item->idAct);
|
||||
}
|
||||
//MajMin=+
|
||||
elseif ( $item->MajMin == '+' ) {
|
||||
return $this->getHead($item->idAct);
|
||||
}
|
||||
//--
|
||||
elseif ( $item->idAct > 1000 ) {
|
||||
return $item->idAct;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne les éléments identitaire présent dans lienRef
|
||||
* @param string $id
|
||||
* @return Zend_Db_Table_Rowset_Abstract
|
||||
*/
|
||||
public function getIdentity($id = null)
|
||||
{
|
||||
if ( null === $id ) {
|
||||
$id = $this->idRef;
|
||||
}
|
||||
|
||||
$refM = new Application_Model_JoLiensRef($this->db);
|
||||
$row = $refM->find($id);
|
||||
if (null !== row) {
|
||||
return $row->current();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne l'arborescence pour les groupes
|
||||
* @param int $pctMin
|
||||
* @param int $nbNiveaux
|
||||
* @return array
|
||||
*/
|
||||
public function getTree( $pctMin=33, $nbNiveaux=10 )
|
||||
{
|
||||
//Récupération de la maison mère
|
||||
$id = $this->getHead();
|
||||
|
||||
//Informations de la maison mère
|
||||
$identity = $this->getIdentity($id);
|
||||
|
||||
$this->findId = array();
|
||||
$this->findId[] = $identity->id;
|
||||
|
||||
$nom = $identity->RS;
|
||||
if ( $identity->nom != '') {
|
||||
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
|
||||
}
|
||||
|
||||
//Retour
|
||||
$tabRet = array (
|
||||
'id' => $identity->id,
|
||||
'name' => $nom,
|
||||
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
|
||||
'pmin' => $item->PDetention,
|
||||
'pays' => $identity->adresse_pays,
|
||||
'children' => $this->getTreeRecursive($identity->id, $pctMin, 1, $nbNiveaux),
|
||||
);
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne un sous élement de l'arborescence pour les groupes
|
||||
* @param int $id
|
||||
* @param int $pctMin
|
||||
* @param int $niveau
|
||||
* @param int $nbNiveaux
|
||||
* @return array
|
||||
*/
|
||||
public function getTreeRecursive( $id, $pctMin=33, $niveau=0, $nbNiveaux=10 )
|
||||
{
|
||||
if ( $niveau > $nbNiveaux ) return array();
|
||||
$niveau++;
|
||||
|
||||
$tabRet = array();
|
||||
$participations = $this->getParticipations($id, true);
|
||||
if ( count($participations)>0 ) {
|
||||
foreach ( $participations as $item ) {
|
||||
if ( $item->PDetention > $pctMin ) {
|
||||
$identity = $this->getIdentity($item->idPar);
|
||||
|
||||
$nom = $identity->RS;
|
||||
if ( $identity->nom != '') {
|
||||
$nom = $identity->civilite.' '.$identity->nom.' '.$identity->prenom;
|
||||
}
|
||||
|
||||
$data = array (
|
||||
'id' => $identity->id,
|
||||
'name' => $nom,
|
||||
'siren' => str_pad($identity->siren, 9, '0', STR_PAD_LEFT),
|
||||
'pmin' => $item->PDetention,
|
||||
'pays' => $identity->adresse_pays,
|
||||
'children' => array(),
|
||||
);
|
||||
//Pour éviter d'avoir des boucles infinis
|
||||
if ( !in_array($identity->id, $this->findId) ){
|
||||
$this->findId[] = $identity->id;
|
||||
$data['children'] = $this->getTreeRecursive($identity->id, $pctMin, $niveau, $nbNiveaux);
|
||||
}
|
||||
$tabRet[] = $data;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
}
|
@ -24,28 +24,42 @@ function dec2dms($dec) {
|
||||
return $d.'°'.$m."'".$s.'"';
|
||||
}
|
||||
|
||||
/**/
|
||||
function ALG0001($phi,$e) {
|
||||
$temp = ( 1 - ( $e * sin( $phi ) ) ) / ( 1 + ( $e * sin( $phi ) ) );
|
||||
$L = log ( tan ( (pi()/4) + ($phi/2) ) * pow ($temp, ($e/2) ));
|
||||
return $L;
|
||||
}
|
||||
|
||||
|
||||
/** Calcul de la latitude à partir de la latitude isométrique
|
||||
**/
|
||||
function ALG0002($L,$e,$epsilon) {
|
||||
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
|
||||
$phi[0] = 2 * atan(exp($L)) - (pi()/2);
|
||||
|
||||
$i=0;
|
||||
do
|
||||
{
|
||||
$i++;
|
||||
$temp = ( 1 + ( $e * sin( $phi[$i-1] ) ) ) / ( 1 - ( $e * sin( $phi[$i-1] ) ) );
|
||||
$phi[$i] = 2 * atan ( pow ($temp, ($e/2)) * exp ($L) ) - pi()/2;
|
||||
}
|
||||
while (abs($phi[$i] - $phi[$i - 1]) >= $epsilon);
|
||||
$i=0;
|
||||
do {
|
||||
$i++;
|
||||
$temp = ( 1 + ( $e * sin( $phi[$i-1] ) ) ) / ( 1 - ( $e * sin( $phi[$i-1] ) ) );
|
||||
$phi[$i] = 2 * atan ( pow ($temp, ($e/2)) * exp ($L) ) - pi()/2;
|
||||
}
|
||||
while (abs($phi[$i] - $phi[$i - 1]) >= $epsilon);
|
||||
|
||||
return $phi[$i];
|
||||
return $phi[$i];
|
||||
}
|
||||
|
||||
/** Transformation de coordonnées en projection conique conforme de Lambert, en coordonnées géographiques
|
||||
** @param double $X Coordonnée X en projection conique conforme de Lambert du point
|
||||
** @param double $Y Coordonnée Y en projection conique conforme de Lambert du point
|
||||
** @param double $n Exposant de la projection
|
||||
** @param double $c Constante de la projection
|
||||
** @param double $Xs Coordonnée Xs en projection du pôle
|
||||
** @param double $Ys Coordonnée Ys en projection du pôle
|
||||
** @param double $lambdac Longitude de l'origine par rapport au méridien origine
|
||||
** @param double $e Première excentricité de l'ellipsoïde
|
||||
** @param double $epsilon Tolérance de convergence
|
||||
** @return array lambda Longitude par rapport au méridien origine
|
||||
** phi Latitude
|
||||
**/
|
||||
function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
|
||||
$R = sqrt( pow(($X - $Xs),2) + pow(($Y - $Ys),2) );
|
||||
$gamma = atan(($X - $Xs)/($Ys - $Y));
|
||||
@ -62,6 +76,9 @@ function ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon) {
|
||||
return $coords;
|
||||
}
|
||||
|
||||
/** Transformation des coordonnées géographiques ellipsoïdales en coordonnées cartésiennes
|
||||
**
|
||||
**/
|
||||
function ALG0009($lambda,$phi,$he,$a,$e) {
|
||||
$N = ALG0021($phi,$a,$e);
|
||||
|
||||
@ -78,7 +95,7 @@ function ALG0009($lambda,$phi,$he,$a,$e) {
|
||||
return $coords;
|
||||
}
|
||||
|
||||
|
||||
/**/
|
||||
function ALG0012($X,$Y,$Z,$a,$e,$epsilon) {
|
||||
$lambda = atan ($Y/$X);
|
||||
|
||||
@ -105,7 +122,19 @@ function ALG0012($X,$Y,$Z,$a,$e,$epsilon) {
|
||||
return $coords;
|
||||
}
|
||||
|
||||
/** Transformation d'un jeu de 7 paramètres entre 2 systèmes géodésiques
|
||||
** @param double $Tx Translation suivant l'axe des X (de 1 vers 2)
|
||||
** @param double $Ty Translation suivant l'axe des Y (de 1 vers 2)
|
||||
** @param double $Tz Translation suivant l'axe des Z (de 1 vers 2)
|
||||
** @param double $D Facteur d'échelle de 1 vers 2
|
||||
** @param double $Rx Angle de rotation autour de l'axe des X en radian (de 1 vers 2)
|
||||
** @param double $Ry Angle de rotation autour de l'axe des Y en radian (de 1 vers 2)
|
||||
** @param double $Rz Angle de rotation autour de l'axe des Z en radian (de 1 vers 2)
|
||||
** @param double $U Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 1 : U=(Ux,Uy,Uz)
|
||||
** @return array Vecteur de coordonnées cartésiennes tridimensionnelles dans le système 2, V=(Vx,Vy,Vz)
|
||||
*/
|
||||
function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
|
||||
$V=array();
|
||||
$V['X'] = $Tx + $U['X'] * (1 + $D) + $U['Z'] * $Ry - $U['Y'] * $Rz;
|
||||
$V['Y'] = $Ty + $U['Y'] * (1 + $D) + $U['X'] * $Rz - $U['Z'] * $Rx;
|
||||
$V['Z'] = $Tz + $U['Z'] * (1 + $D) + $U['Y'] * $Rx - $U['X'] * $Ry;
|
||||
@ -113,6 +142,10 @@ function ALG0013($Tx,$Ty,$Tz,$D,$Rx,$Ry,$Rz,$U) {
|
||||
return $V;
|
||||
}
|
||||
|
||||
/** Détermination des paramètres de calcul d'une projection Lambert conique
|
||||
** dans le cas tangent, avec ou sans facteur d'échelle en fonction des paramètres de définition usuels
|
||||
** @return array n, C, lambdac, Xs, Ys
|
||||
**/
|
||||
function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
|
||||
$lambdac = $lambda0;
|
||||
$n = sin($phi0);
|
||||
@ -131,103 +164,101 @@ function ALG0019($lambda0,$phi0,$k0,$X0,$Y0,$a,$e) {
|
||||
|
||||
}
|
||||
|
||||
/** Calcul de la grande normale de l'ellipsoïde
|
||||
** @param double $phi Latitude
|
||||
** @param double $a Demi-grand axe de l'ellipsoïde
|
||||
** @param double $e Première excentricité de l'ellipsoïde
|
||||
** @return double
|
||||
**/
|
||||
function ALG0021($phi,$a,$e) {
|
||||
$N = $a/sqrt( 1 - $e * $e * sin($phi) * sin($phi) );
|
||||
return $N;
|
||||
|
||||
}
|
||||
|
||||
/** Calcul des constantes d'une projection Lambert conique conforme dans le cas sécant
|
||||
** @param double $lambda0 Longitude origine en radian par rapport au méridien origine
|
||||
** @param double $phi0 Latitude origine
|
||||
** @param double $X0 Coordonnée X en projection du point origine
|
||||
** @param double $Y0 Coordonnée Y en projection du point origine
|
||||
** @param double $phi1 Latitude en radian du 1er parallèle automécoïque
|
||||
** @param double $phi2 Latitude en radian du 2ème parallèle automécoïque
|
||||
** @param double $a Demi-grand axe de l'ellipsoïde
|
||||
** @param double $e Première excentricité de l'ellipsoïde
|
||||
** @return array n, C, lambdac, Xs, Ys
|
||||
**/
|
||||
function ALG0054($lambda0,$phi0,$X0,$Y0,$phi1,$phi2,$a,$e) {
|
||||
$lambdac = $lambda0;
|
||||
$n = ( (log( (ALG0021($phi2,$a,$e)*cos($phi2))/(ALG0021($phi1,$a,$e)*cos($phi1)) ))/(ALG0001($phi1,$e) - ALG0001($phi2,$e) ));
|
||||
$C = ((ALG0021($phi1,$a,$e)* cos($phi1))/$n) * exp($n * ALG0001($phi1,$e));
|
||||
|
||||
|
||||
if ($phi0 == (pi()/2))
|
||||
{
|
||||
if ($phi0 == (pi()/2)) {
|
||||
$Xs = $X0;
|
||||
$Ys = $Y0;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo ('coucou');
|
||||
} else {
|
||||
$Xs = $X0;
|
||||
$Ys = $Y0 + $C * exp(-1 * $n * ALG0001($phi0,$e));
|
||||
}
|
||||
|
||||
$tab ['e'] = $e;
|
||||
$tab ['n'] = $n;
|
||||
$tab ['C'] = $C;
|
||||
$tab ['lambdac'] = $lambdac;
|
||||
$tab ['Xs'] = $Xs;
|
||||
$tab ['Ys'] = $Ys;
|
||||
|
||||
$tab=array( 'e' => $e,
|
||||
'n' => $n,
|
||||
'C' => $C,
|
||||
'lambdac' => $lambdac,
|
||||
'Xs'=> $Xs,
|
||||
'Ys'=> $Ys);
|
||||
return $tab;
|
||||
|
||||
}
|
||||
|
||||
function Lambert2WGS84($X,$Y,$orig='LIIe') {
|
||||
function Lambert2WGS84($X,$Y,$orig='L93') {
|
||||
$epsilon = 0.00000000001;
|
||||
|
||||
switch ($orig)
|
||||
{
|
||||
case 'LII' :
|
||||
$n = 0.7289686274;
|
||||
$c = 11745793.39;
|
||||
$Xs = 600000;
|
||||
$Ys = 6199695.768;
|
||||
$lambdac = 0.04079234433; // pour greenwich
|
||||
$lambdac = 0.04079234433; // pour greenwich
|
||||
$e = 0.08248325676; // première excentricité de l ellipsoïde Clarke 1880 français
|
||||
$he = 100;
|
||||
$a = 6378249.2; // demi-grand axe de l'ellipsoide
|
||||
|
||||
$e = 0.08248325676; //(première excentricité de l ellipsoïde Clarke 1880 français)
|
||||
|
||||
$he = 100;
|
||||
$a = 6378249.2;
|
||||
|
||||
$Tx = -168;
|
||||
$Ty = -60;
|
||||
$Tz = +320;
|
||||
$D = 0;
|
||||
$Rx = $Ry = $Rz = 0;
|
||||
break;
|
||||
$Tx = -168;
|
||||
$Ty = -60;
|
||||
$Tz = +320;
|
||||
$D = 0;
|
||||
$Rx = $Ry = $Rz = 0;
|
||||
|
||||
case 'L93' :
|
||||
$n = 0.7256077650;
|
||||
$c = 11745255.426;
|
||||
$Xs = 700000;
|
||||
$Ys = 12655612.050;
|
||||
$lambdac = 0.04079234433; // pour greenwich
|
||||
|
||||
$e = 0.08248325676; //(première excentricité de l ellipsoïde Clarke 1880 français)
|
||||
|
||||
$he = 100;
|
||||
$a = 6378249.2;
|
||||
|
||||
$Tx = -168;
|
||||
$Ty = -60;
|
||||
$Tz = +320;
|
||||
$D = 0;
|
||||
$Rx = $Ry = $Rz = 0;
|
||||
break;
|
||||
|
||||
case 'LIIe' :
|
||||
default:
|
||||
$n = 0.7289686274;
|
||||
$c = 11745793.39;
|
||||
$Xs = 600000;
|
||||
$Ys = 8199695.768;
|
||||
$lambdac = 0.04079234433; // pour greenwich
|
||||
|
||||
$e = 0.08248325676; //(première excentricité de l ellipsoïde Clarke 1880 français)
|
||||
|
||||
$he = 100;
|
||||
$a = 6378249.2;
|
||||
|
||||
$Tx = -168;
|
||||
$Ty = -60;
|
||||
$Tz = +320;
|
||||
$D = 0;
|
||||
$Rx = $Ry = $Rz = 0;
|
||||
$orig=strtoupper($orig);
|
||||
switch ($orig) {
|
||||
case 'LI':
|
||||
case 'L1': $n = 0.7604059656;
|
||||
$c = 11603796.98;
|
||||
$Xs = 600000;
|
||||
$Ys = 5657616.674;
|
||||
break;
|
||||
case 'LII':
|
||||
case 'LIIE':
|
||||
case 'L2E':
|
||||
case 'L2': $n = 0.7289686274;
|
||||
$c = 11745793.39;
|
||||
$Xs = 600000;
|
||||
if ($orig=='L2E' || $orig=='LIIE')
|
||||
$Ys = 8199695.768;
|
||||
else $Ys = 6199695.768;
|
||||
break;
|
||||
case 'LIII':
|
||||
case 'L3': $n = 0.6959127966;
|
||||
$c = 11947992.52;
|
||||
$Xs = 600000;
|
||||
$Ys = 6791905.085;
|
||||
break;
|
||||
case 'LIV':
|
||||
case 'L4': $n = 0.6712679322;
|
||||
$c = 12136281.99;
|
||||
$Xs = 234.358;
|
||||
$Ys = 7239161.542;
|
||||
break;
|
||||
case 'L93':
|
||||
default: $n = 0.7256077650;
|
||||
$c = 11745255.426;
|
||||
$Xs = 700000;
|
||||
$Ys = 12655612.050;
|
||||
break;
|
||||
}
|
||||
|
||||
$coords = ALG0004($X,$Y,$n,$c,$Xs,$Ys,$lambdac,$e,$epsilon);
|
||||
@ -381,6 +412,84 @@ print_r(Lambert2WGS84(591647.56,2426659.65));
|
||||
print_r(geos2lambert(48.838245134184 ,2.2227849815878));
|
||||
**/
|
||||
|
||||
/** The point-in-polygon algorythm allows you to programmatically check if a particular point is inside a polygon or outside of it. A common way to tackle the problem is to count how many times a line drawn from the point (in any direction) intersects with the polygon boundary. If they intersect an even number of times, then the point is outside.
|
||||
I used that approach in this PHP code, which doesn't contain detailed comments yet. A few people asked if I could post it anyway, so there it is... I'll try to add some more comment as soon as I have some spare time.
|
||||
|
||||
The returned values are:
|
||||
"vertex" if the point sits exactly on a vertex AND you left true as the value for $pointOnVertex.
|
||||
"boundary" if the point sits on the boundary. If $pointOnVertex is false, then "boundary" is also returned if the point is on a vertex.
|
||||
"inside" if the point is inside the polygon.
|
||||
"outside" if, you guessed it, the point is outside of the polygon.
|
||||
*/
|
||||
class pointLocation {
|
||||
|
||||
var $pointOnVertex = true; // Check if the point sits exactly on one of the vertices
|
||||
|
||||
function pointLocation() {
|
||||
}
|
||||
|
||||
function pointInPolygon($point, $polygon, $pointOnVertex = true) {
|
||||
$this->pointOnVertex = $pointOnVertex;
|
||||
|
||||
// Transform string coordinates into arrays with x and y values
|
||||
$point = $this->pointStringToCoordinates($point);
|
||||
$vertices = array();
|
||||
foreach ($polygon as $vertex) {
|
||||
$vertices[] = $this->pointStringToCoordinates($vertex);
|
||||
}
|
||||
//print_r($vertices);
|
||||
//die();
|
||||
// Check if the point sits exactly on a vertex
|
||||
if ($this->pointOnVertex == true && $this->pointOnVertex($point, $vertices) == true) {
|
||||
return "vertex";
|
||||
}
|
||||
|
||||
// Check if the point is inside the polygon or on the boundary
|
||||
$intersections = 0;
|
||||
$vertices_count = count($vertices);
|
||||
echo "vertices_count=$vertices_count".EOL;
|
||||
|
||||
for ($i=1; $i < $vertices_count; $i++) {
|
||||
$vertex1 = $vertices[$i-1];
|
||||
$vertex2 = $vertices[$i];
|
||||
if ($vertex1['y'] == $vertex2['y'] && $vertex1['y'] == $point['y'] && $point['x'] > min($vertex1['x'], $vertex2['x']) && $point['x'] < max($vertex1['x'], $vertex2['x'])) {
|
||||
// Check if point is on an horizontal polygon boundary
|
||||
return "boundary";
|
||||
}
|
||||
if ($point['y'] > min($vertex1['y'], $vertex2['y']) && $point['y'] <= max($vertex1['y'], $vertex2['y']) && $point['x'] <= max($vertex1['x'], $vertex2['x']) && $vertex1['y'] != $vertex2['y']) {
|
||||
$xinters = ($point['y'] - $vertex1['y']) * ($vertex2['x'] - $vertex1['x']) / ($vertex2['y'] - $vertex1['y']) + $vertex1['x'];
|
||||
if ($xinters == $point['x']) {
|
||||
// Check if point is on the polygon boundary (other than horizontal)
|
||||
return "boundary";
|
||||
}
|
||||
if ($vertex1['x'] == $vertex2['x'] || $point['x'] <= $xinters) {
|
||||
$intersections++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// If the number of edges we passed through is even, then it's in the polygon.
|
||||
echo "intersections=$intersections".EOL;
|
||||
if ($intersections % 2 != 0) {
|
||||
return "inside";
|
||||
} else {
|
||||
return "outside";
|
||||
}
|
||||
}
|
||||
|
||||
function pointOnVertex($point, $vertices) {
|
||||
foreach($vertices as $vertex) {
|
||||
if ($point == $vertex) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function pointStringToCoordinates($pointString) {
|
||||
$coordinates = explode(' ', $pointString);
|
||||
return array('x'=>$coordinates[0], 'y'=>$coordinates[1]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class MMap {
|
||||
|
||||
@ -400,7 +509,10 @@ class MMap {
|
||||
public $latitudeDeg= 0; // Latitude en Dégrés
|
||||
public $longitudeDec= 0; // Longitude en Décimal
|
||||
public $longitudeDeg= 0; // Longitude en Dégrés
|
||||
|
||||
public $altitude = NULL; // Altitude en mètres
|
||||
public $l93x = NULL; // Lambert 93, coordonnée X
|
||||
public $l93y = NULL; // Lambert 93, coordonnée Y
|
||||
|
||||
public $precision = 0;
|
||||
public $adresseValidee='';
|
||||
public $enCache=false;
|
||||
@ -607,7 +719,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
|
||||
$this->codeRetourG=@getTextInHtml($this->body, '<Status>', '<code>', '/code>');
|
||||
$this->precision=@getTextInHtml($this->body, '<AddressDetails Accuracy', '="', '" ');
|
||||
|
||||
$this->adresseValidee=strtoupper(str_replace(''', "'", htmlspecialchars_decode(@getTextInHtml($this->body, '<Placemark', '<address>', '</address>'),ENT_QUOTES)));
|
||||
$this->adresseValidee=strtoupper(str_replace(''', "'", 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];
|
||||
@ -640,24 +752,56 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/** Géocodage d'une adresse
|
||||
** 0 Unknown location. (Since 2.59)
|
||||
1 Country level accuracy. (Since 2.59)
|
||||
2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59)
|
||||
3 Sub-region (county, municipality, etc.) level accuracy. (Since 2.59)
|
||||
4 Town (city, village) level accuracy. (Since 2.59)
|
||||
5 Post code (zip code) level accuracy. (Since 2.59)
|
||||
6 Street level accuracy. (Since 2.59)
|
||||
7 Intersection level accuracy. (Since 2.59)
|
||||
8 Address level accuracy. (Since 2.59)
|
||||
**/
|
||||
function geoCodeAdresse($adrNum, $adrIndRep, $adrTypeVoieCourt, $adrTypeVoieLong, $adrLibVoie, $cp, $ville='', $pays='France', $codeRivoli='') {
|
||||
$iDb=new WDB();
|
||||
$tabRep=array();
|
||||
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoieLong $adrLibVoie")));
|
||||
$ville=addslashes($ville);
|
||||
$ret=$iDb->select( 'zonageXY', 'lat, lon, precis, adresseValidee, dateInsert', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
|
||||
$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);
|
||||
if (count($ret)>0) {
|
||||
$zonage=$ret[0];
|
||||
$this->precision=$zonage['precis']*1;
|
||||
$this->adresseValidee=strtoupper($zonage['adresseValidee']);
|
||||
$this->latitudeDec=$zonage['lat']*1;
|
||||
$this->longitudeDec=$zonage['lon']*1;
|
||||
$this->l93x=$zonage['l93_x'];
|
||||
$this->l93y=$zonage['l93_y'];
|
||||
$this->altitude=$zonage['alt'];
|
||||
if ($this->altitude==NULL && $this->precision>5) {
|
||||
if ($this->accesDist) {
|
||||
$alt=$this->getAltitude($this->latitudeDec,$this->longitudeDec);
|
||||
$this->altitude=$alt['alt'];
|
||||
}
|
||||
}
|
||||
if ($this->l93x==NULL && $this->precision>5) {
|
||||
$tmp=geos2lambert93($this->latitudeDec,$this->longitudeDec);
|
||||
$this->l93x=$tmp['x_93'];
|
||||
$this->l93y=$tmp['y_93'];
|
||||
}
|
||||
if ($this->altitude<>NULL || $this->l93x<>NULL) {
|
||||
$tabUpdate=array( 'alt'=>$this->altitude,
|
||||
'l93_x'=>$this->l93x,
|
||||
'l93_y'=>$this->l93y);
|
||||
//'dateUpdate'=>DATETIME,
|
||||
$iDb->update('zonageXY', $tabUpdate, "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'");
|
||||
}
|
||||
|
||||
$this->latitudeDeg=dec2dms($this->latitudeDec);
|
||||
$this->longitudeDeg=dec2dms($this->longitudeDec);
|
||||
$this->enCache=true;
|
||||
$ligne='En base : '.print_r($zonage, true);
|
||||
} else {
|
||||
} elseif ($this->accesDist) {
|
||||
$this->enCache=false;
|
||||
$retM=$retY=false;
|
||||
if (substr($codeRivoli,0,3)*1==971) $pays='Guadeloupe';
|
||||
@ -677,12 +821,21 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
|
||||
die("Code Rivoli non géré : '$codeRivoli'".EOL);
|
||||
|
||||
$retG=$this->geoCodeAdrCpVilleG($adresse, $cp, $ville, $pays);
|
||||
/* if ($this->codeRetourG==620 || $this->precision==0)
|
||||
if ($this->codeRetourG==620)
|
||||
$retY=$this->geoCodeAdrCpVilleY("$adresse, $cp $ville");*/
|
||||
if ($this->codeRetourG==620 || $this->precision==0)
|
||||
/*if ($this->codeRetourG==620)
|
||||
$retY=$this->geoCodeAdrCpVilleY("$adresse, $cp $ville");
|
||||
|
||||
if ($this->codeRetourY==620 || $this->codeRetourY==503 || $this->precision==0)
|
||||
if ($this->codeRetourY==620 || $this->codeRetourY==503 || $this->precision==0)*/
|
||||
$retM=$this->geoCodeAdrCpVilleM($adresse, $cp, $ville, $pays);
|
||||
|
||||
// On récupère l'altitude
|
||||
if ($this->precision>5) {
|
||||
$alt=$this->getAltitude($this->latitudeDec,$this->longitudeDec);
|
||||
$this->altitude=$alt['alt'];
|
||||
}
|
||||
$tmp=geos2lambert93($this->latitudeDec,$this->longitudeDec);
|
||||
$this->l93x=$tmp['x_93'];
|
||||
$this->l93y=$tmp['y_93'];
|
||||
|
||||
if ($retG || $retY || $retM) {
|
||||
$adresse=stripslashes(strtoupper(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoieLong $adrLibVoie"))));
|
||||
@ -698,6 +851,9 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
|
||||
'adresseValidee'=>$this->adresseValidee,
|
||||
'lat'=>$this->latitudeDec,
|
||||
'lon'=>$this->longitudeDec,
|
||||
'l93_x'=>$this->l93x,
|
||||
'l93_y'=>$this->l93y,
|
||||
'alt'=>$this->altitude,
|
||||
'precis'=>$this->precision,
|
||||
'source'=>$this->geocodeur,
|
||||
'dateInsert'=>DATETIME,
|
||||
@ -716,9 +872,7 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
|
||||
$ligne="Erreur : $adrNum, $adrIndRep, $adrTypeVoieCourt, $adrTypeVoieLong, $adrLibVoie, $cp, $ville, $pays, $codeRivoli, ".$this->body;
|
||||
}
|
||||
}
|
||||
/*$fp=fopen(LOG_PATH.'/accesGMap.log', 'a');
|
||||
fwrite($fp,$ligne.EOL);
|
||||
fclose($fp);*/
|
||||
|
||||
}
|
||||
/* if (latnorth == 'S') latdir='-'
|
||||
if (lonwest == 'W') longdir='-'
|
||||
@ -732,19 +886,27 @@ API keybing = 56D6CBA671C986D3EA11B1B48F97507BE9B46999
|
||||
if (gmx < 0) gmx=gmx+Math.pow(2,32)*/
|
||||
|
||||
|
||||
/** Retourne la distance en kilomètres entre 2 points à la surface de la terre
|
||||
** Calcul effectué avec la sphère « GRS80 » de rayon R = 6378,187 km
|
||||
** Autre sphère possible : « Picard » de rayon R = 6371,598 km
|
||||
/** Retourne la distance en kilomètres entre 2 coordonnées GPS à la surface de la terre
|
||||
**
|
||||
** @param double $latA Latitude du point A en décimal
|
||||
** @param double $lonA Longitude du point A en décimal
|
||||
** @param double $latB Latitude du point B en décimal
|
||||
** @param double $lonB Longitude du point B en décimal
|
||||
** @param double $latA Latitude du point A en décimal
|
||||
** @param double $lonA Longitude du point A en décimal
|
||||
** @param double $latB Latitude du point B en décimal
|
||||
** @param double $lonB Longitude du point B en décimal
|
||||
** @param string $sphere Type de sphère
|
||||
** @return unknown
|
||||
**/
|
||||
function distance($latA=0, $lonA=0, $latB=0, $lonB=0) {
|
||||
//s(AB) = arc cos (sinjA sinjB + cos jA cosjB cosdl)
|
||||
// avec dl = lB - lA
|
||||
function distance($latA=0, $lonA=0, $latB=0, $lonB=0, $sphere='GRS80') {
|
||||
switch ($sphere) {
|
||||
case 'HAYFORD': $R=6378.388; // Demi grand axe ou Rayon de la sphère International Hayford 1909 en Kms
|
||||
$f=1/297; // Aplatissement
|
||||
break;
|
||||
case 'PICARD': $R=6371.598; // Demi grand axe ou Rayon de la sphère Picard en Kms
|
||||
break;
|
||||
case 'GRS80':
|
||||
default: $R=6378.137; // Demi grand axe ou Rayon de la sphère GRS80 en Kms
|
||||
$f=1/298.257222101;
|
||||
break;
|
||||
}
|
||||
$a=pi()/180;
|
||||
$e=$latA*$a;
|
||||
$f=$lonA*$a;
|
||||
@ -753,26 +915,107 @@ function distance($latA=0, $lonA=0, $latB=0, $lonB=0) {
|
||||
|
||||
$j=acos(cos($e)*cos($g)*cos($f)*cos($h) + cos($e)*sin($f)*cos($g)*sin($h) + sin($e)*sin($g));
|
||||
|
||||
return round(6378.187*$j,3); // div par 1.852 ==> résultat en miles nautiques
|
||||
return round($R*$j,3); // div par 1.852 ==> résultat en miles nautiques
|
||||
}
|
||||
/*function distance(lat_a, lon_a, lat_b, lon_b)
|
||||
{
|
||||
a = Math.PI / 180;
|
||||
lat1 = lat_a * a;
|
||||
lat2 = lat_b * a;
|
||||
lon1 = lon_a * a;
|
||||
lon2 = lon_b * a;
|
||||
|
||||
t1 = Math.sin(lat1) * Math.sin(lat2);
|
||||
t2 = Math.cos(lat1) * Math.cos(lat2);
|
||||
t3 = Math.cos(lon1 - lon2);
|
||||
t4 = t2 * t3;
|
||||
t5 = t1 + t4;
|
||||
rad_dist = Math.atan(-t5/Math.sqrt(-t5 * t5 +1)) + 2 * Math.atan(1);
|
||||
|
||||
return (rad_dist * 3437.74677 * 1.1508) * 1.6093470878864446;
|
||||
/** Retourne la distance en mètres entre 2 points sur une surface plane
|
||||
** @param double $x1 Coordonnée X du point 1 en décimal
|
||||
** @param double $y1 Coordonnée Y du point 1 en décimal
|
||||
** @param double $x2 Coordonnée X du point 2 en décimal
|
||||
** @param double $y2 Coordonnée Y du point 2 en décimal
|
||||
** @return double
|
||||
**/
|
||||
function distanceLambert($x1,$y1,$x2,$y2) {
|
||||
return sqrt ( pow($x1-$x2,2) + (pow($y1-$y2,2) ) );
|
||||
}
|
||||
|
||||
/** Retourne l'altitude en mètres d'un point GPS. Shuttle Radar Topography Mission (SRTM) elevation data (resolution 90mx90m)
|
||||
** @url http://ws.geonames.org/export/web-services.html
|
||||
** @param double $tabLatLon Latitude du point ou Tableau de Points avec latitudes longitudes array('lat'=>x,'lon'=>y)
|
||||
** @param double $lon Longitude ou false si tableau
|
||||
** @return double
|
||||
**/
|
||||
function getAltitude($tabLatLon,$lon=false) {
|
||||
if ($lon) {
|
||||
/*Elevation - SRTM3
|
||||
Shuttle Radar Topography Mission (SRTM) elevation data. SRTM consisted of a specially modified radar system that flew onboard the Space Shuttle Endeavour during an 11-day mission in February of 2000. The dataset covers land areas between 60 degrees north and 56 degrees south.
|
||||
This web service is using SRTM3 data with data points located every 3-arc-second (approximately 90 meters) on a latitude/longitude grid. Documentation : Nasa
|
||||
|
||||
Webservice Type : REST
|
||||
Url : api.geonames.org/srtm3?
|
||||
Parameters : lat,lng;
|
||||
sample area: ca 90m x 90m Result : a single number giving the elevation in meters according to srtm3, ocean areas have been masked as "no data" and have been assigned a value of -32768
|
||||
Example http://api.geonames.org/srtm3?lat=50.01&lng=10.2&username=demo
|
||||
|
||||
This service is also available in XML and JSON format :api.geonames.org/srtm3XML?lat=50.01&lng=10.2&username=demo api.geonames.org/srtm3JSON?lat=50.01&lng=10.2&username=demo
|
||||
|
||||
The text version of the service also accepts a list of lat/lng for the parameters 'lats' and 'lngs'. On the free server the number of points per call is limited to 20, for the premium service the limit is 2000:
|
||||
|
||||
[0] => the daily limit of 30000 credits 78.31.45.206 has been exceeded. Please throttle your requests or use the commercial service
|
||||
[1] => daily
|
||||
[2] => 30000
|
||||
[3] => 78.31.45.206
|
||||
|
||||
*/
|
||||
$url="http://ws.geonames.org/srtm3?lat=$tabLatLon&lng=$lon";
|
||||
$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)) {
|
||||
print_r($matches);
|
||||
$alt=NULL;
|
||||
} elseif ($page['code']<>200 || $alt==-32768) {
|
||||
if ($page['code']<>200) echo '==========================>'. $page['code']. '<=================================='.EOL;
|
||||
$alt=NULL;
|
||||
}
|
||||
return array('lat'=>$tabLatLon,'lon'=>$lon,'alt'=>$alt);
|
||||
} else {
|
||||
$LatLon='';
|
||||
$Lats='';
|
||||
$Lons='';
|
||||
foreach ($tabLatLon as $i=>$latlon) {
|
||||
$lat=$latlon['lat'];
|
||||
$lon2=$latlon['lon'];
|
||||
if ($i>0) {
|
||||
$LatLon.="%0D%0A";
|
||||
$Lats.=',';
|
||||
$Lons.=',';
|
||||
}
|
||||
$LatLon.="$lat%2C$lon2";
|
||||
$Lats.=$lat;
|
||||
$Lons.=$lon;
|
||||
}
|
||||
// http://api.geonames.org/srtm3?lats=50.01,51.01&lngs=10.2,11.2&username=demo
|
||||
/* $url="http://api.geonames.org/srtm3?lats=$Lats&lng=$Lons&username=demo";
|
||||
$page=getUrl($url, '', '', '', false, '', '', 3);
|
||||
$alt=trim($page['body']);
|
||||
die($alt);
|
||||
if ($page['code']<>200 || $alt==-32768) {
|
||||
if ($page['code']<>200) echo '==========================>'. $page['code']. '<=================================='.EOL;
|
||||
$alt=NULL;
|
||||
}
|
||||
return array('lat'=>$tabLatLon,'lon'=>$lon,'alt'=>$alt);
|
||||
*/
|
||||
}
|
||||
|
||||
$url='http://www.fredorando.fr/Pages/altitude.php';
|
||||
$post=array('LatLon'=>$LatLon,'qui'=>'');
|
||||
$page=getUrl($url, '', $post, '', false, '', '', 3);
|
||||
$body=$page['body'];
|
||||
$tabRet=false;
|
||||
if (preg_match('/<BODY>\s+IP\:(?:.*)<br\/>\s+url\:(?:.*)<br\/>(?:.*)<br\/>(?:.*)<br\/>(.*)<br\/>(?:.*)<a href="http/Uis', $body, $matches)) {
|
||||
$tabRet=array();
|
||||
$tabTmp=explode('<br />', $matches[1]);
|
||||
foreach($tabTmp as $i=>$ret) {
|
||||
$ret2=explode(',',trim($ret));
|
||||
$alt=$ret2[2];
|
||||
if ($alt==-32768) $alt=NULL;
|
||||
$tabRet[$i]=@array('lat'=>$ret2[0],'lon'=>$ret2[1],'alt'=>$alt);
|
||||
}
|
||||
unset($tabRet[$i]);
|
||||
}
|
||||
if ($lon) return $tabRet[0];
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
}
|
||||
if ( !function_exists('json_decode') ){
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,86 +5,87 @@ class MPrivileges {
|
||||
private $iDb;
|
||||
public $tabCodeAR=array(
|
||||
'00'=>"Surveillance RCS posée/Demande de suppression acceptée/Surveillance PRIV posée : pas d'inscription existante sur le dossier",
|
||||
'01'=>"Surveillance PRIV posée : inscription existante sur le dossier",
|
||||
'01'=>"Surveillance PRIV posée : inscription existante sur le dossier",
|
||||
'02'=>"GAGI,GREFTEL,INTERGREFFE-code 1-surveillance acceptée mais qui n'a pas encore fait l'objet d'un AR",
|
||||
'03'=>"GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR",
|
||||
'04'=>"GAGI-surveillance en attente envoyée au GAGI",
|
||||
'05'=>"Surveillance en attente de validation au greffe",
|
||||
'06'=>"Erreur de chargement",
|
||||
'10'=>"Surveillance impossible car société radiée",
|
||||
'11'=>"Surveillance impossible car société transférée dans un autre greffe",
|
||||
'12'=>"SIREN inconnu",
|
||||
'13'=>"Raison sociale erronée",
|
||||
'14'=>"Adresse erronée",
|
||||
'15'=>"Surveillance impossible sur un établissement secondaire",
|
||||
'16'=>"Demande incomplète ou incorrecte",
|
||||
'17'=>"Surveillance Privilège impossible",
|
||||
'18'=>"Surveillance impossible par le greffe",
|
||||
'19'=>"Surveillance RCS impossible",
|
||||
'20'=>"Cette surveillance concerne un autre Greffe",
|
||||
'21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)",
|
||||
'22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
|
||||
'23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
|
||||
'24'=>"Surveillance impossible car société en liquidation judiciaire",
|
||||
'25'=>"Greffe inconnu",
|
||||
'26'=>"Millésime bilan à surveiller incorrect",
|
||||
'27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)",
|
||||
'28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
|
||||
'30'=>"Siren absent (ne concerne que les surveillances de type WebService)",
|
||||
'31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)",
|
||||
'50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé",
|
||||
'51'=>"Etablissement non trouvé",
|
||||
'52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
|
||||
'53'=>"le siren est déjà sous surveillance",
|
||||
'54'=>"DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement",
|
||||
'55'=>"DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes",
|
||||
'56'=>"Le siren est déjà en attente de validation par le greffe",
|
||||
'57'=>"Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan)",
|
||||
'58'=>"Surveillance impossible sur un agent commercial (statut P ou M)",
|
||||
'88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
|
||||
'10'=>"Surveillance impossible car société radiée",
|
||||
'11'=>"Surveillance impossible car société transférée dans un autre greffe",
|
||||
'12'=>"SIREN inconnu",
|
||||
'13'=>"Raison sociale erronée",
|
||||
'14'=>"Adresse erronée",
|
||||
'15'=>"Surveillance impossible sur un établissement secondaire",
|
||||
'16'=>"Demande incomplète ou incorrecte",
|
||||
'17'=>"Surveillance Privilège impossible",
|
||||
'18'=>"Surveillance impossible par le greffe",
|
||||
'19'=>"Surveillance RCS impossible",
|
||||
'20'=>"Cette surveillance concerne un autre Greffe",
|
||||
'21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)",
|
||||
'22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
|
||||
'23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
|
||||
'24'=>"Surveillance impossible car société en liquidation judiciaire",
|
||||
'25'=>"Greffe inconnu",
|
||||
'26'=>"Millésime bilan à surveiller incorrect",
|
||||
'27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)",
|
||||
'28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
|
||||
'30'=>"Siren absent (ne concerne que les surveillances de type WebService)",
|
||||
'31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)",
|
||||
'50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé",
|
||||
'51'=>"Etablissement non trouvé",
|
||||
'52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
|
||||
'53'=>"le siren est déjà sous surveillance",
|
||||
'54'=>"DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement",
|
||||
'55'=>"DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes",
|
||||
'56'=>"Le siren est déjà en attente de validation par le greffe",
|
||||
'57'=>"Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan)",
|
||||
'58'=>"Surveillance impossible sur un agent commercial (statut P ou M)",
|
||||
'59'=>'Surveillance impossible sur une société non RCS ?',
|
||||
'88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
|
||||
'99'=>"Surveillance impossible pour raisons à examiner",
|
||||
);
|
||||
|
||||
|
||||
public $tabTypePriv=array(
|
||||
'01'=>"NANTISSEMENTS DU FONDS DE COMMERCE",
|
||||
'02'=>"PRIVILEGES DE VENDEUR ET ACTION RESOLUTOIRE",
|
||||
'02'=>"PRIVILEGES DE VENDEUR ET ACTION RESOLUTOIRE",
|
||||
'03'=>"PRIVILEGES DE LA SECURITE SOCIALE ET DES REGIMES COMPLEMENTAIRES",
|
||||
'04'=>"PRIVILEGES DU TRESOR PUBLIC",
|
||||
'05'=>"OPERATIONS DE CREDIT-BAIL EN MATIERE MOBILIERE",
|
||||
'06'=>"PROTETS",
|
||||
'07'=>"NANTISSEMENTS DE L'OUTILLAGE, MATERIEL ET EQUIPEMENT",
|
||||
'08'=>"WARRANTS (HOTELIER, PETROLIER, INDUSTRIEL OU AGRICOLE)",
|
||||
'10'=>"NANTISSEMENTS DE PARTS DE SOCIETE CIVILE",
|
||||
'17'=>"PUBLICITES DE CONTRATS DE LOCATION",
|
||||
'18'=>"PUBLICITES DE CLAUSES DE RESERVE DE PROPRIETE",
|
||||
'19'=>"PRETS ET DELAIS",
|
||||
'20'=>"DECLARATIONS DE CREANCES",
|
||||
'21'=>"NANTISSEMENTS JUDICIAIRES",
|
||||
'23'=>"BIENS INALIENABLES",
|
||||
'24'=>"HYPOTHEQUES FLUVIALES",
|
||||
'25'=>"NANTISSEMENTS DU FONDS ARTISANAL",
|
||||
'27'=>"GAGE SANS DEPOSSESSION",
|
||||
'28'=>"GAGE DES STOCKS",
|
||||
'05'=>"OPERATIONS DE CREDIT-BAIL EN MATIERE MOBILIERE",
|
||||
'06'=>"PROTETS",
|
||||
'07'=>"NANTISSEMENTS DE L'OUTILLAGE, MATERIEL ET EQUIPEMENT",
|
||||
'08'=>"WARRANTS (HOTELIER, PETROLIER, INDUSTRIEL OU AGRICOLE)",
|
||||
'10'=>"NANTISSEMENTS DE PARTS DE SOCIETE CIVILE",
|
||||
'17'=>"PUBLICITES DE CONTRATS DE LOCATION",
|
||||
'18'=>"PUBLICITES DE CLAUSES DE RESERVE DE PROPRIETE",
|
||||
'19'=>"PRETS ET DELAIS",
|
||||
'20'=>"DECLARATIONS DE CREANCES",
|
||||
'21'=>"NANTISSEMENTS JUDICIAIRES",
|
||||
'23'=>"BIENS INALIENABLES",
|
||||
'24'=>"HYPOTHEQUES FLUVIALES",
|
||||
'25'=>"NANTISSEMENTS DU FONDS ARTISANAL",
|
||||
'27'=>"GAGE SANS DEPOSSESSION",
|
||||
'28'=>"GAGE DES STOCKS",
|
||||
);
|
||||
|
||||
|
||||
function __construct() {
|
||||
$this->iDb=new WDB();
|
||||
}
|
||||
|
||||
|
||||
function getPrivilegesDetail($siren, $tabTypes=array('03','04')) {
|
||||
|
||||
|
||||
$strTypes=implode("','", $tabTypes);
|
||||
if ($strTypes<>'') $strTypes=" AND i.insType IN ('$strTypes') ";
|
||||
$fields="i.id, i.dateEven, i.greffe , i.numDebiteur, i.sirenage, i.typeEven, i.dateFraiche, i.codeRev , i.debRaisonSociale , i.debSigle , i.debCiv , i.debNom , i.debPrenom , i.debConjoint , i.debUsage , i.debEnseigne , i.debActivite , i.debFj , i.debFjLib , i.debResidence , i.debNumVoie , i.debTypVoie , i.debLibVoie , i.debAdrComp , i.debCP , i.debVille , i.debPays , i.insType , i.insLib , i.insNum , i.insDate , i.insObjet , i.insMontant , i.insDev , i.insDateEch , i.insDateFin , i.insNanTx , i.insNanTitre , i.insNanOppo , i.insProNat , i.insProHui , i.insProRep , i.insNSCA , i.insNSCParts , i.insNSCSigni , i.creNom , i.creNumVoi, i.creTypVoi, i.creLibVoi, i.creAdrComp1, i.creAdrComp2, i.creCP, i.creVille, i.crePays, i.creAutres, i.radDate, i.radMention, i.radPartiel, i.radPartMt, i.radDev, i.radDiv, i.idFichier, i.dateInsert";
|
||||
$where ="i.siren=$siren $strTypes AND ( (i.insType='03' AND DATEDIFF(NOW(),i.insDate)<=900) /** Durée de vie PRIV Sécu **/ OR (i.insType='04' AND DATEDIFF(NOW(),i.insDate)<=1460) /** Durée de vie PRIV Trésor **/ )";
|
||||
$where.=" ORDER BY i.dateFraiche DESC, i.insType ASC, i.insDate ASC;";
|
||||
$tables="greffes_privileges i";
|
||||
|
||||
|
||||
$iRncs=new MRncs();
|
||||
$tabRet=array();
|
||||
$tabPriv=$this->iDb->select($tables, $fields, $where, true, MYSQL_ASSOC);
|
||||
foreach ($tabPriv as $i=>$priv) {
|
||||
if ($i>0 && $priv['dateFraiche']<>$dateFraiche) break;
|
||||
if ($i>0 && $priv['dateFraiche']<>$dateFraiche) break;
|
||||
$tabRet[]=array(
|
||||
'numDebiteur' =>$priv['numDebiteur'],
|
||||
'greffe' =>$priv['greffe'],
|
||||
@ -116,11 +117,11 @@ class MPrivileges {
|
||||
'creAutres' =>prepareString($priv['creAutres']),
|
||||
);
|
||||
/* debRaisonSociale , debSigle, debEnseigne
|
||||
debCiv, debNom, debPrenom , debConjoint, debUsage,
|
||||
debCiv, debNom, debPrenom , debConjoint, debUsage,
|
||||
debActivite , debFj, debFjLib
|
||||
debResidence, debNumVoie, debTypVoie, debLibVoie
|
||||
debAdrComp , debCP, debVille, debPays
|
||||
|
||||
|
||||
insNanTx, insNanTitre, insNanOppo,
|
||||
insProNat, insProHui, insProRep , insNSCA, insNSCParts, insNSCSigni
|
||||
*/
|
||||
@ -128,7 +129,7 @@ class MPrivileges {
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
function getPrivilegesCumul($siren, $tabTypes=array('03','04')) {
|
||||
$iRncs=new MRncs();
|
||||
$tabRet=array();
|
||||
@ -144,9 +145,9 @@ class MPrivileges {
|
||||
$tabRet[$priv['insType']]['dateMajSD'] =$priv['dateSD'];
|
||||
@$tabRet[$priv['insType']]['insCumul']+=$priv['insMontant'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ class MRncs {
|
||||
7800=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
|
||||
9100=>array('codeSd'=>'T', 'lib'=>'Conciliateur'),
|
||||
);
|
||||
|
||||
|
||||
public $tabDevises=array();
|
||||
public $tabPays=array();
|
||||
public $tabTribunaux=array();
|
||||
@ -50,7 +50,7 @@ class MRncs {
|
||||
public $cookie='';
|
||||
public $infoIMR=array();
|
||||
public $maxDemJour=10;
|
||||
|
||||
|
||||
function __construct() {
|
||||
$this->iDb=new WDB();
|
||||
$this->tabDevises=$this->getTabDevisesInpi();
|
||||
@ -64,19 +64,19 @@ class MRncs {
|
||||
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
|
||||
return $this->tabFctDir[$codeFonctionDirectionRncs]['lib'];
|
||||
}
|
||||
|
||||
|
||||
public function getCodFctBodaccFctDir($codeFonctionDirectionRncs) {
|
||||
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
|
||||
return $this->tabFctDir[$codeFonctionDirectionRncs]['codeSd'];
|
||||
}
|
||||
|
||||
|
||||
/** Initialisation du tableau privé des devises Inpi <=> ISO **/
|
||||
private function getTabDevisesInpi() {
|
||||
$rep=$this->iDb->select('tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
|
||||
$tabDevises=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
|
||||
|
||||
|
||||
return $tabDevises;
|
||||
}
|
||||
|
||||
@ -88,33 +88,33 @@ class MRncs {
|
||||
public function getDeviseInpi($numDeviseInpi) {
|
||||
if ($numDeviseInpi*1>0 && isset($this->tabDevises[$numDeviseInpi*1]))
|
||||
return $this->tabDevises[$numDeviseInpi*1];
|
||||
else
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
public function getTabJugements() {
|
||||
$rep=$this->iDb->select('tabJugeRncs', 'codJugement, codEven', '1', false, MYSQL_ASSOC);
|
||||
$tabJug=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabJug[$dev['codJugement']*1]=$dev['codEven'];
|
||||
|
||||
|
||||
return $tabJug;
|
||||
}
|
||||
|
||||
|
||||
public function getCodeEvenJugementInpi($codJugementInpi) {
|
||||
if ($codJugementInpi*1>0 && isset($this->tabJugements[$codJugementInpi*1]))
|
||||
return $this->tabJugements[$codJugementInpi*1];
|
||||
else
|
||||
else
|
||||
return $codJugementInpi;
|
||||
}
|
||||
|
||||
|
||||
/** Initialisation du tableau privé des pays Inpi <=> ISO **/
|
||||
private function getTabPaysInpi() {
|
||||
$rep=$this->iDb->select('tabPays', 'codePaysInpi, codPays', 'codePaysInpi>0', false, MYSQL_ASSOC);
|
||||
$tabPays=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabPays[$dev['codePaysInpi']*1]=$dev['codPays'];
|
||||
|
||||
|
||||
return $tabPays;
|
||||
}
|
||||
|
||||
@ -140,18 +140,18 @@ class MRncs {
|
||||
}
|
||||
return $tabMandSD;
|
||||
}
|
||||
|
||||
|
||||
/** Donne l'id du mandataire en fonction de son libellé INPI
|
||||
** @param string $strNomPrenom Nom et Prénom du mandataire
|
||||
** @return int $id Identifiant du mandataire
|
||||
** @return int $id Identifiant du mandataire
|
||||
**/
|
||||
public function getIdMandataireInpi($strNomPrenom) {
|
||||
if (trim($strNomPrenom)=='') return false;
|
||||
if (preg_match('/^(.*) (?:Me|Ma.tre) (.*)$/i', $strNomPrenom, $matches)) {
|
||||
$nomPrenomToFind=strtr($matches[1],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$nomToFind=strtr($matches[2],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$nomPrenomToFind=strtr($matches[1],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ
-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$nomToFind=strtr($matches[2],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ
-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
} else {
|
||||
$nomPrenomToFind=strtr($strNomPrenom,'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$nomPrenomToFind=strtr($strNomPrenom,'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ
-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$nomToFind='';
|
||||
}
|
||||
$id=false;
|
||||
@ -208,36 +208,36 @@ class MRncs {
|
||||
if ($strNomPrenom=='ROUSSELOT GEGOUE Marie Adeline') return 361;*/
|
||||
|
||||
foreach ($this->tabMandataires as $mand) {
|
||||
$nomToTest=strtr($mand['nom'],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$nomToTest=strtr($mand['nom'],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ
-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$tabTmp=preg_split('/( |-)/', $mand['prenom']);
|
||||
$preToTest=strtr($tabTmp[0],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ…‘-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
$preToTest=strtr($tabTmp[0],'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ
-\' ', "aaaaaaaceeeeiiiionooooouuuuyy.....");
|
||||
if (preg_match("/$nomToTest/i", $nomPrenomToFind)) {
|
||||
//echo "$nomToTest $preToTest TROUVE".EOL;
|
||||
// Cas des mandataires en SCP
|
||||
if ($nomToFind<>'' && preg_match("/$nomToTest/i", $nomToFind) && preg_match("/$preToTest/i", $nomToFind)) {
|
||||
//if (!$id)
|
||||
//if (!$id)
|
||||
$id=$mand['id'];
|
||||
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
|
||||
}
|
||||
elseif ($nomToFind<>'' && preg_match("/$nomToTest/i", $nomToFind)) {
|
||||
//if (!$id)
|
||||
//if (!$id)
|
||||
$id=$mand['id'];
|
||||
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
|
||||
}
|
||||
elseif (!$nomToFind && preg_match("/$preToTest/i", $nomPrenomToFind)) {
|
||||
//if (!$id)
|
||||
//if (!$id)
|
||||
$id=$mand['id'];
|
||||
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
|
||||
}
|
||||
} elseif (preg_match("/$nomToTest/i", $nomToFind) && preg_match("/$preToTest/i", $nomToFind)) {
|
||||
//if (!$id)
|
||||
//if (!$id)
|
||||
$id=$mand['id'];
|
||||
//else return false; // Afin de ne pas renvoyer d'id si plusieurs mandataires trouvés
|
||||
}
|
||||
}
|
||||
return $id;
|
||||
}
|
||||
|
||||
|
||||
/** Récupération du code ISO du code pays numérique de l'Inpi
|
||||
**
|
||||
** @param integer $pays
|
||||
@ -246,10 +246,10 @@ class MRncs {
|
||||
public function getPaysInpi($numPays) {
|
||||
if ($numPays*1>0)
|
||||
return $this->tabPays[$numPays*1];
|
||||
else
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
/** Initialisation du tableau privé des codes tribunaux Greffes/Inpi avec le libellé Bodacc **/
|
||||
private function getTabTribunaux() {
|
||||
$rep=$this->iDb->select('tribunaux', 'triNumGreffe, triNom, triId, triCode', 'triNumGreffe IS NOT NULL', false, MYSQL_ASSOC);
|
||||
@ -277,7 +277,7 @@ class MRncs {
|
||||
$res=$this->iDb->fetch(MYSQL_ASSOC);
|
||||
return $res['LibNaf'];
|
||||
}
|
||||
|
||||
|
||||
/** Récupération du libellé du code numérique du tribunal Greffe ou Inpi
|
||||
**
|
||||
** @param integer $numTribunal
|
||||
@ -286,7 +286,7 @@ class MRncs {
|
||||
public function getLibTribunal($numTribunal) {
|
||||
if ($numTribunal*1>0)
|
||||
return $this->tabTribunaux[$numTribunal*1]['Nom'];
|
||||
else
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
@ -298,7 +298,7 @@ class MRncs {
|
||||
public function getCodeBodaccTribunal($numTribunal) {
|
||||
if ($numTribunal*1>0)
|
||||
return $this->tabTribunaux[$numTribunal*1]['Code'];
|
||||
else
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
@ -310,10 +310,10 @@ class MRncs {
|
||||
public function getIdTribunal($numTribunal) {
|
||||
if ($numTribunal*1>0)
|
||||
return $this->tabTribunaux[$numTribunal*1]['Id'];
|
||||
else
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
/** Retourne les informations de l'établissements demandé ou du siège actif ou dernier siège inactif
|
||||
*
|
||||
* @param integer $siren Siren de l'entreprise
|
||||
@ -328,10 +328,10 @@ class MRncs {
|
||||
|
||||
$rep=$this->iDb->select('rncs_etab', 'siren, nic, siege, actif, enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie, cp, commune, adrComp, adresse1, adresse2, adresse3, naf, dateFermeture, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren $strSql", false, MYSQL_ASSOC);
|
||||
$entrep=$rep[0];
|
||||
|
||||
|
||||
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
|
||||
else $dateMaj=$entrep['flux'];
|
||||
|
||||
|
||||
if (trim($entrep['adresse1'])=='') $adresse1=trim(preg_replace('/ +/',' ', $entrep['adrNumVoie'].' '.strtoupper($entrep['adrIndRep']).' '. strtoupper($entrep['adrLibVoie'])));
|
||||
else $adresse1=trim(strtoupper($entrep['adresse1']));
|
||||
if (trim($entrep['adresse2'])=='') $adresse2=trim(strtoupper($entrep['adrComp']));
|
||||
@ -342,6 +342,7 @@ class MRncs {
|
||||
'nic' => $entrep['nic'],
|
||||
'siret' => $entrep['siren'].$entrep['nic'],
|
||||
'actif' => $entrep['actif'],
|
||||
'actifEt' => $entrep['actif'],
|
||||
'siege' => $entrep['siege'],
|
||||
'enseigne' => strtoupper($entrep['enseigne']),
|
||||
'nomCommercial' => strtoupper($entrep['nomCommercial']),
|
||||
@ -349,7 +350,7 @@ class MRncs {
|
||||
'adrIndRep' => strtoupper($entrep['adrIndRep']),
|
||||
'adrTypeVoie' => strtoupper($entrep['adrTypeVoie']),
|
||||
'adrVoie' => strtoupper($entrep['adrVoie']),
|
||||
'adrComp' => strtoupper($entrep['adrComp']),
|
||||
'adrComp' => strtoupper($entrep['adrComp']),
|
||||
'cp' => strtoupper($entrep['cp']),
|
||||
'commune' => strtoupper($entrep['commune']),
|
||||
'adresse1' => $adresse1,
|
||||
@ -368,13 +369,14 @@ class MRncs {
|
||||
$siren=$siren*1;
|
||||
$rep=$this->iDb->select('rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
||||
$entrep=$rep[0];
|
||||
|
||||
|
||||
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
|
||||
else $dateMaj=$entrep['flux'];
|
||||
|
||||
|
||||
$tabIdentite=array( 'siren' => $entrep['siren'],
|
||||
'sirenValide' => $entrep['sirenValide'],
|
||||
'actif' => $entrep['actif'],
|
||||
'actifEn' => $entrep['actif'],
|
||||
'numGreffe' => $entrep['numGreffe'],
|
||||
'triCode' => $entrep['triCode'],
|
||||
'triId' => $entrep['triId'],
|
||||
@ -401,14 +403,14 @@ class MRncs {
|
||||
'provisoires' => $entrep['provisoires'],
|
||||
'dateMajEnt' => $dateMaj,
|
||||
);
|
||||
|
||||
|
||||
return $tabIdentite;
|
||||
}
|
||||
|
||||
public function getListeDepots($siren) {
|
||||
$siren=$siren*1;
|
||||
$rep=$this->iDb->select('rncs_even e LEFT JOIN tabEvenRncs l ON e.codeEven=l.codeEven',
|
||||
'e.siren, e.codeInterne, e.dateDepot, e.codeEven, l.libEven, e.flux, DATE(e.dateInsert) AS dateInsert',
|
||||
'e.siren, e.codeInterne, e.dateDepot, e.codeEven, l.libEven, e.flux, DATE(e.dateInsert) AS dateInsert',
|
||||
"e.siren=$siren ORDER BY e.dateDepot DESC", false, MYSQL_ASSOC);
|
||||
$tabDepots=array();
|
||||
foreach ($rep as $iDepot=>$depot) {
|
||||
@ -422,12 +424,12 @@ class MRncs {
|
||||
}
|
||||
return $tabDepots;
|
||||
}
|
||||
|
||||
|
||||
public function getListeJugements($siren) {
|
||||
$siren=$siren*1;
|
||||
$rep=$this->iDb->select('rncs_jugements j, tabJugeRncs l, tabEvenements e',
|
||||
'siren, j.dateEffet, j.codeJugement, j.flux, l.libJugement, e.codEven, e.libEven,
|
||||
adm1id, adm1codeFct, adm1type, adm1nom, adm1adrNum, adm1adrInd, adm1adrType, adm1adrLibVoie, adm1adrVoie, adm1adr1, adm1adr2, adm1adr3, adm1adrCP, adm1adrVille,
|
||||
adm1id, adm1codeFct, adm1type, adm1nom, adm1adrNum, adm1adrInd, adm1adrType, adm1adrLibVoie, adm1adrVoie, adm1adr1, adm1adr2, adm1adr3, adm1adrCP, adm1adrVille,
|
||||
adm2id, adm2codeFct, adm2type, adm2nom, adm2adrNum, adm2adrInd, adm2adrType, adm2adrLibVoie, adm2adrVoie, adm2adr1, adm2adr2, adm2adr3, adm2adrCP, adm2adrVille',
|
||||
"j.siren=$siren AND j.codeJugement=l.codJugement AND l.codEven=e.codEven ORDER BY j.dateEffet DESC", false, MYSQL_ASSOC);
|
||||
/*adm1adrNum adm1adrInd adm1adrType adm1adrLibVoie adm1adrVoie adm1adr1 adm1adr2 adm1adr3 adm1adrCP adm1adrVille adm2codeFct adm2type adm2id adm2nom adm2adrNum adm2adrInd adm2adrType adm2adrLibVoie adm2adrVoie adm2adr1 adm2adr2 adm2adr3 adm2adrCP adm2adrVille flux dateSuppr dateInsert
|
||||
@ -451,7 +453,7 @@ class MRncs {
|
||||
'adm1adrVille' => $depot['adm1adrVille'],
|
||||
'adm2id' => $depot['adm2id'],
|
||||
'adm2code' => $depot['adm2codeFct'],
|
||||
'adm2type' => $depot['adm2type'],
|
||||
'adm2type' => $depot['adm2type'],
|
||||
'adm2fonction' => @$this->getLibFctDir($depot['adm2codeFct']),
|
||||
'adm2nom' => $depot['adm2nom'],
|
||||
'adm2adrNum' => $depot['adm2adrNum'],
|
||||
@ -460,21 +462,21 @@ class MRncs {
|
||||
'adm2adrVoie' => $depot['adm2adrLibVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
|
||||
'adm2adr2' => $depot['adm2adr2'],
|
||||
'adm2adrCP' => $depot['adm2adrCP'],
|
||||
'adm2adrVille' => $depot['adm2adrVille'],
|
||||
'adm2adrVille' => $depot['adm2adrVille'],
|
||||
);
|
||||
}
|
||||
return $tabDepots;
|
||||
}
|
||||
|
||||
|
||||
public function getEvenements($siren, $nic=0, $type='', $dateDeb='', $dateFin='') {
|
||||
$tabEven=array( 'p120'=>'Réactivation de l\'entreprise',
|
||||
'p410'=>'Cessation juridique de l\'entreprise',
|
||||
'pCAP'=>'Modification du capital social',
|
||||
'pCAT'=>'Modification du type de capital',
|
||||
'pCJ' =>'Modification de la forme juridique',
|
||||
'pIMM'=>'Modification de la date d\'immatriculation',
|
||||
'pRAD'=>'Modification de la date de radiation',
|
||||
'pNTR'=>'Modification du greffe d\'enregistrement',
|
||||
'pCAP'=>'Modification du capital social',
|
||||
'pCAT'=>'Modification du type de capital',
|
||||
'pCJ' =>'Modification de la forme juridique',
|
||||
'pIMM'=>'Modification de la date d\'immatriculation',
|
||||
'pRAD'=>'Modification de la date de radiation',
|
||||
'pNTR'=>'Modification du greffe d\'enregistrement',
|
||||
'pNRC'=>'Modification du numéro du RC',
|
||||
'pNOM'=>'Modification de la dénomination',
|
||||
);
|
||||
@ -484,7 +486,7 @@ class MRncs {
|
||||
if ($type<>'') $strType=" AND champs='$type' ";
|
||||
if ($dateDeb<>'') $strDateDeb=" AND flux>='$dateDeb' ";
|
||||
if ($dateFin<>'') $strDateFin=" AND flux<='$dateFin' ";
|
||||
|
||||
|
||||
$rep=$this->iDb->select('rncs_modifs',
|
||||
'siren, nic, `table`, champs, valeur, flux, dateInsert',
|
||||
"siren=$siren $strNic $strType $strDateDeb $strDateFin AND `table`='rncs_entrep' ORDER BY flux DESC", false, MYSQL_ASSOC);
|
||||
@ -493,16 +495,16 @@ class MRncs {
|
||||
switch($modif['champs']) {
|
||||
case 'actif':
|
||||
if ($modif['valeur']*1==0) $codEve[]='410'; // Cessation
|
||||
elseif ($modif['valeur']*1==1) $codEve[]='120'; // Réactivation
|
||||
elseif ($modif['valeur']*1==1) $codEve[]='120'; // Réactivation
|
||||
break;
|
||||
case 'raisonSociale': $codEve[]='NOM'; break;
|
||||
case 'capitalMontant': $codEve[]='CAP'; break;
|
||||
case 'capitalMontant': $codEve[]='CAP'; break;
|
||||
case 'capitalType': $codEve[]='CAT'; break;
|
||||
case 'cj': $codEve[]='CJ'; break;
|
||||
case 'dateImma': $codEve[]='IMM'; break;
|
||||
case 'dateRad': $codEve[]='RAD'; break;
|
||||
case 'numGreffe': $codEve[]='NTR'; break;
|
||||
case 'numRC2': $codEve[]='NRC'; break;
|
||||
case 'cj': $codEve[]='CJ'; break;
|
||||
case 'dateImma': $codEve[]='IMM'; break;
|
||||
case 'dateRad': $codEve[]='RAD'; break;
|
||||
case 'numGreffe': $codEve[]='NTR'; break;
|
||||
case 'numRC2': $codEve[]='NRC'; break;
|
||||
}
|
||||
foreach ($codEve as $even)
|
||||
$tabRet[]=array('codeEven' => 'P'.$even,
|
||||
@ -551,7 +553,7 @@ class MRncs {
|
||||
'admadrInd' => $depot['adm1adrInd'],
|
||||
'admadrType' => $depot['adm1adrType'],
|
||||
'admadrVoie' => $depot['adm1adrVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
|
||||
'admadr2' => $depot['adm1adr2'],
|
||||
'admadr2' => $depot['adm1adr2'],
|
||||
'admadrCP' => $depot['adm1adrCP'],
|
||||
'admadrVille' => $depot['adm1adrVille'],
|
||||
);
|
||||
@ -570,12 +572,12 @@ class MRncs {
|
||||
'admadrInd' => $depot['adm2adrInd'],
|
||||
'admadrType' => $depot['adm2adrType'],
|
||||
'admadrVoie' => $depot['adm2adrVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
|
||||
'admadr2' => $depot['adm2adr2'],
|
||||
'admadr2' => $depot['adm2adr2'],
|
||||
'admadrCP' => $depot['adm2adrCP'],
|
||||
'admadrVille' => $depot['adm2adrVille'],
|
||||
);
|
||||
$tabDeja[]=$depot['adm2code'];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($tabDepots)>0) {
|
||||
$strTypes="IN ('J','K','H','V','N')";
|
||||
@ -586,7 +588,7 @@ class MRncs {
|
||||
$forceRecherche=true;
|
||||
$strDates='';
|
||||
}
|
||||
|
||||
|
||||
$tabTmp=$this->iDb->select('annonces', 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
|
||||
dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren $strDates AND ( inter1type $strTypes OR inter2type $strTypes OR inter3type $strTypes OR inter4type $strTypes ) AND typeEven BETWEEN 1000 AND 2000 ORDER BY dateJugement DESC", false, MYSQL_ASSOC);
|
||||
if (isset($tabTmp[0])) {
|
||||
@ -594,9 +596,9 @@ class MRncs {
|
||||
$tabRet['dateCessationPaiement']=$depot['dateCessationPaiement'];
|
||||
for($i=1; $i<4; $i++) {
|
||||
if ( ($forceRecherche && !in_array($tabTmp['inter'.$i.'type'], $tabDeja)) ||
|
||||
( $tabTmp['inter'.$i.'type']=='J' || $tabTmp['inter'.$i.'type']=='K' ||
|
||||
$tabTmp['inter'.$i.'type']=='H' || $tabTmp['inter'.$i.'type']=='V' ||
|
||||
$tabTmp['inter'.$i.'type']=='N') ) {
|
||||
( $tabTmp['inter'.$i.'type']=='J' || $tabTmp['inter'.$i.'type']=='K' ||
|
||||
$tabTmp['inter'.$i.'type']=='H' || $tabTmp['inter'.$i.'type']=='V' ||
|
||||
$tabTmp['inter'.$i.'type']=='N') ) {
|
||||
$tabDepots[]=array( 'codEven' => $depot['typeEven'],
|
||||
'libEven' => $depot['typeEven'],
|
||||
'dateEffet' => $depot['dateJugement'],
|
||||
@ -608,8 +610,8 @@ class MRncs {
|
||||
'admadrNum' => '',
|
||||
'admadrInd' => '',
|
||||
'admadrType' => '',
|
||||
'admadrVoie' => '',
|
||||
'admadr2' => '',
|
||||
'admadrVoie' => '',
|
||||
'admadr2' => '',
|
||||
'admadrCP' => '',
|
||||
'admadrVille' => '',
|
||||
);
|
||||
@ -626,7 +628,7 @@ class MRncs {
|
||||
* @param $focerMAJ Forcer la mise à jour même si dossier déjà transmit
|
||||
*/
|
||||
public function majDossierIMR($siren, $origineDemande='', $focerMAJ=false) {
|
||||
|
||||
|
||||
$this->infoIMR=array();
|
||||
if ($siren*1==0) {
|
||||
$this->libErreur='Siren invalide !';
|
||||
@ -646,7 +648,7 @@ class MRncs {
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 1. FIN $url ".$this->codeRetour.EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -666,7 +668,7 @@ class MRncs {
|
||||
//echo date('YmdHis')." - 2. FIN $url ".$this->codeRetour.EOL;
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -676,7 +678,7 @@ class MRncs {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
|
||||
/** Etape de logon **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/login.do';
|
||||
$postData=array('codeClient'=>'0034',
|
||||
@ -689,7 +691,7 @@ class MRncs {
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 3. FIN $url ".$this->codeRetour.EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -703,7 +705,7 @@ class MRncs {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
|
||||
/** Page de formulaire de demande de réémission de dossier IMR **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/demandeReemissions.do';
|
||||
while (1) {
|
||||
@ -712,7 +714,7 @@ class MRncs {
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 4. FIN $url ".$this->codeRetour.EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -722,7 +724,7 @@ class MRncs {
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
|
||||
/** Saisie du siren à contrôler dans le formulaire AJAX adéquat **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/rechercheReemissions.do';
|
||||
$postData=array('siren'=>$siren);
|
||||
@ -731,9 +733,9 @@ class MRncs {
|
||||
//echo date('YmdHis')." - 5. Deb $url ".$this->codeRetour.EOL;
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 5. FIN $url ".$this->codeRetour.EOL;
|
||||
//echo date('YmdHis')." - 5. FIN $url ".$this->codeRetour.EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
@ -742,11 +744,11 @@ class MRncs {
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
|
||||
// Le retour AJAX est il positif ?
|
||||
if (preg_match('/<div class="message-erreur">(.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['message-erreur']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
|
||||
|
||||
if (preg_match('/<div class="titreEntreprise">(?:.*)<b>(.*)<\/b>(?:.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['titreEntreprise']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
|
||||
@ -755,7 +757,7 @@ class MRncs {
|
||||
|
||||
if (preg_match('/<div class="struct-erreur">(?:.*)<b>(.*)<\/b>(?:.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['struct-erreur']=trim(preg_replace('/ +/',' ',strtr(strip_tags($matches[1]),"\r\n\t".chr(160),' ')));
|
||||
|
||||
|
||||
if (preg_match('/Cliquez sur le bouton VALIDER pour confirmer votre demande de/', $this->body, $matches))
|
||||
$this->infoIMR['validation']=true;
|
||||
else {
|
||||
@ -769,16 +771,16 @@ class MRncs {
|
||||
$this->iDb->insert('rncs_demandes', $tabInsert, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (preg_match('/atteint le nombre maximal de(.*)Veuillez renouveler votre demande demain/',
|
||||
$this->infoIMR['message-erreur']))
|
||||
return false;
|
||||
|
||||
|
||||
if ($this->infoIMR['validation'] && $this->infoIMR['message-erreur']=='') {
|
||||
/** Doit on forcer la maj si l'entreprise a été transmise récemment ? **/
|
||||
if ($this->infoIMR['struct-erreur']<>'' && !$focerMAJ)
|
||||
return true;
|
||||
|
||||
|
||||
sleep(1);
|
||||
/** Validation du siren à réémettre en IMR **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/validerDemandeReemission.do';
|
||||
@ -790,7 +792,7 @@ class MRncs {
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 6. FIN $url ".$this->codeRetour.EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
@ -811,11 +813,11 @@ class MRncs {
|
||||
if ($origineDemande<>'')
|
||||
$tabInsert['origineDemande']=$origineDemande;
|
||||
$this->iDb->insert('rncs_demandes', $tabInsert, false);
|
||||
|
||||
|
||||
// Une erreur ?
|
||||
if ($this->infoIMR['validation-erreur']<>'')
|
||||
return false;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
} else
|
||||
|
@ -130,7 +130,7 @@ class classMSigVille {
|
||||
try {
|
||||
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
|
||||
$rep=$this->client->zonage( new SoapParam(strtr("$raisonSociale:$adresse:$cp:$ville",
|
||||
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
|
||||
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
|
||||
' aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'),'adresse'),
|
||||
new SoapParam(':','separateur'),
|
||||
new SoapParam('type=M','options')
|
||||
@ -141,7 +141,7 @@ class classMSigVille {
|
||||
|
||||
/** Découpage des ZFU, CUCS etcs...
|
||||
**/
|
||||
$fp=fopen(LOG_PATH.'amabis.log', 'a');
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s').' - '.implode("\n", $rep)."\n============================================================================\n");
|
||||
fclose($fp);
|
||||
|
||||
@ -179,7 +179,7 @@ class classMSigVille {
|
||||
$tabZones=explode(',',$rep['objdesc']);
|
||||
foreach ($tabZones as $zone) {
|
||||
$tabTmp=explode('=',$zone);
|
||||
if (trim($tabTmp[0])<>'')
|
||||
if (trim($tabTmp[0])<>'')
|
||||
$tabRepTmp[$tabTmp[0]]=$tabTmp[1];
|
||||
}
|
||||
if (!$debug) {
|
||||
@ -199,7 +199,7 @@ class classMSigVille {
|
||||
print_r($fault);
|
||||
echo $this->client->__getLastRequest()."\n";
|
||||
echo $this->client->__getLastResponse()."\n";
|
||||
$fp=fopen(LOG_PATH.'amabis.log', 'a');
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s').' - ERREUR SOAP : Requete = '.$this->client->__getLastRequest()."\n Reponse = ".$this->client->__getLastResponse()."\n============================================================================\n");
|
||||
fclose($fp);
|
||||
}
|
||||
@ -232,7 +232,7 @@ class classMSigVille {
|
||||
|
||||
$rep=$this->client->rechtel($query);
|
||||
|
||||
$fp=fopen(LOG_PATH.'amabis.log', 'a');
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s')." - $query - ".implode("\n", $rep)."\n============================================================================\n");
|
||||
fwrite($fp, "Requête : ".$this->client->__getLastRequest()."\n");
|
||||
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");
|
||||
|
@ -1,22 +1,23 @@
|
||||
<?
|
||||
|
||||
class MTel {
|
||||
|
||||
|
||||
public $body = '';
|
||||
public $header = '';
|
||||
public $codeRetour = 0;
|
||||
|
||||
|
||||
public $cookie='';
|
||||
public $urlBase='http://www.pagespro.com/recherche.php';
|
||||
public $url='';
|
||||
public $referer='';
|
||||
public $enCache=false;
|
||||
private $accesDistant=false;
|
||||
|
||||
|
||||
public $iDb;
|
||||
|
||||
|
||||
public function __construct($accesDistant=false) {
|
||||
$this->accesDistant=$accesDistant;
|
||||
$this->accesDistant=false; // Accès bloqué par "pagespro"
|
||||
if ($this->accesDistant) {
|
||||
$this->url=$this->urlBase;
|
||||
$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
|
||||
@ -27,14 +28,14 @@ class MTel {
|
||||
}
|
||||
$this->iDb=new WDB('jo');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @todo :
|
||||
* 1. Faire une fonction qui récupère les Logos
|
||||
* 2. Envoyer les logos par le WS
|
||||
* 3. Permettre la recherche par Tel
|
||||
*/
|
||||
|
||||
|
||||
public function getTel($siret, $nic=0) {
|
||||
|
||||
$tabRet=array();
|
||||
@ -44,7 +45,7 @@ class MTel {
|
||||
$siren=round($siret/100000)*1;
|
||||
} else
|
||||
$siren=$siret*1;
|
||||
|
||||
|
||||
if (strlen($siren)<=9) {
|
||||
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
|
||||
switch (strlen($siren)) {
|
||||
@ -66,7 +67,7 @@ class MTel {
|
||||
case 4: $nic='0'.$nic; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$strNic='';
|
||||
if ($nic*1>0) $strNic="AND (nic=$nic OR nic=0)";
|
||||
$ret=$this->iDb->select('telephonie',
|
||||
@ -77,9 +78,9 @@ class MTel {
|
||||
foreach ($ret as $tabTel) {
|
||||
if ($tabTel['typeTel']=='an8' && $tabTel['infoTel']*1>0) {
|
||||
$an8=$tabTel['infoTel']*1;
|
||||
$retTmp=$this->iDb->select('tabAn8', 'libAn8', "codAn8='$an8'", false, MYSQL_ASSOC);
|
||||
$retTmp=$this->iDb->select('tabAn8', 'libAn8', "codAn8='$an8'", false, MYSQL_ASSOC);
|
||||
$infoTel=ucfirst(strtolower($retTmp[0]['libAn8']));
|
||||
} else
|
||||
} else
|
||||
$infoTel=$tabTel['infoTel'];
|
||||
$tabRet[]=array('siren'=>$siren,
|
||||
'nic'=>$tabTel['nic'],
|
||||
@ -114,11 +115,11 @@ class MTel {
|
||||
$this->referer=$this->url;
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
|
||||
|
||||
$nbResults=0;
|
||||
if (preg_match('/<b class="total_responses_nr">(.*)réponses<\/b>/Uis', $this->body, $matches))
|
||||
$nbResults=trim(strtr(strip_tags($matches[1]), array(' '=>'','–'=>'')));
|
||||
|
||||
|
||||
if ($nbResults>0) {
|
||||
$tabResultsHtml=explode('<div class="results_part1">', $this->body);
|
||||
for ($i=1; isset($tabResultsHtml[$i]);$i++) {
|
||||
@ -126,16 +127,16 @@ class MTel {
|
||||
$body=$tabResultsHtml[$i];
|
||||
$res['nom']=trim(htm2txt(@getTextInHtml($body, '<div class="results_title">', '_title">', '</div>')));
|
||||
$res['adresse']=trim(htm2txt(@getTextInHtml($body, '<div class="coordonnees">','<div>','<table id="t_coord_')));
|
||||
|
||||
|
||||
$res['urlSite']=trim(htm2txt(@getTextInHtml($body, '<b class="siteweb">Site Web :</b> ', "javascript:SiteURL('", "','")));
|
||||
$res['urlMail']=trim(htm2txt(@getTextInHtml($body, '<b>E-mail :</b>', "&mail=", "', ")));
|
||||
$res['urlLogo']=trim(htm2txt(@getTextInHtml($body, '<div class="results_inset_logo">', '" src="', '" border="')));
|
||||
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
|
||||
|
||||
|
||||
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
|
||||
$res['siret']=trim(htm2txt(@getTextInHtml($body, '<b>Siret : </b>','</b>','</div>')));
|
||||
$res['nafet']=trim(htm2txt(strip_tags(@getTextInHtml($body, '<b>Code NAF : </b>','</b>','</div>'))));
|
||||
|
||||
|
||||
$res['domaines']=trim(preg_replace('/ +/', ' ', preg_replace('/\r+|\n+|\s+/',' ',htm2txt(strip_tags(@getTextInHtml($body, '<div class="puce_domaine">','<strong>','</div>'))))));
|
||||
|
||||
if ($res['urlSite']<>'') {
|
||||
@ -154,7 +155,7 @@ class MTel {
|
||||
'typeTel'=>'web',
|
||||
'infoTel'=>$res['urlSite'],
|
||||
'telephone'=>0,
|
||||
);
|
||||
);
|
||||
}
|
||||
if ($res['urlLogo']<>'') {
|
||||
$this->iDb->insert('telephonie', array( 'siren'=>$siren,
|
||||
@ -220,7 +221,7 @@ class MTel {
|
||||
}
|
||||
$tabTel=array_values($tabTel);
|
||||
|
||||
|
||||
|
||||
foreach ($tabTel as $tabT) {
|
||||
$tabRet[]=array('siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
@ -248,7 +249,7 @@ class MTel {
|
||||
$url="http://www.annuaire.com/societe/-$siren/";
|
||||
//$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
|
||||
$page=getUrl($url,'','','',false,'','',3);
|
||||
|
||||
|
||||
if ($page['code']<>301) return false;
|
||||
$url2=$page['header']['Location'];
|
||||
$page=getUrl($url2,'','',$url,false,'','',3);
|
||||
@ -256,12 +257,12 @@ class MTel {
|
||||
if (!preg_match('/<a href="http:\/\/www\.annuaire\.com\/inscription\/1\/\?companyid=(.*)&go=next"/Uis', $page['body'], $matches)) {
|
||||
print_r($page);
|
||||
die($siren);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
|
||||
function getOperateur($tel) {
|
||||
/*http://www.arcep.fr/index.php?id=interactivenumeros
|
||||
Données POST:
|
||||
@ -271,7 +272,7 @@ class MTel {
|
||||
http://www.arcep.fr/index.php?id=interactivenumeros&CMD=DETAILS_SOC&uid=158757&bloc=017543&cHash=0c29e39859
|
||||
http://www.arcep.fr/uploads/tx_gsavis/05-0233.pdf
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,213 @@
|
||||
<?
|
||||
/** Ratios pour les collectivités **/
|
||||
global $tabZones2Ratios;
|
||||
|
||||
/** Tableau de conversion des communes **/
|
||||
$tabZones2Ratios=array(
|
||||
'R01a'=>'R[801]',
|
||||
'R01b'=>'Rh[801]',
|
||||
'R01c'=>'Rs[801]',
|
||||
'R02a'=>'R[802]',
|
||||
'R02b'=>'Rh[802]',
|
||||
'R02c'=>'Rs[802]',
|
||||
'R02d'=>'Rq[802]',
|
||||
'R02e'=>'Rt[802]',
|
||||
'R03a'=>'R[803]',
|
||||
'R03b'=>'Rh[803]',
|
||||
'R03c'=>'Rs[803]',
|
||||
'R03d'=>'Rq[803]',
|
||||
'R03e'=>'Rt[803]',
|
||||
'R04a'=>'R[804]',
|
||||
'R04b'=>'Rh[804]',
|
||||
'R04c'=>'Rs[804]',
|
||||
'R04d'=>'Rq[804]',
|
||||
'R04e'=>'Rt[804]',
|
||||
'R05a'=>'R[805]',
|
||||
'R05b'=>'Rh[805]',
|
||||
'R05c'=>'Rs[805]',
|
||||
'R06a'=>'R[806]',
|
||||
'R06b'=>'Rh[806]',
|
||||
'R06c'=>'Rs[806]',
|
||||
'R06d'=>'Rq[806]',
|
||||
'R06e'=>'Rt[806]',
|
||||
'R07a'=>'R[807]',
|
||||
'R07b'=>'Rh[807]',
|
||||
'R07c'=>'Rs[807]',
|
||||
'R07d'=>'Rq[807]',
|
||||
'R07e'=>'Rt[807]',
|
||||
'R08a'=>'R[808]',
|
||||
'R08b'=>'Rh[808]',
|
||||
'R08c'=>'Rs[808]',
|
||||
'R08d'=>'Rq[808]',
|
||||
'R08e'=>'Rt[808]',
|
||||
'R09a'=>'R[809]',
|
||||
'R09b'=>'Rh[809]',
|
||||
'R09c'=>'Rs[809]',
|
||||
'R09d'=>'Rq[809]',
|
||||
'R09e'=>'Rt[809]',
|
||||
'R10a'=>'R[810]',
|
||||
'R10b'=>'Rh[810]',
|
||||
'R10c'=>'Rs[810]',
|
||||
'R10d'=>'Rq[810]',
|
||||
'R10e'=>'Rt[810]',
|
||||
'R11a'=>'R[811]',
|
||||
'R11b'=>'Rh[811]',
|
||||
'R11c'=>'Rs[811]',
|
||||
'R12a'=>'R[812]',
|
||||
'R12b'=>'Rh[812]',
|
||||
'R12c'=>'Rs[812]',
|
||||
'R13a'=>'R[813]',
|
||||
'R13b'=>'Rh[813]',
|
||||
'R13c'=>'Rs[813]',
|
||||
'R13d'=>'Rq[813]',
|
||||
'R13e'=>'Rt[813]',
|
||||
'R14a'=>'R[814]',
|
||||
'R14b'=>'Rh[814]',
|
||||
'R14c'=>'Rs[814]',
|
||||
'R14d'=>'Rq[814]',
|
||||
'R14e'=>'Rt[814]',
|
||||
'R15a'=>'R[815]',
|
||||
'R15b'=>'Rh[815]',
|
||||
'R15c'=>'Rs[815]',
|
||||
'R15d'=>'Rq[815]',
|
||||
'R15e'=>'Rt[815]',
|
||||
'R16a'=>'R[816]',
|
||||
'R16b'=>'Rh[816]',
|
||||
'R16c'=>'Rs[816]',
|
||||
'R16d'=>'Rq[816]',
|
||||
'R16e'=>'Rt[816]',
|
||||
'R17a'=>'R[817]',
|
||||
'R17b'=>'Rh[817]',
|
||||
'R17c'=>'Rs[817]',
|
||||
'R18a'=>'R[818]',
|
||||
'R18b'=>'Rh[818]',
|
||||
'R18c'=>'Rs[818]',
|
||||
'R18d'=>'Rq[818]',
|
||||
'R18e'=>'Rt[818]',
|
||||
'R19a'=>'R[819]',
|
||||
'R19b'=>'Rh[819]',
|
||||
'R19c'=>'Rs[819]',
|
||||
'R19d'=>'Rq[819]',
|
||||
'R19e'=>'Rt[819]',
|
||||
'R20a'=>'R[820]',
|
||||
'R20b'=>'Rh[820]',
|
||||
'R20c'=>'Rs[820]',
|
||||
'R20d'=>'Rq[820]',
|
||||
'R20e'=>'Rt[820]',
|
||||
'R21a'=>'R[821]',
|
||||
'R21b'=>'Rh[821]',
|
||||
'R21c'=>'Rs[821]',
|
||||
'R21d'=>'Rq[821]',
|
||||
'R21e'=>'Rt[821]',
|
||||
'R22a'=>'R[822]',
|
||||
'R22b'=>'Rh[822]',
|
||||
'R22c'=>'Rs[822]',
|
||||
'R23a'=>'R[823]',
|
||||
'R23b'=>'Rh[823]',
|
||||
'R23c'=>'Rs[823]',
|
||||
'R24a'=>'R[824]',
|
||||
'R24b'=>'Rh[824]',
|
||||
'R24c'=>'Rs[824]',
|
||||
'R25a'=>'R[825]',
|
||||
'R25b'=>'Rh[825]',
|
||||
'R25c'=>'Rs[825]',
|
||||
'R26a'=>'R[826]',
|
||||
'R26b'=>'Rh[826]',
|
||||
'R26c'=>'Rs[826]',
|
||||
'R26d'=>'Rq[826]',
|
||||
'R26e'=>'Rt[826]',
|
||||
'R27a'=>'R[827]',
|
||||
'R27b'=>'Rh[827]',
|
||||
'R27c'=>'Rs[827]',
|
||||
'R27d'=>'Rq[827]',
|
||||
'R27e'=>'Rt[827]',
|
||||
'R28a'=>'R[828]',
|
||||
'R28b'=>'Rh[828]',
|
||||
'R28c'=>'Rs[828]',
|
||||
'R28d'=>'Rq[828]',
|
||||
'R28e'=>'Rt[828]',
|
||||
'R29a'=>'R[829]',
|
||||
'R29b'=>'Rh[829]',
|
||||
'R29c'=>'Rs[829]',
|
||||
'R29d'=>'Rq[829]',
|
||||
'R29e'=>'Rt[829]',
|
||||
'R30a'=>'R[830]',
|
||||
'R30b'=>'Rh[830]',
|
||||
'R30c'=>'Rs[830]',
|
||||
'R30d'=>'Rq[830]',
|
||||
'R30e'=>'Rt[830]',
|
||||
'R31a'=>'R[843]',
|
||||
'R31b'=>'Rh[843]',
|
||||
'R31c'=>'Rs[843]',
|
||||
'R31d'=>'Rq[843]',
|
||||
'R31e'=>'Rt[843]',
|
||||
'R32a'=>'R[831]',
|
||||
'R32b'=>'Rh[831]',
|
||||
'R32c'=>'Rs[831]',
|
||||
'R33a'=>'R[832]',
|
||||
'R33b'=>'Rh[832]',
|
||||
'R33c'=>'Rs[832]',
|
||||
'R33d'=>'R[845]',
|
||||
'R33e'=>'Rh[845]',
|
||||
'R33f'=>'Rs[845]',
|
||||
'R34a'=>'R[833]',
|
||||
'R34b'=>'Rh[833]',
|
||||
'R34c'=>'Rs[833]',
|
||||
'R34d'=>'R[846]',
|
||||
'R34e'=>'Rh[846]',
|
||||
'R34f'=>'Rs[846]',
|
||||
'R35a'=>'R[834]',
|
||||
'R35b'=>'Rh[834]',
|
||||
'R35c'=>'Rs[834]',
|
||||
'R35d'=>'R[847]',
|
||||
'R35e'=>'Rh[847]',
|
||||
'R35f'=>'Rs[847]',
|
||||
'R36a'=>'R[835]',
|
||||
'R36b'=>'Rh[835]',
|
||||
'R36c'=>'Rs[835]',
|
||||
'R36d'=>'R[849]',
|
||||
'R36e'=>'Rh[849]',
|
||||
'R36f'=>'Rs[849]',
|
||||
'R37a'=>'R[844]',
|
||||
'R37b'=>'Rh[844]',
|
||||
'R37c'=>'Rs[844]',
|
||||
'R37d'=>'R[848]',
|
||||
'R37e'=>'Rh[848]',
|
||||
'R37f'=>'Rs[848]',
|
||||
'R38a'=>'R[836]',
|
||||
'R38b'=>'Rh[836]',
|
||||
'R38c'=>'Rs[836]',
|
||||
'R38d'=>'Rq[836]',
|
||||
'R38e'=>'Rt[836]',
|
||||
'R39a'=>'R[837]',
|
||||
'R39b'=>'Rh[837]',
|
||||
'R39c'=>'Rs[837]',
|
||||
'R39d'=>'Rq[837]',
|
||||
'R39e'=>'Rt[837]',
|
||||
'R40a'=>'R[838]',
|
||||
'R40b'=>'Rh[838]',
|
||||
'R40c'=>'Rs[838]',
|
||||
'R40d'=>'Rq[838]',
|
||||
'R40e'=>'Rt[838]',
|
||||
'R41a'=>'R[842]',
|
||||
'R41b'=>'Rh[842]',
|
||||
'R41c'=>'Rs[842]',
|
||||
'R41d'=>'Rq[842]',
|
||||
'R41e'=>'Rt[842]',
|
||||
'R42a'=>'R[839]',
|
||||
'R42b'=>'Rh[839]',
|
||||
'R42c'=>'Rs[839]',
|
||||
'R42d'=>'Rq[839]',
|
||||
'R42e'=>'Rt[839]',
|
||||
'R43a'=>'R[840]',
|
||||
'R43b'=>'Rh[840]',
|
||||
'R43c'=>'Rs[840]',
|
||||
'R43d'=>'Rq[840]',
|
||||
'R43e'=>'Rt[840]',
|
||||
'R44a'=>'R[841]',
|
||||
'R44b'=>'Rh[841]',
|
||||
'R44c'=>'Rs[841]',
|
||||
);
|
||||
|
||||
function genereCacheRatios() {
|
||||
$tabMoy=array();
|
||||
@ -55,25 +264,25 @@
|
||||
fwrite($fp, ' $numBil=0;' ."\n");
|
||||
fwrite($fp, ' $numBilType=array();' ."\n");
|
||||
fwrite($fp, ' foreach ($tabBilans as $millesime=>$bil) {' ."\n");
|
||||
fwrite($fp, ' $tabTmp=@$mBil->getBilan(substr($millesime,-10), substr($millesime,0,1), @$bil[\'ref\'], $accesPartenaire);' ."\n");
|
||||
fwrite($fp, ' $tabTmp=@$mBil->getBilan(substr($millesime,-10), substr($millesime,0,1), @$bil[\'ref\'], $accesPartenaire, $nbRatiosMax=5);' ."\n");
|
||||
|
||||
fwrite($fp, ' $numBilType[substr($millesime,0,1)]++;' ."\n");
|
||||
fwrite($fp, ' if (substr($millesime,0,1)==\'S\') {' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'S\']>5) continue;' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'S\']>$nbRatiosMax) continue;' ."\n");
|
||||
fwrite($fp, ' $tabTmp2=$mBil->bilanSimplifie2Normal($tabTmp);' ."\n");
|
||||
fwrite($fp, ' $tabBilan[$numBil]=array_merge($tabTmp2, $tabTmp);' ."\n");
|
||||
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'N\') {' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'N\']>5) continue;' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'N\']>$nbRatiosMax) continue;' ."\n");
|
||||
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
|
||||
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'C\') {' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'C\']>5) continue;' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'C\']>$nbRatiosMax) continue;' ."\n");
|
||||
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
|
||||
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'A\') {' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'A\']>5) continue;' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'A\']>$nbRatiosMax) continue;' ."\n");
|
||||
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
|
||||
fwrite($fp, ' //return(array());' ."\n");
|
||||
fwrite($fp, ' } elseif (substr($millesime,0,1)==\'B\') {' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'B\']>5) continue;' ."\n");
|
||||
fwrite($fp, ' if ($numBilType[\'B\']>$nbRatiosMax) continue;' ."\n");
|
||||
fwrite($fp, ' $tabBilan[$numBil]=$tabTmp;' ."\n");
|
||||
fwrite($fp, ' //return(array());' ."\n");
|
||||
fwrite($fp, ' }' ."\n");
|
||||
@ -90,76 +299,80 @@
|
||||
$unite=$formule['unite'];
|
||||
$formule=$formule['formule'];
|
||||
|
||||
if (preg_match("/^MOY\(R\[(.*)\],(.*)\)/Ui", $formule, $matches)) {
|
||||
$tabMoy[$id]=array( 'ratio'=>$matches[1]*1,
|
||||
'nbExo'=>$matches[2]*1,
|
||||
);
|
||||
continue;
|
||||
}
|
||||
/** Ratios avec formules à calculer **/
|
||||
if ($formule['calcul']) {
|
||||
|
||||
// Gestion des variables minuscules de 1 à 8 caractères alphanumériques
|
||||
$formule1=preg_replace('/([a-z]{1,8})/','\$$1', $formule);
|
||||
// Gestion des postes du BILAN AX, BX, YP, FL1, etc...
|
||||
$formule1=preg_replace('/\b([A-Z]{2,2}[1-9]{0,1})\b/','\$p[\'$1\']', $formule1);
|
||||
// Gestion des ratios précédent
|
||||
$formule1=preg_replace('/\bR\[(.*)\]/U', '\$R['."'\\1'*1".']', $formule1);
|
||||
// Gestion des valeurs Absolues
|
||||
$formule1=preg_replace('/\|(.*)\|/U', 'abs($1)', $formule1);
|
||||
// Gestion de l'inflation pour l'année du bilan
|
||||
$formule1=preg_replace('/\INFLATION/U', 'getInflation(substr($millesime,-4))', $formule1);
|
||||
|
||||
// Ecriture de la formule
|
||||
$formule1="\$R[$id]=".$formule1.';';
|
||||
|
||||
/** fonction ou **/
|
||||
if (preg_match('/ \$ou (.*)/', $formule1, $matches)) {
|
||||
$formule1=preg_replace('/ \$ou (.*)/',';', $formule1);
|
||||
$alternative=$matches[1];
|
||||
$formule1.="if (\$R[$id]==0) \$R[$id]=$alternative";
|
||||
}
|
||||
|
||||
/** Bornage des résultats en cas de dépassement **/
|
||||
if (preg_match('/;BORN\((.*)\)/U', $formule1, $matches)) {
|
||||
$formule1=preg_replace('/(;BORN\(.*\))/U','', $formule1);
|
||||
$tabBornes=explode(':', $matches[1]);
|
||||
if (trim($tabBornes[0])<>'') {
|
||||
$bMin=trim($tabBornes[0])*1;
|
||||
$formule1.="if (\$R[$id]<$bMin) \$R[$id]=$bMin;";
|
||||
if (preg_match("/^MOY\(R\[(.*)\],(.*)\)/Ui", $formule, $matches)) {
|
||||
$tabMoy[$id]=array( 'ratio'=>$matches[1]*1,
|
||||
'nbExo'=>$matches[2]*1,
|
||||
);
|
||||
continue;
|
||||
}
|
||||
if (isset($tabBornes[1]) && trim(@$tabBornes[1])<>'') {
|
||||
$bMax=trim($tabBornes[1])*1;
|
||||
$formule1.="if (\$R[$id]>$bMax) \$R[$id]=$bMax;";
|
||||
|
||||
// Gestion des variables minuscules de 1 à 8 caractères alphanumériques
|
||||
$formule1=preg_replace('/([a-z]{1,8})/','\$$1', $formule);
|
||||
// Gestion des postes du BILAN AX, BX, YP, FL1, etc...
|
||||
$formule1=preg_replace('/\b([A-Z]{2,2}[1-9]{0,1})\b/','\$p[\'$1\']', $formule1);
|
||||
// Gestion des ratios précédent
|
||||
$formule1=preg_replace('/\bR\[(.*)\]/U', '\$R['."'\\1'*1".']', $formule1);
|
||||
// Gestion des valeurs Absolues
|
||||
$formule1=preg_replace('/\|(.*)\|/U', 'abs($1)', $formule1);
|
||||
// Gestion de l'inflation pour l'année du bilan
|
||||
$formule1=preg_replace('/\INFLATION/U', 'getInflation(substr($millesime,-4))', $formule1);
|
||||
|
||||
// Ecriture de la formule
|
||||
$formule1="\$R[$id]=".$formule1.';';
|
||||
|
||||
/** fonction ou **/
|
||||
if (preg_match('/ \$ou (.*)/', $formule1, $matches)) {
|
||||
$formule1=preg_replace('/ \$ou (.*)/',';', $formule1);
|
||||
$alternative=$matches[1];
|
||||
$formule1.="if (\$R[$id]==0) \$R[$id]=$alternative";
|
||||
}
|
||||
}
|
||||
|
||||
/** Bornage des résultats en cas de dépassement **/
|
||||
if (preg_match('/;LIM\((.*)\)/U', $formule1, $matches)) {
|
||||
$formule1=preg_replace('/(;LIM\(.*\))/U','', $formule1);
|
||||
$bMax=trim($matches[1])*1;
|
||||
$formule1.="if (\$R[$id]>$bMax) \$R[$id]=$bMax;";
|
||||
}
|
||||
|
||||
/** Mémorisation des formules pour les moyennes **
|
||||
*
|
||||
$valeur='( (R'.$matches[1];
|
||||
for($iMoy=0; $iMoy<$matches[2]; $iMoy++) {
|
||||
if ($iMoy==1)
|
||||
$valeur.='+Rp'.$matches[1];
|
||||
else
|
||||
$valeur.='+Rp'.$iMoy.$matches[1];
|
||||
/** Bornage des résultats en cas de dépassement **/
|
||||
if (preg_match('/;BORN\((.*)\)/U', $formule1, $matches)) {
|
||||
$formule1=preg_replace('/(;BORN\(.*\))/U','', $formule1);
|
||||
$tabBornes=explode(':', $matches[1]);
|
||||
if (trim($tabBornes[0])<>'') {
|
||||
$bMin=trim($tabBornes[0])*1;
|
||||
$formule1.="if (\$R[$id]<$bMin) \$R[$id]=$bMin;";
|
||||
}
|
||||
if (isset($tabBornes[1]) && trim(@$tabBornes[1])<>'') {
|
||||
$bMax=trim($tabBornes[1])*1;
|
||||
$formule1.="if (\$R[$id]>$bMax) \$R[$id]=$bMax;";
|
||||
}
|
||||
}
|
||||
$valeur.=')/'.$matches[2].')';
|
||||
|
||||
/** Bornage des résultats en cas de dépassement **/
|
||||
if (preg_match('/;LIM\((.*)\)/U', $formule1, $matches)) {
|
||||
$formule1=preg_replace('/(;LIM\(.*\))/U','', $formule1);
|
||||
$bMax=trim($matches[1])*1;
|
||||
$formule1.="if (\$R[$id]>$bMax) \$R[$id]=$bMax;";
|
||||
}
|
||||
|
||||
/** Mémorisation des formules pour les moyennes **
|
||||
*
|
||||
$valeur='( (R'.$matches[1];
|
||||
for($iMoy=0; $iMoy<$matches[2]; $iMoy++) {
|
||||
if ($iMoy==1)
|
||||
$valeur.='+Rp'.$matches[1];
|
||||
else
|
||||
$valeur.='+Rp'.$iMoy.$matches[1];
|
||||
}
|
||||
$valeur.=')/'.$matches[2].')';
|
||||
}
|
||||
else
|
||||
$valeur=preg_replace('/([A-Z\_]{1,20})\((.*)\)$/i','substr(\$$1,$2)', $valeur);
|
||||
|
||||
*/
|
||||
$formule2=$formule1;
|
||||
|
||||
fwrite($fp, $formule2."\n");
|
||||
//@eval($formule2);
|
||||
fwrite($fp, 'if (!isset($R['.$id.'])) $R['.$id.']=\'NS\';'."\n");
|
||||
if (!isset($R[$id])) $R[$id]='NS';
|
||||
}
|
||||
else
|
||||
$valeur=preg_replace('/([A-Z\_]{1,20})\((.*)\)$/i','substr(\$$1,$2)', $valeur);
|
||||
|
||||
*/
|
||||
$formule2=$formule1;
|
||||
|
||||
fwrite($fp, $formule2."\n");
|
||||
//@eval($formule2);
|
||||
fwrite($fp, 'if (!isset($R['.$id.'])) $R['.$id.']=\'NS\';'."\n");
|
||||
if (!isset($R[$id])) $R[$id]='NS';
|
||||
}
|
||||
|
||||
fwrite($fp, "\n".' $tabRatios[$numBil]=$R;'."\n");
|
||||
@ -194,4 +407,19 @@
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Conversion des zones pour les collectivités **/
|
||||
function convertZones($codeR, $zonesDB) {
|
||||
global $tabZones2Ratios;
|
||||
foreach($tabZones2Ratios as $oldR=>$newR) {
|
||||
if (preg_match('/(\D+)\[(\d+)\]/Uis', $newR, $matches) && $matches[1]==$codeR) {
|
||||
$iRatio=$matches[2];
|
||||
if ($codeR=='R')
|
||||
$ret[$iRatio]=$zonesDB[$oldR]*1000;
|
||||
else
|
||||
$ret[$iRatio]=$zonesDB[$oldR];
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$tabVar = array(
|
||||
$tabVar = array(
|
||||
'ACTIFINSEE',
|
||||
'ACTIFRNCS',
|
||||
'ACTISURF',
|
||||
@ -7,8 +7,8 @@ $tabVar = array(
|
||||
'ACTIVREG',
|
||||
'ADRDOM',
|
||||
'AGE',
|
||||
'ANNEEp3',
|
||||
'ANNEEp2',
|
||||
'ANNEEp3',
|
||||
'ANNEEp2',
|
||||
'ANNEEp1',
|
||||
'ANNEE',
|
||||
'ANNEE1',
|
||||
@ -177,7 +177,7 @@ $tabVar = array(
|
||||
'COTETYPE_MMAA',
|
||||
'CSFACTO',
|
||||
'CSFACTO_MMAA',
|
||||
'DEPARTEMENT',
|
||||
'DEPARTEMENT',
|
||||
'DEPARTEMENT_DE',
|
||||
'DCREN',
|
||||
'DCREN_AA',
|
||||
@ -211,6 +211,7 @@ $tabVar = array(
|
||||
'ENQUETE',
|
||||
'ENQUETELIM',
|
||||
'ENQUETEMAXI',
|
||||
'ENTREP_ALT',
|
||||
'ETATINSEE',
|
||||
'ETATINSEE_MMAA',
|
||||
'EXPLEN',
|
||||
@ -262,8 +263,8 @@ $tabVar = array(
|
||||
'MARCHESALp',
|
||||
'MARCHENBENT',
|
||||
'MARCHENBENTp',
|
||||
'MARCHENBENT_DEP',
|
||||
'MARCHENBENT_VILLE',
|
||||
'MARCHENBENT_DEP',
|
||||
'MARCHENBENT_VILLE',
|
||||
'MARCHEPUBLIC3_NB',
|
||||
'MARCHEPUBLIC3_MT',
|
||||
'MARCHEPUBLIC3_POURC',
|
||||
@ -416,6 +417,11 @@ $tabVar = array(
|
||||
'SOCIETE_COTE_MARCHE_MERE',
|
||||
'SOCIETE_COTE_PLACE',
|
||||
'T',
|
||||
//TAUXRA[]
|
||||
//TAUXRAMOY1
|
||||
//TAUXRAMOY2
|
||||
//TAUXRAMOY3
|
||||
//TAUXRA
|
||||
'TCAEXP',
|
||||
'TEMOINACT',
|
||||
'TEMOINACT_MAX',
|
||||
@ -493,6 +499,38 @@ $tabVar = array(
|
||||
'TEMOINSTSYNT_MAX',
|
||||
'TEMOINVUL',
|
||||
'TEMOINVUL_MAX',
|
||||
//TEMOINVALBIL
|
||||
//TEMOINVALBIL_MAX
|
||||
//TEMOINVALCONC
|
||||
//TEMOINVALCONC_MAX
|
||||
//TEMOINVALCR
|
||||
//TEMOINVALCR_MAX
|
||||
//TEMOINVALDIAG
|
||||
//TEMOINVALDIAG_MAX
|
||||
//TEMOINVALMETH
|
||||
//TEMOINVALMETH_MAX
|
||||
//TEMOINVALRET
|
||||
//TEMOINVALRET_MAX
|
||||
//TEMOINVALPATR
|
||||
//TEMOINVALPATR_MAX
|
||||
//TEMOINVALPOND
|
||||
//TEMOINVALPOND_MAX
|
||||
//TEMOINVALPRES
|
||||
//TEMOINVALPRES_MAX
|
||||
//TEMOINVALRESV
|
||||
//TEMOINVALRESV_MAX
|
||||
//TEMOINVALRETR
|
||||
//TEMOINVALRETR_MAX
|
||||
//TEMOINVALTAB
|
||||
//TEMOINVALTAB_MAX
|
||||
//TEMOINVALTABS
|
||||
//TEMOINVALTABS_MAX
|
||||
//TEMOINVALTABR
|
||||
//TEMOINVALTABR_MAX
|
||||
//TEMOINVALMINMAX
|
||||
//TEMOINVALMINMAX_MAX
|
||||
//TEMOINVALMAXMIN
|
||||
//TEMOINVALMAXMIN_MAX
|
||||
'TEMOINADIZES',
|
||||
'TEMOINADIZES_MAX',
|
||||
'TEMOINMRQ',
|
||||
@ -506,6 +544,41 @@ $tabVar = array(
|
||||
'TVAINTRA',
|
||||
'TVAINTRAFACULT',
|
||||
'TYPEMERE',
|
||||
//VALCOEFFMINCA => Table baremCA
|
||||
//VALCOEFFMAXCA => Table baremCA
|
||||
//VAL319 => Montant EUR
|
||||
//VAL320 => Montant EUR
|
||||
//VAL322 => Montant EUR
|
||||
//VAL598 => Montant EUR
|
||||
//VAL970 => Montant EUR
|
||||
//VAL971 => Montant EUR
|
||||
//VAL974 => Montant EUR
|
||||
//VAL975 => Montant EUR
|
||||
//VAL976 => Montant EUR
|
||||
//VAL977 => Montant EUR
|
||||
//VAL978 => Montant EUR
|
||||
//VAL979 => Montant EUR
|
||||
//VAL980 => Montant EUR
|
||||
|
||||
//VAL981 => Montant EUR
|
||||
//VAL982 => Montant EUR
|
||||
//VAL983 => Montant EUR
|
||||
//VAL984 => Montant EUR
|
||||
//VAL985 => Montant EUR
|
||||
//VAL986 => Montant EUR
|
||||
//VAL987 => Montant EUR
|
||||
//VAL988 => Montant EUR
|
||||
//VAL989 => Montant EUR
|
||||
//VAL990 => Montant EUR
|
||||
//VAL991 => Montant EUR
|
||||
//VAL992 => Montant EUR
|
||||
//VAL993 => Montant EUR
|
||||
//VAL994 => Montant EUR
|
||||
//VAL995 => Montant EUR
|
||||
//VAL996 => Montant EUR
|
||||
//VAL997 => Montant EUR
|
||||
//VAL998 => Montant EUR
|
||||
//VAL999 => Montant EUR
|
||||
'VILLE',
|
||||
'VENTEMAX_VILLE_MT',
|
||||
'VENTEMOY_VILLE_MT',
|
||||
@ -573,12 +646,12 @@ if (!function_exists('unsetGlobals')) {
|
||||
unset ($regRs);
|
||||
unset ($Ra);
|
||||
unset ($Rap);
|
||||
unset ($Rdiff);
|
||||
unset ($Rdiff);
|
||||
unset ($tabRegX);
|
||||
unset ($Y);
|
||||
unset ($Yaff);
|
||||
unset ($PROJECTAUX);
|
||||
unset ($PROJECCOEF);
|
||||
unset ($PROJECCOEF);
|
||||
unset ($idx);
|
||||
unset ($tabVariables);
|
||||
}
|
||||
|
@ -9,12 +9,6 @@ if (defined('LOCAL') == false) {
|
||||
define( 'LOCAL', 0);
|
||||
}
|
||||
|
||||
if (LOCAL) {
|
||||
require_once('../sphinx/api/sphinxapi.php');
|
||||
} else {
|
||||
require_once 'Metier/sphinx/sphinxapi.php';
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Nouvelle sequence
|
||||
// --------------------------------------------------------------------------- //
|
||||
|
@ -7,30 +7,8 @@
|
||||
if (defined('DEBUG') == false) {
|
||||
define( 'DEBUG', 0);
|
||||
}
|
||||
if (defined('LOCAL') == false) {
|
||||
define( 'LOCAL', 0);
|
||||
}
|
||||
|
||||
if (LOCAL) {
|
||||
include_once('../sphinx/api/sphinxapi.php');
|
||||
include_once('criteresFonc.php');
|
||||
define('SPHINX_HOST', 'localhost');
|
||||
define('SPHINX_PORT', 9312);
|
||||
$pass = '';
|
||||
$conf = file("../etc/conf/sphinx.conf");
|
||||
foreach ($conf as $ligne) {
|
||||
$param = explode('=', $ligne);
|
||||
if (trim($param[0]) == 'sql_pass') {
|
||||
$pass = trim($param[1]);
|
||||
}
|
||||
}
|
||||
define('MYSQL_HOST', 'localhost');
|
||||
define('MYSQL_USER', 'root');
|
||||
define('MYSQL_PASS', $pass);
|
||||
} else {
|
||||
require_once realpath(dirname(__FILE__)).'/sphinxapi.php';
|
||||
require_once realpath(dirname(__FILE__)).'/criteresFonc.php';
|
||||
}
|
||||
require_once realpath(dirname(__FILE__)).'/criteresFonc.php';
|
||||
|
||||
$gDatabaseJO = databaseJO();
|
||||
|
||||
@ -39,7 +17,7 @@ $gDatabaseJO = databaseJO();
|
||||
// --------------------------------------------------------------------------- //
|
||||
function databaseJO()
|
||||
{
|
||||
@$db = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, 'jo');
|
||||
$db = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, 'jo');
|
||||
if (mysqli_connect_error()) {
|
||||
println('Ne peut pas se connecter a la base.');
|
||||
return;
|
||||
@ -71,11 +49,7 @@ if (DEBUG) {
|
||||
} else {
|
||||
function debugln($ln = '')
|
||||
{
|
||||
/*
|
||||
$fp = fopen(LOG_PATH.'/recherchesDebug.log', 'a');
|
||||
fwrite($fp, $ln.'\n');
|
||||
fclose($fp);
|
||||
*/
|
||||
//file_put_contents(LOG_PATH.'/recherchesDebug.log', $ln."\n", FILE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,47 +97,67 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx)
|
||||
if (empty($formR['cpVille']) == true) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$adressePostale = $formR['cpVille'];
|
||||
if (preg_match('/[0-9]{5}/',
|
||||
$adressePostale, $codePostaux) > 0) {
|
||||
if (strstr($criteres, 'L') != false) {
|
||||
//If we have a CEDEX
|
||||
if (preg_match('/^[0-9]{5}\s(.*)\sCEDEX/i', $adressePostale, $codePostaux)) {
|
||||
$formR['departement'] = '';
|
||||
$formR['ville'] = $codePostaux[1];
|
||||
}
|
||||
//If we have a Code Postal
|
||||
elseif (preg_match('/[0-9]{5}/', $adressePostale, $codePostaux) > 0)
|
||||
{
|
||||
if (strstr($criteres, 'L') != false)
|
||||
{
|
||||
debugln("filtre adr_cp='$codePostaux[0]'");
|
||||
$sphinx->SetFilter('adr_cp', $codePostaux);
|
||||
} else if (strstr($criteres, 'D') != false) {
|
||||
}
|
||||
else if (strstr($criteres, 'D') != false)
|
||||
{
|
||||
$departement = substr($codePostaux[0], 0, 2);
|
||||
if ($departement == 97 ||
|
||||
$departement == 98) {
|
||||
if ($departement == 97 || $departement == 98)
|
||||
{
|
||||
$departement = substr($codePostaux[0], 0, 3);
|
||||
}
|
||||
debugln("filtre adr_dep='$departement'");
|
||||
$sphinx->SetFilter('adr_dep', array($departement));
|
||||
}
|
||||
$formR['ville'] = str_replace($codePostaux[0], '',
|
||||
$adressePostale);
|
||||
|
||||
$formR['ville'] = str_replace($codePostaux[0], '', $adressePostale);
|
||||
$dep = intval(substr($codePostaux[0], 0, 2));
|
||||
|
||||
//Monaco
|
||||
if ($codePostaux[0] == '98000') {
|
||||
$formR['departement'] = 99;
|
||||
$formR['localite'] = 0;
|
||||
} else if ($dep == 97 ||
|
||||
$dep == 98) {
|
||||
//DOM-TOM
|
||||
} else if ($dep == 97 || $dep == 98) {
|
||||
$formR['departement'] = substr($codePostaux[0], 0, 3);
|
||||
$formR['localite'] = substr($codePostaux[0], 3, 2);
|
||||
} else {
|
||||
$formR['departement'] = substr($codePostaux[0], 0, 2);
|
||||
$formR['localite'] = substr($codePostaux[0], 2, 3);
|
||||
}
|
||||
} else if (preg_match('/[0-9]{3}/',
|
||||
$adressePostale, $departements) > 0 ||
|
||||
preg_match('/[0-9]{2}/',
|
||||
$adressePostale, $departements) > 0) {
|
||||
if (strstr($criteres, 'D') != false) {
|
||||
debugln("filtre adr_dep='$departements[0]'");
|
||||
$sphinx->SetFilter('adr_dep', $departements);
|
||||
}
|
||||
//If we have a Departement
|
||||
else if (preg_match('/(2[A|B]|[0-9]{2})/', $adressePostale, $departements)
|
||||
|| preg_match('/([0-9]{3})/', $adressePostale, $departements))
|
||||
{
|
||||
$departement = $departements[1];
|
||||
|
||||
if ($departement == '2A'){
|
||||
$departement = 201;
|
||||
}
|
||||
$formR['ville'] = str_replace($departements[0], '',
|
||||
$adressePostale);
|
||||
$formR['departement'] = $departements[0];
|
||||
if ($departement == '2B' ) {
|
||||
$departement = 202;
|
||||
}
|
||||
|
||||
if (strstr($criteres, 'D') != false) {
|
||||
debugln("filtre adr_dep='$departement'");
|
||||
$sphinx->SetFilter('adr_dep', array($departement));
|
||||
}
|
||||
$formR['ville'] = str_replace($departement, '', $adressePostale);
|
||||
$formR['departement'] = $departement;
|
||||
} else {
|
||||
$formR['ville'] = $adressePostale;
|
||||
}
|
||||
@ -263,6 +257,22 @@ function filtreDateNaiss(&$formR, &$criteres, &$sphinx)
|
||||
}
|
||||
}
|
||||
|
||||
//Filtre sur les actifs
|
||||
function filtreActif(&$formR, &$criteres, &$sphinx)
|
||||
{
|
||||
if ( array_key_exists('actif', $formR) && in_array($formR['actif'], array(0,1)) ) {
|
||||
$sphinx->setFilter('actif', array($formR['actif']));
|
||||
}
|
||||
}
|
||||
|
||||
//Filtre sur les sieges
|
||||
function filtreSiege(&$formR, &$criteres, &$sphinx)
|
||||
{
|
||||
if ( array_key_exists('siege', $formR) && $formR['siege']===true ) {
|
||||
$sphinx->setFilter('siege', array(1));
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Premiere requete Sphinx
|
||||
// --------------------------------------------------------------------------- //
|
||||
@ -272,6 +282,8 @@ function filtreDateNaiss(&$formR, &$criteres, &$sphinx)
|
||||
function premiereRequeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
|
||||
&$criteresSphinx, &$form2crit, $sirenValide)
|
||||
{
|
||||
filtreSiege($formR, $criteres, $sphinx);
|
||||
filtreActif($formR, $criteres, $sphinx);
|
||||
filtreSiret ($formR, $criteres, $sphinx);
|
||||
filtreAdresse($formR, $criteres, $sphinx);
|
||||
filtreNumero ($formR, $criteres, $sphinx);
|
||||
@ -302,9 +314,7 @@ function premiereRequeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
|
||||
}
|
||||
debugln("requete='$requete_sphinx'");
|
||||
if (substr($index, 0, 3) == 'ent') {
|
||||
$sphinx->
|
||||
SetSortMode(SPH_SORT_EXTENDED,
|
||||
'sirenValide DESC, rang DESC, actif DESC, siege DESC');
|
||||
$sphinx->SetSortMode(SPH_SORT_EXTENDED,'sirenValide DESC, actif DESC, siege DESC, rang DESC');
|
||||
} else if (substr($index, 0, 3) == 'dir') {
|
||||
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'actif DESC');
|
||||
}
|
||||
@ -319,12 +329,15 @@ function requeteSphinx(&$sphinx, &$index, &$formR, &$criteres,
|
||||
&$criteresSphinx, &$form2crit, $quorum_actif, $quorum,
|
||||
$sirenValide)
|
||||
{
|
||||
filtreSiege($formR, $criteres, $sphinx);
|
||||
filtreActif($formR, $criteres, $sphinx);
|
||||
filtreSiret ($formR, $criteres, $sphinx);
|
||||
filtreAdresse($formR, $criteres, $sphinx);
|
||||
filtreNumero ($formR, $criteres, $sphinx);
|
||||
if ($sirenValide == true) {
|
||||
$sphinx->SetFilter('sirenValide', array(1));
|
||||
}
|
||||
|
||||
if ($quorum_actif == true) {
|
||||
foreach ($quorum as $label => $valeur) {
|
||||
if ($valeur > 1 && strstr($formR[$label], '"') == false) {
|
||||
@ -425,7 +438,7 @@ function afficheDB(&$resSphinx, &$formR, &$form2crit, $table, &$base2form,
|
||||
}
|
||||
if ($formR['type'] == 'ent') {
|
||||
$requeteDB .=
|
||||
' ORDER BY sirenValide DESC, rang DESC, actif DESC, siege DESC';
|
||||
' ORDER BY sirenValide DESC, actif DESC, siege DESC, rang DESC';
|
||||
} else {
|
||||
$requeteDB .= ' ORDER BY actif DESC';
|
||||
}
|
||||
@ -599,27 +612,41 @@ function clientSphinx(&$formR)
|
||||
}
|
||||
}
|
||||
|
||||
// Client Sphinx
|
||||
$sphinx = new SphinxClient();
|
||||
switch($formR['type'])
|
||||
{
|
||||
case 'ent':
|
||||
$host = SPHINX_ENT_HOST;
|
||||
$port = SPHINX_ENT_PORT;
|
||||
$version = defined('SPHINX_ENT_VERSION') ? SPHINX_ENT_VERSION : 1;
|
||||
break;
|
||||
case 'dir':
|
||||
$version = defined('SPHINX_DIR_VERSION') ? SPHINX_DIR_VERSION : 1;
|
||||
$host = SPHINX_DIR_HOST;
|
||||
$port = SPHINX_DIR_PORT;
|
||||
break;
|
||||
case 'histo':
|
||||
$version = defined('SPHINX_HISTO_VERSION') ? SPHINX_HISTO_VERSION : 1;
|
||||
$host = SPHINX_HISTO_HOST;
|
||||
$port = SPHINX_HISTO_PORT;
|
||||
break;
|
||||
case 'act':
|
||||
case 'act':
|
||||
$version = defined('SPHINX_ACT_VERSION') ? SPHINX_ACT_VERSION : 1;
|
||||
$host = SPHINX_ACT_HOST;
|
||||
$port = SPHINX_ACT_PORT;
|
||||
break;
|
||||
}
|
||||
|
||||
switch ( $version ) {
|
||||
case 1:
|
||||
require_once realpath(dirname(__FILE__)).'/sphinxapi.php';
|
||||
break;
|
||||
case 2:
|
||||
require_once 'sphinxapi/sphinxapi-2.0.2.php';
|
||||
break;
|
||||
}
|
||||
|
||||
// Client Sphinx
|
||||
$sphinx = new SphinxClient();
|
||||
$sphinx->SetServer($host, $port);
|
||||
$sphinx->SetConnectTimeout(1);
|
||||
$sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
|
||||
@ -701,49 +728,29 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
|
||||
}
|
||||
$pertinence_generale *= $num / $tot;
|
||||
$pertinence_generale = intval($pertinence_generale);
|
||||
print 'Pertinence generale: '.$pertinence_generale.'<br/>';
|
||||
//print 'Pertinence generale: '.$pertinence_generale.'<br/>';
|
||||
}
|
||||
$decalage = false;
|
||||
for ($i = 0, $k = 0; $k < $resDB->num_rows || $decalage == true; ++$i) {
|
||||
if ($decalage == false) {
|
||||
|
||||
if ( is_object($resDB) ) {
|
||||
|
||||
$resDB->data_seek(0);
|
||||
|
||||
for ($i = 0; $i < $resDB->num_rows; $i++) {
|
||||
$ligne = $resDB->fetch_assoc();
|
||||
++$k;
|
||||
} else {
|
||||
$decalage = false;
|
||||
}
|
||||
if ($formR['type']=='dir') {
|
||||
debugln($ligneDir[$i]['id'].' '.$ligne['id']);
|
||||
}
|
||||
if ($formR['type']=='dir' && $ligneDir[$i]['id']!=$ligne['id']) {
|
||||
for ($j = $i - 1; $j >= 0; --$j) {
|
||||
if ($ret['reponses'][$j]['id'] == $ligneDir[$i]['id']) {
|
||||
$ret['reponses'][$i] = $ret['reponses'][$j];
|
||||
$decalage = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($decalage != true) {
|
||||
debugln('erreur '.$ligneDir[$i]['id'].' != '.$ligne['id']);
|
||||
}
|
||||
} else {
|
||||
|
||||
//file_put_contents('test.log', "\n".'i = '.$i.print_r($ligne,1), FILE_APPEND);
|
||||
|
||||
$ret['reponses'][$i]['id'] = $ligne['id'];
|
||||
//if ($formR['type'] == 'dir') {
|
||||
// debugln("$i:$ligne[id]");
|
||||
//}
|
||||
$pertinence = $pertinence_generale;
|
||||
if ($formR['type'] == 'ent') {
|
||||
if (empty($formR['raisonSociale']) == false) {
|
||||
$pertinence *= compare($formR['raisonSociale'],
|
||||
$ligne['raisonSociale']);
|
||||
}
|
||||
if (empty($formR['voie']) == false) {
|
||||
$pertinence *= compare($formR['voie'],
|
||||
$ligne['adr_typeVoie'].' '.
|
||||
$ligne['adr_libVoie']);
|
||||
if (empty($formR['raisonSociale']) == false) {
|
||||
$pertinence *= compare($formR['raisonSociale'], $ligne['raisonSociale']);
|
||||
}
|
||||
if (empty($formR['voie']) == false) {
|
||||
$pertinence *= compare($formR['voie'], $ligne['adr_typeVoie'].' '.$ligne['adr_libVoie']);
|
||||
}
|
||||
if (empty($formR['ville']) == false) {
|
||||
$pertinence *= compare($formR['ville'],
|
||||
$ligne['adr_ville']);
|
||||
$pertinence *= compare($formR['ville'], $ligne['adr_ville']);
|
||||
}
|
||||
}
|
||||
$ret['reponses'][$i]['Pertinence'] = $pertinence;
|
||||
@ -756,75 +763,41 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
|
||||
$ret['reponses'][$i]['Sigle'] = $ligne['sigle'];
|
||||
$ret['reponses'][$i]['Enseigne'] = $ligne['enseigne'];
|
||||
$ret['reponses'][$i]['Adresse'] =
|
||||
$ligne['adr_num'].' '.
|
||||
$ligne['adr_typeVoie'].' '.
|
||||
$ligne['adr_libVoie'];
|
||||
$ligne['adr_num'].' '.
|
||||
$ligne['adr_typeVoie'].' '.
|
||||
$ligne['adr_libVoie'];
|
||||
$ret['reponses'][$i]['Adresse2'] = $ligne['adr_comp'];
|
||||
$ret['reponses'][$i]['CP'] = $ligne['adr_cp'];
|
||||
$ret['reponses'][$i]['Ville'] = $ligne['adr_ville'];
|
||||
$ret['reponses'][$i]['Tel'] = $ligne['tel'];
|
||||
$ret['reponses'][$i]['Fax'] = $ligne['fax'];
|
||||
$ret['reponses'][$i]['FJ'] = $ligne['cj'];
|
||||
//$ret['reponses'][$i]['FJLib'] = ;
|
||||
$ret['reponses'][$i]['Actif'] = $ligne['actif'];
|
||||
$ret['reponses'][$i]['NafEtab'] = $ligne['ape_etab'];
|
||||
//$ret['reponses'][$i]['NafEtabLib'] = ;
|
||||
$ret['reponses'][$i]['NafEnt'] = $ligne['ape_entrep'];
|
||||
//$ret['reponses'][$i]['NafEntLib'] = ;
|
||||
}
|
||||
if ($formR['type']=='dir') {
|
||||
// Dirigeant
|
||||
$ret['reponses'][$i]['DirRs'] = '';
|
||||
$ret['reponses'][$i]['DirNom'] = $ligneDir[$i]['nom'];
|
||||
$ret['reponses'][$i]['DirPrenom'] = $ligneDir[$i]['prenom'];
|
||||
$ret['reponses'][$i]['DirNomUsage'] = '';
|
||||
$ret['reponses'][$i]['DirDateEffet'] = '';
|
||||
$ret['reponses'][$i]['DirFonction'] = $ligneDir[$i]['fonction_lib'];
|
||||
$ret['reponses'][$i]['DirDepart'] = '';
|
||||
} elseif ($formR['type']=='act') {
|
||||
// Actionnaire
|
||||
$ret['reponses'][$i]['ActNomRs'] = $ligneDir[$i]['ActNomRs'];
|
||||
$ret['reponses'][$i]['ActPays'] = $ligneDir[$i]['ActPays'];
|
||||
$ret['reponses'][$i]['ActDateLien'] = $ligneDir[$i]['ActDateLien'];
|
||||
$ret['reponses'][$i]['ActActif'] = $ligneDir[$i]['ActActif'];
|
||||
$ret['reponses'][$i]['ActPmin'] = $ligneDir[$i]['ActPmin'];
|
||||
}
|
||||
}
|
||||
if ($formR['type']=='dir') {
|
||||
for (; $i < count($ligneDir); ++$i) {
|
||||
debugln($ligneDir[$i]['id'].' ==> '.$i);
|
||||
for ($j = $i - 1; $j >= 0; --$j) {
|
||||
if ($ret['reponses'][$j]['id'] == $ligneDir[$i]['id']) {
|
||||
$ret['reponses'][$i] = $ret['reponses'][$j];
|
||||
$ret['reponses'][$i]['DirRs'] = '';
|
||||
$ret['reponses'][$i]['DirNom'] = $ligneDir[$i]['nom'];
|
||||
$ret['reponses'][$i]['DirPrenom'] = $ligneDir[$i]['prenom'];
|
||||
$ret['reponses'][$i]['DirNomUsage'] = '';
|
||||
$ret['reponses'][$i]['DirDateEffet'] = '';
|
||||
$ret['reponses'][$i]['DirFonction'] = $ligneDir[$i]['fonction_lib'];
|
||||
$ret['reponses'][$i]['DirDepart'] = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($j < 0) debugln('erreur '.$ligneDir[$i]['id'].' non trouve');
|
||||
}
|
||||
} elseif ($formR['type']=='act') {
|
||||
for (; $i < count($ligneDir); ++$i) {
|
||||
debugln($ligneDir[$i]['id'].' ==> '.$i);
|
||||
for ($j = $i - 1; $j >= 0; --$j) {
|
||||
if ($ret['reponses'][$j]['id'] == $ligneDir[$i]['id']) {
|
||||
$ret['reponses'][$i] = $ret['reponses'][$j];
|
||||
$ret['reponses'][$i]['ActNomRs'] = $ligneDir[$i]['ActNomRs'];
|
||||
$ret['reponses'][$i]['ActPays'] = $ligneDir[$i]['ActPays'];
|
||||
$ret['reponses'][$i]['ActDateLien'] = $ligneDir[$i]['ActDateLien'];
|
||||
$ret['reponses'][$i]['ActActif'] = $ligneDir[$i]['ActActif'];
|
||||
$ret['reponses'][$i]['ActPmin'] = $ligneDir[$i]['ActPmin'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($j < 0) debugln('erreur '.$ligneDir[$i]['id'].' non trouve');
|
||||
|
||||
if ($formR['type']=='dir') {
|
||||
// Dirigeant
|
||||
$ret['reponses'][$i]['DirRs'] = '';
|
||||
$ret['reponses'][$i]['DirNom'] = $ligneDir[$i]['nom'];
|
||||
$ret['reponses'][$i]['DirPrenom'] = $ligneDir[$i]['prenom'];
|
||||
$ret['reponses'][$i]['DirNomUsage'] = $ligneDir[$i]['naissance_nom'];
|
||||
$ret['reponses'][$i]['DirDateNaiss'] = $ligneDir[$i]['naissance_date'];
|
||||
$ret['reponses'][$i]['DirLieuNaiss'] = $ligneDir[$i]['naissance_lieu'];
|
||||
$ret['reponses'][$i]['DirDateEffet'] = '';
|
||||
$ret['reponses'][$i]['DirFonction'] = $ligneDir[$i]['fonction_lib'];
|
||||
$ret['reponses'][$i]['DirDepart'] = '';
|
||||
} elseif ($formR['type']=='act') {
|
||||
// Actionnaire
|
||||
$ret['reponses'][$i]['ActNomRs'] = $ligneDir[$i]['ActNomRs'];
|
||||
$ret['reponses'][$i]['ActPays'] = $ligneDir[$i]['ActPays'];
|
||||
$ret['reponses'][$i]['ActDateLien'] = $ligneDir[$i]['ActDateLien'];
|
||||
$ret['reponses'][$i]['ActActif'] = $ligneDir[$i]['ActActif'];
|
||||
$ret['reponses'][$i]['ActPmin'] = $ligneDir[$i]['ActPmin'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($formR['type'] == 'ent') {
|
||||
$ret['pass'] = $resSphinx['pass'];
|
||||
}
|
||||
@ -946,44 +919,48 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
}
|
||||
|
||||
$requeteDB =
|
||||
'select e.id, d.nom, d.prenom, l.libelle AS fonction_lib '.
|
||||
// d.rs, d.nomUsage, d.naissance_date, d.naissance_lieu,
|
||||
' from dirigeants d, etablissements e, bodacc_fonctions l'.
|
||||
' where d.siren=e.siren and d.fonction_code=l.codeFct AND e.siege=1 and (d.id='.
|
||||
$resSphinx['matches'][0]['id'];
|
||||
"SELECT d.nom, d.prenom, d.naissance_nom, d.naissance_date, d.naissance_lieu, l.libelle AS fonction_lib,".
|
||||
" e.id, CONCAT(e.siren,e.nic) AS siret, e.siren, e.nic, e.siege, e.raisonSociale, e.sigle, e.enseigne,".
|
||||
" e.adr_num, e.adr_typeVoie, e.adr_libVoie, e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.actif, e.ape_etab, e.ape_entrep".
|
||||
" FROM dirigeants d, etablissements e, bodacc_fonctions l".
|
||||
" WHERE d.fonction_code=l.codeFct AND d.id IN (".$resSphinx['matches'][0]['id'];
|
||||
for ($i = 1; $i + $deb < $resSphinx['total'] && $i < $nbRep; ++$i) {
|
||||
$requeteDB .= ' or d.id='.$resSphinx['matches'][$i]['id'];
|
||||
$requeteDB .= ",".$resSphinx['matches'][$i]['id'];
|
||||
}
|
||||
$requeteDB .= ')';
|
||||
$requeteDB .= ' GROUP BY d.siren, d.id';
|
||||
$requeteDB .= ' ORDER BY e.rang DESC, e.actif DESC, e.siege DESC, e.id ASC';
|
||||
$requeteDB .= ") AND e.id = (";
|
||||
$requeteDB .= "SELECT tmp.id FROM etablissements tmp ";
|
||||
$requeteDB .= "WHERE tmp.siren=d.siren ORDER by tmp.actif DESC, tmp.siege DESC LIMIT 1";
|
||||
$requeteDB .= ")";
|
||||
|
||||
//file_put_contents('test.log', $requeteDB);
|
||||
|
||||
debugln();
|
||||
debugln("requeteDB='$requeteDB'");
|
||||
$resDB = $gDatabaseJO->query($requeteDB);
|
||||
|
||||
// Reponse
|
||||
$ligneDir = array();
|
||||
$ligne = $resDB->fetch_assoc();
|
||||
$requeteDB = 'select id, CONCAT(siren,nic) AS siret, siren, nic, siege, '.
|
||||
'raisonSociale, sigle, enseigne, adr_num, adr_typeVoie, adr_libVoie, '.
|
||||
'adr_comp, adr_cp, adr_ville, tel, fax, cj, actif, ape_etab, '.
|
||||
'ape_entrep from etablissements where id='.$ligne['id'];
|
||||
$ligneDir[0] = array('id' => $ligne['id'],
|
||||
'nom' => $ligne['nom'],
|
||||
'prenom' => $ligne['prenom'],
|
||||
'fonction_lib' => $ligne['fonction_lib']);
|
||||
for ($i = 1; $i < $resDB->num_rows; ++$i) {
|
||||
|
||||
for ($i = 0; $i < $resDB->num_rows; $i++) {
|
||||
$ligne = $resDB->fetch_assoc();
|
||||
$requeteDB .= ' or id='.$ligne['id'];
|
||||
$ligneDir[$i] = array('id' => $ligne['id'],
|
||||
'nom' => $ligne['nom'],
|
||||
'prenom' => $ligne['prenom'],
|
||||
'fonction_lib' => $ligne['fonction_lib']);
|
||||
|
||||
$nom = $ligne['nom'];
|
||||
if ( $ligne['naissance_nom']!='' ) {
|
||||
$nom.= " nom d'usage ".$ligne['naissance_nom'];
|
||||
}
|
||||
$ligneDir[$i] = array(
|
||||
'id' => $ligne['id'],
|
||||
'nom' => $nom,
|
||||
'prenom' => $ligne['prenom'],
|
||||
'fonction_lib' => $ligne['fonction_lib'],
|
||||
'naissance_nom'=> $ligne['naissance_nom'],
|
||||
'naissance_date'=> $ligne['naissance_date'],
|
||||
'naissance_lieu'=> $ligne['naissance_lieu']
|
||||
);
|
||||
}
|
||||
$requeteDB .= ' ORDER BY rang DESC, actif DESC, siege DESC, id ASC';
|
||||
|
||||
debugln();
|
||||
debugln("requeteDB='$requeteDB'");
|
||||
$resDB = $gDatabaseJO->query($requeteDB);
|
||||
|
||||
return reponse($resSphinx, $resDB, $criteres, $total_time, $formR,
|
||||
$form2crit, $deb, $ligneDir);
|
||||
@ -995,29 +972,29 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
|
||||
function rechercheHisto($formR, $deb, $nbRep, $max)
|
||||
{
|
||||
$gDatabaseJO = databaseJO();
|
||||
|
||||
|
||||
$sphinx = clientSphinx($formR);
|
||||
|
||||
|
||||
$index = 'histo';
|
||||
$mode = 'SPH_MATCH_EXTENDED';
|
||||
$pass = 0;
|
||||
initSphinx($sphinx, $mode, $pass, $deb, $nbRep, $max);
|
||||
if (!empty($formR['annee1']))
|
||||
$sphinx->SetFilter('annee1', array(0=>$formR['annee1']));
|
||||
|
||||
$sphinx->SetFilter('annee1', array(0=>$formR['annee1']));
|
||||
|
||||
$sphinx->SetRankingMode ( SPH_RANK_PROXIMITY_BM25 );
|
||||
|
||||
|
||||
$sphinxreturn = $sphinx->Query($formR['recherche'], $index);
|
||||
|
||||
|
||||
$gDatabaseJO->select_db('histobodacc');
|
||||
|
||||
foreach ( $sphinxreturn['matches'] as $doc => $docinfo )
|
||||
|
||||
foreach ( $sphinxreturn['matches'] as $doc => $docinfo )
|
||||
{
|
||||
$requette = "SELECT Histo as Loc, id, nomFichier, annee1, bod, texte FROM bodacc_cor WHERE id=$doc";
|
||||
$req = $gDatabaseJO->query($requette);
|
||||
$req = $gDatabaseJO->query($requette);
|
||||
$ligne = $req->fetch_assoc();
|
||||
$etab = $ligne[0];
|
||||
$tabRet[] = array(
|
||||
$tabRet[] = array(
|
||||
'Localisation' => $etab['Loc'],
|
||||
'id' => $doc,
|
||||
'Pertinence' => $docinfo['weight'],
|
||||
@ -1027,8 +1004,8 @@ function rechercheHisto($formR, $deb, $nbRep, $max)
|
||||
'Texte' => $etab['texte'],
|
||||
);
|
||||
}
|
||||
|
||||
return array(
|
||||
|
||||
return array(
|
||||
'results' => $tabRet,
|
||||
'nbRet' => $sphinxreturn['total'],
|
||||
'nbTot' => $sphinxreturn['total_found'],
|
||||
@ -1059,15 +1036,15 @@ function constructRequete($formR, $sphinxCriteres)
|
||||
function rechercheAct($formR, $deb, $nbRep, $max)
|
||||
{
|
||||
$gDatabaseJO = databaseJO();
|
||||
|
||||
|
||||
$sphinx = clientSphinx($formR);
|
||||
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'actif DESC');
|
||||
|
||||
|
||||
$index = 'act';
|
||||
$mode = 'SPH_MATCH_EXTENDED2';
|
||||
$pass = 0;
|
||||
initSphinx($sphinx, $mode, $pass, $deb, $nbRep, $max);
|
||||
|
||||
|
||||
$Criteres = array('Siren2' => 'siren',
|
||||
'Req' => 'actNomRS',
|
||||
'@Pays' => 'pays',
|
||||
@ -1077,7 +1054,7 @@ function rechercheAct($formR, $deb, $nbRep, $max)
|
||||
'pays' => 'P',
|
||||
'pctMax' => 'M'
|
||||
);
|
||||
|
||||
|
||||
$Requete = constructRequete($formR, $Criteres);
|
||||
if(!empty($formR['pctMin']))
|
||||
$sphinx->SetFilterRange('PminNum', $formR['pctMin'], 99);
|
||||
@ -1085,51 +1062,61 @@ function rechercheAct($formR, $deb, $nbRep, $max)
|
||||
$sphinx->SetFilterRange('PminNum', $formR['pctMin'], 99);
|
||||
if(!empty($formR['pctMin']) and !empty($formR['pctMax']))
|
||||
$sphinx->SetFilterRange('PminNum', $formR['pctMix'], $formR['pctMax']);
|
||||
|
||||
|
||||
|
||||
$sphinxreturn = $sphinx->Query($Requete, $index);
|
||||
$criteres = 'NPM';
|
||||
$requette = 'SELECT l.id AS lienId, l.actif AS lienActif, l.source, l.Pmin, l.PpPm, l.id2, '.
|
||||
'l.Siren2, l.RaisonSociale, l.Pays, '.
|
||||
'IF(l.dateUpdate>IF(l.dateInsert>l.dateLien,l.dateInsert,l.dateLien),l.dateUpdate,IF(l.dateInsert>l.dateLien,l.dateInsert,l.dateLien)) AS dateLien, '.
|
||||
'e.id, CONCAT(siren,nic) AS siret, siren, nic, siege, e.raisonSociale, sigle, '.
|
||||
'enseigne, adr_num, adr_typeVoie, adr_libVoie, adr_comp, adr_cp, adr_ville, '.
|
||||
'tel, fax, cj, e.actif, ape_etab, ape_entrep '.
|
||||
'e.id, CONCAT(e.siren,e.nic) AS siret, e.siren, e.nic, e.siege, e.raisonSociale, e.sigle, e.enseigne, '.
|
||||
'e.adr_num, e.adr_typeVoie, e.adr_libVoie, e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.actif, e.ape_etab, e.ape_entrep ' .
|
||||
'FROM liens l, etablissements e '.
|
||||
'WHERE l.Siren1=e.siren AND e.siege=1 AND (';
|
||||
'WHERE l.Siren1=e.siren AND e.siege=1 AND l.id IN(';
|
||||
$i = 0;
|
||||
|
||||
//file_put_contents('test.log', print_r($sphinxreturn['matches'],1));
|
||||
|
||||
foreach($sphinxreturn['matches'] as $id => $element) {
|
||||
if($i == 0)
|
||||
$requette.= ' l.id='.$element['id'];
|
||||
else
|
||||
$requette.= ' OR l.id='.$element['id'];
|
||||
if($i > 0) $requette.= ',';
|
||||
$requette.= $element['id'];
|
||||
$i++;
|
||||
}
|
||||
$requette.= ') GROUP BY l.Siren1, l.id ORDER BY e.rang DESC, e.actif DESC, e.siege DESC, e.id ASC';
|
||||
$requette.= ') GROUP BY l.Siren1, l.id ORDER BY e.actif DESC, e.siege DESC, e.id ASC';
|
||||
|
||||
//file_put_contents('test.log', $requette."\n", FILE_APPEND);
|
||||
|
||||
$req = $gDatabaseJO->query($requette);
|
||||
|
||||
|
||||
$requette2 ='SELECT id, CONCAT(siren,nic) AS siret, siren, nic, siege, '.
|
||||
/*$requette2 ='SELECT id, CONCAT(siren,nic) AS siret, siren, nic, siege, '.
|
||||
'raisonSociale, sigle, enseigne, adr_num, adr_typeVoie, adr_libVoie, '.
|
||||
'adr_comp, adr_cp, adr_ville, tel, fax, cj, actif, ape_etab, '.
|
||||
'ape_entrep FROM etablissements WHERE ';
|
||||
|
||||
'ape_entrep FROM etablissements WHERE id IN (';
|
||||
*/
|
||||
$ligneAct = array();
|
||||
for($i = 0; $i < $req->num_rows; $i++) {
|
||||
$ligne = $req->fetch_assoc();
|
||||
$ligneAct[$i] = array( 'id' => $ligne['id'],
|
||||
'ActNomRs' => $ligne['RaisonSociale'],
|
||||
'ActPays' => $ligne['Pays'],
|
||||
'ActDateLien'=>$ligne['dateLien'],
|
||||
'ActActif' => $ligne['actif'],
|
||||
'ActPmin' => $ligne['Pmin'],
|
||||
);
|
||||
if($i == 0) $requette2.= ' id='.$ligne['id'];
|
||||
else $requette2.= ' OR id='.$ligne['id'];
|
||||
|
||||
//file_put_contents('test.log', print_r($ligne,1)."\n", FILE_APPEND);
|
||||
|
||||
$ligneAct[$i] = array(
|
||||
'id' => $ligne['id'],
|
||||
'ActNomRs' => $ligne['RaisonSociale'],
|
||||
'ActPays' => $ligne['Pays'],
|
||||
'ActDateLien'=>$ligne['dateLien'],
|
||||
'ActActif' => $ligne['actif'],
|
||||
'ActPmin' => $ligne['Pmin'],
|
||||
);
|
||||
if($i > 0) $requette2.= ',';
|
||||
//$requette2.= $ligne['id'];
|
||||
}
|
||||
$requette2.= ' ORDER BY rang DESC, actif DESC, siege DESC, id ASC';
|
||||
|
||||
$req = $gDatabaseJO->query($requette2);
|
||||
|
||||
//$requette2.= ') ORDER BY actif DESC, siege DESC';
|
||||
|
||||
//file_put_contents('test.log', $requette2."\n", FILE_APPEND);
|
||||
|
||||
//$req = $gDatabaseJO->query($requette2);
|
||||
|
||||
return reponse($sphinxreturn, $req, $criteres, $sphinxreturn['time'], $formR, $form2crit, $deb, $ligneAct);
|
||||
}
|
||||
|
||||
@ -1217,8 +1204,7 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
|
||||
$total_time += $resSphinx['time'];
|
||||
}
|
||||
if ($resSphinx['total'] == 0 && isset($formR['departement']) == true) {
|
||||
debugln('Sans la gestion des mots non significatifs'.
|
||||
' et sans la localité');
|
||||
debugln('Sans la gestion des mots non significatifs et sans la localité');
|
||||
debugln();
|
||||
$criteres = 'ITSEPD VNR';
|
||||
$sphinx->resetFilters();
|
||||
@ -1238,14 +1224,15 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
|
||||
$criteres = 'ITSEPDLVNR';
|
||||
}
|
||||
$total_premiere_requete = $resSphinx['total'];
|
||||
|
||||
|
||||
if ($total_premiere_requete == 0 ||
|
||||
$total_premiere_requete > 500) { // "huit a huit" donne 414
|
||||
$index = 'ent_mns';
|
||||
|
||||
// Requete sans les mots non significatifs
|
||||
// pour connaitre le nombre de mots trouves pour chaque champ alpha
|
||||
debugln('Avec la gestion des mots non significatifs'.
|
||||
' et avec quorum si l\'adresse est complete');
|
||||
debugln('Avec la gestion des mots non significatifs et avec quorum si l\'adresse est complete');
|
||||
$raisonSociale = $formR['raisonSociale'];
|
||||
if ((empty($formR['ville']) == false ||
|
||||
empty($formR['departement']) == false) &&
|
||||
@ -1348,8 +1335,7 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
|
||||
}
|
||||
|
||||
// Combinaison
|
||||
$combinaison = nouvelleCombinaison($sequence, $sequencePos,
|
||||
$pass, $index, $mode);
|
||||
$combinaison = nouvelleCombinaison($sequence, $sequencePos, $pass, $index, $mode);
|
||||
if ($combinaison == '') {
|
||||
debugln('fin des combinaisons');
|
||||
if (changePass($pass, $mode, $index,
|
||||
@ -1456,8 +1442,7 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
|
||||
for ($i = 1; $i + $deb < $resSphinx['total'] && $i < $nbRep; ++$i) {
|
||||
$requeteDB .= ' or id='.$resSphinx['matches'][$i]['id'];
|
||||
}
|
||||
$requeteDB .=
|
||||
' ORDER BY sirenValide DESC, rang DESC, actif DESC, siege DESC';
|
||||
$requeteDB .= ' ORDER BY sirenValide DESC, actif DESC, siege DESC, rang DESC';
|
||||
|
||||
debugln();
|
||||
debugln("requeteDB='$requeteDB'");
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3914
library/Metier/tmp/indiscore_406.php
Normal file
3914
library/Metier/tmp/indiscore_406.php
Normal file
File diff suppressed because it is too large
Load Diff
4168
library/Metier/tmp/indiscore_409.php
Normal file
4168
library/Metier/tmp/indiscore_409.php
Normal file
File diff suppressed because it is too large
Load Diff
3026
library/Metier/tmp/indiscorevalo_22.php
Normal file
3026
library/Metier/tmp/indiscorevalo_22.php
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user