accesDistant=$accesDistant; $this->accesDistant=false; // Accès bloqué par "pagespro" if ($this->accesDistant) { $this->url=$this->urlBase; $page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3); $this->referer=$this->url; $this->cookie=$page['header']['Set-Cookie']; $this->body=$page['body']; $this->codeRetour=$page['code']; } $this->iDb=new WDB('jo'); } /** * @todo : * 1. Faire une fonction qui récupère les Logos * 2. Envoyer les logos par le WS * 3. Permettre la recherche par Tel */ public function getTel($siret, $nic=0) { $tabRet=array(); if (strlen($siret)>9) { $nic=substr($siret,-5)*1; $siren=round($siret/100000)*1; } else $siren=$siret*1; if (strlen($siren)<=9) { /** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/ switch (strlen($siren)) { case 1: $siren='00000000'.$siren; break; case 2: $siren='0000000'.$siren; break; case 3: $siren='000000'.$siren; break; case 4: $siren='00000'.$siren; break; case 5: $siren='0000'.$siren; break; case 6: $siren='000'.$siren; break; case 7: $siren='00'.$siren; break; case 8: $siren='0'.$siren; break; } } if (strlen($nic)>0) { switch (strlen($nic)) { case 1: $nic='0000'.$nic; break; case 2: $nic='000'.$nic; break; case 3: $nic='00'.$nic; break; case 4: $nic='0'.$nic; break; } } $strNic=''; if ($nic*1>0) $strNic="AND (nic=$nic OR nic=0)"; $ret=$this->iDb->select('telephonie', 'siren,nic,dateProvPartenaire,typeTel,infoTel,telephone,actif,partenaire,dateInsert', "siren=$siren $strNic", false, MYSQL_ASSOC); if (count($ret)>0) { $this->enCache=true; foreach ($ret as $tabTel) { if ($tabTel['typeTel']=='an8' && $tabTel['infoTel']*1>0) { $an8=$tabTel['infoTel']*1; $retTmp=$this->iDb->select('tabAn8', 'libAn8', "codAn8='$an8'", false, MYSQL_ASSOC); $infoTel=ucfirst(strtolower($retTmp[0]['libAn8'])); } else $infoTel=$tabTel['infoTel']; $tabRet[]=array('siren'=>$siren, 'nic'=>$tabTel['nic'], 'typeTel'=>$tabTel['typeTel'], 'infoTel'=>$infoTel, 'telephone'=>$tabTel['telephone'], 'actif'=>$tabTel['actif'], ); } //sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMTel::getTel($siret,$nic)", print_r($tabRet,true)); } elseif ($this->accesDistant) { $this->enCache=false; $tabPost=array( 'p_ACTION'=>'', 'p_ORDRE'=>'AfficheRes', 'a_PAGE'=>'1', 'a_TAG'=>'', 'a_OccRecherche'=>'', 'typeRecherche'=>'express', 'satellite'=>'siret', 'a_activ'=>'', 'a_rai_soc'=>'', 'a_naf'=>'', 'a_siren'=>$siret, 'a_tel'=>'', 'a_geo'=>'', 'typeTri'=>'', 'ordreTri'=>'', 'a_session'=>'', ); //$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3); $page=getUrl($this->url,$this->cookie,$tabPost,$this->referer,false,'','',3); $this->referer=$this->url; $this->body=$page['body']; $this->codeRetour=$page['code']; $nbResults=0; if (preg_match('/(.*)réponses<\/b>/Uis', $this->body, $matches)) $nbResults=trim(strtr(strip_tags($matches[1]), array(' '=>'','–'=>''))); if ($nbResults>0) { $tabResultsHtml=explode('
', $this->body); for ($i=1; isset($tabResultsHtml[$i]);$i++) { $res=$tabTel=array(); $body=$tabResultsHtml[$i]; $res['nom']=trim(htm2txt(@getTextInHtml($body, '
', '_title">', '
'))); $res['adresse']=trim(htm2txt(@getTextInHtml($body, '
','
','Site Web : ', "javascript:SiteURL('", "','"))); $res['urlMail']=trim(htm2txt(@getTextInHtml($body, 'E-mail :', "&mail=", "', "))); $res['urlLogo']=trim(htm2txt(@getTextInHtml($body, ''))); $res['tefet']=trim(htm2txt(@getTextInHtml($body, 'Effectif établ : ','',''))); $res['siret']=trim(htm2txt(@getTextInHtml($body, 'Siret : ','',''))); $res['nafet']=trim(htm2txt(strip_tags(@getTextInHtml($body, 'Code NAF : ','','')))); $res['domaines']=trim(preg_replace('/ +/', ' ', preg_replace('/\r+|\n+|\s+/',' ',htm2txt(strip_tags(@getTextInHtml($body, '
','','
')))))); if ($res['urlSite']<>'') { $this->iDb->insert('telephonie', array( 'siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'dateProvPartenaire'=>date('Ymd'), 'typeTel'=>'web', 'infoTel'=>$res['urlSite'], 'telephone'=>0, 'actif'=>1, 'partenaire'=>253, ) ); $tabRet[]=array('siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'typeTel'=>'web', 'infoTel'=>$res['urlSite'], 'telephone'=>0, ); } if ($res['urlLogo']<>'') { $this->iDb->insert('telephonie', array( 'siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'dateProvPartenaire'=>date('Ymd'), 'typeTel'=>'logo', 'infoTel'=>$res['urlLogo'], 'telephone'=>0, 'actif'=>1, 'partenaire'=>253, ) ); $tabRet[]=array('siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'typeTel'=>'logo', 'infoTel'=>$res['urlLogo'], 'telephone'=>0, ); } if ($res['domaines']<>'') { $this->iDb->insert('telephonie', array( 'siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'dateProvPartenaire'=>date('Ymd'), 'typeTel'=>'domaines', 'infoTel'=>$res['domaines'], 'telephone'=>0, 'actif'=>1, 'partenaire'=>253, ) ); $tabRet[]=array('siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'typeTel'=>'domaines', 'infoTel'=>$res['domaines'], 'telephone'=>0, ); } if ($res['urlMail']<>'') { $this->iDb->insert('telephonie', array( 'siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'dateProvPartenaire'=>date('Ymd'), 'typeTel'=>'mail', 'infoTel'=>$res['urlMail'], 'telephone'=>0, 'actif'=>1, 'partenaire'=>253, ) ); $tabRet[]=array('siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'typeTel'=>'mail', 'infoTel'=>$res['urlMail'], 'telephone'=>0, ); } if (preg_match_all('/(?:.*)
(?:.*)(.*)(tél|fax)(?:.*)<\/span>(?:.*)<\/th>(?:.*)(?:.*)(.*)<\/span>(?:.*)<\/td>(?:.*)<\/tr>/Uis', $body, $matches)) { foreach ($matches[2] as $j=>$tmp) { $lib=$tmp; $precis=trim(strtr($matches[1][$j], array('-'=>' '))); $num=trim(strtr($matches[3][$j],array(' '=>'','
'=>''))); $tabTel["$lib-$num"]=array('telFax'=>$lib,'type'=>$precis, 'telNum'=>$num); } $tabTel=array_values($tabTel); foreach ($tabTel as $tabT) { $tabRet[]=array('siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'typeTel'=>trimAccent($tabT['telFax']), 'infoTel'=>$tabT['type'], 'telephone'=>$tabT['telNum'], 'actif'=>1, ); $this->iDb->insert('telephonie', array( 'siren'=>$siren, 'nic'=>substr($res['siret'],-5), 'dateProvPartenaire'=>date('Ymd'), 'typeTel'=>trimAccent($tabT['telFax']), 'infoTel'=>$tabT['type'], 'telephone'=>$tabT['telNum'], 'actif'=>1, 'partenaire'=>253, ) ); } } } } /*else { //http://www.annuaire.com/uploads/504/284/504284159/logo.jpg //http://www.annuaire.com/email/491314266/ $url="http://www.annuaire.com/societe/-$siren/"; //$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3); $page=getUrl($url,'','','',false,'','',3); if ($page['code']<>301) return false; $url2=$page['header']['Location']; $page=getUrl($url2,'','',$url,false,'','',3); if (!preg_match('/