From 33dc9f0d74cbab5df5becf93659197da7077c2d3 Mon Sep 17 00:00:00 2001 From: Michael RICOIS Date: Fri, 10 Jul 2015 08:42:07 +0000 Subject: [PATCH] Libraries Update --- library/Metier/insee/Cache/CodesNace.php | 4 + library/Metier/insee/Cache/CodesNaf.php | 4 + library/Metier/insee/classMInsee.php | 502 ++++++++++-------- library/Metier/partenaires/classMBilans.php | 18 +- .../Metier/partenaires/classMBilansBil.php | 6 +- library/Scores/Ws/Server.php | 83 +-- library/SdMetier/Sfr/Scoring.php | 5 +- library/framework/common/mysql.new.php | 8 +- library/framework/common/mysql.php | 8 +- 9 files changed, 344 insertions(+), 294 deletions(-) diff --git a/library/Metier/insee/Cache/CodesNace.php b/library/Metier/insee/Cache/CodesNace.php index 8db79c04..c274708a 100644 --- a/library/Metier/insee/Cache/CodesNace.php +++ b/library/Metier/insee/Cache/CodesNace.php @@ -740,4 +740,8 @@ return array( '000Z' => "00Z", '526D' => "526D", '8121' => "8121", + '7904' => "7904", + '745A' => "745A", + '702A' => "702A", + '702C' => "702C", ); diff --git a/library/Metier/insee/Cache/CodesNaf.php b/library/Metier/insee/Cache/CodesNaf.php index 90a24fec..5ab972d9 100644 --- a/library/Metier/insee/Cache/CodesNaf.php +++ b/library/Metier/insee/Cache/CodesNaf.php @@ -1484,4 +1484,8 @@ return array( '000Z' => "", '526D' => "", '8121' => "", + '7904' => "", + '745A' => "", + '702A' => "", + '702C' => "", ); diff --git a/library/Metier/insee/classMInsee.php b/library/Metier/insee/classMInsee.php index b3324952..2b45cbbb 100644 --- a/library/Metier/insee/classMInsee.php +++ b/library/Metier/insee/classMInsee.php @@ -4185,7 +4185,7 @@ class MInsee // --- Type historique if ($type == 'histo') { - if ($rubrique=='P') { + if ($rubrique=='P') { $where =" AND e.E1GSIR NOT IN(340460104) AND e.CODEVE BETWEEN 50 AND 79 "; } elseif ($rubrique=='PH') { @@ -4226,6 +4226,9 @@ class MInsee $where.=" AND e.ROLE IN('".implode("','",$tabCodRol)."') "; } } + else { + return false; + } } // --- Type annonce @@ -4255,6 +4258,9 @@ class MInsee $where.= implode(' OR ',$tabTmp); $where.= ')'; } + else { + return false; + } } return $where; @@ -4286,7 +4292,7 @@ class MInsee foreach ($tabEven as $even) { if ( intval($even)!=0 ) { if ( ($this->dureePlan==0 || $this->dureePlan==120) && in_array($even, $evenDetect) ) { - file_put_contents('plan.log', "MATCH DUREE PLAN : ", FILE_APPEND); + //file_put_contents('plan.log', "MATCH DUREE PLAN : ", FILE_APPEND); // --- Lecture dureePlan dans annonce $this->debutPlan = str_replace('-','',$annonce['dateJugement']); // SSAAMMJJ if ( preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uisu', $annonce['annonce'], $matches) ) { @@ -4690,7 +4696,7 @@ class MInsee if ($idAnnonce != 0) { // --- Annonce if (substr($idAnnonce,0,2) == '0.') { - $idAnnonce == substr($idAnnonce,2); + $idAnnonce = substr($idAnnonce,2); $sqlAnnonceWhere = "a.id=$idAnnonce"; $sqlAnnonceWhere.= " AND a.tribunal=t.triCode AND a.dateSuppr=0"; $sqlAnnonceWhere.= " GROUP BY a.siren, a.dateJugement, a.typeEven ORDER BY a.dateJugement DESC"; @@ -4725,26 +4731,39 @@ class MInsee $sqlBodacc = $this->getAnnoncesLegalesBodacc()." WHERE ".$sqlBodaccWhere; // --- Where Histo - $sqlHistoWhere = "e.E1GSIR=$siren"; - $sqlHistoWhere.= $this->getAnnoncesLegalesRubrique('histo', $rubrique); - $sqlHistoWhere.= " AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19890101 AND 20041231"; - /*$sqlHistoWhere.= " AND e.E1GSIR=e.SIREN";*/ - $sqlHistoWhere.= " GROUP BY e.ANBASE ORDER BY e.DATE DESC"; - $sqlHisto = $this->getAnnoncesLegalesHisto()." WHERE ".$sqlHistoWhere; + $sqlHistoRubrique = $this->getAnnoncesLegalesRubrique('histo', $rubrique); + if ($sqlHistoRubrique !== false) { + $sqlHistoWhere = "e.E1GSIR=$siren"; + $sqlHistoWhere.= $sqlHistoRubrique; + $sqlHistoWhere.= " AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19890101 AND 20041231"; + /*$sqlHistoWhere.= " AND e.E1GSIR=e.SIREN";*/ + $sqlHistoWhere.= " GROUP BY e.ANBASE ORDER BY e.DATE DESC"; + $sqlHisto = $this->getAnnoncesLegalesHisto()." WHERE ".$sqlHistoWhere; + } // --- Where Annonce - $sqlAnnonceWhere = "a.siren=$siren"; - $sqlAnnonceWhere.= $this->getAnnoncesLegalesRubrique('annonce', $rubrique); - $sqlAnnonceWhere.= " AND a.tribunal=t.triCode AND a.dateSuppr=0"; - if ($visualisation === true) { - // --- Ne pas afficher les annonces si la procédure à plus de 4 mois - $sqlAnnonceWhere.= " AND a.dateJugement > DATE_SUB(NOW(), INTERVAL 24 MONTH)"; + $sqlAnnonceRubrique = $this->getAnnoncesLegalesRubrique('annonce', $rubrique); + if ($sqlAnnonceRubrique !== false) { + $sqlAnnonceWhere = "a.siren=$siren"; + $sqlAnnonceWhere.= $sqlAnnonceRubrique; + $sqlAnnonceWhere.= " AND a.tribunal=t.triCode AND a.dateSuppr=0"; + if ($visualisation === true) { + // --- Ne pas afficher les annonces si la procédure à plus de 4 mois + $sqlAnnonceWhere.= " AND a.dateJugement > DATE_SUB(NOW(), INTERVAL 24 MONTH)"; + } + $sqlAnnonceWhere.= " GROUP BY a.siren, a.dateJugement, a.typeEven ORDER BY a.dateJugement DESC"; + $sqlAnnonce = $this->getAnnoncesLegalesAnnonce()." WHERE ".$sqlAnnonceWhere; } - $sqlAnnonceWhere.= " GROUP BY a.siren, a.dateJugement, a.typeEven ORDER BY a.dateJugement DESC"; - $sqlAnnonce = $this->getAnnoncesLegalesAnnonce()." WHERE ".$sqlAnnonceWhere; // --- SQL Union - $sql = "SELECT * FROM ( (".$sqlBodacc.") UNION ALL (".$sqlHisto.") UNION ALL (".$sqlAnnonce.") ) results ORDER BY unionDate DESC"; + $sql = "SELECT * FROM ( (".$sqlBodacc.") "; + if (!empty($sqlHisto)) { + $sql.= "UNION ALL (".$sqlHisto.") "; + } + if (!empty($sqlAnnonce)) { + $sql.= "UNION ALL (".$sqlAnnonce.") "; + } + $sql.= ") results ORDER BY unionDate DESC"; } $annonceResult = $this->iDb->query($sql); @@ -5327,33 +5346,42 @@ class MInsee //$idAnnonce } - $mBalo=new MBalo(); + $mBalo = new MBalo(); + + $bodacc = $this->iDb->select('jo.balo', + "Societe_Rcs, Categorie, Num_Affaire, Date_Parution, Num_Parution, Url_Annonce_Html, Url_Annonce_Pdf, Annonce_Html, dateInsert", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' $strIdAnn ORDER BY Date_Parution DESC, Num_Affaire LIMIT $offset, $lignes", + false, MYSQL_ASSOC); - $bodacc=$this->iDb->select('jo.balo', "Societe_Rcs, Categorie, Num_Affaire, Date_Parution, Num_Parution, Url_Annonce_Html, Url_Annonce_Pdf, Annonce_Html, dateInsert", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' $strIdAnn ORDER BY Date_Parution DESC, Num_Affaire LIMIT $offset, $lignes", false, MYSQL_ASSOC); - // $RP=mysql_select('balo', " ", "Societe_Rcs='$rcs' "); $k=0; - if (count($bodacc)>0) { - foreach ($bodacc as $k=>$ann) { - $tabRetEven=array(); - $tabRetEven[]=array('CodeEven'=>$mBalo->getLibEven($ann['Categorie']), - 'LibEven'=> $ann['Categorie']); + if (count($bodacc) > 0) { + foreach ($bodacc as $k => $ann) { + $tabRetEven = array(); + $tabRetEven[] = array( + 'CodeEven' => $mBalo->getLibEven($ann['Categorie']), + 'LibEven' => $ann['Categorie'] + ); - $tabRet[$k]=array( 'id'=>$ann['Num_Affaire'].'.'.$ann['Num_Parution'], - 'BodaccCode'=>'BALO', - 'BodaccNum'=>$ann['Num_Parution'], - 'NumAnnonce'=>$ann['Num_Affaire'], - 'DateParution'=>$ann['Date_Parution'], - //'Departement'=>'',$ann['Tribunal_Dept'], - //'Tribunal'=>$ann['triNom'], - //'TribunalSiret'=>$ann['triSiret'], - //'Rubrique'=>$ann['Rubrique'], - 'typeAnnonce'=>'Insertion', - 'dateInsertionSD'=>$ann['dateInsert'], - 'evenements'=>$tabRetEven, - 'Lien_Annonce_Pdf'=>basename($ann['Url_Annonce_Pdf']), - ); - if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=strtr( preg_replace('//Uis', '', - preg_replace('/( class=".*")/ie', ' ', $ann['Annonce_Html'])), array(' '=>' ', ''=>'', ''=>'')); + $tabRet[$k]=array( + 'id'=>$ann['Num_Affaire'].'.'.$ann['Num_Parution'], + 'BodaccCode'=>'BALO', + 'BodaccNum'=>$ann['Num_Parution'], + 'NumAnnonce'=>$ann['Num_Affaire'], + 'DateParution'=>$ann['Date_Parution'], + //'Departement'=>'',$ann['Tribunal_Dept'], + //'Tribunal'=>$ann['triNom'], + //'TribunalSiret'=>$ann['triSiret'], + //'Rubrique'=>$ann['Rubrique'], + 'typeAnnonce'=>'Insertion', + 'dateInsertionSD'=>$ann['dateInsert'], + 'evenements'=>$tabRetEven, + 'Lien_Annonce_Pdf'=>basename($ann['Url_Annonce_Pdf']), + ); + if ($idAnnonce<>0) + $tabRet[$k]['texteAnnonce'] = strtr( + preg_replace('//Uis', '', + preg_replace('/( class=".*")/ie', ' ', $ann['Annonce_Html'])), + array(' '=>' ', ''=>'', ''=>'') + ); } } return $tabRet; @@ -5364,9 +5392,10 @@ class MInsee * @param string $siren * @return int */ - function getAnnoncesBaloCount($siren) + public function getAnnoncesBaloCount($siren) { - $bodacc = $this->iDb->select('jo.balo', "count(*) AS nb", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' ORDER BY Date_Parution DESC, Num_Affaire", false, MYSQL_ASSOC); + $bodacc = $this->iDb->select('jo.balo', "count(*) AS nb", + "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' ORDER BY Date_Parution DESC, Num_Affaire", false, MYSQL_ASSOC); $nb = 0; if (count($bodacc)>0) { $nb = $bodacc[0]['nb']; @@ -5383,201 +5412,201 @@ class MInsee * @param int $lignes * @return Ambigous multitype:multitype:string Ambigous , unknown> */ - function getAnnoncesBoamp($siren, $idAnnonce='', $type=array('A', 'M'), $offset=0, $lignes=100) + public function getAnnoncesBoamp($siren, $idAnnonce='', $type=array('A', 'M'), $offset=0, $lignes=100) { - $siren=$siren*1; + $siren = intval($siren); - if ($siren<001000000) $siren='000'.$siren; - elseif ($siren<010000000) $siren='00'.$siren; - elseif ($siren<100000000) $siren='0'.$siren; + $strIdAnn = ''; + $idA = 0; + $tabRet = array(); - $strIdAnn=''; - $idA=0; - $tabRet=array(); - - $mBoamp=new MBoamp(); + $mBoamp = new MBoamp(); + // --- Recherche dans les avis d'attribution if ( is_string($type) && $type=='A' || is_array($type) && in_array('A',$type) ) { - /** Recherche dans les avis d'attribution **/ - if ($idAnnonce<>'') { - $tmp=explode('.', $idAnnonce); - $idA=$tmp[1]; - //if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0]; - if ($tmp[0]=='A') $strIdAnn=" AND l.id='$idA' "; - elseif ($tmp[0]=='O') $strIdAnn=""; - } + if ($idAnnonce != '') { + $tmp = explode('.', $idAnnonce); + $idA = $tmp[1]; + if ($tmp[0]=='A') $strIdAnn=" AND l.id='$idA' "; + elseif ($tmp[0]=='O') $strIdAnn=""; + } - $bodacc = $this->iDb->select( - 'jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', - "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, l.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, l.num, l.`desc` AS description, l.nom, d.raisonSociale, l.montantTxt, sum(l.montant) AS montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin, l.dateInsert, d.titre, d.objet, d.titreMarche, d.typeObjetMarche, d.objetAutre, d.autres", - "l.siren='$siren' AND l.idAnn=b.id AND l.idAnn=d.id $strIdAnn GROUP BY b.id ORDER BY l.Boamp_Date_Parution DESC LIMIT $offset,$lignes", false, MYSQL_ASSOC - ); + $bodacc = $this->iDb->select('jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', + "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, l.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, l.num, l.`desc` AS description, l.nom, d.raisonSociale, l.montantTxt, sum(l.montant) AS montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin, l.dateInsert, d.titre, d.objet, d.titreMarche, d.typeObjetMarche, d.objetAutre, d.autres", + "l.siren=$siren AND l.idAnn=b.id AND l.idAnn=d.id $strIdAnn GROUP BY b.id ORDER BY l.Boamp_Date_Parution DESC LIMIT $offset,$lignes", false, MYSQL_ASSOC); - $k=0; - if (count($bodacc)>0) { - foreach ($bodacc as $k=>$ann) { - $tabRetEven=array(); - /*montantTxt, l.montant, l.montantAnMin, , l.trancheCond, l.trancheFerme, l.dateAttrib*/ - if ($ann['nom']<>'') $strMontant=' "'.strtoupper($ann['raisonSociale']).'"'; + $k = 0; + if (count($bodacc)>0) { + foreach ($bodacc as $k => $ann) { + $tabRetEven=array(); + if ($ann['nom']<>'') $strMontant=' "'.strtoupper($ann['raisonSociale']).'"'; - if ($ann['montant']*1>0) $strMontant.=' ('.number_format($ann['montant'], 2, ',', ' ').' EUR)'; - elseif ($ann['montantTxt']<>'') $strMontant.=' ('.$ann['montantTxt'].')'; - elseif ($ann['montantAnMin']<>'' && $ann['montantAnMax']) - $strMontant.=' ('.$ann['montantAnMin'].' à '. - $ann['montantAnMax'].')'; - elseif ($ann['trancheCond']<>'' && $ann['trancheFerme']) - $strMontant.=' ('.$ann['trancheCond'].' / '. - $ann['trancheFerme'].')'; - else $strMontant.=''; - $tabRetEven[]=array('CodeEven'=>$mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), - 'LibEven'=>$mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant); - // Axxx pour lot attribué ou Oxxx pour Organisation - if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; - else $numAnn=$ann['Num_Annonce']; - if ($ann['Boamp_Code']=='MAPA') - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel'; - else { - $lettre = substr($ann['Boamp_Code'],-1); - $annee = $ann['Boamp_Annee_Parution']; - $num = sprintf("%04d",$ann['Boamp_Num']); - $numPar=$lettre.$annee.$num; - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; - } - $infosComp=''; - $objetMarche=trim($ann['objet'].' '.$ann['objetAutre'].' '.$ann['autres']); - //titre, titreMarche, typeObjetMarche - $tabRet[$k]=array( 'id'=>'A.'.$ann['id'], - 'BodaccCode'=>$ann['Boamp_Code'], - 'BodaccNum'=>$ann['Boamp_Num'], - 'NumAnnonce'=>$numAnn, - 'DateParution'=>$ann['Boamp_Date_Parution'], - 'Departement'=>$ann['Boamp_Dept'], - //'Tribunal'=>$ann['triNom'], - //'TribunalSiret'=>$ann['triSiret'], - //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], - 'typeAnnonce'=>$ann['typeAnnonce'], - 'dateInsertionSD'=>$ann['dateInsert'], - 'Montant'=>$ann['montant'], - 'Organisme'=>strtoupper($ann['raisonSociale']), - 'Objet'=>$objetMarche, - 'evenements'=>$tabRetEven, - 'infosComp'=>$infosComp, // Non géré - 'Lien_Annonce_Html'=>$lienMapa, // Non géré - ); + if ($ann['montant']*1>0) $strMontant.=' ('.number_format($ann['montant'], 2, ',', ' ').' EUR)'; + elseif ($ann['montantTxt']<>'') $strMontant.=' ('.$ann['montantTxt'].')'; + elseif ($ann['montantAnMin']<>'' && $ann['montantAnMax']) + $strMontant.=' ('.$ann['montantAnMin'].' à '.$ann['montantAnMax'].')'; + elseif ($ann['trancheCond']<>'' && $ann['trancheFerme']) + $strMontant.=' ('.$ann['trancheCond'].' / '.$ann['trancheFerme'].')'; + else $strMontant.=''; - if ($idA<>0) - if ($ann['Boamp_Code']=='MAPA') - $tabRet[$k]['texteAnnonce']=$ann['annonce']; - else - $tabRet[$k]['texteAnnonce']= - strtr( preg_replace('//Uis', '', + $tabRetEven[] = array( + 'CodeEven' => $mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), + 'LibEven' => $mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'],$ann['Boamp_Rubrique_Lib']).$strMontant + ); + + // Axxx pour lot attribué ou Oxxx pour Organisation + if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; + else $numAnn=$ann['Num_Annonce']; + if ($ann['Boamp_Code']=='MAPA') { + $lienMapa = 'http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='. + $ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; + } else { + $lettre = substr($ann['Boamp_Code'],-1); + $annee = $ann['Boamp_Annee_Parution']; + $num = sprintf("%04d",$ann['Boamp_Num']); + $numPar = $lettre.$annee.$num; + $lienMapa = 'http://www.boamp.fr/index.php?action=avis&num_parution='. + $numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; + } + $infosComp=''; + $objetMarche=trim($ann['objet'].' '.$ann['objetAutre'].' '.$ann['autres']); + //titre, titreMarche, typeObjetMarche + $tabRet[$k] = array( + 'id'=>'A.'.$ann['id'], + 'BodaccCode'=>$ann['Boamp_Code'], + 'BodaccNum'=>$ann['Boamp_Num'], + 'NumAnnonce'=>$numAnn, + 'DateParution'=>$ann['Boamp_Date_Parution'], + 'Departement'=>$ann['Boamp_Dept'], + //'Tribunal'=>$ann['triNom'], + //'TribunalSiret'=>$ann['triSiret'], + //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], + 'typeAnnonce'=>$ann['typeAnnonce'], + 'dateInsertionSD'=>$ann['dateInsert'], + 'Montant'=>$ann['montant'], + 'Organisme'=>strtoupper($ann['raisonSociale']), + 'Objet'=>$objetMarche, + 'evenements'=>$tabRetEven, + 'infosComp'=>$infosComp, // Non géré + 'Lien_Annonce_Html'=>$lienMapa, // Non géré + ); + + if ($idA<>0) { + if ($ann['Boamp_Code']=='MAPA') { + $tabRet[$k]['texteAnnonce'] = $ann['annonce']; + } else { + $tabRet[$k]['texteAnnonce'] = strtr( + preg_replace('//Uis', '', preg_replace('//Uis', '', preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))), array(' '=>' ', ''=>'', ''=>'', '

'=>'
') - ); - } - } + ); + } + } + } + } } + // --- Recherche dans les avis de marchés if ( is_string($type) && $type=='M' || is_array($type) && in_array('M',$type) ) { - // Recherche dans les avis de marchés + if ($idAnnonce<>'') { - $tmp=explode('.', $idAnnonce); - $idA=$tmp[1]; - //if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0]; - if ($tmp[0]=='A') $strIdAnn=" AND d.id='$idA' "; - elseif ($tmp[0]=='O') $strIdAnn=""; - } + $tmp = explode('.', $idAnnonce); + $idA = $tmp[1]; + if ($tmp[0]=='A') $strIdAnn=" AND d.id='$idA' "; + elseif ($tmp[0]=='O') $strIdAnn=""; + } - $bodacc=$this->iDb->select( - 'boamp b, boamp_detail d', + $bodacc = $this->iDb->select('jo.boamp b, jo.boamp_detail d', "d.id, d.Boamp_Code, d.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, d.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, titre AS description, d.raisonSociale, d.estimValeur AS montantTxt, d.estimValeurMin AS montantAnMin, d.estimValeurMax AS montantAnMax, objet, cpv_obj, cpv_comp, d.dateInsert", - "d.siren='$siren' AND d.id=b.id $strIdAnn GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", - false, MYSQL_ASSOC - ); + "d.siren=$siren AND d.id=b.id $strIdAnn GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", false, MYSQL_ASSOC); - if (count($bodacc)>0) { - foreach ($bodacc as $k=>$ann) { - $id=$ann['id']; - $rub=$ann['Boamp_Rubrique']; - $tabRetEven=array(); - $strMontant=''; - if ($ann['objet']<>'') $strMontant.=' "'.$ann['objet'].'"'; + if (count($bodacc)>0) { + foreach ($bodacc as $k => $ann) { + $id = $ann['id']; + $rub = $ann['Boamp_Rubrique']; + $tabRetEven = array(); + $strMontant = ''; + if ($ann['objet']<>'') $strMontant.=' "'.$ann['objet'].'"'; - if ($rub=='6' || // Avis d'attribution - $rub=='7' || // Avis en cas de transparence ex ante volontaire - $rub=='77' || // Avis d'attribution - $rub=='8' || // Avis d'attribution - $rub=='82' || // Rectificatif - $rub=='83' || // Rectificatif - $rub=='84' || // Avis d'attribution comportant des lots infructueux - $rub=='9' || // Résultat de marché - $rub=='92' || // Rectificatif - $rub=='93' || // Résultat de marché / Infructueux - Sans suite - $rub=='94' || // Résultat de marché / Résultat de marché comportant des lots infructueux - $rub=='96' || // Annulation - Rectificatif - Sans suite - Infructueux - $rub=='977' // Annulation - Rectificatif / Avis en cas de transparence ex ante volontaire - ) { - $tabTmp=$this->iDb->select( 'boamp_lots l', - "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, l.Boamp_Date_Parution, l.num, l.`desc` AS description, l.nom, l.montantTxt, l.montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin", - "l.idAnn=$id", false, MYSQL_ASSOC); - foreach ($tabTmp as $k2=>$ann2) { - if ($ann2['nom']<>'') $strMontant.=' "'.strtoupper($ann2['nom']).'"'; - if ($ann2['montant']*1>0) $strMontant.=' ('.number_format($ann2['montant'], 2, ',', ' ').' EUR)'; - elseif ($ann2['montantTxt']<>'') $strMontant.=' ('.$ann2['montantTxt'].')'; - elseif ($ann2['montantAnMin']<>'' && $ann2['montantAnMax']) - $strMontant.=' ('.$ann2['montantAnMin'].' à '. - $ann2['montantAnMax'].')'; - elseif ($ann2['trancheCond']<>'' && $ann2['trancheFerme']) - $strMontant.=' ('.$ann['trancheCond'].' / '. - $ann['trancheFerme'].')'; - else $strMontant.=''; - } - } - $tabRetEven[]=array('CodeEven'=>$mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), - 'LibEven'=>$mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant); - // Axxx pour lot attribué ou Oxxx pour Organisation - if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; - else $numAnn=$ann['Num_Annonce']; - if ($ann['Boamp_Code']=='MAPA') - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel'; - else { - $lettre = substr($ann['Boamp_Code'],-1); - $annee = $ann['Boamp_Annee_Parution']; - $num = sprintf("%04d",$ann['Boamp_Num']); - $numPar=$lettre.$annee.$num; - $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; - } - $infosComp=''; - $tabRet[$k]=array( 'id'=>'O.'.$id, - 'BodaccCode'=>$ann['Boamp_Code'], - 'BodaccNum'=>$ann['Boamp_Num'], - 'NumAnnonce'=>$numAnn, - 'DateParution'=>$ann['Boamp_Date_Parution'], - 'Departement'=>$ann['Boamp_Dept'], - //'Tribunal'=>$ann['triNom'], - //'TribunalSiret'=>$ann['triSiret'], - //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], - 'typeAnnonce'=>$ann['typeAnnonce'], - 'dateInsertionSD'=>$ann['dateInsert'], - 'evenements'=>$tabRetEven, - 'infosComp'=>$infosComp, // Non géré - 'Lien_Annonce_Html'=>$lienMapa, // Non géré - ); + if ($rub=='6' || // Avis d'attribution + $rub=='7' || // Avis en cas de transparence ex ante volontaire + $rub=='77' || // Avis d'attribution + $rub=='8' || // Avis d'attribution + $rub=='82' || // Rectificatif + $rub=='83' || // Rectificatif + $rub=='84' || // Avis d'attribution comportant des lots infructueux + $rub=='9' || // Résultat de marché + $rub=='92' || // Rectificatif + $rub=='93' || // Résultat de marché / Infructueux - Sans suite + $rub=='94' || // Résultat de marché / Résultat de marché comportant des lots infructueux + $rub=='96' || // Annulation - Rectificatif - Sans suite - Infructueux + $rub=='977' // Annulation - Rectificatif / Avis en cas de transparence ex ante volontaire + ) { + $tabTmp = $this->iDb->select('jo.boamp_lots l', + "l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, l.Boamp_Date_Parution, l.num, l.desc AS description, l.nom, l.montantTxt, l.montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin", + "l.idAnn=$id", false, MYSQL_ASSOC); + foreach ($tabTmp as $k2=>$ann2) { + if ($ann2['nom']<>'') $strMontant.=' "'.strtoupper($ann2['nom']).'"'; + if ($ann2['montant']*1>0) $strMontant.=' ('.number_format($ann2['montant'], 2, ',', ' ').' EUR)'; + elseif ($ann2['montantTxt']<>'') $strMontant.=' ('.$ann2['montantTxt'].')'; + elseif ($ann2['montantAnMin']<>'' && $ann2['montantAnMax']) + $strMontant.=' ('.$ann2['montantAnMin'].' à '.$ann2['montantAnMax'].')'; + elseif ($ann2['trancheCond']<>'' && $ann2['trancheFerme']) + $strMontant.=' ('.$ann['trancheCond'].' / '.$ann['trancheFerme'].')'; + else $strMontant.=''; + } + } + $tabRetEven[] = array( + 'CodeEven' => $mBoamp->getCodEvenSd($ann['Boamp_Rubrique']), + 'LibEven' => $mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant + ); - if ($idA<>0) - if ($ann['Boamp_Code']=='MAPA') - $tabRet[$k]['texteAnnonce']=$ann['annonce']; - else - $tabRet[$k]['texteAnnonce']= - strtr( preg_replace('//Uis', '', - preg_replace('//Uis', '', - preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))), - array(' '=>' ', ''=>'', ''=>'', '

'=>'
') - ); - } - } + // Axxx pour lot attribué ou Oxxx pour Organisation + if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce']; + else $numAnn=$ann['Num_Annonce']; + if ($ann['Boamp_Code']=='MAPA') + $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel'; + else { + $lettre = substr($ann['Boamp_Code'],-1); + $annee = $ann['Boamp_Annee_Parution']; + $num = sprintf("%04d",$ann['Boamp_Num']); + $numPar=$lettre.$annee.$num; + $lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0'; + } + $infosComp=''; + $tabRet[$k] = array( + 'id'=>'O.'.$id, + 'BodaccCode'=>$ann['Boamp_Code'], + 'BodaccNum'=>$ann['Boamp_Num'], + 'NumAnnonce'=>$numAnn, + 'DateParution'=>$ann['Boamp_Date_Parution'], + 'Departement'=>$ann['Boamp_Dept'], + //'Tribunal'=>$ann['triNom'], + //'TribunalSiret'=>$ann['triSiret'], + //'Rubrique'=>$ann['Boamp_Rubrique_Lib'], + 'typeAnnonce'=>$ann['typeAnnonce'], + 'dateInsertionSD'=>$ann['dateInsert'], + 'evenements'=>$tabRetEven, + 'infosComp'=>$infosComp, // Non géré + 'Lien_Annonce_Html'=>$lienMapa, // Non géré + ); + + if ($idA<>0) { + if ($ann['Boamp_Code']=='MAPA') { + $tabRet[$k]['texteAnnonce'] = $ann['annonce']; + } else { + $tabRet[$k]['texteAnnonce'] = strtr( + preg_replace('//Uis', '', + preg_replace('//Uis', '', + preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))), + array(' '=>' ', ''=>'', ''=>'', '

'=>'
') + ); + } + } + } + } } debugLog('I', "getAnnoncesBoamp(siren=$siren, idAnnonce=$idAnnonce, $idA)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); return $tabRet; @@ -5592,29 +5621,34 @@ class MInsee { $bodaccA = array(); $bodaccM = array(); + + // --- Recherche dans les avis d'attribution if ( $type=='' || $type=='A' ) { - - /** Recherche dans les avis d'attribution **/ - $bodaccA=$this->iDb->select( - 'jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', - "l.id", - "l.siren='$siren' AND l.idAnn=b.id AND l.idAnn=d.id GROUP BY b.id ORDER BY l.Boamp_Date_Parution", - false, MYSQL_ASSOC - ); - } - if ( $type=='' || $type=='M') { - /** Recherche dans les avis de marchés **/ - $bodaccM = $this->iDb->select( 'jo.boamp b, jo.boamp_detail d', "d.id", - "d.siren='$siren' AND d.id=b.id GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", - false, MYSQL_ASSOC - ); - + $bodaccA = $this->iDb->select('jo.boamp_lots l, jo.boamp b, jo.boamp_detail d', "l.id", + "l.siren=$siren AND l.idAnn=b.id AND l.idAnn=d.id GROUP BY b.id ORDER BY l.Boamp_Date_Parution", + false, MYSQL_ASSOC); } + + // --- Recherche dans les avis de marchés + if ( $type=='' || $type=='M') { + $bodaccM = $this->iDb->select('jo.boamp b, jo.boamp_detail d', "d.id", + "d.siren=$siren AND d.id=b.id GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", + false, MYSQL_ASSOC); + } + $nb = count($bodaccA) + count($bodaccM); + return $nb; } - function getAnnoncesAsso($siren, $idAnnonce=0, $offset=0, $lignes=100) + /** + * + * @param unknown $siren + * @param number $idAnnonce + * @param number $offset + * @param number $lignes + */ + public function getAnnoncesAsso($siren, $idAnnonce=0, $offset=0, $lignes=100) { debugLog('I', "Début getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); diff --git a/library/Metier/partenaires/classMBilans.php b/library/Metier/partenaires/classMBilans.php index 04970f9a..ca13e0f8 100644 --- a/library/Metier/partenaires/classMBilans.php +++ b/library/Metier/partenaires/classMBilans.php @@ -297,11 +297,11 @@ class MBilans } } } - + /** * Liste les bilans disponibles au format numérique (et non PDF image) pour une entreprise * @param boolean $accesPartenaire - * Accès autorisé aux partenaires distant si le bilan est absenr + * Accès autorisé aux partenaires distant si le bilan est absent * @param number $nbMaxBilans * Nombre de bilans maximums retournés * @return array @@ -419,7 +419,7 @@ class MBilans $ret = $this->iDb->select('jo.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", false, MYSQL_ASSOC); - + if ( $accesPartenaire ) { $iGreffe = new MGreffes($this->iDb); if ( count($ret) == 0 ) { @@ -437,14 +437,14 @@ class MBilans } } $tabBilan = $iGreffe->getBilan($this->siren, $refPart); - + if ($tabBilan) { $strPostes=''; foreach ($tabBilan['POSTES'] as $poste=>$valeur) { $strPostes.="$poste=$valeur;"; } - + $tabInsert=array( 'siren' => $this->siren, 'dateProvPartenaire'=> $tabBilan['DATE_FRAICHE_BILAN'], @@ -462,7 +462,7 @@ class MBilans if (!$this->iDb->insert('jo.bilans', $tabInsert, true)) { $this->iDb->update('jo.bilans', $tabInsert, "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB'"); } - + $ret = $this->iDb->select('jo.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); if (count($ret) > 0) { $bilan = $ret[0]; @@ -470,11 +470,11 @@ class MBilans } } } - + if (count($ret) > 0) { $bilan = $ret[0]; } - + $tabBilan = $tabBilanPre = $bilanPre = array(); if ($bilan !== null) @@ -978,7 +978,7 @@ class MBilans } else $bilanRN[$posteRN]=$bilanRS[$formule]; } - + //Variation de stock (matières premières et approvisionnement) if ( is_numeric($bilanRS['240']) && $bilanRS['240'] != 0 ) { $bilanRN['BL'] = $bilanRS['050']; diff --git a/library/Metier/partenaires/classMBilansBil.php b/library/Metier/partenaires/classMBilansBil.php index c1e6c678..44e30534 100644 --- a/library/Metier/partenaires/classMBilansBil.php +++ b/library/Metier/partenaires/classMBilansBil.php @@ -1,8 +1,8 @@ - $params ){ if ($params['actif']) { - $wsClients[$params['idClient']] = $section; + if (count($params['idClient']) > 0) { + foreach ($params['idClient'] as $idClient) { + $wsClients[$idClient] = $section; + } + } } } - if ( array_key_exists($userInfos->idClient, $wsClients) - && ( $this->serviceClient === false + if ( array_key_exists($userInfos->idClient, $wsClients) && ( $this->serviceClient === false || strtolower($this->serviceClientName) != $wsClients[$userInfos->idClient] ) ){ return '0901'; } @@ -797,44 +800,50 @@ class Scores_Ws_Server * Get an array of IP and IP range * 192.168.3.5-192.68.3.10;192.168.3.*;192.168.3.10 */ - if ( !empty($userInfos->filtre_ip) && !in_array($ip, $this->listApplicationIp) ) { - $filtreIp = explode(';', trim($userInfos->filtre_ip, ';')); - if ( count($filtreIp)>0 ) { - // Extranet - if ( substr($password,0,7)=='iponly:' ) { - $ipToValidate = substr($password,7); - } - // WebService - else { - $ipToValidate = $ip; - } - //Validation - $overallIpValidate = false; - foreach ( $filtreIp as $filtre ) { - if ( strpos($filtre, '*') ) { - $filtre = str_replace('*', '0', $filtre) . '-' . str_replace('*', '255', $filtre); + + if ( !in_array($ip, $this->listApplicationIp) ) { + if ( !empty($userInfos->filtre_ip) ) { + $filtreIp = explode(';', trim($userInfos->filtre_ip, ';')); + if ( count($filtreIp)>0 ) { + + // Extranet + if ( substr($password,0,7)=='iponly:' ) { + $ipToValidate = substr($password,7); } - // Is it a range ? - if ( strpos($filtre, '-') ) { - $validateIp = new Scores_Validate_IpInNetwork(); - $validateIp->setNetworkNotation($filtre); - $overallIpValidate = $validateIp->isValid($ipToValidate); - } - // Ip only + // WebService else { - if ( $filtre === $ipToValidate ) { - $overallIpValidate = true; + $ipToValidate = $ip; + } + + //Validation + $overallIpValidate = false; + foreach ( $filtreIp as $filtre ) { + if ( strpos($filtre, '*') ) { + $filtre = str_replace('*', '0', $filtre) . '-' . str_replace('*', '255', $filtre); + } + // Is it a range ? + if ( strpos($filtre, '-') ) { + $validateIp = new Scores_Validate_IpInNetwork(); + $validateIp->setNetworkNotation($filtre); + $overallIpValidate = $validateIp->isValid($ipToValidate); + } + // Ip only + else { + if ( $filtre === $ipToValidate ) { + $overallIpValidate = true; + } + } + // Break foreach + if ( $overallIpValidate === true ) { + break; } } - // Break foreach - if ( $overallIpValidate === true ) { - break; + + // Exit with error + if ( $overallIpValidate === false ) { + return '0904'; } } - // Exit with error - if ( $overallIpValidate === false ) { - return '0904'; - } } } diff --git a/library/SdMetier/Sfr/Scoring.php b/library/SdMetier/Sfr/Scoring.php index 515fd1c8..ebe456fb 100644 --- a/library/SdMetier/Sfr/Scoring.php +++ b/library/SdMetier/Sfr/Scoring.php @@ -451,7 +451,6 @@ class SdMetier_Sfr_Scoring } $classInsee = new MInsee(); - $classInsee->AnnoncesInMemory = true; //Values are already define ? if ( $this->ValDateCalculIndiscore === null ) { @@ -614,8 +613,8 @@ class SdMetier_Sfr_Scoring if ($this->debug) file_put_contents('sfr.log', "ValInseeAge = ".$this->ValInseeAge."\n", FILE_APPEND); //Vérification validité du score - $dateUpdate = new Zend_Date(substr($this->ValDateUpdate,0,10), 'yyyy-MM-dd'); $dateNow = new Zend_Date(); + $dateUpdate = new Zend_Date(substr($this->ValDateUpdate,0,10), 'yyyy-MM-dd'); $diffUpdate = $dateNow->sub($dateUpdate); $measureUpdate = new Zend_Measure_Time($diffUpdate->toValue(), Zend_Measure_Time::SECOND); $measureUpdate->convertTo(Zend_Measure_Time::MONTH); @@ -626,7 +625,7 @@ class SdMetier_Sfr_Scoring $this->ValIndiscore = null; $this->ValDateCalculIndiscore = null; } - + } //GetAnnoncesLegales diff --git a/library/framework/common/mysql.new.php b/library/framework/common/mysql.new.php index e839d9e5..13936126 100644 --- a/library/framework/common/mysql.new.php +++ b/library/framework/common/mysql.new.php @@ -121,8 +121,8 @@ class WDB /** * Database delete - * @param unknown $table - * @param unknown $where + * @param string $table + * @param string $where * @param string $debug * @param string $low_priority * @return resource @@ -133,9 +133,9 @@ class WDB $this->errorMsg = ''; if ($low_priority) - $query='DELETE LOW_PRIORITY QUICK FROM '.$table.' WHERE '.$where.' LIMIT 1;'; + $query='DELETE LOW_PRIORITY QUICK FROM '.$table.' WHERE '.$where.';'; else - $query='DELETE FROM '.$table.' WHERE '.$where.' LIMIT 1;'; + $query='DELETE FROM '.$table.' WHERE '.$where.';'; if ($debug) $tdeb=microtime_float(); diff --git a/library/framework/common/mysql.php b/library/framework/common/mysql.php index e839d9e5..13936126 100644 --- a/library/framework/common/mysql.php +++ b/library/framework/common/mysql.php @@ -121,8 +121,8 @@ class WDB /** * Database delete - * @param unknown $table - * @param unknown $where + * @param string $table + * @param string $where * @param string $debug * @param string $low_priority * @return resource @@ -133,9 +133,9 @@ class WDB $this->errorMsg = ''; if ($low_priority) - $query='DELETE LOW_PRIORITY QUICK FROM '.$table.' WHERE '.$where.' LIMIT 1;'; + $query='DELETE LOW_PRIORITY QUICK FROM '.$table.' WHERE '.$where.';'; else - $query='DELETE FROM '.$table.' WHERE '.$where.' LIMIT 1;'; + $query='DELETE FROM '.$table.' WHERE '.$where.';'; if ($debug) $tdeb=microtime_float();