1952 lines
89 KiB
PHP
1952 lines
89 KiB
PHP
<?php
|
||
require_once 'framework/common/curl.php';
|
||
|
||
class MMarques {
|
||
|
||
private $body = '';
|
||
private $header = '';
|
||
private $codeRetour = 0;
|
||
private $wrncsrv2=false;
|
||
private $reference = 0;
|
||
private $timeOut=0;
|
||
private $url='';
|
||
private $urlRacine='http://bases-marques.inpi.fr/';
|
||
private $weur='weur3'; // Version Web 3 d'Euridile
|
||
private $referer='';
|
||
private $curPage='';
|
||
private $cookie='';
|
||
private $iDb;
|
||
private $iInsee;
|
||
public $siren;
|
||
|
||
function __construct($db = null)
|
||
{
|
||
$this->partConnection();
|
||
|
||
if ( $db === null ) {
|
||
$this->iDb = new WDB();
|
||
} else {
|
||
$this->iDb = $db;
|
||
}
|
||
|
||
$this->iInsee=new MInsee($this->iDb);
|
||
}
|
||
|
||
function __destruct() {
|
||
//$this->partSaveSession();
|
||
}
|
||
|
||
|
||
/** Liste des marques pour un siren donné ou détail d'une marque d'une entreprise
|
||
* @param $siren int
|
||
* @param $idDepot int Numéro de la marque ou Néant/0 si liste des marques
|
||
*/
|
||
function getMarques($siren, $idDepot=0) {
|
||
//SELECT `id`, `typeMarque`, ``, `rayonMarque`, `urlImage`, `idMarque`, `deposantMarque`, `numeroMarque`, `classesMarque`, `idObjetPdf`, `periMarque`, `idObjetImg`, `detailDeposant`, `sirenDeposant`, `sirenValide`, `idSirenage`, `detailMandataire`, `detailNumero`, `detailStatut`, `dateDepot`, `lieuDepot`, `infoMarque`, `adresseCorresp`, `dateExpir`, `dateInsert` FROM `marques`
|
||
$marques=array();
|
||
$strSql="1 ";
|
||
if ($siren>0) $strSql.="AND sirenDeposant=$siren ";
|
||
if ($idDepot>0) $strSql.="AND numeroMarque=$idDepot ";
|
||
$res=$this->iDb->select('bopi.marques', 'nomMarque, rayonMarque, detailDeposant, sirenDeposant, dateDepot, lieuDepot, numeroMarque, classesMarque, periMarque, detailDeposant, detailMandataire, detailStatut, dateExpir, idObjetImg, idObjetPdf', "$strSql ORDER BY dateDepot DESC");
|
||
if (count($res)>0) {
|
||
foreach ($res as $i=>$marque) {
|
||
if ($marque['nomMarque']==' ') $nomMarque='(figurative)';
|
||
else $nomMarque=$marque['nomMarque'];
|
||
|
||
$marques[$i] = array (
|
||
'nomMarque' => $nomMarque,
|
||
'rayonMarque' => $marque['rayonMarque'],
|
||
'detailDeposant' => $marque['detailDeposant'],
|
||
'detailMandataire' => $marque['detailMandataire'],
|
||
'detailStatut' => $marque['detailStatut'],
|
||
'sirenDeposant' => $marque['sirenDeposant'],
|
||
'dateDepot' => $marque['dateDepot'],
|
||
'lieuDepot' => $marque['lieuDepot'],
|
||
'classesMarque' => $marque['classesMarque'],
|
||
'periMarque' => $marque['periMarque'],
|
||
'dateExpir' => $marque['dateExpir'],
|
||
'numeroMarque' => $marque['numeroMarque'],
|
||
'imgLink' => $marque['idObjetImg'],
|
||
'pdfLink' => $marque['idObjetPdf'],
|
||
);
|
||
|
||
if ($idDepot<>0) {
|
||
if ($marque['numeroMarque']==$idDepot) {
|
||
//Recherche des fichiers
|
||
if (file_exists(DOC_WEB_LOCAL."marques/$idDepot.jpeg") &&
|
||
filesize(DOC_WEB_LOCAL."marques/$idDepot.jpeg")>42)
|
||
$marques[$i]['UrlLien']=DOC_WEB_URL."marques/$idDepot.jpeg";
|
||
elseif (file_exists(DOC_WEB_LOCAL."marques/$idDepot.gif") &&
|
||
filesize(DOC_WEB_LOCAL."marques/$idDepot.gif")>42)
|
||
$marques[$i]['UrlLien']=DOC_WEB_URL."marques/$idDepot.gif";
|
||
else
|
||
$marques[$i]['UrlLien']='';
|
||
|
||
//Produits et Services
|
||
$resPS=$this->iDb->select('bopi.marques_classes', 'remarque', "numeroMarque=$idDepot");
|
||
if (count($resPS)>0) {
|
||
$txt = array();
|
||
foreach ($resPS as $item) {
|
||
$txt[] = $item['remarque'];
|
||
}
|
||
$marques[$i]['PS'] = $txt;
|
||
}
|
||
|
||
//Historique
|
||
$resHisto=$this->iDb->select('bopi.marques_histo', 'histo2', "numeroMarque=$idDepot ORDER BY dat DESC");
|
||
if (count($resHisto)>0) {
|
||
$txt = array();
|
||
foreach ($resHisto as $item) {
|
||
$txt[] = $item['histo2'];
|
||
}
|
||
$marques[$i]['histo'] = $txt;
|
||
}
|
||
|
||
return array($marques[$i]);
|
||
}
|
||
}
|
||
}
|
||
return $marques;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
/** Récupère la liste des marques correspondantes aux paramètres
|
||
*
|
||
* @param $numMarque int Numéro de la marque ou Néant/0 si liste des marques
|
||
* @param $raisonSociale string Raison Sociale de l'entreprise ayant déposée la/les marque(s)
|
||
* @param $objet string Nom partiel ou complet de la/les marque(s)
|
||
* @param $dateDepot date Date de dépot/enregistrement de la marque au format SSAA-MM-JJ
|
||
* @param $detail bool Par défaut false
|
||
*/
|
||
function getListeMarques($numMarque, $raisonSociale='', $objet='', $dateDepot='', $detail=false) {
|
||
$nbTests=0;
|
||
$base=array('Fr'=>'on',
|
||
'Commu'=>'on',
|
||
'Inter'=>'on');
|
||
while (1) {
|
||
$nbResultatsTot=false;
|
||
|
||
if ($numMarque==false || $numMarque*1==0) $numMarque='';
|
||
|
||
$this->url='http://bases-marques.inpi.fr/Typo3_INPI_Marques/marques_resultats_liste.html';
|
||
|
||
$post=array('baseFr'=>$base['Fr'], // Marques en vigueur : françaises
|
||
'baseCommu'=>$base['Commu'], // Marques en vigueur : communautaires
|
||
'baseInter'=>$base['Inter'], // Marques en vigueur : internationales
|
||
// 'limite'=>'on', // Limiter aux marques mises à jour il y a moins d'une semaine
|
||
'expiredMark'=>'on', // Marques françaises non en vigueur
|
||
'objet'=>urlencode($objet), // Nom de la marque
|
||
'classification'=>'', // Classification des produits et services (01-34=Produits, 35-45=Services)
|
||
'deposant'=>urlencode($raisonSociale), // Nom du déposant
|
||
'numero'=>$numMarque,
|
||
'dtedepot'=>$dateDepot, // SSAA-MM-JJ
|
||
'recherche'=>'recherche');
|
||
$tDeb=microtime(true);
|
||
$page=getUrl($this->url, $this->cookie, $post, $this->referer, false, '', '', 21, 3);
|
||
$this->referer=$this->url;
|
||
$duree=round(microtime(true)-$tDeb,3);
|
||
$body=$page['body'];
|
||
// print_r($page);
|
||
// die();
|
||
|
||
if (preg_match("/<div id=\"errors\"><script>alert\('- Votre recherche a donné(.*)réponses\. Seuls les(.*)premiers résultats seront affich/Uisu", $body, $matches)) {
|
||
$nbResultatsTot=trim($matches[1]);
|
||
$nbResultats=trim($matches[2]);
|
||
$nbTests++;
|
||
if ($dateDepot<>'' && $nbTests==1) $base=array('Fr'=>'on','Commu'=>'','Inter'=>'');
|
||
//elseif ($dateDepot<>'' && $nbTests==2) $base=array('Fr'=>'','Commu'=>'on','Inter'=>'');
|
||
else
|
||
break;
|
||
} elseif (preg_match('/<div class="txtresultats">(?:.*)<p><strong>(.*)<\/strong> résultats trouvés pour votre requête/Uis', $body, $matches)) {
|
||
// OK
|
||
$nbResultatsTot=trim($matches[1]);
|
||
$nbResultats=$nbResultatsTot;
|
||
break;
|
||
} elseif (preg_match('/<div class="noresult">(?:.*)<p class="b">Vous n\'obtenez pas de résultats pour votre recherche(.*)<\/p>/Uis', $body, $matches)) {
|
||
$nbResultatsTot=$nbResultats=0;
|
||
break;
|
||
} elseif (preg_match('/<div id="errors"><script>alert(?:.*)Vous devez renseigner le nom de la marque(?:.*)<\/script><\/div>/Uis', $body, $matches) && $numMarque=='') {
|
||
echo "Pas de résultat pour cette recherche :".EOL;
|
||
print_r($post);
|
||
print_r($page);
|
||
$nbTests++;
|
||
if ($nbTests>1)
|
||
die("PAS de résultat pour cette recherche, essai n°$nbTests !".EOL);
|
||
} else {
|
||
$this->partConnection();
|
||
echo "Pas de résultat pour cette recherche :".EOL;
|
||
/*
|
||
print_r($post);
|
||
print_r($page);
|
||
die("PAS de résultat pour cette recherche !".EOL);*/
|
||
return false;
|
||
}
|
||
// if ($nbResultatsTot!==false)
|
||
// break;
|
||
}
|
||
$nbPages=ceil($nbResultats/10);
|
||
echo "$nbResultatsTot résultats trouvés ($nbResultats soit $nbPages pages)".EOL;
|
||
$pageCour=1;
|
||
|
||
while ($pageCour<=$nbPages) {
|
||
|
||
$tabTmp=explode('<div class="resliste avecimage">', $body);
|
||
|
||
//print_r($tabTmp);
|
||
foreach ($tabTmp as $iTmp=>$strMarques) {
|
||
if ($iTmp==0) continue;
|
||
$tabMarque=array();
|
||
if (preg_match('/<div class="numero">(\d+)<\/div>/Uis', $strMarques, $matches)) {
|
||
$numeroTotal=trim($matches[1]);
|
||
$tabMarque['numeroTotal']=$numeroTotal;
|
||
}
|
||
if (preg_match('/<div class="titre"><a href="Typo3_INPI_Marques\/marques_fiche_resultats\.html\?index=(\d+)" title="(.*)">(.*)<\/a><\/div>(?:.*)<div class="titre">(?:\s*)<a href="Typo3_INPI_Marques\/marques_fiche_resultats\.html\?index=(?:\d+)" title="Description">(.*)<\/a>/Uis', $strMarques, $matches)) {
|
||
$numeroPage=trim($matches[1]);
|
||
$tabMarque['numeroPage']=$numeroPage;
|
||
$tabMarque['typeMarque']=trim($matches[3]);
|
||
$tabMarque['typeMarque']=trim($matches[2]);
|
||
$tabMarque['nomMarque']=trim(utf8_decode($matches[4]));
|
||
}
|
||
if (preg_match('/<div class="type">(.*)<\/div>/Uis', $strMarques, $matches))
|
||
$tabMarque['rayonMarque']=trim(html_entity_decode(utf8_decode($matches[1])));
|
||
|
||
if (preg_match("/<img src='Typo3_INPI_Marques\/getFirstThumb\?idObjet=(.*)' alt='(.*)' class='avimg'\/>/Uis", $strMarques, $matches)) {
|
||
$tabMarque['urlImage']='Typo3_INPI_Marques/getFirstThumb?idObjet='.trim($matches[1]);
|
||
$tabMarque['idMarque']=trim($matches[1]);
|
||
}
|
||
|
||
if (preg_match('/<span class="intitule">Déposant(?:.*)<div class="donnee">(.*)<\/div>/Uis', $strMarques, $matches))
|
||
$tabMarque['deposantMarque']=trim(utf8_decode($matches[1]));
|
||
|
||
if (preg_match('/<span class="intitule">Numéro(?:.*)<span>(.*)<\/span>/Uis', $strMarques, $matches))
|
||
$tabMarque['numeroMarque']=trim($matches[1]);
|
||
|
||
if (preg_match('/<span class="intitule">Classe(?:.*)<div class="donnee">(.*)<\/div>/Uis', $strMarques, $matches))
|
||
$tabMarque['classesMarque']=trim($matches[1]);
|
||
|
||
if ($detail) {
|
||
randsleep(TMIN,TMAX);
|
||
$url=$this->urlRacine.'Typo3_INPI_Marques/marques_fiche_resultats.html?index='.$numeroPage;
|
||
$tDeb=microtime(true);
|
||
$page=getUrl($url, $this->cookie, '', $this->referer, false, '', '', 21, 3);
|
||
$referer=$url;
|
||
$duree=round(microtime(true)-$tDeb,3);
|
||
$body=$page['body'];
|
||
//echo $body.EOL;
|
||
/* <div class="txtresultats">
|
||
<p><strong>303</strong> résultats trouvés pour votre requête : <strong>date de dépôt : 1989-04-19, dans les marques en
|
||
vigueur en France</strong></p>
|
||
</div>
|
||
|
||
<div class="clear"></div>
|
||
<!-- DEBUT DES ONGLETS -->
|
||
<div class="fiche">
|
||
<ul>
|
||
<li class="couleur"><div>Notice complète</div></li>
|
||
<li class="gris"><div>Copie de la marque au BOPI non disponible</div></li>
|
||
</ul>
|
||
<div class="cartouchecouleur blocblanc">
|
||
<div class="bas">
|
||
<div class="blanc">
|
||
<div class="ajout"><a href='Typo3_INPI_Marques/ajoutListe?page=1&idObjet=1525144_201236_fmark' title='A
|
||
jouter à ma liste'><img src='fileadmin/www.inpi-marques.fr/templates/images/rouge/picto_ajouter_liste.gif' alt='Ajouter à ma liste'/>Ajouter à ma l
|
||
iste</a></div>
|
||
<div class="images"><p><u><strong>Marque française</strong></u></p><img src='Typo3_INPI_Marques/getImg?
|
||
doc=1525144_201236_fmark&pos=001' alt='' class='null'/></div>
|
||
<?xml version="1.0" encoding="UTF-8"?>
|
||
<div><p style="color:red;"><strong>Marque française non en vigueur</strong></p><p><strong>Marque</strong> :Â
|
||
AL DENTE</p><p><strong>Classification de Nice</strong>Â :Â
|
||
35Â
|
||
;Â 38Â
|
||
;Â 41Â
|
||
</p><p><strong>Produits et services</strong></p><p><ul><li><span>Aide dans l'exploitation ou la direction d'une entreprise industrielle ou c
|
||
ommerciale, service de publicité et de promotion se chargeant essentiellement de communication au public, de promotion des ventes, de déclarations ou d'annonces par tou
|
||
s les moyens de diffusion et concernant toutes sortes de marchandises et de services, de distribution de prospectus et d'échantillons;service de Presse et d'information
|
||
, communication radiophonique, téléphonique, télématique, télévisuelle, téléscription et transmission de messages permettant à une personne de converser avec une autre,
|
||
de transmettre des messages d'une personne à une autre ou de placer une personne en communication orale ou visuelle avec une autre; éducation, institution d'enseigneme
|
||
nt, éditions de livres et revues, abonnement et distribution de journaux, organisation de concours en matière d'enseignement, et de jeu</span></li></ul></p><p><strong>D
|
||
éposant</strong> :Â
|
||
GILIBERT Jean-Michel,, 14, rue Michel Chasles, 75012 PARIS, FR</p><p xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:java="http://xml.apache.org/x
|
||
slt/java" xmlns:cal="java.util.Calendar" xmlns:sf="java.text.SimpleDateFormat"><strong>Numéro</strong> : 1525144</p><p style="color:red;"><strong>Statut</strong> : Marq
|
||
gist
|
||
rement ancienne loiÂ
|
||
Â
|
||
(BOPIÂ 1989-39)</li></ul></p></div>
|
||
|
||
<p class="right"><a href="Typo3_INPI_Marques/marques_erreur_contact.html?idObjet=1525144_201236_fmark" class="lien" title="Signalez
|
||
une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
|
||
|
||
<div class="clear"></div>
|
||
<div class="copyright">Source INPI</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- FIN DES ONGLETS -->*/
|
||
//die();
|
||
|
||
if (preg_match('/<div><a target="_blank" href="Typo3_INPI_Marques\/getPdf\?idObjet=(.*)">Copie de la marque au BOPI<\/a><\/div>/Uis', $body, $matches))
|
||
$tabMarque['idObjetPdf']=trim($matches[1]);
|
||
|
||
//infoMarque
|
||
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]);
|
||
if ($tabMarque['idObjetImg']<>'') {
|
||
$url=$this->urlRacine.'Typo3_INPI_Marques/getImg?doc='.$tabMarque['idObjetImg'];
|
||
$tDeb=microtime(true);
|
||
$page=getUrl($url, $this->cookie, '', $referer, false, '', '', 21, 3);
|
||
$duree=round(microtime(true)-$tDeb,3);
|
||
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."'");
|
||
// 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 dun visuel, cest à dire un signe qui ne s'adresse quà lil (par exemple : le crocodile Lacoste)
|
||
*/
|
||
}
|
||
}
|
||
} 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)) {
|
||
foreach ($matches2[1] as $iC=>$classe) {
|
||
$tabClasses[$iC]=trim(utf8_decode($classe));
|
||
}
|
||
}
|
||
$tabMarque['classes']=$tabClasses;
|
||
}
|
||
|
||
if (preg_match('/<p><strong>Déposant<\/strong>(.*)<\/p>/Uisu', $body, $matches)) {
|
||
$tabMarque['detailDeposant']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' ')))));
|
||
if (preg_match('/\(SIREN(.*)\)/Uis', $tabMarque['detailDeposant'], $matches)) {
|
||
$tabMarque['sirenDeposant']=trim($matches[1]);
|
||
$tabMarque['sirenValide']=$this->iInsee->valideSiren($tabMarque['sirenDeposant']);
|
||
}
|
||
}
|
||
|
||
//adresseCorresp
|
||
if (preg_match('/<p><strong>Adresse pour la correspondance<\/strong>(.*)<\/p>/Uis', $body, $matches))
|
||
$tabMarque['adresseCorresp']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' ')))));
|
||
|
||
if (preg_match('/<p><strong>Mandataire<\/strong>(.*)<\/p>/Uis', $body, $matches))
|
||
$tabMarque['detailMandataire']=trim(html_entity_decode(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' ')))));
|
||
|
||
if (preg_match('/<strong>Numéro<\/strong>(.*)<\/p>/Uisu', $body, $matches))
|
||
$tabMarque['detailNumero']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||
|
||
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>/Uisu', $body, $matches))
|
||
$tabMarque['dateDepot']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||
|
||
//dateExpir
|
||
if (preg_match('/<strong>Date prévue pour l\'expiration<\/strong>(.*)<\/p>/Uisu', $body, $matches))
|
||
$tabMarque['dateExpir']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||
|
||
if (preg_match('/<strong>Lieu de dépôt<\/strong>(.*)<\/p>/Uisu', $body, $matches))
|
||
$tabMarque['lieuDepot']=trim(utf8_decode(strtr($matches[1],array('Â '=>' ',':'=>' '))));
|
||
|
||
//pays
|
||
if (preg_match('/<p><strong>Pays désignés<\/strong><\/p><p>(.*)<\/p>/Uisu', $body, $matches)) {
|
||
$tabPays=array();
|
||
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
|
||
foreach ($matches2[1] as $iH=>$histo)
|
||
$tabPays[]=trim(utf8_decode(str_replace('Â ',' ',$histo)));
|
||
}
|
||
$tabMarque['pays']=$tabPays;
|
||
}
|
||
|
||
//priorite
|
||
if (preg_match('/<p><strong>Priorité<\/strong><\/p><p>(.*)<\/p>/Uisu', $body, $matches)) {
|
||
$tabPrio=array();
|
||
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
|
||
foreach ($matches2[1] as $iH=>$histo)
|
||
$tabPrio[]=trim(utf8_decode(str_replace('Â ',' ',$histo)));
|
||
}
|
||
$tabMarque['priorite']=$tabPrio;
|
||
}
|
||
|
||
if (preg_match('/<strong>Historique<\/strong>(.*)<\/p><\/div>/Uis', $body, $matches)) {
|
||
$tabHisto=array();
|
||
if (preg_match_all('/<li>(.*)<\/li>/Uis', $matches[1], $matches2)) {
|
||
foreach ($matches2[1] as $iH=>$histo) {
|
||
$tabTmp2=explode("Â \n",$histo);
|
||
$tabHisto[$iH]=array( 'lib'=>trim(utf8_decode(str_replace('Â ',' ',$tabTmp2[0]))),
|
||
'dat'=>trim(utf8_decode(str_replace('Â ',' ',$tabTmp2[1]))),
|
||
'pub'=>trim(utf8_decode(str_replace('Â ',' ',$tabTmp2[2]))),
|
||
'histo'=>trim($histo),
|
||
'histo2'=>trim(utf8_decode($histo)),
|
||
);
|
||
}
|
||
}
|
||
$tabMarque['historique']=$tabHisto;
|
||
}
|
||
}
|
||
|
||
$dateInsert=date('YmdHis');
|
||
$tabInsert=$tabMarque;
|
||
$idTxtUnique=trim(strtoupper(preg_replace('/[^a-z0-9]/i', '', $tabInsert['detailDeposant'])));
|
||
if ($idTxtUnique<>'')
|
||
$tabInsert['idTxtUnique'] = $idTxtUnique;
|
||
unset($tabInsert['numeroTotal']);
|
||
unset($tabInsert['numeroPage']);
|
||
unset($tabInsert['pays']);
|
||
unset($tabInsert['priorite']);
|
||
unset($tabInsert['classes']);
|
||
unset($tabInsert['historique']);
|
||
$tabInsert['dateInsert']=$dateInsert;
|
||
//print_r($tabInsert);
|
||
//die();
|
||
$ret=$this->iDb->insert('bopi.marques', $tabInsert);
|
||
if (!$ret && mysql_errno()<>1062) {
|
||
//echo "Erreur INSERT 'marques' : ".mysql_error().EOL;
|
||
//die();
|
||
} elseif (mysql_errno()==1062) {
|
||
unset($tabInsert['dateInsert']);
|
||
if (!$this->iDb->update('bopi.marques', $tabInsert, "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false)) {
|
||
//echo "Erreur UPDATE 'marques' : ".mysql_error().EOL;
|
||
//die();
|
||
}
|
||
$ret=$this->iDb->select('bopi.marques', 'id', "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false, MYSQL_ASSOC);
|
||
$ret=$ret[0]['id'];
|
||
$updateTodo=true;
|
||
}
|
||
|
||
// Insertion du détail des classes
|
||
foreach ($tabMarque['classes'] as $i=>$classe) {
|
||
$tabInsert=array( 'id'=>$ret,
|
||
'id2'=>$i,
|
||
'numeroMarque'=>$tabMarque['numeroMarque'],
|
||
'remarque'=>$classe,
|
||
'dateInsert'=>$dateInsert,
|
||
);
|
||
$ret2=$this->iDb->insert('bopi.marques_classes', $tabInsert);
|
||
if (!$ret2 && mysql_errno()<>1062) {
|
||
echo "Erreur 'marques_classes' : ".mysql_error().EOL;
|
||
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('bopi.marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||
}
|
||
}
|
||
|
||
// Insertion des pays si besoin
|
||
foreach ($tabMarque['pays'] as $i=>$pays) {
|
||
$tabInsert=array( 'id'=>$ret,
|
||
'id2'=>$i,
|
||
'numeroMarque'=>$tabMarque['numeroMarque'],
|
||
'pays'=>$pays,
|
||
'dateInsert'=>$dateInsert,
|
||
);
|
||
$ret2=$this->iDb->insert('bopi.marques_pays', $tabInsert);
|
||
if (!$ret2 && mysql_errno()<>1062) {
|
||
echo "Erreur 'marques_pays' : ".mysql_error().EOL;
|
||
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('bopi.marques_pays', $tabInsert, "id=$ret AND id2=$i", false);
|
||
}
|
||
}
|
||
|
||
// Insertion des priorite
|
||
foreach ($tabMarque['priorite'] as $i=>$prio) {
|
||
$tabInsert=array( 'id'=>$ret,
|
||
'id2'=>$i,
|
||
'numeroMarque'=>$tabMarque['numeroMarque'],
|
||
'priorite'=>$prio,
|
||
'dateInsert'=>$dateInsert,
|
||
);
|
||
$ret2=$this->iDb->insert('bopi.marques_priorite', $tabInsert);
|
||
if (!$ret2 && mysql_errno()<>1062) {
|
||
echo "Erreur 'marques_priorite' : ".mysql_error().EOL;
|
||
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('bopi.marques_priorite', $tabInsert, "id=$ret AND id2=$i", false);
|
||
}
|
||
}
|
||
|
||
// Insertion de l'historique
|
||
foreach ($tabMarque['historique'] as $i=>$tabInsert) {
|
||
$tabInsert['id']=$ret;
|
||
$tabInsert['id2']=$i;
|
||
$tabInsert['numeroMarque']=$tabMarque['numeroMarque'];
|
||
$tabInsert['dateInsert']=$dateInsert;
|
||
$ret2=$this->iDb->insert('bopi.marques_histo', $tabInsert);
|
||
if (!$ret2 && mysql_errno()<>1062) {
|
||
echo "Erreur 'marques_histo' : ".mysql_error().EOL;
|
||
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('bopi.marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
|
||
}
|
||
}
|
||
|
||
print_r($tabMarque);
|
||
}
|
||
|
||
$pageCour++;
|
||
|
||
$this->url="http://bases-marques.inpi.fr/Typo3_INPI_Marques/marques_resultats_liste.html?page=$pageCour";
|
||
$tDeb=microtime(true);
|
||
$page=getUrl($this->url, $this->cookie, '', $this->referer, false, '', '', 21, 3);
|
||
$this->referer=$this->url;
|
||
$duree=round(microtime(true)-$tDeb,3);
|
||
$body=$page['body'];
|
||
}
|
||
return $nbResultatsTot;
|
||
}
|
||
|
||
function getEditionPdf($type='marques', $annee, $num=false) {
|
||
//$type='marques';
|
||
//$type='brevets';
|
||
//$type='dessins';
|
||
//janvier 2005 pour les BOPI Brevets et depuis janvier 2006 pour les BOPI Marques et Dessins et modèles.
|
||
if ($annee<2005) $annee=2005;
|
||
elseif ($annee>date('Y')) $annee=date('Y');
|
||
if ($annee==date('Y') && $num>=date('W')) $num=date('W');
|
||
if ($num>52 || $num<1) $num=false;
|
||
if ($num>0 && $num<10) $num='0'.$num*1;
|
||
|
||
$an=substr($annee,0,2);
|
||
$referer="http://www.inpi.fr/fr/services-et-prestations/bases-de-donnees-gratuites/bulletins-officiels-de-la-pi-bopi.html";
|
||
$url=$nom=array(0=>'');
|
||
switch($type) {
|
||
case 'brevets':
|
||
$url[1]="http://www.inpi.fr/fileadmin/mediatheque/BOPI/brevets/$annee/bopi$an".$num.'complet.pdf';
|
||
$nom[1]='bopi_'.$type.'_'.$annee.'-'.$num.'.pdf';
|
||
break;
|
||
case 'marques':
|
||
$url[1]="http://www.inpi.fr/fileadmin/mediatheque/BOPI/marques/$annee/$annee-".$num.'v1.pdf';
|
||
$url[2]="http://www.inpi.fr/fileadmin/mediatheque/BOPI/marques/$annee/$annee-".$num.'v2.pdf';
|
||
$nom[1]='bopi_'.$type.'_'.$annee.'-'.$num.'v1.pdf';
|
||
$nom[2]='bopi_'.$type.'_'.$annee.'-'.$num.'v2.pdf';
|
||
break;
|
||
case 'dessins':
|
||
$url[1]="http://www.inpi.fr/fileadmin/mediatheque/BOPI/dessins_et_modeles/$annee/dm$an".$num.'.pdf';
|
||
$nom[1]='bopi_'.$type.'_'.$annee.'-'.$num.'.pdf';
|
||
break;
|
||
}
|
||
|
||
$tDeb=microtime(true);
|
||
|
||
for($iEd=1;$iEd<3;$iEd++) {
|
||
if ($iEd>1 && $type<>'marques') break;
|
||
$tabPdf=getPdfInfo(DOC_WEB_LOCAL.'marques/'.$nom[$iEd]);
|
||
if (!$tabPdf) {
|
||
$page=getUrl($url[$iEd], '', '', $referer, false, '', '', 300, 2);
|
||
if ($page['code']==200) {
|
||
$duree=round(microtime(true)-$tDeb,3);
|
||
$body=$page['body'];
|
||
$fp=@fopen(DOC_WEB_LOCAL.'marques/'.$nom[$iEd], 'a');
|
||
@fwrite($fp, $body);
|
||
@fclose($fp);
|
||
$tabPdf=getPdfInfo(DOC_WEB_LOCAL.'marques/'.$nom[$iEd]);
|
||
randsleep(TMIN, TMAX);
|
||
}
|
||
}
|
||
if ($tabPdf) {
|
||
$fichierTxt=DOC_WEB_LOCAL.'marques/'.str_replace('.pdf','.txt',$nom[$iEd]);
|
||
@exec('pdftotext '.DOC_WEB_LOCAL.'marques/'.$nom[$iEd].' '.$fichierTxt);
|
||
$strBopi=file_get_contents($fichierTxt);
|
||
if (MODE_VERBOSE) {
|
||
$sizeKo=round(strlen($strBopi)/1024,1);
|
||
echo date('Y/m/d - H:i:s') ." - Conversion du fichier '". $nom[$iEd] ." en TXT ($sizeKo Ko)".EOL;
|
||
}
|
||
$nbMarques=0;
|
||
$tabMarques=array();
|
||
if (preg_match_all('/N(?:.|o) National \: ([0-9\s]{6,15})Dépôt du \: ((?:[0-9]{1,2}|1er)(?:\D+)(?:\d\d\d\d))(.*)/Uimu',$strBopi, $matches)) {
|
||
//print_r($matches);
|
||
//die();
|
||
foreach ($matches[1] as $i=>$numMarque) {
|
||
$numMarqueTxt=strtr($numMarque, array("\n"=>'',"\r"=>''));
|
||
$numMarque=str_replace(' ','',$numMarqueTxt);
|
||
$classWDate = new WDate();
|
||
$dateDepot=$classWDate->dateT('dMY','Ymd',strtr(str_replace('Dépôt du : ','',utf8_decode($matches[2][$i])), array("\n"=>'',"\r"=>'',' '=>'')));
|
||
echo $nom[$iEd]." - $i, Marque numéro $numMarque du $dateDepot".EOL;
|
||
$tabMarques[$nbMarques] =array( 'nomPdf' => $nom[$iEd],
|
||
'idMarquePdf'=>$nbMarques,
|
||
'numMarque' => $numMarque,
|
||
'numMarqueTxt'=>$numMarqueTxt,
|
||
'anneeMarque' =>substr($numMarqueTxt,0,2),
|
||
'numeroMarque'=>str_replace(' ','',substr($numMarqueTxt,2)),
|
||
'dateDepot' => $dateDepot,
|
||
'dateInsert'=> date('YmdHis'),
|
||
);
|
||
$nbMarques++;
|
||
}
|
||
unlink($fichierTxt);
|
||
} else {
|
||
$nbMarques='NULL';
|
||
echo date('Y/m/d - H:i:s') ." - Erreur : Impossible d'extraire les marques du fichier '". $nom[$iEd] ." !".EOL;
|
||
if (MODE_VERBOSE) die();
|
||
}
|
||
$tabInsert=array( 'nomPdf' => $nom[$iEd],
|
||
'datePdf' => @date('YmdHis',strtotime($page['header']['Last-Modified'])),
|
||
'codeHttp' => $page['code'],
|
||
'pdfSizeWeb'=> @$page['header']['Content-Length'],
|
||
'pdfSize' => $tabPdf['pdfSize'],
|
||
'pdfVer' => $tabPdf['version'],
|
||
'pdfPage' => $tabPdf['nbPages'],
|
||
'nbMarques' => $nbMarques,
|
||
'dateInsert'=> date('YmdHis'),
|
||
);
|
||
$ret=$this->iDb->insert('bopi.infos_bopi', $tabInsert);
|
||
if (!$ret && mysql_errno()<>1062) die("Erreur 'infos_bopi' 1 : ".mysql_error().EOL);
|
||
foreach ($tabMarques as $i=>$tabInsert) {
|
||
$ret=$this->iDb->insert('bopi.infos_bopi_marques', $tabInsert);
|
||
if (!$ret && mysql_errno()<>1062) die("Erreur 'infos_bopi' 1 : ".mysql_error().EOL);
|
||
}
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
|
||
|
||
|
||
function getInfosDisponbiles($siren) {
|
||
$this->siren=$siren;
|
||
$this->partConnection();
|
||
return $this->partVitrine(true);
|
||
}
|
||
|
||
function listBilans($siren) {
|
||
$tabRet=array();
|
||
$tab=$this->getInfosDisponbiles($siren);
|
||
if ($tab['erreur']=='') {
|
||
$tabS=@array_reverse(@array_keys($tab['bilans']['S'])); // Réel simplifié
|
||
$tabN=@array_reverse(@array_keys($tab['bilans']['N'])); // Réel normal
|
||
$tabC=@array_reverse(@array_keys($tab['bilans']['C'])); // CONSOLIDE
|
||
$tabA=@array_reverse(@array_keys($tab['bilans']['A'])); // Assurance
|
||
$tabB=@array_reverse(@array_keys($tab['bilans']['B'])); // Banque
|
||
|
||
foreach ($tabS as $num=>$millesime) {
|
||
$delta1=round((Wdate::dateT('d/m/Y','Y',$millesime)-Wdate::dateT('d/m/Y','Y',$tabS[$num+1]))*12)
|
||
+round(Wdate::dateT('d/m/Y','m',$millesime)-Wdate::dateT('d/m/Y','m',$tabS[$num+1]));
|
||
$delta2=round((Wdate::dateT('d/m/Y','Y',$tabS[$num+1])-Wdate::dateT('d/m/Y','Y',$tabS[$num+2]))*12)
|
||
+round(Wdate::dateT('d/m/Y','m',$tabS[$num+1])-Wdate::dateT('d/m/Y','m',$tabS[$num+2]));
|
||
$tabRet['S'.$millesime]=array( 'dateProvPartenaire'=>date('Ymd'),
|
||
'dureeExercice' =>$delta1,
|
||
'dateExercicePre' =>Wdate::dateT('d/m/Y','Ymd',$tabS[$num+1]),
|
||
'dureeExercicePre' =>$delta2,
|
||
'monnaie' =>'EUR',
|
||
'source' =>0,
|
||
'ref' =>$tab['bilans']['S'][$millesime],
|
||
);
|
||
}
|
||
foreach ($tabN as $num=>$millesime) {
|
||
$delta1=round((Wdate::dateT('d/m/Y','Y',$millesime)-Wdate::dateT('d/m/Y','Y',$tabN[$num+1]))*12)
|
||
+round(Wdate::dateT('d/m/Y','m',$millesime)-Wdate::dateT('d/m/Y','m',$tabN[$num+1]));
|
||
$delta2=round((Wdate::dateT('d/m/Y','Y',$tabN[$num+1])-Wdate::dateT('d/m/Y','Y',$tabN[$num+2]))*12)
|
||
+round(Wdate::dateT('d/m/Y','m',$tabN[$num+1])-Wdate::dateT('d/m/Y','m',$tabN[$num+2]));
|
||
$tabRet['N'.$millesime]=array( 'dateProvPartenaire'=>date('Ymd'),
|
||
'dureeExercice' =>$delta1,
|
||
'dateExercicePre' =>Wdate::dateT('d/m/Y','Ymd',$tabN[$num+1]),
|
||
'dureeExercicePre' =>$delta2,
|
||
'monnaie' =>'EUR',
|
||
'source' =>0,
|
||
'ref' =>$tab['bilans']['N'][$millesime],
|
||
);
|
||
}
|
||
foreach ($tabC as $num=>$millesime) {
|
||
$delta1=round((Wdate::dateT('d/m/Y','Y',$millesime)-Wdate::dateT('d/m/Y','Y',$tabC[$num+1]))*12)
|
||
+round(Wdate::dateT('d/m/Y','m',$millesime)-Wdate::dateT('d/m/Y','m',$tabC[$num+1]));
|
||
$delta2=round((Wdate::dateT('d/m/Y','Y',$tabC[$num+1])-Wdate::dateT('d/m/Y','Y',$tabC[$num+2]))*12)
|
||
+round(Wdate::dateT('d/m/Y','m',$tabC[$num+1])-Wdate::dateT('d/m/Y','m',$tabC[$num+2]));
|
||
$tabRet['C'.$millesime]=array( 'dateProvPartenaire'=>date('Ymd'),
|
||
'dureeExercice' =>$delta1,
|
||
'dateExercicePre' =>Wdate::dateT('d/m/Y','Ymd',$tabC[$num+1]),
|
||
'dureeExercicePre' =>$delta2,
|
||
'monnaie' =>'EUR',
|
||
'source' =>0,
|
||
'ref' =>$tab['bilans']['C'][$millesime],
|
||
);
|
||
}
|
||
foreach ($tabA as $num=>$millesime) {
|
||
|
||
}
|
||
|
||
foreach ($tabB as $num=>$millesime) {
|
||
|
||
}
|
||
}
|
||
return $tabRet;
|
||
}
|
||
|
||
function getBilan($refBilan) {
|
||
return $this->partBilan($refBilan);
|
||
}
|
||
|
||
function getIdentite($siren) {
|
||
$this->siren=$siren;
|
||
return $this->partIdentite();
|
||
}
|
||
|
||
private function partConnection() {
|
||
|
||
$url='http://bases-marques.inpi.fr/Typo3_INPI_Marques/marques_recherche_numero.html';
|
||
|
||
$tDeb=microtime(true);
|
||
$page=getUrl($url, $this->cookie, '', '', false, '', '', 21);
|
||
$duree=round(microtime(true)-$tDeb,3);
|
||
$body=$page['body'];
|
||
$this->referer=$url;
|
||
$this->cookie=$page['header']['Set-Cookie'];
|
||
|
||
return true;
|
||
|
||
|
||
|
||
|
||
if (!$this->wrncsrv2 || time()>$this->timeOut) {
|
||
$this->timeOut=time()+900;
|
||
|
||
$this->url=$this->urlRacine.'/index.ow';
|
||
$page=getUrl($this->url, '', '', $this->urlRacine, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
//echo date('Y/m/d - H:i:s') ." - Initialisation URL = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
$fp=fopen('./euridile_connexion1.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)">/i', $this->body, $matches))
|
||
$this->url=$this->urlRacine.'/'.$matches[1];
|
||
else debugLog('E',"Erreur de communication - Redirection impossible sur ".$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
debugLog('I','Redirection trouvée sur la page '.$this->url,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
|
||
if (preg_match('/\.ow\?WRNCSRV2=(.*)$/i', $matches[1], $matches)) {
|
||
$this->wrncsrv2=$matches[1];
|
||
debugLog('I','Session partenaire WRNCSRV2='.$this->wrncsrv2,__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
}
|
||
else debugLog('E','Impossible d\'identifier le numéro de session partenaire',__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
|
||
$page=getUrl($this->url, '', '',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
debugLog('D',"Page d'accueil URL = $this->url (Code retour = $this->codeRetour)",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
$fp=fopen('./euridile_connexion2.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
|
||
if (preg_match('/<form method="POST" name="abonnement" ACTION="(.*)" /i', $this->body, $matches)) {
|
||
$postData=array('IDENT'=>'OK',
|
||
'MDP'=>'3180',
|
||
'cliref'=>'K5K3X5',
|
||
'PASS'=>'3180',
|
||
'WRNCSRV2'=>$this->wrncsrv2);
|
||
/** @todo Fair une fonction qui gère les URL commençant par ./ ou ../ ou / afin de pouvoir les concatener
|
||
**/
|
||
$this->url=$this->urlRacine.str_replace('..','',$matches[1]);
|
||
debugLog('D',"Authentification possible vers $this->url",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
}
|
||
else debugLog('E',"Authentification impossible car formulaire indisponible",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
|
||
sleep(1);
|
||
$page=getUrl($this->url,'', $postData, $this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
//echo date('Y/m/d - H:i:s') ." - Après authentification = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
$fp=fopen('./euridile_connexion3.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
|
||
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
|
||
{ $tabTmp=explode('"', $matches[0]);
|
||
$this->url=$this->urlRacine.$tabTmp[0];
|
||
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
|
||
$this->curPage='recherche';
|
||
} //else echo date('Y/m/d - H:i:s') ." - Deja connecte !<br/>".EOL;
|
||
return true;
|
||
}
|
||
|
||
private function partInitRecherche() {
|
||
if ($this->curPage<>'recherche') {
|
||
//$this->url=$this->urlRacine.'/weur2/ff_page_general.ow?WRNCSRV2='.$this->wrncsrv2.'&g_InfoChoix=IDEN_MC';
|
||
$this->url=$this->urlRacine.'/weur3/accueil.ow?WRNCSRV2='.$this->wrncsrv2.'&APPEL=tousnosdocs';
|
||
$page=getUrl($this->url, '', '',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
if(preg_match('/\/'.$this->weur.'\/iden_evaluation_type_(.*)/i', $this->body, $matches))
|
||
{ $tabTmp=explode('"', $matches[0]);
|
||
$this->url=$this->urlRacine.$tabTmp[0];
|
||
debugLog('D',"Page de recherche recherche trouvée = $this->url>",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
} else debugLog('E',"Erreur de communication - Recherche introuvable !",__LINE__,__FILE__,__FUNCTION__,__CLASS__);
|
||
|
||
$this->curPage='recherche';
|
||
$fp=fopen('./euridile_recherche.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
}
|
||
}
|
||
|
||
private function partVitrine($listeDocuments=false) {
|
||
if ($this->curPage<>'recherche')
|
||
$this->partInitRecherche();
|
||
|
||
$tabRet=$tabBilan=array();
|
||
$tabRet['siren']=$this->siren;
|
||
$tabRet['erreur']='';
|
||
|
||
$postData=array('codcom_srch'=>'',
|
||
'entrep_srch'=>$this->siren,
|
||
// 'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
|
||
// 'phoneme'=>'non', // non=A l'identique, oui=approchant
|
||
'codpos_srch'=>'',
|
||
'commune_srch'=>'',
|
||
'adress_srch'=>'',
|
||
'x'=>rand(0,80),
|
||
'y'=>rand(0,17),
|
||
'WRNCSRV2'=>$this->wrncsrv2);
|
||
$page=getUrl($this->url,'', $postData, $this->referer, false, 'www.euridile.com');
|
||
echo date('Y/m/d - H:i:s') ." - Vitrine = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$fp=fopen('./euridile_vitrine1.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
|
||
if (preg_match('/\/weur2\/iden_saisie_criteres\.ow/i', $this->body)) {
|
||
$tabRet['erreur']='Siren inconnu';
|
||
$this->curPage='recherche';
|
||
echo date('Y/m/d - H:i:s') ." - Vitrine : Erreur recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
return $tabRet;
|
||
}
|
||
echo date('Y/m/d - H:i:s') ." - Vitrine : Après recherche = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
|
||
$this->url=$this->urlRacine.'/'.$this->weur.'/iden_visu_vitrine.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/'.$this->weur.'/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/'.$this->weur.'/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$fp=fopen('./euridile_vitrine2.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fwrite($fp,print_r($tabRet,true));
|
||
|
||
fclose($fp);
|
||
|
||
echo date('Y/m/d - H:i:s') ." - Vitrine : Frame = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
$this->curPage='vitrine';
|
||
|
||
$tabRet['rcs']=@getTextInHtml($this->body, ' <TR><TD WIDTH="60%"><FONT COLOR=#100070 FACE="ARIAL,HELVETICA" SIZE=2>RCS : <B>', '<B>','</B>');
|
||
if (($tabRet['rcs']*1)<>($tabRet['siren']*1)) {
|
||
$tabRet['erreur']='Siren inconnu';
|
||
return $tabRet;
|
||
}
|
||
$tabRet['nom']=@getTextInHtml($this->body, ' <TR><TD WIDTH="60%"><FONT COLOR=#100070 FACE="ARIAL,HELVETICA" SIZE=2><B>', '<B>', '</B>');
|
||
$tabRet['adresse1']=@getTextInHtml($this->body, '<TR><TD WIDTH="100%" COLSPAN="2"> <TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR=#FFF0D0> <TR><TD><FONT COLOR=#100070 FACE="ARIAL,HELVETICA" SIZE=2><B>', '<B>', '</B>');
|
||
$strTmp=@getTextInHtml($this->body, '</B></FONT> </TD></TR> <TR><TD><FONT COLOR=#100070 FACE="ARIAL,HELVETICA" SIZE=2><B>', '<B>', '</B>');
|
||
if (preg_match("/^([0-9]{5,5})([\D]*)/i", $strTmp, $matches)) {
|
||
$tabRet['cp']=trim($matches[1]);
|
||
$tabRet['ville']=trim($matches[2]);
|
||
} else {
|
||
$tabRet['cp']='';
|
||
$tabRet['ville']=$strTmp;
|
||
}
|
||
$tabRet['fj_lib']=@getTextInHtml($this->body, "\n".'<TR><TD WIDTH="100%" COLSPAN="2"><FONT COLOR=#100070 FACE="ARIAL,HELVETICA" SIZE=2><B>', '<B>', '</B>');
|
||
$strTmp=@getTextInHtml($this->body, '</FONT></TD></TR><TR><TD WIDTH="100%" COLSPAN="2"><FONT COLOR=#100070 FACE="ARIAL,HELVETICA" SIZE=2><B>', '<B>', '</B>');
|
||
$tabTmp=explode(' - ', $strTmp);
|
||
$tabRet['naf_code']=$tabTmp[0];
|
||
$tabRet['naf_lib']=$tabTmp[1];
|
||
|
||
$matches=explode("<A HREF=\"javascript:OpenHtmlWindow('paie_abonnes_livraison_directe_informations.ow','Compte_Annuel','", $this->body);
|
||
for ($i=1; isset($matches[$i]); $i++) {
|
||
$tabTmp=explode("','", $matches[$i]);
|
||
$idBilan=$tabTmp[0];
|
||
$tabTmp=explode('|', $idBilan);
|
||
$dateBilan=$tabTmp[1];
|
||
switch ($tabTmp[2]) {
|
||
case 'SC': $typeBilan='N'; break; // Réel normal
|
||
case 'SS': $typeBilan='S'; break; // Réel simplifié
|
||
case 'CC': $typeBilan='C'; break; // CONSOLIDE
|
||
case 'SA': $typeBilan='A'; break; // Assurance
|
||
case 'SB': $typeBilan='B'; break; // Banque
|
||
default: $this->logEuridileError('Type de bilan non pris en charge : "'. $tabTmp[2] .'"');
|
||
}
|
||
$tabBilan[$typeBilan][$dateBilan]=$idBilan;
|
||
}
|
||
$tabRet['bilans']=$tabBilan;
|
||
/* if ($listeDocuments) {
|
||
$this->partVitrineDocuments();
|
||
}
|
||
*/
|
||
$fp=fopen('./euridile_vitrine.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fwrite($fp,print_r($tabRet,true));
|
||
fclose($fp);
|
||
$tabInsert=$tabRet;
|
||
$tabInsert['bilans']=serialize($tabRet['bilans']);
|
||
if (!$this->iDb->insert( 'jo.rncs_vitrine', $tabInsert))
|
||
$this->iDb->update( 'jo.rncs_vitrine', $tabInsert, "siren=$this->siren");
|
||
/** @todo S'il y a un enregistrement, prévoir son update
|
||
**/
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
private function partVitrineDocuments() {
|
||
if ($this->curPage='vitrine')
|
||
$this->partVitrine();
|
||
|
||
$tabRet=$tabBilan=array();
|
||
$tabRet['siren']=$this->siren;
|
||
$tabRet['erreur']='';
|
||
|
||
$this->url=$this->urlRacine.'/weur2/ff_page_general.ow?WRNCSRV2='.$this->wrncsrv2.
|
||
'&g_InfoChoix=CMD_IN&first=actes&filtre_document=no&g_Onglet=info';
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
|
||
$this->url=$this->urlRacine.'/weur2/cmd_panier_informations_numerises.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|IMM\|COUR">/i', $this->body, $matches);
|
||
$tabDossier=array( 'libelle'=>'Dossier d\'immatriculation principale',
|
||
'idBalise'=>'IMMcombo',
|
||
'idLien'=>str_replace('<OPTION VALUE="','', str_replace('">','', $matches[0])));
|
||
|
||
$body=preg_replace('/(.*)<\/TABLE> +<\/TD><\/TR><TR><TD WIDTH=70% ALIGN=LEFT><FONT SIZE=2 FACE=ARIAL>/i','',str_replace("\r",'', str_replace("\n",'', $this->body)));
|
||
$tabTmp=explode('<TD ALIGN=RIGHT WIDTH=30% VALIGN=TOP><SELECT NAME=ACTcombo', $body);
|
||
|
||
$tabActes=array();
|
||
foreach ($tabTmp as $i=>$acte) {
|
||
if (!isset($tabTmp[$i+1])) {
|
||
$tabTmp2=explode('</TD></TR></TABLE>', $acte);
|
||
$acte=$tabTmp2[0];
|
||
}
|
||
if ($i<>0) {
|
||
$tabTmp2=explode('<TR><TD WIDTH=70% ALIGN=LEFT><FONT SIZE=2 FACE=ARIAL>', $acte);
|
||
if (preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|ACT\|(.*)\|(.*)\|(.*)\|TELE">/i', $tabTmp2[0], $matches))
|
||
$vecteur='TELE';
|
||
elseif (preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|ACT\|(.*)\|(.*)\|(.*)\|COUR">/i', $tabTmp2[0], $matches))
|
||
$vecteur='COUR';
|
||
if ($i<>1) {
|
||
$tabTmp2=explode('<TR><TD WIDTH=70% ALIGN=LEFT><FONT SIZE=2 FACE=ARIAL>', $tabTmp[$i-1]);
|
||
$strLibPre=$tabTmp2[1];
|
||
} else $strLibPre=$tabTmp[0];
|
||
$tabActes[$i-1]=array( 'vecteur'=>$vecteur,
|
||
'libelle'=>trim(strip_tags(preg_replace('/(.*)<BR>/i','',$strLibPre))),
|
||
'idBalise'=>'ACTcombo'.($i-1),
|
||
'date'=>$matches[2],
|
||
'nbPages'=>$matches[4],
|
||
'numero'=>$matches[3],
|
||
'idLien'=>str_replace('<OPTION VALUE="','', str_replace('">','', $matches[0])));
|
||
}
|
||
}
|
||
|
||
/** Recherche des comptes déposés **/
|
||
$tabTmp=preg_split('/<SELECT NAME=(TT|BL|CM|GS)FAM(\d)/i', $body);
|
||
$tabCpt=array();
|
||
$nb=count($tabTmp);
|
||
for($i=1; $i<$nb; $i++) {
|
||
if (preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|BIL\|(.*)\|(.*)\|(TT|BL|CM|GS)\|(.*)\|(.*)\|TELE">/i', $tabTmp[$i], $matches))
|
||
$vecteur='TELE';
|
||
elseif (preg_match('/<OPTION VALUE="'.$this->siren.'\|(.*)\|BIL\|(.*)\|(.*)\|(TT|BL|CM|GS)\|(.*)\|(.*)\|COUR">/i', $tabTmp[$i], $matches))
|
||
$vecteur='COUR';
|
||
switch ($matches[3]) {
|
||
case 'SC': $typeBilan='N'; $bil='Bilan réel normal'; break; // Réel normal
|
||
case 'SS': $typeBilan='S'; $bil='Bilan réel simplifié'; break; // Réel simplifié
|
||
case 'CC': $typeBilan='C'; $bil='Bilan consolidé'; break; // CONSOLIDE
|
||
case 'SA': $typeBilan='A'; $bil='Bilan d\'assurance'; break; // Assurance
|
||
case 'SB': $typeBilan='B'; $bil='Bilan de banque'; break; // Banque
|
||
default: $this->logEuridileError('Type de bilan non pris en charge : "'. $tabTmp[2] .'"');
|
||
}
|
||
switch ($matches[4]) {
|
||
case 'TT': $lib='Comptes annuels complets'; break;
|
||
case 'BL': $lib='Bilan et compte de résultat'; break;
|
||
case 'CM': $lib='Rapport des CAC'; break;
|
||
case 'GS': $lib='Rapport de gestion'; break;
|
||
default: $this->logEuridileError('Type d\'annexe de compte inconnu'); break;
|
||
}
|
||
$tabCpt[$i-1]=array( 'vecteur'=>$vecteur,
|
||
'libelle'=>$bil.' - '.$lib,
|
||
'idBalise'=>$matches[4].'FAM'.$i,
|
||
'typeBilan'=>$typeBilan,
|
||
'date'=>$matches[2],
|
||
'nbPages'=>$matches[5],
|
||
'numero'=>$matches[6],
|
||
'idLien'=>str_replace('<OPTION VALUE="','', str_replace('">','', $matches[0])));
|
||
}
|
||
|
||
/** @todo gestion des commandes :
|
||
<FORM NAME=FORMADDCART ACTION="../weur2/cmd_panier_informations_numerises_gestion.ow" METHOD=POST TARGET=_top>
|
||
<INPUT TYPE="HIDDEN" NAME="dejatraite" value="">
|
||
<INPUT TYPE=IMAGE SRC=images/boutons/valider.gif ALT="Valider" BORDER=0>
|
||
<INPUT TYPE="HIDDEN" NAME="WRNCSRV2" VALUE="171932431532858">
|
||
<SELECT NAME=ACTcombo0> // 1 select par acte de depot de 0 à N !!!
|
||
<SELECT NAME=IMMcombo> // Dossier immatriculiation principal
|
||
|
||
// Comptes Réel Normal
|
||
<SELECT NAME=TTFAM1 // Année1 : Comptes Annuels complet
|
||
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|TT|22|33319263105122AN9201:33319263105122BL9201:33319263105122CM9201:33319263105122GS9201|TELE">
|
||
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|TT|22|33319263105122AN9201:33319263105122BL9201:33319263105122CM9201:33319263105122GS9201|COUR">
|
||
|
||
<SELECT NAME=BLFAM1 // Année 1 : Bilan, Compte de résultat
|
||
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|BL|4|33319263105122BL9201|TELE">
|
||
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|BL|4|33319263105122BL9201|COUR">
|
||
|
||
<SELECT NAME=CMFAM1 // Année 1 : Rapport des CAC
|
||
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|CM|2|33319263105122CM9201|TELE">
|
||
|
||
<SELECT NAME=GSFAM1 // Année 1 : Rapport de Gestion
|
||
<OPTION VALUE="333192631|BILANS SERVICE|BIL|31/12/2005|SC|GS|4|33319263105122GS9201|TELE">
|
||
|
||
|
||
// Comptes consolidés
|
||
<select name="TTFAM6"
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|TT|159|55210055404122AN7501:55210055404122BL7501:55210055404122CM7501:55210055404122GS7501|TELE">
|
||
|
||
<select name="BLFAM6"
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|BL|3|55210055404122BL7501|TELE">
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|BL|3|55210055404122BL7501|COUR">Courrier
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|BL|159|55210055404122AN7501:55210055404122BL7501:55210055404122CM7501:55210055404122GS7501|INCLUS">
|
||
|
||
<select name="CMFAM6"
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|CM|3|55210055404122CM7501|TELE">
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|CM|3|55210055404122CM7501|COUR">
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|CM|159|55210055404122AN7501:55210055404122BL7501:55210055404122CM7501:55210055404122GS7501|INCLUS">
|
||
|
||
<select name="GSFAM6"
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|GS|108|55210055404122GS7501|TELE">
|
||
<option value="552100554|PEUGEOT SA|BIL|31/12/2004|SC|GS|159|55210055404122AN7501:55210055404122BL7501:55210055404122CM7501:55210055404122GS7501|INCLUS">
|
||
|
||
**/
|
||
$tabRet=array( 'actes'=>$tabActes,
|
||
'comptes'=>$tabCpt,
|
||
'dossier'=>$tabDossier);
|
||
print_r($tabRet);
|
||
die();
|
||
$fp=fopen('./euridile_vitrineDocs.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
//echo date('Y/m/d - H:i:s') ." - Vitrine Documents = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
die();
|
||
return $tabRet;
|
||
}
|
||
|
||
/*private*/ function partChercheDirigeant($nomPrenom) {
|
||
if ($this->curPage<>'recherche')
|
||
$this->partInitRecherche();
|
||
|
||
$tabRet=$tabBilan=array();
|
||
//$tabRet['siren']=$this->siren;
|
||
$tabRet['erreur']='';
|
||
|
||
$postData=array('codcom_srch'=>'',
|
||
'entrep_srch'=>urlencode($nomPrenom),
|
||
'contient'=>'contient', // contient=Contient, debute=Débute par, contientque=ne contient que les termes saisis
|
||
'phoneme'=>'non', // non=A l'identique, oui=approchant
|
||
'adress_srch'=>'',
|
||
'codpos_srch'=>'',
|
||
'commune_srch'=>'',
|
||
'x'=>rand(0,72),
|
||
'y'=>rand(0,20),
|
||
'WRNCSRV2'=>$this->wrncsrv2);
|
||
$page=getUrl($this->url,'', $postData, $this->referer, false, 'www.euridile.com');
|
||
//echo date('Y/m/d - H:i:s') ." - Recherche Dirigeant = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
$this->url=$this->urlRacine.'/weur2/iden_req_multibase_deno.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
$fp=fopen('./euridile_recherche2.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
/** Entreprises trouvées **/
|
||
//../weur2/iden_selection_bases.ow?WRNCSRV2=1711245812917368&infosBase=EURENT|densig|entreprise(s)|234 TARGET=_top>Entreprise(s)
|
||
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURENT\|densig\|entreprise\(s\)\|(.*) TARGET=_top>Ent/i', $this->body, $matches)) {
|
||
$fctEntUrl=preg_replace('/ (.*)/','',$matches[0]);
|
||
$fctEntNb=$matches[1];
|
||
}
|
||
/** Fonctions de direction trouvées **/
|
||
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURDIR\|dirig\|dirigeant\(s\)\|(.*) TARGET=_top>Dir/i', $this->body, $matches)) {
|
||
$fctDirUrl=preg_replace('/ (.*)/','',$matches[0]);
|
||
$fctDirNb=$matches[1];
|
||
}
|
||
/** Fonctions d'administration trouvée **/
|
||
//../weur2/iden_selection_bases.ow?WRNCSRV2=1711245812917368&infosBase=EURDIR|admin|administrateur(s)|44 TARGET=_top>Administrateur(s)
|
||
if (preg_match('/\/weur2\/iden_selection_bases\.ow\?WRNCSRV2='.$this->wrncsrv2.'&infosBase=EURDIR\|admin\|administrateur\(s\)\|(.*) TARGET=_top>Adm/i', $this->body, $matches)) {
|
||
$fctAdmUrl=preg_replace('/ (.*)/','',$matches[0]);
|
||
$fctAdmNb=$matches[1];
|
||
}
|
||
|
||
//echo date('Y/m/d - H:i:s') ." - Résultat : $fctDirNb dirigeant(s), $fctAdmNb administrateur(s) et $fctEntNb entreprise(s)".EOL;
|
||
//echo date('Y/m/d - H:i:s') ." - URL : $fctDirUrl".EOL;
|
||
|
||
$this->url=$this->urlRacine.$fctDirUrl;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$fp=fopen('./euridile_recherche3.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
|
||
if (preg_match('/\/weur2\/iden_affinage_critere\.ow/i', $this->body)) {
|
||
/** Visualisation du formulaire d'affinage **/
|
||
$this->url=$this->urlRacine.'/weur2/iden_affinage_critere.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
/** On outrepasse l'affinage **/
|
||
$this->url=$this->urlRacine.'/weur2/iden_req_multibase_affinage_critere.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
/*
|
||
$fp=fopen('./euridile_recherche_affinage.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
die();
|
||
$tabRet['erreur']='Trop de choix possibles';
|
||
$this->curPage='autre';
|
||
echo date('Y/m/d - H:i:s') ." - Multipropositions, trop de choix possibles = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
return $tabRet;
|
||
*/
|
||
} elseif (!preg_match('/\/weur2\/iden_req_multibase_liste\.ow/i', $this->body)) {
|
||
$tabRet['erreur']='Erreur inconnue';
|
||
$this->curPage='autre';
|
||
//echo date('Y/m/d - H:i:s') ." - Page de Multipropositions erreur inconnue = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
return $tabRet;
|
||
}
|
||
|
||
/** Liste des entreprises dirigées */
|
||
$this->url=$this->urlRacine.'/weur2/iden_req_multibase_liste.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$fp=fopen('./euridile_recherche4.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
|
||
$body=str_replace("\r",'', str_replace("\n",'', $this->body));
|
||
$tabTmp=explode('<TABLE BORDER=0><TR><TD><FONT SIZE=2 FACE=ARIAL><A HREF="../weur2/ff_page_general.ow?WRNCSRV2='.$this->wrncsrv2.'&g_InfoChoix=IDEN_VI&rcs=', $body);
|
||
array_shift($tabTmp);
|
||
$tabEntrep=array();
|
||
for($i=0, $nbPages=0; $i<$fctDirNb; $i++) {
|
||
if ($i%10==0) {
|
||
$nbPages++;
|
||
$this->url=$this->urlRacine.'/weur2/iden_req_superindex_liste_suite.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'','',$this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer,false,'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$body=str_replace("\r",'', str_replace("\n",'', $this->body));
|
||
$tabTmp2=explode('<TABLE BORDER=0><TR><TD><FONT SIZE=2 FACE=ARIAL><A HREF="../weur2/ff_page_general.ow?WRNCSRV2='.$this->wrncsrv2.'&g_InfoChoix=IDEN_VI&rcs=', $body);
|
||
array_shift($tabTmp2);
|
||
for ($j=0; isset($tabTmp2[$j]); $j++)
|
||
$tabTmp[($nbPages*10)+$j]=$tabTmp2[$j];
|
||
}
|
||
$tabTmp2=explode('</TD></TR>', $tabTmp[$i]);
|
||
$siren=substr($tabTmp2[0],0,9);
|
||
$raisonSoc=trim(preg_replace('/(.*)<B>/i','', preg_replace('/<\/B>(.*)/i','', $tabTmp2[0])));
|
||
$cpVille=trim(strip_tags($tabTmp2[1]));
|
||
$cp=substr($cpVille,0,5);
|
||
$ville=substr($cpVille,6,strlen($cpVille)-6);
|
||
$tabTmp3=explode(' : ', trim(strip_tags($tabTmp2[2])));
|
||
$fonction=$tabTmp3[0];
|
||
$nomPrenom=$tabTmp3[1];
|
||
$tabTmp3=explode(' - ', trim(strip_tags($tabTmp2[3])));
|
||
$nafCod=$tabTmp3[0];
|
||
$nafLib=$tabTmp3[1];
|
||
$tabEntrep[]=array( 'siren'=>$siren,
|
||
'raisonSociale'=>$raisonSoc,
|
||
'cp'=>$cp,
|
||
'ville'=>$ville,
|
||
'fonction'=>$fonction,
|
||
'nomPrenom'=>$nomPrenom,
|
||
'naf'=>$nafCod,
|
||
'nafLib'=>$nafLib);
|
||
}
|
||
|
||
print_r($tabEntrep);
|
||
|
||
$this->curPage='autre';
|
||
return;
|
||
|
||
$this->url=$this->urlRacine.'/weur2/iden_visu_vitrine.ow?WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_gauche_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->urlRacine.'/weur2/bandeau_haut_general.ow?WRNCSRV2='.$this->wrncsrv2,'', '', $this->referer, false, 'www.euridile.com','',0.1);
|
||
$page=getUrl($this->url,'','',$this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
//echo date('Y/m/d - H:i:s') ." - Vitrine : Frame = $this->url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
$this->curPage='vitrine';
|
||
|
||
$matches=explode("<A HREF=\"javascript:OpenHtmlWindow('paie_abonnes_livraison_directe_informations.ow','Compte_Annuel','", $this->body);
|
||
for ($i=1; isset($matches[$i]); $i++) {
|
||
$tabTmp=explode("','", $matches[$i]);
|
||
$idBilan=$tabTmp[0];
|
||
$tabTmp=explode('|', $idBilan);
|
||
$dateBilan=$tabTmp[1];
|
||
switch ($tabTmp[2]) {
|
||
case 'SC': $typeBilan='N'; break; // Réel normal
|
||
case 'SS': $typeBilan='S'; break; // Réel simplifié
|
||
case 'CC': $typeBilan='C'; break; // CONSOLIDE
|
||
case 'SA': $typeBilan='A'; break; // Assurance
|
||
case 'SB': $typeBilan='B'; break; // Banque
|
||
default: $this->logEuridileError('Type de bilan non pris en charge : "'. $tabTmp[2] .'"');
|
||
}
|
||
$tabBilan[$typeBilan][$dateBilan]=$idBilan;
|
||
}
|
||
$tabRet['bilans']=$tabBilan;
|
||
$fp=fopen('./euridile_vitrine.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
return $tabRet;
|
||
}
|
||
|
||
private function partListeActes() {
|
||
|
||
//http://www.euridile.com/weur2/ff_page_general.ow?WRNCSRV2=1717224430910945&g_InfoChoix=CMD_IN&first=actes&filtre_document=no&g_Onglet=info
|
||
|
||
// 2 cadres classiques +
|
||
//weur2/cmd_panier_informations_numerises.ow?WRNCSRV2=1717224430910945
|
||
|
||
|
||
}
|
||
|
||
private function partIdentite() {
|
||
if ($this->curPage<>'vitrine')
|
||
$this->partVitrine();
|
||
|
||
$ret=$this->iDb->select( 'jo.rncs_entrep',
|
||
'siren, rcs, nom, adresse1, adresse2, adresse3, cp, ville, naiss_date, naiss_lieu, sexe, enseigne, sigle, '.
|
||
'fj_lib, naf_code, naf_lib, date_crea, date_imma, greffe, num_gestion, capital_mnt, capital_dev, nationalite, '.
|
||
'nb_etab, indRadiation, date_radiation, indProcol, dateUpdate, procedures, dirigeants, etablissements',
|
||
"siren=$this->siren ORDER BY dateUpdate DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||
if (count($ret)) {
|
||
/** On vérifie qu'aucune annonce n'a été publié depuis au bodacc
|
||
**/
|
||
$tabRet=$ret[0];
|
||
$ret=$iDb->select( 'jo.bodacc_detail', 'count(*)',
|
||
"siren=$this->siren AND Bodacc_Date_Parution>='".$tabRet['dateUpdate']."'");
|
||
if ($ret[0][0]==0) {
|
||
$tabRet['procedures']=unserialize($tabRet['procedures']);
|
||
$tabRet['dirigeants']=unserialize($tabRet['dirigeants']);
|
||
$tabRet['etablissements']=unserialize($tabRet['etablissements']);
|
||
return $tabRet;
|
||
}
|
||
}
|
||
|
||
$url=$this->urlRacine.'/'.$this->weur.'/paie_abonnes_livraison_directe_informations.ow?flag_type_acces_direct_infos=FIC&WRNCSRV2='.$this->wrncsrv2;
|
||
$page=getUrl($url, '', '', $this->referer, false, 'www.euridile.com');
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
//echo date('Y/m/d - H:i:s') ." - Fiche d'identité = $url (Code retour = $this->codeRetour)<br/>".EOL;
|
||
//$this->curPage='vitrine';
|
||
$tabRet=array();
|
||
|
||
/**@todo Traiter le cas données provisoires :
|
||
<TR><TD bgcolor='#fff0d0'><FONT COLOR=#100070 FACE=ARIAL SIZE=2><B><!-- Données provisoires --> En cours d'immatriculation, données provisoires</B></FONT></TD></TR><TR><TD bgcolor=#fff0d0><FONT COLOR=#100070 FACE=ARIAL SIZE=2>Nombre d'établissements : <FONT COLOR=#100070 FACE=ARIAL SIZE=2><B></B></TD></TR>
|
||
</TABLE>
|
||
*/
|
||
// Identité
|
||
$tabRet['siren']=$this->siren;
|
||
$tabRet['codeRetour']=$this->codeRetour;
|
||
$tabRet['rcs']=@getTextInHtml($this->body, 'FACE="ARIAL,HELVETICA" SIZE=2>RCS : ', '<b>','</b>');
|
||
$strTmp=@getTextInHtml($this->body, 'FACE="ARIAL,HELVETICA" SIZE=2>RCS : <b>', 'FACE="ARIAL,HELVETICA" SIZE=2><b>', '<img src=\'images/rouge.gif\'');
|
||
$tabTmp=explode('</TD>', $strTmp);
|
||
$tabRet['nom']=strip_tags($tabTmp[0]);
|
||
// ... adresse
|
||
for ($i=1; $i<5; $i++) {
|
||
if (strpos($tabTmp[$i], 'Nom commercial - Enseigne :')===false &&
|
||
strpos($tabTmp[$i], 'Sigle :')===false ) {
|
||
$ligne=trim(strip_tags($tabTmp[$i]));
|
||
if (preg_match("/^([0-9]{5,5})([\D]*)/i", $ligne, $matches)) {
|
||
$tabRet['cp']=trim($matches[1]);
|
||
$tabRet['ville']=trim($matches[2]);
|
||
break;
|
||
} else $tabRet['adresse'.$i]=$ligne;
|
||
}
|
||
}
|
||
|
||
$pp_nais=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Date et lieu de naissance :', '<B>','</B>')));
|
||
$tabTmp=explode(' à ', $pp_nais);
|
||
$tabRet['naiss_date']=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp[0])));
|
||
$tabRet['naiss_lieu']=trim(strip_tags($tabTmp[1]));
|
||
$tabRet['sexe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Sexe :', '<B>','</B>')));
|
||
|
||
$tabRet['enseigne']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nom commercial - Enseigne :', '<B>','</B>')));
|
||
$tabRet['sigle']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Sigle :', '<B>','</B>')));
|
||
$tabRet['fj_lib']=@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Forme juridique :', '<B>','</B>');
|
||
$strTmp=@getTextInHtml($this->body, 'FACE=\'ARIAL,HELVETICA\' SIZE=2>Activité :', '<B>','</B>');
|
||
$tabTmp=explode(' - ', $strTmp);
|
||
$tabRet['naf_code']=$tabTmp[0];
|
||
$tabRet['naf_lib']=$tabTmp[1];
|
||
$tabRet['date_crea']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date de création :', '<B>','</B>')));
|
||
$tabRet['date_imma']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Date d\'immatriculation :', '<B>','</B>')));
|
||
$tabRet['greffe']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Greffe :', '<B>','</B>')));
|
||
$tabRet['num_gestion']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>N°de gestion :', '<B>','</B>')));
|
||
$strTmp=@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Capital :', '<B>','</B>');
|
||
if (preg_match('/([0-9\.,\s]*)([\D]*)/i', $strTmp, $matches)) {
|
||
$tabRet['capital_mnt']=trim(str_replace(' ','',str_replace(',','.',$matches[1])));
|
||
$tabRet['capital_dev']=$matches[2];
|
||
}
|
||
else {
|
||
$tabRet['capital_mnt']=0;
|
||
$tabRet['capital_dev']='';
|
||
}
|
||
$tabRet['nationalite']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nationalité :', '<B>','</B>')));
|
||
$tabRet['nb_etab']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Nombre d\'établissements :', '<B>','</B>')));
|
||
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Radiation</B>')>0) {
|
||
$tabRet['indRadiation']=true;
|
||
$tabRet['date_radiation']=trim(strip_tags(@getTextInHtml($this->body, 'FACE=ARIAL SIZE=2>Entreprise radiée le :', '<B>','</B>')));
|
||
} else
|
||
$tabRet['indRadiation']=false;
|
||
|
||
// Procédures collectives
|
||
if (strpos($this->body,'FACE=ARIAL SIZE=2><B>Les procédures collectives</B>')>0) {
|
||
$tabRet['indProcol']=true;
|
||
$strTmp=@getTextInHtml($this->body, '<B>Les procédures collectives</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",
|
||
'</TABLE>');
|
||
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
|
||
foreach ($tabTmp as $nproc=>$proc) {
|
||
$tabTmp2=explode('</TD></TR>', $proc);
|
||
$tabTmp3=explode(' du ', $tabTmp2[0]);
|
||
$tabTmp2=explode('<TD WIDTH=99% ALIGN=LEFT BGCOLOR=#fff0d0 colspan=2><FONT COLOR=#100070 FACE=ARIAL SIZE=2>', $proc);
|
||
$tabInter=array();
|
||
for($nInter=1; isset($tabTmp2[$nInter]); $nInter++) {
|
||
$tabTmp4=explode('</TD></TR>', $tabTmp2[$nInter]);
|
||
$tabInter[]=array( 'type'=>trim(strip_tags($tabTmp4[0])),
|
||
'nom'=>trim(str_replace(' ','',strip_tags($tabTmp4[1]))),
|
||
'adresse'=>trim(str_replace(' ','',strip_tags($tabTmp4[2]))),
|
||
'cpVille'=>trim(str_replace(' ','',strip_tags($tabTmp4[3]))));
|
||
}
|
||
$tabRet['procedures'][$nproc]=array('type'=>trim(strip_tags($tabTmp3[0])),
|
||
'date'=>trim(strip_tags($tabTmp3[1])),
|
||
'intervenant'=>$tabInter);
|
||
}
|
||
}
|
||
else $tabRet['indProcol']=false;
|
||
|
||
// Dirigeants
|
||
$strTmp=@getTextInHtml($this->body, '<B>Les dirigeants</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
|
||
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
|
||
foreach ($tabTmp as $ndir=>$dir) {
|
||
$tabTmp2=explode('</TD>', $dir);
|
||
$tabTmp3=explode('</B> ', $tabTmp2[1]);
|
||
$nom=trim(strip_tags($tabTmp3[0]));
|
||
$prenom=trim(strip_tags($tabTmp3[1]));
|
||
$naiss=trim(strip_tags($tabTmp2[3]));
|
||
if (strpos($naiss, 'Né(e) le')===false) {
|
||
$fonction=$naiss;
|
||
} else {
|
||
$tabTmp3=explode(' à ', $naiss);
|
||
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
|
||
$naiss=trim(strip_tags($tabTmp3[1]));
|
||
$tabTmp3=explode('(', $naiss);
|
||
$naiss_ville=trim(strip_tags($tabTmp3[0]));
|
||
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
|
||
$fonction=trim(strip_tags($tabTmp2[5]));
|
||
}
|
||
$tabTmp=explode(' née ', $prenom);
|
||
$prenom=$tabTmp[0];
|
||
$naiss_nom=$tabTmp[1];
|
||
$tabRet['dirigeants'][$ndir]=array( 'nom'=>$nom,
|
||
'prenom'=>$prenom,
|
||
'naiss_nom'=>$naiss_nom,
|
||
'naiss_date'=>$naiss_date,
|
||
'naiss_ville'=>$naiss_ville,
|
||
'naiss_depPays'=>$naiss_depPays,
|
||
'fonction'=>$fonction);
|
||
}
|
||
|
||
// Dirigeants - Administrateurs
|
||
$strTmp=trim(@getTextInHtml($this->body, '<B>Les administrateurs</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>'));
|
||
if ($strTmp<>'') {
|
||
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
|
||
foreach ($tabTmp as $nadm=>$dir) {
|
||
$tabTmp2=explode('</TD>', $dir);
|
||
$tabTmp3=explode('</B> ', $tabTmp2[1]);
|
||
$nom=trim(strip_tags($tabTmp3[0]));
|
||
$prenom=trim(strip_tags($tabTmp3[1]));
|
||
$naiss=trim(strip_tags($tabTmp2[3]));
|
||
if (strpos($naiss, 'Né(e) le')===false) {
|
||
$naiss_date=$naiss_ville=$naiss_depPays='';
|
||
$fonction=$naiss;
|
||
} else {
|
||
$tabTmp3=explode(' à ', $naiss);
|
||
$naiss_date=trim(str_replace('Né(e) le ', '', strip_tags($tabTmp3[0])));
|
||
$naiss=trim(strip_tags($tabTmp3[1]));
|
||
$tabTmp3=explode('(', $naiss);
|
||
$naiss_ville=trim(strip_tags($tabTmp3[0]));
|
||
$naiss_depPays=trim(str_replace(')','', strip_tags($tabTmp3[1])));
|
||
$fonction=trim(strip_tags($tabTmp2[5]));
|
||
}
|
||
$tabTmp=explode(' née ', $prenom);
|
||
$prenom=$tabTmp[0];
|
||
$naiss_nom=$tabTmp[1];
|
||
$tabRet['dirigeants'][$nadm+$ndir+1]=array( 'nom'=>$nom,
|
||
'prenom'=>$prenom,
|
||
'naiss_nom'=>$naiss_nom,
|
||
'naiss_date'=>$naiss_date,
|
||
'naiss_ville'=>$naiss_ville,
|
||
'naiss_depPays'=>$naiss_depPays,
|
||
'fonction'=>$fonction);
|
||
}
|
||
}
|
||
|
||
// Etablissements
|
||
$strTmp=@getTextInHtml($this->body, '<B>Les établissements</B></FONT>', "<img src='./images/rouge.gif' width=4 height=4 border='0'>",'</TABLE>');
|
||
$tabTmp=explode("<img src='./images/rouge.gif' width=4 height=4 border='0'>", $strTmp);
|
||
foreach ($tabTmp as $netab=>$dir) {
|
||
$cp=$ville=$ensEtab=''; $j=0;
|
||
$tabTmp2=explode('</TD>', $dir);
|
||
for($i=1; $i<=9; $i=$i+2) {
|
||
$next=$i+2;
|
||
$strTmp=trim(strip_tags($tabTmp2[$i]));
|
||
if (preg_match("/^([0-9]{5,5})([\D]*)/i", $strTmp, $matches)) {
|
||
$adresse[$j]='';
|
||
$cp=trim($matches[1]);
|
||
$ville=trim($matches[2]);
|
||
break;
|
||
} else
|
||
$adresse[$j]=$strTmp;
|
||
|
||
$j++;
|
||
}
|
||
/** Gestion des cas où la 1ère ligne d'adresse contient l'enseigne de l'établissement */
|
||
if (strtoupper($adresse[0])==strtoupper($tabRet['enseigne'])) {
|
||
$ensEtab=$adresse[0];
|
||
array_shift($adresse);
|
||
}
|
||
$strTmp=trim(strip_tags($tabTmp2[$next]));
|
||
$tabTmp3=explode(' - ', $strTmp);
|
||
$tabRet['etablissements'][$netab]=array( 'enseigne'=>$ensEtab,
|
||
'adresse1'=>$adresse[0],
|
||
'adresse2'=>$adresse[1],
|
||
'adresse3'=>$adresse[2],
|
||
'cp'=>$cp,
|
||
'ville'=>$ville,
|
||
'naf_code'=>$tabTmp3[0],
|
||
'naf_lib'=>$tabTmp3[1]);
|
||
}
|
||
|
||
$fp=fopen('./euridile_identite.log', 'w');
|
||
fwrite($fp,print_r($page,true));
|
||
fclose($fp);
|
||
|
||
$tabInsert=$tabRet;
|
||
$tabInsert['procedures']=serialize($tabRet['procedures']);
|
||
$tabInsert['dirigeants']=serialize($tabRet['dirigeants']);
|
||
$tabInsert['etablissements']=serialize($tabRet['etablissements']);
|
||
|
||
$iDb->insert( 'jo.rncs_entrep', $tabInsert);
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
private function partBilan($idBilanPart) {
|
||
if ($this->curPage<>'vitrine')
|
||
$this->partVitrine();
|
||
|
||
$url=$this->urlRacine.'/'.$this->weur."/paie_abonnes_livraison_directe_informations.ow?flag_type_acces_direct_infos=$idBilanPart&WRNCSRV2=".$this->wrncsrv2;
|
||
|
||
$page=getUrl($url, '', '', $this->referer, false, 'www.euridile.com');
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)"/i', $this->body, $matches))
|
||
$this->url=$matches[1];
|
||
else $this->logEuridileError('Erreur redir vers Bilan INPI');
|
||
|
||
$page=getUrl($this->url, '', '',$this->referer, false);
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
$urlInpi='http://modules.euridile.inpi.fr';
|
||
|
||
// http://modules.euridile.inpi.fr/accesproduits.ow?MODUSRV1=2701291735122345
|
||
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)"/i', $this->body, $matches))
|
||
$this->url=$urlInpi.'/'.$matches[1];
|
||
else $this->logEuridileError('Erreur redir vers Bilan INPI 2');
|
||
$page=getUrl($this->url, '', '',$this->referer, false);
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$tabTmp=explode('=', $this->url);
|
||
$modusrv1=$tabTmp[1];
|
||
|
||
// http://modules.euridile.inpi.fr/analyse/TOTAL_BILAN/f_total_bilan.ow?MODUSRV1=2701221057921108
|
||
if (preg_match('/<META HTTP-EQUIV="Refresh" CONTENT="0; URL=(.*)"/i', $this->body, $matches))
|
||
$this->url=$urlInpi.$matches[1];
|
||
else $this->logEuridileError('Erreur redir vers Bilan INPI 3');
|
||
$page=getUrl($this->url, '', '',$this->referer, false);
|
||
$this->referer=$this->url;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
//*die($this->url);
|
||
|
||
getUrl($urlInpi.'/analyse/TOTAL_BILAN/menu.ow?MODUSRV1='.$modusrv1,'', '', $this->referer, false);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1,'','',$this->referer, false);
|
||
$this->referer=$urlInpi.'/analyse/TOTAL_BILAN/menu.ow?MODUSRV1='.$modusrv1;
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
|
||
$tabTmp=explode('|', $idBilanPart);
|
||
$dateBilan=$tabTmp[1];
|
||
$tabBilan=array();
|
||
$tabBilan['SIREN']=$this->siren;
|
||
$tabBilan['DATE_FRAICHE_BILAN']=date('Ymd');
|
||
$tabBilan['DATE_CLOTURE']=$dateBilan;
|
||
switch ($tabTmp[2]) {
|
||
case 'SC': // Bilans réels Normal
|
||
$tabBilan['TYPE_BILAN']='N';
|
||
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712291618629017&PAGE=ACTIFSC (déjà vue)
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFSC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
sleep(1);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESSC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
sleep(1);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=ANXSC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
/** Lecture et découpage du bilan
|
||
**/
|
||
$body=strtoupper($this->body);
|
||
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
|
||
$tabP=$matches[1];
|
||
$tabPostes=array();
|
||
foreach ($tabP as $iPoste=>$poste) {
|
||
if ($poste<>'ZR') {
|
||
$strTmp=str_replace("\n",'',@getTextInHtml($body, 'BGCOLOR="#E6EFFF"><FONT SIZE=-1>'.$poste, ' ','</TR>'));
|
||
$strTmp2=preg_replace('/bgcolor="#e6efff"><FONT SIZE=-1>(?:[A-Z0-9]{2,2})(?:<\/font>|)<\/TD>(.*)/i', '', $strTmp);
|
||
$tabTmp=explode(' ', $strTmp2);
|
||
for ($j=0; $j<3;$j++) {
|
||
if ($j==0) $indice='';
|
||
elseif ($j==1) $indice=1;
|
||
else $indice=2;
|
||
if (isset($tabTmp[$j])) {
|
||
$tabPostes[$poste.$indice]=trim(str_replace(' ', '',
|
||
str_replace('-->', '',
|
||
str_replace('&NBSP;', '',
|
||
strip_tags($tabTmp[$j])))));
|
||
if ($tabPostes[$poste.$indice]=='') unset($tabPostes[$poste.$indice]);
|
||
elseif (!is_numeric($tabPostes[$poste.$indice])) unset($tabPostes[$poste.$indice]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b> ', '<TRANSLATE COD=1756>','</TRANSLATE>');
|
||
//milliers d'Euros (KE)
|
||
$tabTmp=explode('(', $strTmp);
|
||
if ($tabTmp[1]=='KE)') {
|
||
$tabBilan['MONNAIE']='EUR';
|
||
$tabBilan['MONNAIE_ORI']='EUR';
|
||
$tabBilan['MONNAIE_LIV_UNITE']='K';
|
||
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
|
||
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<b> ','</b></td>');
|
||
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
|
||
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b> ','</b></td>');
|
||
$tabBilan['POSTES']=$tabPostes;
|
||
|
||
break;
|
||
case 'SS': // Bilans réels simplifiés
|
||
$tabBilan['TYPE_BILAN']='S';
|
||
//http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712250539227157&PAGE=ACTPASSS (déjà vue)
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESSS','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
sleep(1);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=IMMAMOSS','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
|
||
/** Lecture et découpage du bilan
|
||
**/
|
||
$body=strtoupper($this->body);
|
||
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([0-9]{3,3})(?:<\/font>|)<\/TD>/i', $body, $matches);
|
||
$tabP=$matches[1];
|
||
$tabPostes=array();
|
||
foreach ($tabP as $iPoste=>$poste) {
|
||
if ($poste<>'ZR') {
|
||
$poste=''.$poste;
|
||
$strTmp=str_replace("\n",'',@getTextInHtml($body, 'BGCOLOR="#E6EFFF"><FONT SIZE=-1>'.$poste, ' ','</TR>'));
|
||
$strTmp2=preg_replace('/bgcolor="#e6efff"><FONT SIZE=-1>(?:[0-9]{3,3})(?:<\/font>|)<\/TD>(.*)/i', '', $strTmp);
|
||
$tabTmp=explode(' ', $strTmp2);
|
||
for ($j=0; $j<3;$j++) {
|
||
if ($j==0) $indice='';
|
||
elseif ($j==1) $indice='a';
|
||
else $indice='b';
|
||
if (isset($tabTmp[$j])) {
|
||
$tabPostes[$poste.$indice]=trim(str_replace(' ', '',
|
||
str_replace('-->', '',
|
||
str_replace('&NBSP;', '',
|
||
strip_tags($tabTmp[$j])))));
|
||
if ($tabPostes[$poste.$indice]=='') unset($tabPostes[$poste.$indice]);
|
||
elseif (!is_numeric($tabPostes[$poste.$indice])) unset($tabPostes[$poste.$indice]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b> ', '<TRANSLATE COD=1756>','</TRANSLATE>');
|
||
//milliers d'Euros (KE)
|
||
$tabTmp=explode('(', $strTmp);
|
||
if ($tabTmp[1]=='KE)') {
|
||
$tabBilan['MONNAIE']='EUR';
|
||
$tabBilan['MONNAIE_ORI']='EUR';
|
||
$tabBilan['MONNAIE_LIV_UNITE']='K';
|
||
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
|
||
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>','<td align=center width=80><b>','</b></td>');
|
||
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b>','</b>');
|
||
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=1 width=80>', '<b> ','</b></td>');
|
||
$tabBilan['POSTES']=$tabPostes;
|
||
|
||
break;
|
||
case 'CC': // Bilans Consolidés
|
||
$tabBilan['TYPE_BILAN']='C';
|
||
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
sleep(1);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
|
||
/** Lecture et découpage du bilan
|
||
**/
|
||
$body=strtoupper($this->body);
|
||
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
|
||
$tabP=$matches[1];
|
||
$tabPostes=array();
|
||
foreach ($tabP as $iPoste=>$poste) {
|
||
if ($poste<>'ZR') {
|
||
$strTmp=str_replace("\n",'',@getTextInHtml($body, 'BGCOLOR="#E6EFFF"><FONT SIZE=-1>'.$poste, ' ','</TR>'));
|
||
$strTmp2=preg_replace('/bgcolor="#e6efff"><FONT SIZE=-1>(?:[A-Z0-9]{2,2})(?:<\/font>|)<\/TD>(.*)/i', '', $strTmp);
|
||
$tabTmp=explode(' ', $strTmp2);
|
||
for ($j=0; $j<3;$j++) {
|
||
if ($j==0) $indice='';
|
||
elseif ($j==1) $indice=1;
|
||
else $indice=2;
|
||
if (isset($tabTmp[$j])) {
|
||
$tabPostes[$poste.$indice]=trim(str_replace(' ', '',
|
||
str_replace('-->', '',
|
||
str_replace('&NBSP;', '',
|
||
strip_tags($tabTmp[$j])))));
|
||
if ($tabPostes[$poste.$indice]=='') unset($tabPostes[$poste.$indice]);
|
||
elseif (!is_numeric($tabPostes[$poste.$indice])) unset($tabPostes[$poste.$indice]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b> ', '<TRANSLATE COD=1756>','</TRANSLATE>');
|
||
//milliers d'Euros (KE)
|
||
$tabTmp=explode('(', $strTmp);
|
||
if ($tabTmp[1]=='KE)') {
|
||
$tabBilan['MONNAIE']='EUR';
|
||
$tabBilan['MONNAIE_ORI']='EUR';
|
||
$tabBilan['MONNAIE_LIV_UNITE']='K';
|
||
} else $this->logEuridileError('Devise INPI non gérée : '.$strTmp);
|
||
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
|
||
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
|
||
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b> ','</b></font></td>');
|
||
$tabBilan['POSTES']=$tabPostes;
|
||
|
||
break;
|
||
|
||
case 'SA': // Assurance
|
||
$tabBilan['TYPE_BILAN']='A';
|
||
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
|
||
/* $page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
sleep(1);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
|
||
/** Lecture et découpage du bilan
|
||
**
|
||
$body=strtoupper($this->body);
|
||
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
|
||
$tabP=$matches[1];*/
|
||
$tabPostes=array();/*
|
||
foreach ($tabP as $iPoste=>$poste) {
|
||
if ($poste<>'ZR') {
|
||
$strTmp=str_replace("\n",'',@getTextInHtml($body, 'BGCOLOR="#E6EFFF"><FONT SIZE=-1>'.$poste, ' ','</TR>'));
|
||
$strTmp2=preg_replace('/bgcolor="#e6efff"><FONT SIZE=-1>(?:[A-Z0-9]{2,2})(?:<\/font>|)<\/TD>(.*)/i', '', $strTmp);
|
||
$tabTmp=explode(' ', $strTmp2);
|
||
for ($j=0; $j<3;$j++) {
|
||
if ($j==0) $indice='';
|
||
elseif ($j==1) $indice=1;
|
||
else $indice=2;
|
||
if (isset($tabTmp[$j])) {
|
||
$tabPostes[$poste.$indice]=trim(str_replace(' ', '',
|
||
str_replace('-->', '',
|
||
str_replace('&NBSP;', '',
|
||
strip_tags($tabTmp[$j])))));
|
||
if ($tabPostes[$poste.$indice]=='') unset($tabPostes[$poste.$indice]);
|
||
elseif (!is_numeric($tabPostes[$poste.$indice])) unset($tabPostes[$poste.$indice]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b> ', '<TRANSLATE COD=1756>','</TRANSLATE>');
|
||
//milliers d'Euros (KE)
|
||
$tabTmp=explode('(', $strTmp);
|
||
if ($tabTmp[1]=='KE)') {
|
||
$tabBilan['MONNAIE']='EUR';
|
||
$tabBilan['MONNAIE_ORI']='EUR';
|
||
$tabBilan['MONNAIE_LIV_UNITE']='K';
|
||
} else die('Devise INPI non gérée : '.$strTmp);*/
|
||
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
|
||
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
|
||
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b> ','</b></font></td>');
|
||
$tabBilan['POSTES']=$tabPostes;
|
||
break;
|
||
|
||
case 'SB': // Banque
|
||
$tabBilan['TYPE_BILAN']='B';
|
||
// http://modules.euridile.inpi.fr/comptesAvecContexte.ow?MODUSRV1=2712304993629995&PAGE=ACTIFCC (déjà vue)
|
||
/* $page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=PASSIFCC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
sleep(1);
|
||
$page=getUrl($urlInpi.'/comptesAvecContexte.ow?MODUSRV1='.$modusrv1.'&PAGE=CPTRESCC','','',$this->referer, false);
|
||
$this->body.=$page['body'];
|
||
|
||
/** Lecture et découpage du bilan
|
||
**
|
||
$body=strtoupper($this->body);
|
||
preg_match_all('/bgcolor="#e6efff"><FONT SIZE=-1>([A-Z0-9]{2,2})(?:<\/font>|)<\/TD>/i', $body, $matches);
|
||
$tabP=$matches[1];*/
|
||
$tabPostes=array();/*
|
||
foreach ($tabP as $iPoste=>$poste) {
|
||
if ($poste<>'ZR') {
|
||
$strTmp=str_replace("\n",'',@getTextInHtml($body, 'BGCOLOR="#E6EFFF"><FONT SIZE=-1>'.$poste, ' ','</TR>'));
|
||
$strTmp2=preg_replace('/bgcolor="#e6efff"><FONT SIZE=-1>(?:[A-Z0-9]{2,2})(?:<\/font>|)<\/TD>(.*)/i', '', $strTmp);
|
||
$tabTmp=explode(' ', $strTmp2);
|
||
for ($j=0; $j<3;$j++) {
|
||
if ($j==0) $indice='';
|
||
elseif ($j==1) $indice=1;
|
||
else $indice=2;
|
||
if (isset($tabTmp[$j])) {
|
||
$tabPostes[$poste.$indice]=trim(str_replace(' ', '',
|
||
str_replace('-->', '',
|
||
str_replace('&NBSP;', '',
|
||
strip_tags($tabTmp[$j])))));
|
||
if ($tabPostes[$poste.$indice]=='') unset($tabPostes[$poste.$indice]);
|
||
elseif (!is_numeric($tabPostes[$poste.$indice])) unset($tabPostes[$poste.$indice]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$strTmp=@getTextInHtml($this->body, 'Montants exprimés en :<b> ', '<TRANSLATE COD=1756>','</TRANSLATE>');
|
||
//milliers d'Euros (KE)
|
||
$tabTmp=explode('(', $strTmp);
|
||
if ($tabTmp[1]=='KE)') {
|
||
$tabBilan['MONNAIE']='EUR';
|
||
$tabBilan['MONNAIE_ORI']='EUR';
|
||
$tabBilan['MONNAIE_LIV_UNITE']='K';
|
||
} else die('Devise INPI non gérée : '.$strTmp);*/
|
||
$tabBilan['DATE_CLOTURE_PRE']=@getTextInHtml($this->body, 'Exercices, clos le : </td>', '<td align=center width=100><FONT SIZE=-1><b>','</b><FONT></td>');
|
||
$tabBilan['DUREE_MOIS']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b>','</b>');
|
||
$tabBilan['DUREE_MOIS_PRE']=@getTextInHtml($this->body, 'Durée des exercices : </td><td align=center colspan=2 width=100>', '<b> ','</b></font></td>');
|
||
$tabBilan['POSTES']=$tabPostes;
|
||
break;
|
||
|
||
default:
|
||
return array();
|
||
break;
|
||
}
|
||
|
||
$this->curPage='bilan';
|
||
|
||
$fp=fopen('./euridile_bilan.log', 'w');
|
||
fwrite($fp,$this->body);
|
||
fclose($fp);
|
||
|
||
return $tabBilan;
|
||
}
|
||
|
||
function bilanSimplifie2Normal($bilanRS) {
|
||
$bilanRN=array();
|
||
foreach ($this->tabBS2BN as $posteRN => $formule) {
|
||
if (preg_match('/\+|\-/', $formule)) {
|
||
$tabTmp=preg_split('/\+|\-/', $formule, -1, PREG_SPLIT_OFFSET_CAPTURE);
|
||
//$bilanRN[$posteRN]=0;
|
||
$scalc='';
|
||
foreach ($tabTmp as $i=>$tab) {
|
||
if ($i==0) {
|
||
$bilanRN[$posteRN]=$bilanRS[$tab[0]];
|
||
$scalc.=$bilanRS[$tab[0]];
|
||
}
|
||
else {
|
||
$signe=$formule[$tab[1]-1];
|
||
$scalc.=$signe;
|
||
if ($signe=='+') $bilanRN[$posteRN]+=$bilanRS[$tab[0]];
|
||
elseif ($signe=='-') $bilanRN[$posteRN]-=$bilanRS[$tab[0]];
|
||
$scalc.=$bilanRS[$tab[0]];
|
||
}
|
||
}
|
||
$bilanRN[$posteRN]=$bilanRN[$posteRN]." (formule=$formule soit $scalc)";
|
||
}
|
||
else $bilanRN[$posteRN]=$bilanRS[$formule];
|
||
}
|
||
if ($bilanRS['240']<>0) {
|
||
$bilanRN['BL']=$bilanRS['050'];
|
||
$bilanRN['BM']=$bilanRS['052'];
|
||
} else {
|
||
$bilanRN['BN']=$bilanRS['050'];
|
||
$bilanRN['BO']=$bilanRS['052'];
|
||
}
|
||
|
||
if ($bilanRS['070']<>0 || $bilanRS['074']<>0 || $bilanRS['052']<>0 || $bilanRS['062']<>0)
|
||
$bilanRN['GC']=$bilanRS['256'];
|
||
elseif ($bilanRS['070']==0 && $bilanRS['074']==0 && $bilanRS['052']==0 && $bilanRS['062']==0 && $bilanRS['254']<>0)
|
||
$bilanRN['GD']=$bilanRS['256'];
|
||
|
||
if ($bilanRS['584']<>0) {
|
||
$bilanRN['HB']=$bilanRS['584'];
|
||
$bilanRN['HA']=$bilanRS['290']-$bilanRS['584'];
|
||
} else
|
||
$bilanRN['HA']=$bilanRS['290'];
|
||
|
||
if ($bilanRS['582']<>0) {
|
||
$bilanRN['HF']=$bilanRS['582'];
|
||
$bilanRN['HE']=$bilanRS['582']-$bilanRS['300'];
|
||
} else
|
||
$bilanRN['HE']=$bilanRS['300'];
|
||
|
||
return $bilanRN;
|
||
}
|
||
|
||
private function partSaveSession() {
|
||
$fp=fopen(REP_TEMP.'php_rncs_session.id', 'w');
|
||
fwrite($fp,$this->wrncsrv2.'^'.$this->timeOut.'^'.$this->curPage.'^'.$this->siren.'^'.$this->url.'^'.$this->referer);
|
||
fclose($fp);
|
||
}
|
||
|
||
private function partGetSession() {
|
||
$strTmp=@file_get_contents(REP_TEMP.'php_rncs_session.id');
|
||
if ($strTmp) {
|
||
$tabTmp=explode('^', $strTmp);
|
||
$this->wrncsrv2=$tabTmp[0];
|
||
$this->timeOut=$tabTmp[1];
|
||
$this->curPage=$tabTmp[2];
|
||
$this->siren=$tabTmp[3];
|
||
$this->url=$tabTmp[4];
|
||
$this->referer=$tabTmp[5];
|
||
} else $this->timeOut=0;
|
||
|
||
|
||
}
|
||
|
||
private function logEuridileError($message) {
|
||
$fp=fopen('./euridile_error.log', 'w');
|
||
fwrite($fp,date('Y/m/d H:i:s')." - Erreur : $message (".$this->wrncsrv2.'^'.$this->timeOut.'^'.$this->curPage.'^'.$this->siren.'^'.$this->url.'^'.$this->referer.')'.EOL);
|
||
fwrite($fp,$this->body.EOL.'-------------------------------------------------------------------------------------'.EOL);
|
||
fclose($fp);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
?>
|