Update code from server
This commit is contained in:
parent
44817bb11d
commit
dbbbc168a5
@ -154,6 +154,7 @@ $tabTypeAsso=array( '_1' =>array('even'=>8000,'type'=>'Insertion', 'forme'=>'A
|
||||
'_666'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'FON','lib'=>'FONDATION/DISSOLUTION/ANNULATION'),
|
||||
'_201'=>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION'),
|
||||
'_202'=>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/RECTIFICATIF'),
|
||||
'_203'=>array('even'=>8079,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/ANNULATION'),
|
||||
'_301'=>array('even'=>8090,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION'),
|
||||
'_302'=>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/RECTIFICATIF'),
|
||||
'_303'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/ANNULATION'),
|
||||
@ -783,13 +784,13 @@ private static $tabEvenements=array(
|
||||
'TRIBUNAL MIXTE DE COMMERCE'=>'TMX',
|
||||
'TRIBUNAL DE PREMIERE INSTANCE'=>'TPI',
|
||||
'TRIBUNAL SUPÉRIEUR D\'APPEL'=>'TSA',
|
||||
' D\''=>' ', ' DE '=>' ',
|
||||
' D\''=>' ', ' DE '=>' ',
|
||||
'GREFFE DU'=>'', '-'=>' ',
|
||||
'Ç'=>'C', 'É'=>'E', 'Î'=>'I', 'Â'=>'A', 'È'=>'E', 'Ô'=>'O', 'Ê'=>'E',
|
||||
' DU MANS'=>' LE MANS',
|
||||
' DU CREUSOT'=>' LE CREUSOT',
|
||||
' DU HAVRE'=>' LE HAVRE',
|
||||
' DU '=>' ', 'PUY'=>'PUY EN VELAY',
|
||||
' DU '=>' ', 'PUY'=>'PUY EN VELAY', 'LE PUY EN VELAY'=>'PUY EN VELAY',
|
||||
'ALÈS'=>'ALES',
|
||||
'.'=>' ',
|
||||
)
|
||||
@ -827,7 +828,9 @@ private static $tabEvenements=array(
|
||||
return $code;
|
||||
elseif ( $dep==975 && $libelleDuTribunal=='TGI SAINT PIERRE')
|
||||
return $code;
|
||||
|
||||
elseif ( $dep==70 && $libelleDuTribunal=='TC VESOUL')
|
||||
return $code;
|
||||
|
||||
elseif ( ($dep==95 || $dep==975) &&
|
||||
($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE SAINT PIERRE ET MIQUELON' || $libelleDuTribunal=='TPI SAINT PIERRE ET MIQUELON')
|
||||
)
|
||||
@ -851,8 +854,8 @@ private static $tabEvenements=array(
|
||||
echo "Pas trouvé $libelleDuTribunal ($dep) par rapport à ".$tribunal['nom'].' en base !'.EOL;
|
||||
*/
|
||||
}
|
||||
//echo "Pas trouvé $libelleDuTribunal ($dep) par rapport à ".$tribunal['nom'].' en base !'.EOL;
|
||||
//echo "Pas trouvé $sprefParam ($dep) par rapport à $sprefEnBase en base !".EOL;
|
||||
echo "Pas trouvé $libelleDuTribunal ($dep) par rapport à ".$tribunal['nom'].' en base !'.EOL;
|
||||
echo "Pas trouvé $sprefParam ($dep) par rapport à $sprefEnBase en base !".EOL;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -999,6 +1002,7 @@ private static $tabEvenements=array(
|
||||
* La première ligne ne contient pas de NOM PRENOM car il s'agit de la 1ère ligne
|
||||
*/
|
||||
foreach ($tabAdministration as $i=>$ligne) {
|
||||
/// en fonction le
|
||||
/** On recherche la fonction et son code fonction de la ligne */
|
||||
foreach ($this->tabDirigeants as $fonction=>$numFct) {
|
||||
if (preg_match("/(.*)$fonction(.*)$/i", $ligne, $matches)) {
|
||||
@ -1048,6 +1052,12 @@ private static $tabEvenements=array(
|
||||
} else
|
||||
die("Cas non gérée pour cette structure de noms : '$noms'");
|
||||
/** @todo Il manque le cas de repr par pour le STE ??? **/
|
||||
if (preg_match('/(en fonction le)|(modification le)/Ui', $nom)) {
|
||||
echo "Je remplace le nom du dirigeant BODACC '$nom' par ";
|
||||
$nom=preg_replace('/\s+en fonction le.*$/','', $nom);
|
||||
$nom=preg_replace('/\s+modification le.*$/','', $nom);
|
||||
echo "'$nom'".EOL;
|
||||
}
|
||||
$tabRet[]=array('fonction'=>$numFonction, 'rs'=>trim(str_replace(',','',$raisonSociale)), 'nom'=>$nom, 'prenom'=>$prenom, 'nomUsage'=>$usage, 'depart'=>$oldFonction);
|
||||
}
|
||||
}
|
||||
@ -1244,4 +1254,4 @@ private static $tabEvenements=array(
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -1,47 +1,34 @@
|
||||
<?
|
||||
|
||||
function isinPoidsLettre($lettre) {
|
||||
$ascii=ord($lettre);
|
||||
if ($ascii>64 && $ascii<91 )
|
||||
/* En ASCII : A=65 et Z=90
|
||||
En ISIN... A=10 et Z=35 */
|
||||
return ($ascii-55);
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Test si un code ISIN donné est valable à partir de son algo de contrôle.
|
||||
** @param string $isin Code ISIN à vérifier
|
||||
** @return bool
|
||||
**/
|
||||
function isValidIsin($isin) {
|
||||
|
||||
$pays=substr($isin, 0,2);
|
||||
$nsin=''.substr($isin, 2,9);
|
||||
$clef=substr($isin,11,1)*1;
|
||||
|
||||
$calcul=''.isinPoidsLettre($pays[0]).isinPoidsLettre($pays[1]).$nsin;
|
||||
//echo "Etape 1 = $calcul".EOL;
|
||||
|
||||
$sommeImpair=$sommePair=0;
|
||||
for ($impair=0; $impair<12; $impair=$impair+2) {
|
||||
$strImpair=''.$calcul[$impair]*2;
|
||||
if (isset($strImpair[1])) $reste=$strImpair[1]*1;
|
||||
else $reste=0;
|
||||
$sommeImpair+=$strImpair[0]*1+$reste;
|
||||
<?php
|
||||
/**
|
||||
* @return int 0 if checksum correct, int other from 0 if checksum incorrect
|
||||
* else int checksum (the 12th char for $src) if $src length == 11
|
||||
*/
|
||||
function calculateCheckISIN($src)
|
||||
{
|
||||
$result = 0;
|
||||
$whatLength = (strlen($src) == 12)? 1 : 2;
|
||||
|
||||
for($i = strlen($src) - 1; $i >= 0; $i--) {
|
||||
$current = intval(ord(substr($src, $i, 1)));
|
||||
if($current > ord('9'))
|
||||
{
|
||||
// It is a char
|
||||
$current -= intval((ord('A') - 10));
|
||||
$result += intval((3 - $whatLength)*intval($current/10) + $whatLength*$current + ($whatLength-1)*intval(($current%10)/5));
|
||||
} else {
|
||||
// It is a numeric character
|
||||
$current -= intval(ord('0'));
|
||||
$result += intval($whatLength*$current + ($whatLength-1)*intval($current/5));
|
||||
$whatLength = intval(3 - $whatLength);
|
||||
}
|
||||
}
|
||||
|
||||
for ($pair=1; $pair<12; $pair=$pair+2)
|
||||
$sommePair+=$calcul[$pair]*1;
|
||||
|
||||
$totalcalcul=$sommeImpair+$sommePair;
|
||||
//echo "Etape 3 = $sommeImpair + $sommePair = $totalcalcul".EOL;
|
||||
$result %= 10;
|
||||
$result = ((10 - $result%10) % 10);
|
||||
return $result;
|
||||
}
|
||||
|
||||
$dizSuperieur=ceil($totalcalcul/10)*10;
|
||||
$delta=$dizSuperieur-$totalcalcul;
|
||||
//echo "Etape 4 = $dizSuperieur - $totalcalcul = $delta".EOL;
|
||||
|
||||
if ($delta==$clef) return true;
|
||||
|
||||
function isValidIsin($isin) {
|
||||
if (calculateCheckISIN($isin)==0) return true;
|
||||
return false;
|
||||
}
|
||||
?>
|
||||
?>
|
@ -2031,7 +2031,7 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
|
||||
/** Informations INSEE
|
||||
**/
|
||||
if ($siren>100) {
|
||||
$insee=$this->iDbInsee->select('identite', 'ACTIF%10 AS ACTIF, actifEco%10 AS actifEco, NOM, NOM2, SIGLE, ENSEIGNE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, PAYS, DCREN, SIEGE, AUXILT, SAISONAT, CJ, CIVILITE, NBETAB, APE_ENT, APE_ETAB, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, TEL, FAX, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, DCRET, TEFF_ENT, ADR_DEP, ADR_COM, TCA, TCAEXP, EFF_ET, TEFF_ET, CODEVOIE, DATE_MAJ, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, MONOREG, REGIMP, MONOACT, DEFEN, DEFET, IDENTITE_PRE',
|
||||
$insee=$this->iDbInsee->select('identite', 'ACTIF%10 AS ACTIF, actifEco%10 AS actifEco, NOM, NOM2, SIGLE, ENSEIGNE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, PAYS, DCREN, SIEGE, AUXILT, SAISONAT, CJ, CIVILITE, NBETAB, APE_ENT, APE_ETAB, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, TEL, FAX, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, DCRET, TEFF_ENT, ADR_DEP, ADR_COM, TCA, TCAEXP, EFF_ET, TEFF_ET, CODEVOIE, DATE_MAJ, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, MONOREG, REGIMP, MONOACT, DEFEN, DEFET, IDENTITE_PRE, insL1_NOMEN, insL2_COMP, insL3_CADR, insL4_VOIE, insL5_DISP, insL6_POST, insL7_ETRG, dateMajRNVP, insCATEGORIE, insIND_PUBLIPO, RPET, ARRONET, CTONET, DU, TU, UU, TCD, ZEMET, ESAANN, ESAAPEN, DREACTET, AMINTRET, DREACTEN, AMINTREN, NOMEN_LONG, CEDEX, EPCI, NOM_COM, NATETAB, PRODET, PRODEN',
|
||||
"SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1",false,MYSQL_ASSOC);
|
||||
if (count($insee)>0) {
|
||||
$tabInsee=$insee[0];
|
||||
@ -2039,7 +2039,13 @@ public function rechercheDirOld($nom, $prenom='', $fonction='', $dateNaiss='', $
|
||||
$tabInsee['TCA_AN']=$tabNotice['insEAEANT'];
|
||||
$tabInsee['RECME']=$tabNotice['insRECME'];
|
||||
// On force l'indicateur "actifEco" à 0 si l'établissement est juridiquement inactif
|
||||
if ($tabInsee['ACTIF']*1==0) $tabInsee['actifEco']=0;
|
||||
if ($tabInsee['ACTIF']*1==0) $tabInsee['actifEco']=0;
|
||||
if (trim($tabInsee['CODEVOIE'])=='') {
|
||||
$codeCommune=$tabInsee['ADR_DEP'].sprintf("%03s",$tabInsee['ADR_COM']);
|
||||
//echo $codeCommune.','.$tabInsee['ADR_TYPVOIE'].','.$tabInsee['ADR_LIBVOIE'].EOL;
|
||||
$tabInsee['CODEVOIE']=$this->getCodeVoieRivoli($codeCommune, $tabInsee['ADR_TYPVOIE'], $tabInsee['ADR_LIBVOIE']);
|
||||
//echo $tabInsee['CODEVOIE'].EOL;
|
||||
}
|
||||
} else {
|
||||
// Siren absent de l'Insee
|
||||
$tabInsee=array(
|
||||
@ -2490,6 +2496,41 @@ print_r($tabTmp, true));
|
||||
'APRM'=>$tabInsee['APRM'],
|
||||
'APRM_Lib'=>$this->getLibelleNafa($tabInsee['APRM']),
|
||||
'AutreSiret'=>$tabAssoc,
|
||||
|
||||
'L1_NOMEN'=>$tabInsee['insL1_NOMEN'], // Nom ou raison sociale de l'entreprise pour l'adressage
|
||||
'L2_COMP'=> $tabInsee['insL2_COMP'], // Complément de nom de l'entreprise pour l'adressage
|
||||
'L3_CADR'=> $tabInsee['insL3_CADR'], // Complément d'adresse pour l.adressage
|
||||
'L4_VOIE'=> $tabInsee['insL4_VOIE'], // Numéro et libellé dans la voie
|
||||
'L5_DISP'=> $tabInsee['insL5_DISP'], // Distribution spéciale
|
||||
'L6_POST'=> $tabInsee['insL6_POST'], // Ligne d'acheminement postal pour l'adressage
|
||||
'L7_ETRG'=> $tabInsee['insL7_ETRG'], // Libellé du pays pour les adresses à l'étranger
|
||||
'IND_PUBLIPO'=> $tabInsee['insIND_PUBLIPO'], // Indicateur du champ de publipostage
|
||||
'dateMajRNVP'=>$tabInsee['dateMajRNVP'],
|
||||
'RNVP_Niveau'=>0,
|
||||
|
||||
'RPET'=> $tabInsee['RPET'], //
|
||||
'ARRONET'=> $tabInsee['ARRONET'], //
|
||||
'CTONET'=> $tabInsee['CTONET'], //
|
||||
'DU'=> $tabInsee['DU'], //
|
||||
'TU'=> $tabInsee['TU'], //
|
||||
'UU'=> $tabInsee['UU'], //
|
||||
'TCD'=> $tabInsee['TCD'], //
|
||||
'ZEMET'=> $tabInsee['ZEMET'], //
|
||||
'ESAANN'=> $tabInsee['ESAANN'], //
|
||||
'ESAAPEN'=> $tabInsee['ESAAPEN'], //
|
||||
|
||||
'DREACTET'=> $tabInsee['DREACTET'], //
|
||||
'AMINTRET'=> $tabInsee['AMINTRET'], //
|
||||
'DREACTEN'=> $tabInsee['DREACTEN'], //
|
||||
'AMINTREN'=> $tabInsee['AMINTREN'], //
|
||||
|
||||
'CATEGORIE'=> $tabInsee['insCATEGORIE'], // Catégorie d'entreprise
|
||||
'NOMEN_LONG'=> $tabInsee['NOMEN_LONG'], // Nom ou raison sociale de l'entreprise
|
||||
'PRODET'=> $tabInsee['PRODET'],
|
||||
'PRODEN'=> $tabInsee['PRODEN'],
|
||||
'NATETAB'=> $tabInsee['NATETAB'],
|
||||
'CEDEX'=> $tabInsee['CEDEX'],
|
||||
'EPCI'=> $tabInsee['EPCI'],
|
||||
// MODET,
|
||||
);
|
||||
|
||||
@ -2698,7 +2739,7 @@ print_r($tmp, true));
|
||||
elseif ($tmp[0]['insCIVILITE']==2) $tabRet['dir1Genre']='F';
|
||||
else $tabRet['dir1Genre']='';
|
||||
|
||||
$entrep['sexe'];
|
||||
$entrep['sexe']=$tabRet['dir1Genre'];
|
||||
unset($tmp);
|
||||
}
|
||||
|
||||
@ -5240,6 +5281,8 @@ ORDER BY a.dateJugement DESC".EOL.EOL.print_r($collecte,true));*/
|
||||
function getInfosNotice($siren, $nic) {
|
||||
/** Elements provenant du Notice 80 hors identité **/
|
||||
$tabTmp=$this->iDbInsee->select('insee_notices', 'insSIREN, insNIC, insL4_VOIE, insL6_POST, insRPET, insDEPCOMEN, insRPEN, insARRONET, insCTONET, insTCD, insZEMET, insDU, insTU, insUU, insMMINTRET, insMMINTREN, insVMAJ, insVMAJ1, insVMAJ2, insVMAJ3, insRECME, insEAEANT, insEAEAPET, insEAESEC1T, insEAESEC2T, insEAEANN, insEAEAPEN, insEAESEC1N, insEAESEC2N, insEAESEC3N, insEAESEC4N, dateNotice', "insSIREN=$siren AND insNIC=$nic ORDER BY dateNotice DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)==0)
|
||||
$tabTmp=$this->iDbInsee->select('insee_even', "insSIREN, insNIC, insL4_VOIE, insL6_POST, insRPET, insDEPCOMEN, insRPEN, insARRONET, insCTONET, insTCD, insZEMET, insDU, insTU, insUU, insAMINTRET, insAMINTREN, insVMAJ, insVMAJ1, insVMAJ2, insVMAJ3, '' AS insRECME, '' AS insEAEANT, '' AS insEAEAPET, '' AS insEAESEC1T, '' AS insEAESEC2T, insESAANN AS insEAEANN, insESAPEN AS insEAEAPEN, insESASEC1N AS insEAESEC1N, insESASEC2N AS insEAESEC2N, insESASEC3N AS insEAESEC3N, insESASEC4N AS insEAESEC4N, dateInsert AS dateNotice", "insSIREN=$siren AND insNIC=$nic ORDER BY dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
return $tabTmp[0];
|
||||
}
|
||||
|
||||
@ -6080,6 +6123,33 @@ ORDER BY a.dateJugement DESC".EOL.EOL.print_r($collecte,true));*/
|
||||
} else
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getCodeVoieRivoli($codeCommune, $adrTypVoie, $adrLibVoie) {
|
||||
$codeVoie='';
|
||||
$adrLibVoie2=addslashes($adrLibVoie);
|
||||
$tDeb=microtime(1);
|
||||
// $ret=$this->iDbInsee->select( 'fantoirVoi', "codComInsee, idVoieCom, cleRivoli, voieNature, voieLib, MATCH (codComInsee, voieNature, voieLib) AGAINST ('$codeCommune $adrTypVoie $adrLibVoie2' IN NATURAL LANGUAGE MODE) AS score",
|
||||
// "codComInsee='$codeCommune' AND MATCH (codComInsee, voieNature, voieLib) AGAINST ('$codeCommune $adrTypVoie $adrLibVoie2' IN NATURAL LANGUAGE MODE) ORDER BY score DESC",false, MYSQL_ASSOC);
|
||||
$ret=$this->iDbInsee->select( 'fantoirVoi', "codComInsee, idVoieCom, cleRivoli, voieNature, voieLib, 1 AS score",
|
||||
"codComInsee='$codeCommune' AND voieNature='$adrTypVoie' AND voieLib='$adrLibVoie2'",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0) return '';//'Aucune correspondance Rivoli'.EOL;
|
||||
else {
|
||||
foreach($ret as $i=>$iRet) {
|
||||
// echo "$codeCommune : je compare '$adrTypVoie' avec '".$iRet['voieNature']."' et '$adrLibVoie' avec '".$iRet['voieLib']."' ";
|
||||
if ($iRet['voieNature']==$adrTypVoie && $iRet['voieLib']==$adrLibVoie) {
|
||||
$codeVoie=$iRet['idVoieCom'];
|
||||
// echo 'OK ('.round(microtime(1)-$tDeb,3).'s.)'.EOL;
|
||||
break;
|
||||
}
|
||||
// echo 'ko ('.round(microtime(1)-$tDeb,3).'s.) !!!'.EOL;
|
||||
}
|
||||
}
|
||||
return $codeVoie;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -235,7 +235,7 @@ class MAmabis {
|
||||
|
||||
if ($dateInsert==0) {
|
||||
$iDb->insert('zonage', array_merge($tabInsert,$tabUpdate), false);
|
||||
echo "Insertion de l'adresse (".$zones['rnvpStatut'].")!".EOL;
|
||||
//echo "Insertion de l'adresse (".$zones['rnvpStatut'].")!".EOL;
|
||||
}
|
||||
|
||||
$tabTmp[0]=explode(',', $tabZones['LOCREFCLEP']);
|
||||
@ -320,6 +320,225 @@ class MAmabis {
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo Corriger les adresses présentes dans CEDEXA (toutes les lignes)
|
||||
* @todo Ligne 3, acheter HEXALIGNE3
|
||||
*/
|
||||
function normaliseAdresse($adrL1, $adrL2, $adrL3, $adrL4, $adrL5, $adrL6, $adrL7='', $norme=38) {
|
||||
if ($norme<>32 && $norme<>38) {
|
||||
return 'La norme doit être 32 ou 38 caractères (38 par défaut)'.EOL;
|
||||
}
|
||||
|
||||
$iInsee=new MInsee();
|
||||
$iDb=new WDB('villes');
|
||||
$adrL=array();
|
||||
$adrL[1]=$adrL1=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL1)))));
|
||||
$adrL[2]=$adrL2=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL2)))));
|
||||
$adrL[3]=$adrL3=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL3)))));
|
||||
$adrL[4]=$adrL4=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL4)))));
|
||||
$adrL[5]=$adrL5=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL5)))));
|
||||
$adrL[6]=$adrL6=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL6)))));
|
||||
$adrL[7]=$adrL7=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL7)))));
|
||||
if ($adrL7<>'' || $adrL7<>'FRANCE' || $adrL7<>'MONACO')
|
||||
$tabLen=$tabMaxLen=array();
|
||||
$tabLen[1]=strlen($adrL1); if ($tabLen[1]>$norme) $tabMaxLen[]=1;
|
||||
$tabLen[2]=strlen($adrL2); if ($tabLen[2]>$norme) $tabMaxLen[]=2;
|
||||
$tabLen[3]=strlen($adrL3); if ($tabLen[3]>$norme) $tabMaxLen[]=3;
|
||||
$tabLen[4]=strlen($adrL4); if ($tabLen[4]>$norme) $tabMaxLen[]=4;
|
||||
$tabLen[5]=strlen($adrL5); if ($tabLen[5]>$norme) $tabMaxLen[]=5;
|
||||
$tabLen[6]=strlen($adrL6); if ($tabLen[6]>$norme) $tabMaxLen[]=6;
|
||||
$tabLen[7]=strlen($adrL7); if ($tabLen[7]>$norme) $tabMaxLen[]=7;
|
||||
if (count($tabMaxLen)>0) {
|
||||
//print_r($tabLen);
|
||||
foreach($tabMaxLen as $j) {
|
||||
echo "La ligne n°$j fait ".$tabLen[$j]." caractères : '".$adrL[$j]."'".EOL;
|
||||
}
|
||||
if ($j>1) die("Une des lignes fait plus de $norme caractères !".EOL);
|
||||
return "Une des lignes fait plus de $norme caractères !".EOL;
|
||||
}
|
||||
|
||||
$L1=$adrL1;
|
||||
$L2=$adrL2;
|
||||
|
||||
// Ligne 3, acheter HEXALIGNE3
|
||||
$L3=$adrL3;
|
||||
|
||||
// Ligne 5 et 7 par défaut
|
||||
$L7=$adrL7;
|
||||
$L5=$adrL5;
|
||||
|
||||
// Ligne 6 : CP + Localité
|
||||
$idAdr56=false;
|
||||
$tabAdr56k=$tabAdr56L=array();
|
||||
$cp=substr(trim($adrL6),0,5);
|
||||
$cp2=substr($cp,0,2);
|
||||
$ville=trim(strtr(substr($adrL6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||
$ret=$iDb->select( 'hexaviaVilles',
|
||||
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) AS score",
|
||||
"(MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) OR MATCH (codePostal, libCom38) AGAINST ('$cp2 $ville' IN NATURAL LANGUAGE MODE)) /*OR codePostal='$cp' AND libCom$norme='$ville'*/",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0) return 'Aucune correspondance CP VILLE'.EOL;
|
||||
else {
|
||||
foreach($ret as $i=>$iRet) {
|
||||
echo "je compare '$cp' avec '".$iRet['codePostal']."' et '$ville' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].")".EOL;
|
||||
if (($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2) && ($iRet["libCom$norme"]==$ville || preg_replace('/ 0/', ' ',$iRet["libCom$norme"])==$ville) || (strpos($iRet["libCom$norme"],$ville)>0 && $nbRet==1)) {
|
||||
$idAdr56=$iRet['idAdr56'];
|
||||
$dateMajHexavia=$iRet["dateMaj$norme"];
|
||||
$hexaViaComCod=$iRet['codeInseeCom'];
|
||||
$hexaViaComLib=$iRet["libCom$norme"];
|
||||
$hexaViaCP=$iRet['codePostal'];
|
||||
$L5=$iRet["libLigne5n$norme"];
|
||||
$L6=$iRet['codePostal'].' '.$iRet["libLigne6n$norme"];
|
||||
$L7='';
|
||||
$tabAdr56k[]=$idAdr56;
|
||||
$tabAdr56L['_'.$idAdr56]=array('L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
|
||||
//break;
|
||||
}
|
||||
}
|
||||
if (!$idAdr56) {
|
||||
print_r($ret);
|
||||
die('Plusieurs correspondances CP VILLE'.EOL);
|
||||
return 'Plusieurs correspondances CP VILLE'.EOL;
|
||||
}
|
||||
}
|
||||
|
||||
/*if (count($ret)>1) {
|
||||
print_r($ret);
|
||||
die('Plusieurs correspondances CP VILLE'.EOL);
|
||||
return 'Plusieurs correspondances CP VILLE'.EOL;
|
||||
}
|
||||
elseif (count($ret)==1) {
|
||||
$ret=$ret[0];
|
||||
$idAdr56=$ret['idAdr56'];
|
||||
$L5=$ret["libLigne5n$norme"];
|
||||
$L6=$ret['codePostal'].' '.$ret["libLigne6n$norme"];
|
||||
$L7='';
|
||||
}*/
|
||||
|
||||
// Ligne 4 :
|
||||
$matriculeHexavia=false;
|
||||
if(preg_match('/(^(\d{0,4})\s?([a-z]{0,1}))\s(.*)$/i', $adrL4, $matches)) {
|
||||
$numVoieRep=$matches[1];
|
||||
$numVoie=$matches[2];
|
||||
$indRep=$matches[3];
|
||||
$libVoie=$matches[4];
|
||||
$libVoie5=substr($libVoie,0,5);
|
||||
$tabAdr=$iInsee->structureVoie($libVoie);
|
||||
$typeVoie=@$tabAdr['typeVoie'];
|
||||
preg_match('/([a-z\d]{1,20})$/i', $libVoie, $matches2);
|
||||
$derMot=$matches2[1];
|
||||
$derMot5=substr($derMot,0,5);
|
||||
//print_r($matches);
|
||||
//die($derMot);
|
||||
//foreach($tabAdr56 as $k=>$tabAdr56) //=array('idAdr56'=>$idAdr56,'L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
|
||||
$strAdr56=implode("','", $tabAdr56k);
|
||||
$ret=$iDb->select( 'hexaviaVoies',
|
||||
"idAdr56, codeVoie, derElemVoie, libVoie$norme, typeVoie, descLibVoie, indStand$norme, indScind, indHomo, codePostal, codeRoudis, codeMaj$norme, dateMaj$norme
|
||||
numImpMin, numImpMinExt, numImpMax, numImpMaxExt, numPairMin, numPairMinExt, numPairMax, numPairMaxExt, MATCH (libVoie38) AGAINST ('$libVoie' IN NATURAL LANGUAGE MODE) AS score",
|
||||
// "idAdr56='$idAdr56' AND (MATCH (libVoie38) AGAINST ('$libVoie' IN NATURAL LANGUAGE MODE) OR libVoie38 LIKE '$libVoie5%' OR derElemVoie LIKE '$libVoie5%')/*AND typeVoie='$typeVoie' AND derElemVoie='$derMot'*/",false, MYSQL_ASSOC);
|
||||
"idAdr56 IN ('$strAdr56') AND (MATCH (libVoie38) AGAINST ('$libVoie' IN NATURAL LANGUAGE MODE) OR libVoie38 LIKE '$libVoie5%' OR derElemVoie LIKE '$libVoie5%')/*AND typeVoie='$typeVoie' AND derElemVoie='$derMot'*/",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0) {
|
||||
// Vérifier si la commune à des voies normées 98816
|
||||
$ret=$iDb->select( 'hexaviaVoies', "codeVoie", "idAdr56 IN('$strAdr56')",false, MYSQL_ASSOC);
|
||||
$nbVoiesCom=count($ret);
|
||||
if (count($ret)==0) {
|
||||
return "Aucune Voie recensée dans cette commune ('$strAdr56') !".EOL;
|
||||
}
|
||||
return "Aucune correspondance Voie pour '$adrL4', '$libVoie' ($nbVoiesCom voies dans la commune #$idAdr56)".EOL;
|
||||
}
|
||||
else {
|
||||
foreach($ret as $i=>$iRet) {
|
||||
echo "je compare '$libVoie' avec '".$iRet["libVoie$norme"]."'".EOL;
|
||||
if ($iRet["libVoie$norme"]==$libVoie || $iRet['derElemVoie']==$derMot || /*substr($iRet["libVoie$norme"],0,5)==$libVoie5 || */substr($iRet['derElemVoie'],0,5)==$derMot5) {
|
||||
$tabAdr=$iInsee->structureVoie($libVoie);
|
||||
if ($tabAdr['typeVoie']<>$iRet['typeVoie'] && $nbRet>1) continue;
|
||||
$idAdr56=$iRet['idAdr56'];
|
||||
$L4=preg_replace('/\s+/', ' ', trim($numVoie.' '.$indRep.' '.$iRet["libVoie$norme"]));
|
||||
$L4=preg_replace('/^0+/','',$L4);
|
||||
$hexaViaVoie=$iRet["libVoie$norme"];
|
||||
if (strlen($L4)>$norme) return "Taille de la ligne 4 générée en sortie plus longue que $norme !".EOL;
|
||||
$matriculeHexavia=$iRet['codeVoie'];
|
||||
$codeRoudis=$iRet['codeRoudis'];
|
||||
$L5=$tabAdr56L['_'.$idAdr56]['L5'];
|
||||
$L6=$tabAdr56L['_'.$idAdr56]['L6'];
|
||||
$L7=$tabAdr56L['_'.$idAdr56]['L7'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$matriculeHexavia) {
|
||||
//print_r($ret);
|
||||
// die("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".EOL);
|
||||
return 'Plusieurs correspondances Voies'.EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (count($ret)==0) {
|
||||
// Vérifier si la commune à des voies normées 98816
|
||||
$ret=$iDb->select( 'hexaviaVoies', "codeVoie", "idAdr56='$idAdr56'",false, MYSQL_ASSOC);
|
||||
if (count($ret)==0) {
|
||||
return 'Aucune Voie recensée dans cette commune !'.EOL;
|
||||
}
|
||||
return 'Aucune correspondance Voie'.EOL;
|
||||
}
|
||||
elseif (count($ret)>1) {
|
||||
print_r($ret);
|
||||
$tabAdr=$iInsee->structureVoie($libVoie);
|
||||
print_r($tabAdr);
|
||||
return 'Plusieurs correspondances Voies'.EOL;
|
||||
}
|
||||
elseif (count($ret)==1) {
|
||||
$ret=$ret[0];
|
||||
$L4=preg_replace('/\s+/', ' ', trim($numVoie.' '.$indRep.' '.$ret["libVoie$norme"]));
|
||||
if (strlen($L4)>$norme) return "Taille de la ligne 4 générée en sortie plus longue que $norme !".EOL;
|
||||
$matriculeHexavia=$ret['codeVoie'];
|
||||
$codeRoudis=$ret['codeRoudis'];
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
$tabAdr=array( 'L1'=>$L1,
|
||||
'L2'=>$L2,
|
||||
'L3'=>$L3,
|
||||
'L4'=>$L4,
|
||||
'L5'=>$L5,
|
||||
'L6'=>$L6,
|
||||
'L7'=>$L7,
|
||||
'HexaviaDateRef'=>$dateMajHexavia,
|
||||
'HexaviaComCod'=>$hexaViaComCod,
|
||||
'HexaviaComLib'=>$hexaViaComLib,
|
||||
'HexaviaCP'=>$hexaViaCP,
|
||||
'HexaVia56'=>$idAdr56,
|
||||
'HexaViaVoie'=>$hexaViaVoie,
|
||||
'HexaViaMat'=>$matriculeHexavia,
|
||||
'RoudisId'=>$codeRoudis);
|
||||
return $tabAdr;
|
||||
/*
|
||||
if ($adresseNum=='' && $adresseBtq=='' && $adresseVoie=='' && $adresseRue=='' && $cp=='' && $ville=='')
|
||||
return false;
|
||||
|
||||
$tabAdr=$this->structureVoie($adresseNum.' '.$adresseBtq.' '.$adresseVoie.' '.$adresseRue);
|
||||
$num=$tabAdr['num']*1;
|
||||
if ($num==0) return false;
|
||||
$indRep=trim($tabAdr['indRep']);
|
||||
$typeVoie=trim($tabAdr['typeVoie']);
|
||||
$libVoie=trim(substr($tabAdr['libVoie'],-5));
|
||||
|
||||
$strAdrActive='';
|
||||
if ($active) {
|
||||
$strAdrActive.=" AND (enActif=1 OR etActif=1) AND nbEntrep>30 AND pasEntrepDom=0 AND siren>1000 ";
|
||||
}
|
||||
$tabTmp=$this->iDb->select('tabAdrDom',
|
||||
'id, siren, nic, enActif, etActif, procol, nom, nom2, sigle, enseigne, adrNum, adrBtq, adrTypVoie, adrLibVoie, ville, cp, adrComp, adrDistSp, cj, apen, apet, nbEntrep, dateInsert, dateUpdate',
|
||||
"adrNum=$num AND adrBtq='$indRep' AND adrTypVoie LIKE '%$typeVoie%' AND adrLibVoie LIKE '%$libVoie%' AND cp=$cp $strAdrActive GROUP BY siren ORDER BY enActif DESC, nbEntrep DESC", false, MYSQL_ASSOC);
|
||||
if (count($tabTmp)>0) {
|
||||
return $tabTmp;
|
||||
}
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
@ -510,20 +510,24 @@ class MBilans {
|
||||
$tabTmp=explode(';', $bilan['postes']);
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabTmp2=explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1]))
|
||||
if ($unite=='K' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1' && $tabTmp2[0]<>'376' // Effectifs 2033 et 2050
|
||||
&& $tabTmp2[0]<>'M2G' && $tabTmp2[0]<>'M2H' // Autres effectifs
|
||||
&& $tabTmp2[0]<>'ZK' && $tabTmp2[0]<>'ZK1' // Taux
|
||||
&& $tabTmp2[0]<>'IJ' && $tabTmp2[0]<>'JH' && $tabTmp2[0]<>'ZR' // pour holding/ste mere
|
||||
)
|
||||
if (isset($tabTmp2[1])) {
|
||||
if ( ($unite=='K' || $unite=='M') && !in_array(array(
|
||||
'YP', 'YP1', '376', // Effectifs 2033 et 2050
|
||||
'M2G', 'M2H', // Autres effectifs
|
||||
'ZK', 'ZK1', // Taux
|
||||
'IJ', 'JG', 'JH', 'JJ', 'ZR', // pour holding/ste mere
|
||||
'XP' //numero de centre de gestion agréé
|
||||
) , $tabTmp2[0]) )
|
||||
{
|
||||
if ($unite=='K') {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
elseif ($unite=='M' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1' && $tabTmp2[0]<>'376' // Effectifs 2033 et 2050
|
||||
&& $tabTmp2[0]<>'M2G' && $tabTmp2[0]<>'M2H' // Autres effectifs
|
||||
&& $tabTmp2[0]<>'ZK' && $tabTmp2[0]<>'ZK1' // Taux
|
||||
&& $tabTmp2[0]<>'IJ' && $tabTmp2[0]<>'JH' && $tabTmp2[0]<>'ZR' // pour holding/ste mere
|
||||
)
|
||||
} else if ($unite=='M') {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
||||
else $tabBilan[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
} else {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Calcul des valeures NET si l'information est absente en base
|
||||
@ -623,18 +627,24 @@ class MBilans {
|
||||
}*/
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabTmp2=explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1]))
|
||||
if ($unite=='K' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1' && $tabTmp2[0]<>'376' // Effectifs 2033 et 2050
|
||||
&& $tabTmp2[0]<>'M2G' && $tabTmp2[0]<>'M2H' // Autres effectifs
|
||||
&& $tabTmp2[0]<>'ZK' && $tabTmp2[0]<>'ZK1' && $tabTmp2[0]<>'ZR' // Taux et infos Filliales
|
||||
)
|
||||
$tabBilanPre[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
elseif ($unite=='M' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1' && $tabTmp2[0]<>'376' // Effectifs 2033 et 2050
|
||||
&& $tabTmp2[0]<>'M2G' && $tabTmp2[0]<>'M2H' // Autres effectifs
|
||||
&& $tabTmp2[0]<>'ZK' && $tabTmp2[0]<>'ZK1' && $tabTmp2[0]<>'ZR' // Taux et infos Filliales
|
||||
)
|
||||
$tabBilanPre[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
||||
else $tabBilanPre[$tabTmp2[0]]=$tabTmp2[1];
|
||||
if (isset($tabTmp2[1])) {
|
||||
if ( ($unite=='K' || $unite=='M') && !in_array(array(
|
||||
'YP', 'YP1', '376', // Effectifs 2033 et 2050
|
||||
'M2G', 'M2H', // Autres effectifs
|
||||
'ZK', 'ZK1', // Taux
|
||||
'IJ', 'JG', 'JH', 'JJ', 'ZR', // pour holding/ste mere
|
||||
'XP' //numero de centre de gestion agréé
|
||||
) , $tabTmp2[0]) )
|
||||
{
|
||||
if ($unite=='K') {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
} else if ($unite=='M') {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
||||
}
|
||||
} else {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Calcul des valeures NET N-1 si l'information est absente du bilan N-1 en base **/
|
||||
|
@ -27,7 +27,7 @@ class MBourse {
|
||||
** @return bool
|
||||
**/
|
||||
function isIsin($isin) {
|
||||
if (strlen(trim($isin))) {
|
||||
if (strlen(trim($isin))==12) {
|
||||
$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);
|
||||
@ -142,13 +142,13 @@ class MBourse {
|
||||
$timer['infosBoursieres-getCodeIsin']=microtime(true);
|
||||
$tabRet=array();
|
||||
if ($isin<>'') {
|
||||
$datePre=date('Y-m').'-01';
|
||||
//$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);
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') ORDER BY c.`date` DESC, c.`heure` DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
$tabRet=$tabRes[0];
|
||||
$timer['infosBoursieres-infosIsin']=microtime(true);
|
||||
|
||||
|
@ -39,7 +39,7 @@ class MFacto {
|
||||
'_21'=>array('risque'=>1,'type'=>'BC', 'libInt'=>'CESSATION D\'ACTIVITE', 'libExt'=>'A suivre. Informations terrain. Risque de fermeture'),
|
||||
'_22'=>array('risque'=>1,'type'=>'BD', 'libInt'=>'RADIATION RCS', 'libExt'=>'Radiation du RCS'),
|
||||
'_23'=>array('risque'=>1,'type'=>'BG', 'libInt'=>'LOCATION GERANCE', 'libExt'=>'Prise en location Gérance'),
|
||||
'_24'=>array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe signalée(s) en difficulté(s)'),
|
||||
'_24'=>array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe à suivre'),
|
||||
'_25'=>array('risque'=>2,'type'=>'DEF', 'libInt'=>'INFORMATIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_26'=>array('risque'=>4,'type'=>'BP', 'libInt'=>'PLAN DE CESSION / DE REDRESSEMENT ', 'libExt'=>'Plan de cession/redressement'),
|
||||
'_27'=>array('risque'=>4,'type'=>'BR', 'libInt'=>'REDRESSEMENT JUDICIAIRE', 'libExt'=>'Redressement Judiciaire'),
|
||||
|
@ -2622,6 +2622,8 @@ function getListeActes($siren) {
|
||||
'mode_diffusion' => implode(',',$tabVecteurs),
|
||||
'decision_nature' => utf8_decode($acte_nature),
|
||||
'decision_libelle' => utf8_decode($acte_decision),
|
||||
'actif' => 1,
|
||||
'dateInsert' => date('YmdHis'),
|
||||
);
|
||||
@$iDb->insert('greffes_actes', $tabInsert);
|
||||
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::Debug getListeActes($siren)", print_r($tabInsert,true).mysql_error()) ;
|
||||
|
@ -32,18 +32,450 @@ class MLiens {
|
||||
1800=>'Collecte', // Infolégales
|
||||
1900=>'Collecte');
|
||||
|
||||
|
||||
private $tabIdLoc=array();
|
||||
|
||||
public function __construct($siren) {
|
||||
$this->siren=$siren;
|
||||
$this->iDb=new WDB();
|
||||
$this->iInsee=new MInsee();
|
||||
$this->tabIdLoc=$this->setIdLoc();
|
||||
}
|
||||
|
||||
private function setIdLoc() {
|
||||
$tabIdLocal=array();
|
||||
$tab=$this->iDb->select('sdv1.tabIdLocal', 'id, idLocal', '1', false, MYSQL_ASSOC);
|
||||
foreach ($tab as $tabTmp)
|
||||
$tabIdLocal[$tabTmp['id']]=$tabTmp['idLocal'];
|
||||
return $tabIdLocal;
|
||||
}
|
||||
public function getActionnaires($siren=false, $actifsUniquement=true) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$tabIdentite=$this->iInsee->getIdentiteLight($siren);
|
||||
//echo $siren;
|
||||
//print_r($tabIdentite);
|
||||
$nic=$tabIdentite['Nic'];
|
||||
$tab=$this->iDb->select('liens2 l, liensRef p, liensRef a LEFT JOIN tabPays t ON t.codPays3=a.adresse_pays',
|
||||
'p.siren AS Siren1, 1 AS ActionPart, PDetention AS Pmin, 0 AS Pmax, MajMin, a.PpPm, a.siren AS Siren2, a.RS AS RaisonSociale,
|
||||
a.isin, a.idLoc1Type, a.idLoc1Num, a.idLoc2Type, a.idLoc2Num, a.idLoc3Type, a.idLoc3Num,
|
||||
a.adresse_num, a.adresse_btq, a.adresse_codvoie, a.adresse_libvoie, a.adresse_comp, a.adresse_cp, a.adresse_ville, a.tel, a.fax, a.web, a.email,
|
||||
a.adresse_pays AS Pays, t.libPays, l.actif, l.source, dateEffetLien *1 AS dateLien, DATE( l.dateInsert ) *1 AS dateInsert, DATE( l.dateUpdate ) *1 AS dateUpdate',
|
||||
"p.siren='$siren' AND p.id=l.idPar AND l.idAct=a.id ORDER BY l.source DESC, l.actif DESC, l.PDetention DESC", true, MYSQL_ASSOC);
|
||||
$sourcePre=$unique=false;
|
||||
$pctTot=0;
|
||||
$tabRet=array();
|
||||
foreach ($tab as $i=>$lien) {
|
||||
if ($lien['source']>=1700) $source=1700;
|
||||
else $source=$lien['source']*1;
|
||||
if ($i>0 && $sourcePre<>$source) break;
|
||||
/*if ($actifsUniquement && $lien['actif']==0) continue;
|
||||
else
|
||||
$tabRet[]=array('Pmin' => number_format($lien['Pmin']*1,2,',',''),
|
||||
'MajMin' => $lien['MajMin'],
|
||||
'RaisonSociale' => strtr($lien['RaisonSociale'],$this->tabChars),
|
||||
'Pays' => $lien['libPays'],
|
||||
'Siren' => $lien['Siren2'],
|
||||
'Actif' => $lien['actif']);*/
|
||||
if ($actifsUniquement && $lien['actif']==0) continue;
|
||||
else {
|
||||
if ($lien['MajMin']=='F') $majMin='A';
|
||||
else $majMin=$lien['MajMin'];
|
||||
switch ($tabIdentite['FJ']*1) {
|
||||
case 5488: // Entreprise Unipersonnelle à Responsabilité Limitée
|
||||
case 5498: // SARL unipersonnelle
|
||||
case 5720: // Société par actions simplifiée à associé unique
|
||||
$lien['Pmin']=100;
|
||||
$unique=true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
$dateMaj=$lien['dateLien'];
|
||||
$pctLien=$lien['Pmin']*1;
|
||||
$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,
|
||||
'Isin' => $lien['isin'],
|
||||
'IdLocalNum' => $lien['idLoc1Num'],
|
||||
'IdLocalType' => $this->tabIdLoc[$lien['idLoc1Type']],
|
||||
// idLoc2Type, p.idLoc2Num, p.idLoc3Type, p.idLoc3Num
|
||||
'RaisonSociale' => $libRS,
|
||||
'Adresse1' => trim(preg_replace('/\s+/',' ',preg_replace('/^0+/','',$lien['adresse_num'].' '.$lien['adresse_btq'].' '.$lien['adresse_codvoie'].' '.$lien['adresse_libvoie']))),
|
||||
'Adresse2' => trim($lien['adresse_comp']),
|
||||
'AdresseCP' => trim($lien['adresse_cp']),
|
||||
'AdresseVille' => trim($lien['adresse_ville']),
|
||||
'Tel' => trim($lien['tel']),
|
||||
'Fax' => trim($lien['fax']),
|
||||
'Web' => trim($lien['web']),
|
||||
'Mail' => trim($lien['email']),
|
||||
'Pays' => $lien['libPays'],
|
||||
'CodePays' => $lien['Pays'],
|
||||
'Siren' => $lien['Siren2'],
|
||||
'Actif' => $lien['actif'],
|
||||
'Source' => $this->tabSources[$source],
|
||||
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $lien['dateLien']),
|
||||
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $dateMaj));
|
||||
if ($unique) break;
|
||||
}
|
||||
$sourcePre=$source;
|
||||
}
|
||||
|
||||
if (count($tabRet)==0) {
|
||||
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
|
||||
case 7172: // Service déconcentré de l'État à compétence (inter) départementale
|
||||
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
|
||||
case 7381: // Organisme consulaire
|
||||
/** Ces établissements sont dans le fichier des tribunaux **/
|
||||
$tmp=$this->iDb->select('tribunaux', 'triSiret, triNom, dateUpdate', "triId=(SELECT triIdSup FROM tribunaux WHERE triSiret LIKE '$siren%' LIMIT 1)", true, MYSQL_ASSOC);
|
||||
$tabCC=$tmp[0];
|
||||
//$sirenCC=substr(,0,9);
|
||||
//if ($siren*1<>$sirenCC*1)
|
||||
if ($tabCC['triSiret']*1<>0) //$siren*1<>$sirenCC*1)
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => $tabCC['triNom'],
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $tabCC['triSiret'],
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
);
|
||||
case 7111: // Autorité constitutionnelle
|
||||
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)
|
||||
case 7225: // Territoire d'Outre-mer
|
||||
case 7229: // (Autre) Collectivité territoriale
|
||||
// case 7312: // Commune associée
|
||||
// case 7313: // Section de commune
|
||||
// case 7314: // Ensemble urbain
|
||||
case 7230: // Région
|
||||
case 7321: // Association syndicale autorisée
|
||||
case 7322: // Association foncière urbaine
|
||||
case 7323: // Association foncière de remembrement
|
||||
case 7331: // Établissement public local d'enseignement
|
||||
// case 7341: // Secteur de commune
|
||||
// case 7342: // District urbain
|
||||
// case 7343: // Communauté urbaine
|
||||
// case 7345: // Syndicat intercommunal à vocation multiple (SIVOM)
|
||||
// case 7346: // Communauté de communes
|
||||
// case 7347: // Communauté de villes
|
||||
// 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
|
||||
// case 7353: // Syndicat intercommunal à vocation unique (SIVU)
|
||||
// case 7354: // Syndicat mixte communal
|
||||
// case 7355: // Autre syndicat mixte
|
||||
case 7356: // Commission syndicale pour la gestion des biens indivis des communes
|
||||
// case 7361: // Centre communal d'action sociale
|
||||
// case 7362: // Caisse des écoles
|
||||
// case 7363: // Caisse de crédit municipal
|
||||
case 7364: // Établissement d'hospitalisation
|
||||
case 7365: // Syndicat inter hospitalier
|
||||
case 7366: // Établissement public local social et médico-social
|
||||
case 7371: // Office public d'habitation à loyer modéré (OPHLM)
|
||||
case 7372: // Service départemental d'incendie
|
||||
case 7373: // Établissement public local culturel
|
||||
case 7378: // Régie d'une collectivité locale à caractère administratif
|
||||
case 7379: // (Autre) Établissement public administratif local
|
||||
case 7382: // Établissement public national ayant fonction d'administration centrale
|
||||
case 7383: // Établissement public national à caractère scientifique culturel et professionnel
|
||||
case 7384: // Autre établissement public national d'enseignement
|
||||
case 7385: // Autre établissement public national administratif à compétence territoriale limitée
|
||||
case 7389: // Établissement public national à caractère administratif
|
||||
case 7410: // Groupement d'intérêt public (GIP)
|
||||
case 7430: // Établissement public des cultes d'Alsace-Lorraine
|
||||
case 7450: // Cercle et foyer dans les armées
|
||||
case 7490: // Autre personne morale de droit administratif
|
||||
if (count($tabRet)==0)
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'ETAT FRANCAIS',
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => 0,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
break;
|
||||
case 7210: // Communes
|
||||
// Siren Commune du Lamentin : 219 722 139
|
||||
// ~~~ ~~~~
|
||||
$dept=substr($siren,2,2);
|
||||
$comm=substr($siren,5,3);
|
||||
$codeInsee=$dept.$comm;
|
||||
if ($dept<>'20') // Corse
|
||||
$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']) {
|
||||
case 'CA': $typeCC="Communauté d'agglomérations"; break; // CJ=7348
|
||||
case 'CC': $typeCC="Communauté de communes"; break; // CJ=7346
|
||||
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[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
break;
|
||||
case 7220: // Département
|
||||
// Siren du 29 22 290001 1 => Région 233 500 016
|
||||
// Siren du 28 22 280001 3 => Région 234 500 023
|
||||
// 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);
|
||||
if ($dept*1>95)
|
||||
$dept=substr($siren,2,3);
|
||||
$tmp=$this->iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
'd.codeRegionInsee, r.REGION, r.CHEFLIEU, r.NC',
|
||||
"numdep='$dept' AND d.codeRegionInsee=r.REGION", true, MYSQL_ASSOC);
|
||||
$tabCC=$tmp[0];
|
||||
$dept3=substr($tabCC['CHEFLIEU'],0,2).'0';
|
||||
if ($dept3*1>960)
|
||||
$dept3=substr($tabCC['CHEFLIEU'],0,3);
|
||||
for ($iSir=0; $iSir<100; $iSir++) {
|
||||
if ($iSir<10) $iSir2='0'.$iSir;
|
||||
else $iSir2=$iSir;
|
||||
// 23 350 00 16 => Bon
|
||||
// 23 350 00 00 => Mauvais
|
||||
$sirenCom='23'.$dept3.'00'.$iSir2;
|
||||
if ($this->iInsee->valideSiren($sirenCom)) {
|
||||
if ($this->iInsee->sirenExiste($sirenCom)) {
|
||||
// @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Debug Fin $siren ($actifsUniquement) $sirenCom existe !", '') ;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'REGION '.strtoupper($tabCC['NC']),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $sirenCom,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($tabRet)==0) {
|
||||
$fj=$tabIdentite['FJ']*1;
|
||||
if ($fj==5498) $strFonctions=",'Gérant'";
|
||||
else $strFonctions='';
|
||||
$adresse=end(explode(' ', $tabIdentite['AdresseVoie']));
|
||||
$codePostal=$tabIdentite['CP'];
|
||||
$tab=$this->iDb->select('rncs_dirigeants', 'typeDir, raisonSociale, dirSiren, dirRS, civilite, nom, prenom, actif, naissance_nom, naissance_date, naissance_lieu, nat, adresse, fonction_code, fonction_lib, source, cinf, dateInsert, dateUpdate',
|
||||
"siren='$siren' AND fonction_lib IN ('Associé-gérant' $strFonctions)", true, MYSQL_ASSOC);
|
||||
$majMin='+';
|
||||
if (count($tab)>1) $majMin='-';
|
||||
foreach ($tab as $i=>$lien) {
|
||||
if ($actifsUniquement && $lien['actif']==0) continue;
|
||||
else {
|
||||
$ville=$siege=$actif='';
|
||||
$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) {
|
||||
$tabTmp=preg_split('/( +|\/|\*)/', $etab['Nom']);
|
||||
$rsEtab=$tabTmp[0];
|
||||
$tabTmp=preg_split('/( +|\/|\*)/', $lien['nom']);
|
||||
$rsLien=$tabTmp[0];
|
||||
if ($etab['FJ']==1800 && $rsEtab==$rsLien)
|
||||
$tabSiren[]=$etab['Siren'];
|
||||
}
|
||||
$tabSiren2=array_unique($tabSiren);
|
||||
if (count($tabSiren2==1)) $siren2=end($tabSiren2);
|
||||
else $siren2=$lien['dirSiren'];
|
||||
if ($lien['civilite']=='MME') $genre='Madame';
|
||||
elseif ($lien['civilite']=='M') $genre='Monsieur';
|
||||
else $genre='';
|
||||
$dateMaj=$lien['dateInsert'];
|
||||
if ($lien['dateUpdate']>$dateMaj) $dateMaj=$lien['dateUpdate'];
|
||||
$tabRet[]=array( 'Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'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],
|
||||
'DateLien' => Wdate::dateT('Y-m-d','Y-m-d', $dateMaj),
|
||||
'DateMaj' => Wdate::dateT('Y-m-d','Y-m-d', $dateMaj),
|
||||
);
|
||||
if ($unique) break;
|
||||
/**/
|
||||
if ($siren2*1>0) {
|
||||
/** Insertion du lien en base **/
|
||||
$nom=$pays=$dateMAJ='';
|
||||
$ppPm='P';
|
||||
$pct=0;
|
||||
$entrep2=$this->iInsee->getIdentiteLight($siren);
|
||||
$nom2=$entrep2['Nom'];
|
||||
$pays2='FRA';
|
||||
if (substr($entrep2['FJ'],0,1)*1<>1) $ppPm='M';
|
||||
$entrep=$this->iInsee->getIdentiteLight($siren2);
|
||||
$nom=strtr($entrep['Nom'],'/*',' ');
|
||||
$pays='FRA';
|
||||
$tabUpdate=array( 'Pmin'=> $pct,
|
||||
'Pmax'=> $pct,
|
||||
'MajMin'=> $majMin,
|
||||
'PpPm'=> $ppPm,
|
||||
'dateLien'=> $dateMAJ,
|
||||
);
|
||||
/* Insertion de l'actionnaire */
|
||||
$tabInsert1=array_merge($tabUpdate, array( 'ActionPart'=>1),
|
||||
array( 'Siren1'=> $siren,
|
||||
'Siren2'=> $siren2,
|
||||
'RaisonSociale'=> $nom,
|
||||
'Pays'=> $pays,
|
||||
'actif'=> 1,
|
||||
'source'=> 1600,
|
||||
'dateInsert'=> date('YmdHis')));
|
||||
$res=$this->iDb->select('liens', 'count(*)', "Siren1=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))");
|
||||
if ($res[0][0]>0) {
|
||||
if (!$this->iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>1)), "siren=$siren AND (Siren2=$siren2 OR (RaisonSociale='".addslashes($nom)."' AND Pays='$pays'))", true))
|
||||
$errMaj=1016166;
|
||||
} else {
|
||||
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,
|
||||
'Siren2'=> $siren,
|
||||
'RaisonSociale'=> $nom2,
|
||||
'Pays'=> $pays2,
|
||||
'actif'=> 1,
|
||||
'source'=> 1600,
|
||||
'dateInsert'=> date('YmdHis')));
|
||||
$res=$this->iDb->select('liens', 'count(*)', "Siren1=$siren2 AND (Siren2=$siren OR (RaisonSociale='$nom2' AND Pays='$pays2'))");
|
||||
if ($res[0][0]>0) {
|
||||
if (!$this->iDb->update('liens', array_merge($tabUpdate,array('ActionPart'=>2)), "siren=$siren2 AND (Siren2=$siren OR (RaisonSociale='".addslashes($nom2)."' AND Pays='$pays2'))", true))
|
||||
$errMaj=1016168;
|
||||
} else {
|
||||
if (!$this->iDb->insert('liens', $tabInsert2, true))
|
||||
$errMaj=1016169;
|
||||
}
|
||||
|
||||
/** Insertion du dirigeant pour l'actionnaire en base **/
|
||||
$dirs=$this->iDb->select('rncs_dirigeants','siren', "siren=$siren2", true, MYSQL_ASSOC);
|
||||
if (count($dirs)==0) {
|
||||
$this->iDb->insert('rncs_dirigeants', array( 'siren' => $siren2,
|
||||
'raisonSociale' => $nom,
|
||||
'civilite' => $lien['civilite'],
|
||||
'typeDir' => $lien['typeDir'],
|
||||
'dirRS' => $siren2,
|
||||
'nom' => $lien['nom'],
|
||||
'prenom' => $lien['prenom'],
|
||||
'naissance_nom' => $lien['naissance_nom'],
|
||||
'naissance_date'=> $lien['naissance_date'],
|
||||
'naissance_lieu'=> $lien['naissance_lieu'],
|
||||
'nat' => $lien['nat'],
|
||||
'fonction_code' => 0,
|
||||
'fonction_lib' => 'Personne Physique',
|
||||
'actif' => 1,
|
||||
'dateInsert' => date('YmdHis'),
|
||||
'source' => 'lag', // Lien Associé Gérant
|
||||
'cinf' => $lien['cinf'],
|
||||
), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/** 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) {
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'ETAT FRANCAIS',
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => 0,
|
||||
'Actif' => 1,
|
||||
'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;
|
||||
}
|
||||
|
||||
|
||||
/** Retourne les actionnaires du siren
|
||||
** @param int Siren de l'entreprise
|
||||
** @return array Tableau d'actionnaires
|
||||
**/
|
||||
public function getActionnaires($siren=false, $actifsUniquement=true) {
|
||||
public function getActionnairesOld($siren=false, $actifsUniquement=true) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$tabIdentite=$this->iInsee->getIdentiteLight($siren);
|
||||
//echo $siren;
|
||||
@ -465,9 +897,12 @@ 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',
|
||||
'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
|
||||
'liens2 l, liensRef a, liensRef p LEFT JOIN tabPays t ON t.codPays3=p.adresse_pays',
|
||||
'a.siren AS Siren1, 2 AS ActionPart, PDetention AS Pmin, 0 AS Pmax, MajMin, p.PpPm, p.siren AS Siren2, p.RS AS RaisonSociale,
|
||||
p.isin, p.idLoc1Type, p.idLoc1Num, p.idLoc2Type, p.idLoc2Num, p.idLoc3Type, p.idLoc3Num,
|
||||
p.adresse_num, p.adresse_btq, p.adresse_codvoie, p.adresse_libvoie, p.adresse_comp, p.adresse_cp, p.adresse_ville, p.tel, p.fax, p.web, p.email,
|
||||
p.adresse_pays AS Pays, t.libPays, l.actif, l.source, dateEffetLien *1 AS dateLien, DATE( l.dateInsert ) *1 AS dateInsert, DATE( l.dateUpdate ) *1 AS dateUpdate',
|
||||
"a.siren='$siren' AND a.id=l.idAct AND l.idPar=p.id ORDER BY l.source DESC, l.actif DESC, l.PDetention DESC", true, MYSQL_ASSOC); // OR Siren2='$siren
|
||||
$tabRet=array();
|
||||
$sourcePre=false;
|
||||
foreach ($tab as $i=>$lien) {
|
||||
@ -488,7 +923,19 @@ class MLiens {
|
||||
$tabRet[]=array('Pmin' => number_format($lien['Pmin']*1,2,',',''),
|
||||
'PminNum' => $lien['Pmin']*1,
|
||||
'MajMin' => $majMin,
|
||||
'Isin' => $lien['isin'],
|
||||
'IdLocalNum' => $lien['idLoc1Num'],
|
||||
'IdLocalType' => $this->tabIdLoc[$lien['idLoc1Type']],
|
||||
// idLoc2Type, p.idLoc2Num, p.idLoc3Type, p.idLoc3Num
|
||||
'RaisonSociale' => $libRS,
|
||||
'Adresse1' => trim(preg_replace('/\s+/',' ',preg_replace('/^0+/','',$lien['adresse_num'].' '.$lien['adresse_btq'].' '.$lien['adresse_codvoie'].' '.$lien['adresse_libvoie']))),
|
||||
'Adresse2' => trim($lien['adresse_comp']),
|
||||
'AdresseCP' => trim($lien['adresse_cp']),
|
||||
'AdresseVille' => trim($lien['adresse_ville']),
|
||||
'Tel' => trim($lien['tel']),
|
||||
'Fax' => trim($lien['fax']),
|
||||
'Web' => trim($lien['web']),
|
||||
'Mail' => trim($lien['email']),
|
||||
'Pays' => $lien['libPays'],
|
||||
'CodePays' => $lien['Pays'],
|
||||
'Siren' => $lien['Siren2'],
|
||||
@ -607,6 +1054,155 @@ class MLiens {
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/** Retourne les participations du siren
|
||||
** @param int Siren de l'entreprise
|
||||
** @return array Tableau de participations
|
||||
**/
|
||||
public function getParticipationsOld($siren=false, $actifsUniquement=true) {
|
||||
if (!$siren) $siren=$this->siren;
|
||||
$tab=$this->iDb->select(
|
||||
'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();
|
||||
$sourcePre=false;
|
||||
foreach ($tab as $i=>$lien) {
|
||||
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'];
|
||||
if ($i>0 && $sourcePre<>$source) break;
|
||||
if ($actifsUniquement && $lien['actif']==0) continue;
|
||||
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' => $libRS,
|
||||
'Pays' => $lien['libPays'],
|
||||
'CodePays' => $lien['Pays'],
|
||||
'Siren' => $lien['Siren2'],
|
||||
'Actif' => $lien['actif'],
|
||||
'Source' => $this->tabSources[$source],
|
||||
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $lien['dateLien']),
|
||||
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $dateMaj),
|
||||
);
|
||||
}
|
||||
$sourcePre=$source;
|
||||
}
|
||||
|
||||
// if (count($tabRet)==0) {
|
||||
$tabTmp=$this->iInsee->getIdentiteLight($siren);
|
||||
switch ($tabTmp['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
|
||||
case 7172: // Service déconcentré de l'État à compétence (inter) départementale
|
||||
case 7179: // (Autre) Service déconcentré de l'État à compétence territoriale
|
||||
case 7381: // Organisme consulaire
|
||||
/** Ces établissements sont dans le fichier des tribunaux **/
|
||||
$tmp=$this->iDb->select('tribunaux t1', 't1.triSiret, t1.triNom', "t1.triIdSup=(SELECT t2.triId FROM tribunaux t2 WHERE t2.triSiret LIKE '$siren%' AND t2.triId<>t1.triId LIMIT 1)", true, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tabCC) {
|
||||
// $sirenCC=substr($tabCC['triSiret'],0,9);
|
||||
if ($tabCC['triSiret']*1<>0) //$siren*1<>$sirenCC*1)
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => $tabCC['triNom'],
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $tabCC['triSiret'],
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
'DateMaj' => Wdate::dateT('Ymd','Y-m-d', $tabCC['dateUpdate']),
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 7346: // Communaute de communes
|
||||
case 7348: // Communaute d'agglomeration
|
||||
//case 'CC': $typeCC="Communauté de communes"; break; // CJ=73
|
||||
//case 'CU': $typeCC="Communauté urbaine"; break; // CJ=73
|
||||
//case 'SAN': $typeCC="Syndicat d'agglomérations nouvelles"; break; // CJ=73
|
||||
$tmp=$this->iDb->select('insee.insee_tabVillesEpci', 'typEPCI, libEPCI, codeInsee, libCommune', "codEPCI='$siren'", true, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tabCom) {
|
||||
$dept=substr($tabCom['codeInsee'],0,2);
|
||||
if ($dept=='2A' || $dept=='2B' || $dept=='20')
|
||||
$dept='200';
|
||||
elseif ($dept*1>95)
|
||||
$dept=substr($tabCom['codeInsee'],0,3);
|
||||
else
|
||||
$dept=$dept.'0';
|
||||
$comm=substr($tabCom['codeInsee'],2,3);
|
||||
for ($iSir=0; $iSir<10; $iSir++) {
|
||||
$sirenCom='21'.$dept.$comm.$iSir;
|
||||
if ($this->iInsee->valideSiren($sirenCom)) break;
|
||||
}
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'COMMUNE DE '.strtoupper($tabCom['libCommune']),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $sirenCom,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 7230: // Région
|
||||
// Siren du 29 22 290001 1 => Région 233 500 016
|
||||
// Siren du 28 22 280001 3 => Région 234 500 023
|
||||
// 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';
|
||||
$deptF=$dept.'999';
|
||||
if ($dept*1>95) {
|
||||
$dept=substr($siren,2,3);
|
||||
$deptD=$dept.'00';
|
||||
$deptF=$dept.'99';
|
||||
}
|
||||
$tmp=$this->iDb->select('insee.departements d, insee.insee_tabRegions r',
|
||||
'd.numDep, d.libdep, d.codeRegionInsee, r.REGION, r.CHEFLIEU, r.NC',
|
||||
"r.CHEFLIEU BETWEEN '$deptD' AND '$deptF' AND d.codeRegionInsee=r.REGION", true, MYSQL_ASSOC);
|
||||
foreach ($tmp as $tabCom) {
|
||||
$dept=$tabCom['numDep'];
|
||||
if ($dept>960) $dept3=$dept;
|
||||
else $dept3=$dept.'0';
|
||||
for ($iSir=0; $iSir<10; $iSir++) {
|
||||
$sirenCom='22'.$dept3.'001'.$iSir;
|
||||
if ($this->iInsee->valideSiren($sirenCom)) break;
|
||||
}
|
||||
$tabRet[]=array('Pmin' => 0,
|
||||
'PminNum' => 0,
|
||||
'MajMin' => '+',
|
||||
'RaisonSociale' => 'DEPARTEMENT '.strtoupper($tabCom['libdep']),
|
||||
'Pays' => '',
|
||||
'CodePays' => 'FRA',
|
||||
'Siren' => $sirenCom,
|
||||
'Actif' => 1,
|
||||
'Source' => $this->tabSources[1900],
|
||||
'DateLien' => date('Y-m-').'01',
|
||||
'DateMaj' => date('Y-m-').'01',
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
// }
|
||||
//@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',
|
||||
@ -695,6 +1291,10 @@ class MLiens {
|
||||
} else {
|
||||
$nomP=$lien['RaisonSociale'];
|
||||
}
|
||||
|
||||
$strInfos ='#'.$lien['Isin'].'#'.$lien['IdLocalType'].'#'.$lien['IdLocalNum'];
|
||||
$strInfos.='#'.$lien['Adresse1'].'#'.$lien['Adresse2'].'#'.$lien['AdresseCP'].'#'.$lien['AdresseVille'].'#'.$lien['Tel'].'#'.$lien['Fax'].'#'.$lien['Web'].'#'.$lien['Mail'].'#'.$lien['Pays'];
|
||||
|
||||
$codPays=$lien['Pays'];
|
||||
$libPays='';
|
||||
if ($codPays<>'' && $codPays<>'France')
|
||||
@ -711,8 +1311,11 @@ class MLiens {
|
||||
else
|
||||
$pct=$lien['MajMin'];
|
||||
|
||||
echo "+ $sirenFille ($pct) : ".$nomP.$libPays;
|
||||
|
||||
//echo "+ $sirenFille ($pct) : ".$nomP.$libPays.$strInfos;
|
||||
// if ($codPays=='' || $codPays=='FRA' || $codPays=='BEL' || $codPays=='NLD' || $codPays=='LUX' || $codPays=='DEU' || $codPays=='AND' || $codPays=='ESP' ||
|
||||
// $codPays=='MCO' || $codPays=='GBR' || $codPays=='CAN')
|
||||
echo "+ $sirenFille#".$nomP.'#'.$libPays.$strInfos;
|
||||
|
||||
if ($siren*1==$sirenFille*1) {
|
||||
echo "[D]".EOL;
|
||||
$tabSiren[]=$siren;
|
||||
@ -760,9 +1363,25 @@ class MLiens {
|
||||
//function getAllParticipations($siren, $pctMin=33, $nbNiveaux=15, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true) {
|
||||
public function getArboresence($siren, $pctMin=25, $nbNiveaux=50, $niveauCour=1, $tabSiren=array(), $sirenIni=0, $sirenMere=0, $appel=0, $actifsUniquement=true, $tabRet=array()) {
|
||||
//$tabId=$this->iInsee->getIdentiteLight($siren);
|
||||
$sirenMere=$this->getMaisonMereFr($siren);
|
||||
$tabId=$this->iInsee->getIdentiteLight($sirenMere);
|
||||
echo "Z, $sirenMere,".$tabId['Nom'].EOL;
|
||||
$siren=trim($siren);
|
||||
$tabId=$this->iInsee->getIdentiteLight($siren);
|
||||
$sirenMere=trim($this->getMaisonMereFr($siren));
|
||||
$tabIdMere=@$this->iInsee->getIdentiteEntreprise($sirenMere);
|
||||
echo "Z, $siren : ".$tabId['Nom'];
|
||||
if ($siren<>$sirenMere) {
|
||||
echo ", $sirenMere : ".$tabIdMere['Nom'];
|
||||
//print_r($tabIdMere);
|
||||
//die();
|
||||
$strInfos ='#'.$tabIdMere['Isin'].'#'.@$lien['IdLocalType'].'#'.@$lien['IdLocalNum'];
|
||||
$strInfos.='#'.$tabIdMere['Adresse'].'#'.$tabIdMere['Adresse2'].'#'.$tabIdMere['CP'].'#'.$tabIdMere['Ville'].'#'.$tabIdMere['Tel'].'#'.$tabIdMere['Fax'].'#'.$tabIdMere['Web'].'#'.$tabIdMere['Mail'].'#'.$tabIdMere['Pays'];
|
||||
echo $strInfos;
|
||||
} else {
|
||||
$tabIdMere=@$this->iInsee->getIdentiteEntreprise($siren);
|
||||
$strInfos ='#'.$tabIdMere['Isin'].'#'.@$lien['IdLocalType'].'#'.@$lien['IdLocalNum'];
|
||||
$strInfos.='#'.$tabIdMere['Adresse'].'#'.$tabIdMere['Adresse2'].'#'.$tabIdMere['CP'].'#'.$tabIdMere['Ville'].'#'.$tabIdMere['Tel'].'#'.$tabIdMere['Fax'].'#'.$tabIdMere['Web'].'#'.$tabIdMere['Mail'].'#'.$tabIdMere['Pays'];
|
||||
echo $strInfos;
|
||||
}
|
||||
echo EOL;
|
||||
$tabSirenAll=$this->getAllParticipations($sirenMere, $pctMin, $nbNiveaux, $niveauCour, $tabSiren, $siren, $sirenMere, $appel, $actifsUniquement, 'txt', $tabRet);
|
||||
return $tabRet;
|
||||
}
|
||||
|
@ -266,6 +266,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
if (preg_match('/<div><p style="color\:red;"><strong>(.*)<\/strong><\/p>/Uis', $body, $matches))
|
||||
$tabMarque['infoMarque']=trim(utf8_decode($matches[1]));
|
||||
|
||||
if (preg_match('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uis', $body, $matches))
|
||||
$tabMarque['dateDepot']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||||
|
||||
if (preg_match("/<div class=\"images\"><p><u><strong>(.*)<\/strong><\/u><\/p><img src='Typo3_INPI_Marques\/getImg\?doc=(.*)' alt='(.*)' class='null'\/><\/div>/Uis", $body, $matches)) {
|
||||
$tabMarque['periMarque']=trim(utf8_decode($matches[1]));
|
||||
$tabMarque['idObjetImg']=trim($matches[2]);
|
||||
@ -277,14 +280,41 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
if ($page['code']==200) {
|
||||
$ext=trim('.'.strtr(preg_replace('/^image\//','',preg_replace('/;.*/','',$page['header']['Content-Type'])),array('?'=>'')));
|
||||
//die("'".DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext."'");
|
||||
$fp=@fopen(DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext, 'a');
|
||||
// Gestion des dossiers
|
||||
$annee=substr($tabMarque['dateDepot'],0,4);
|
||||
$dateDepotYMD=str_replace('-','',$tabMarque['dateDepot']);
|
||||
$dossierCible=DOC_WEB_LOCAL."marques/$annee/$dateDepotYMD/";
|
||||
@mkdir(DOC_WEB_LOCAL."marques/$annee");
|
||||
@mkdir($dossierCible);
|
||||
// Gestion de l'image
|
||||
$fp=@fopen($dossierCible.$tabMarque['numeroMarque'].$ext, 'a');
|
||||
/* echo $dossierCible.$tabMarque['numeroMarque'].$ext;
|
||||
echo "\t".filesize($dossierCible.$tabMarque['numeroMarque'].$ext).' octets';*/
|
||||
@fwrite($fp, $page['body']);
|
||||
@fclose($fp);
|
||||
$tabMarque['fileName']=$tabMarque['numeroMarque'].$ext;
|
||||
|
||||
if ($tabMarque['nomMarque']=='' || $tabMarque['nomMarque']==' ')
|
||||
$tabMarque['typeMarque']='Figurative';
|
||||
else
|
||||
$tabMarque['typeMarque']='Semi-Figurative';
|
||||
/*
|
||||
Une marque verbale
|
||||
composée d'un ou plusieurs termes qui peuvent s'écrire ou se prononcer,
|
||||
c'est à dire par exemple un nom de naissance ou patronymique (par exemple : Guy Degrenne), une dénomination arbitraire créée de toutes pièces (par exemple : Yoplait) , un mot détourné de son sens, un slogan (par exemple : Parce que vous le valez bien)
|
||||
|
||||
Une marque semi-figurative
|
||||
marque associant un terme verbal et un visuel.
|
||||
Elle peut également être qualifiée de marque complexe.
|
||||
|
||||
Une marque figurative
|
||||
marque composée uniquement d’un visuel, c’est à dire un signe qui ne s'adresse qu’à l’œil (par exemple : le crocodile Lacoste)
|
||||
*/
|
||||
}
|
||||
//die();
|
||||
}
|
||||
}
|
||||
|
||||
} else
|
||||
$tabMarque['typeMarque']='Verbale';
|
||||
|
||||
if (preg_match('/<p><strong>Produits et services<\/strong><\/p>(.*)<\/ul><\/p>/Uis', $body, $matches)) {
|
||||
$tabClasses=array();
|
||||
if (preg_match_all('/<li><span>(.*)<\/span><\/li>/Uis', $matches[1], $matches2)) {
|
||||
@ -316,9 +346,6 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
if (preg_match('/<strong>Statut<\/strong>(.*)<\/p>/Uis', $body, $matches))
|
||||
$tabMarque['detailStatut']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||||
|
||||
if (preg_match('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uis', $body, $matches))
|
||||
$tabMarque['dateDepot']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
|
||||
|
||||
//dateExpir
|
||||
if (preg_match('/<strong>Date prévue pour l\'expiration<\/strong>(.*)<\/p>/Uis', $body, $matches))
|
||||
$tabMarque['dateExpir']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||||
@ -375,12 +402,21 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
unset($tabInsert['classes']);
|
||||
unset($tabInsert['historique']);
|
||||
$tabInsert['dateInsert']=$dateInsert;
|
||||
//print_r($tabInsert);
|
||||
print_r($tabInsert);
|
||||
//die();
|
||||
$ret=$this->iDb->insert('marques', $tabInsert);
|
||||
if (!$ret && mysql_errno()<>1062) {
|
||||
echo "Erreur 'marques' : ".mysql_error().EOL;
|
||||
echo "Erreur INSERT 'marques' : ".mysql_error().EOL;
|
||||
die();
|
||||
} elseif (mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
if (!$this->iDb->update('marques', $tabInsert, "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false)) {
|
||||
echo "Erreur UPDATE 'marques' : ".mysql_error().EOL;
|
||||
die();
|
||||
}
|
||||
$ret=$this->iDb->select('marques', 'id', "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false, MYSQL_ASSOC);
|
||||
$ret=$ret[0]['id'];
|
||||
$updateTodo=true;
|
||||
}
|
||||
|
||||
// Insertion du détail des classes
|
||||
@ -397,6 +433,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
print_r($tabInsert);
|
||||
print_r($tabMarque['classes']);
|
||||
die("Erreur 'marques_classes' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -414,6 +453,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
print_r($tabInsert);
|
||||
print_r($tabMarque['pays']);
|
||||
die("Erreur 'marques_pays' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_pays', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -431,6 +473,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
print_r($tabInsert);
|
||||
print_r($tabMarque['priorite']);
|
||||
die("Erreur 'marques_priorite' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_priorite', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -446,6 +491,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||||
print_r($tabInsert);
|
||||
print_r($tabMarque['historique']);
|
||||
die("Erreur 'marques_histo' : ".mysql_error().EOL);
|
||||
} elseif ($updateTodo && mysql_errno()==1062) {
|
||||
unset($tabInsert['dateInsert']);
|
||||
$this->iDb->update('marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user