response1=getUrl(SITE_INSEE,'','','',false,HOST_INSEE); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'SIRENET_Script/Accueil/script_page_accueil.asp',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_haut.asp?grille=siren&action=nouvelle', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_bas.asp?grille=siren&action=nouvelle', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/frame_interrogation.asp?ACTION=nouvelle&Niveau=siren',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_haut.asp?grille=siren&action=nouvelle', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle',false, HOST_INSEE); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_bas.asp?grille=siren&action=nouvelle', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle',false, HOST_INSEE); //sleep(1); } /** * Récupère les informations relatives à un établissement et son entreprise (par défaut le siège si pas de NIC) * * @param unknown_type $sirenLu * @param unknown_type $nicLu */ function getInfoEtab($sirenLu, $nicLu='') //if ($argv[1]=='id' || $argv[1]=='pj') { $tabRet=array(); /** Paramètre de requête "option" à l'insee : ** 1: Fiche du siège + Données entreprises ** 2: Tous les établissements de l'entreprise ** 3: Un établissement particulier ** 4: Département **/ if ($nicLu<>'') $option=3; else $option=1; // Requête d'interrogation $postData=array('siren'=>$sirenLu, 'option'=>$option, 'nic'=>$nicLu, 'dep'=>'', 'listeDep'=>''); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', $this->response1["header"]["Set-Cookie"], $postData, SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle',false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action=nouveau', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false',false,HOST_INSEE); if ($responseQ['code']==302) { //$libelleErreur='Erreur INSEE inconnue 1'; // Siren Invalide ou autre erreur non répertoriée ! $header=$responseQ['header']; if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur') { $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false',false,HOST_INSEE); $responseErreur=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Erreur_principal.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur',false,HOST_INSEE); $pos=strpos($responseErreur['body'], ''); if ($pos>0){ $posFin=strpos($responseErreur['body'], '', $pos+60); $libelleErreur=trim(substr($responseErreur['body'], $pos+60, $posFin-($pos+60))); } else $tabRet['erreur']='Erreur INSEE inconnue'; } else { if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege') // L'établissement demandé est un siège ! $option=1; if ($option==3) { // On déroule les URLs d'appels établissement $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false',false,HOST_INSEE); //sleep(1); // Frames réponse niveau Etab $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE); $responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=etablissement', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=etablissement', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement',false,HOST_INSEE); $responseEtab=$responseEtab['body']; // On recherche si on est bien sur un fiche établissement $pos=strpos($responseEtab, '
Fiche Etablissement'); if ($pos<1) $tabRet['erreur']='Erreur SCRIPT Fiche Etablissement non trouvée'; $responseSiege=$responseEtab; } else { // On déroule les URLs d'appels Sièges $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false',false,HOST_INSEE); //sleep(1); // Frames réponse niveau sièges $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE); $responseSiege=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege',false,HOST_INSEE); $responseSiege=$responseSiege['body'];//strip_tags(html_entity_decode(), ''); // On recherche si on est bien sur un fiche siège $pos=strpos($responseSiege, '
Fiche siège'); if ($pos<1) $tabRet['erreur']='Erreur SCRIPT Fiche Siège non trouvée'; } // Niveau entreprise $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=entreprise',false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail',false,HOST_INSEE); $responseEntreprise=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=entreprise', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail', false,HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=entreprise', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail',false,HOST_INSEE); $responseEntreprise=$responseEntreprise['body']; $pos=strpos($responseEntreprise, '', $pos+60); $libelleErreur=trim(substr($responseErreur['body'], $pos+60, $posFin-($pos+60))); } else $libelleErreur='Erreur INSEE inconnue'; } // On déroule les URLs d'appels liste des établissements $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE); //sleep(1); // Frames réponse niveau Etab $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE); $responseListe=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Liste_bas.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', false, HOST_INSEE); $responseListe=$responseListe['body']; $pos=strpos($responseListe, 'Nombre total de réponses : '."\r\n\t\t\t".''); if ($pos>0) { $posFin=strpos($responseListe, '', $pos+73); $nbRepTot=trim(substr($responseListe, $pos+73, $posFin-($pos+73))); } $pos=strpos($responseListe, ' - Affichage de la page '."\r\n\t\t\t".''); if ($pos>0) { $posFin=strpos($responseListe, ' - ', $pos+75); $strPages=trim(substr($responseListe, $pos+75, $posFin-($pos+75))); $tabPages=explode(' / ', $strPages); $pageCour=$tabPages[0]; $nbTotPage=$tabPages[1]; } $pos=strpos($responseListe, ' - '."\r\n\t\t\t".''); if ($pos>0) { $posFin=strpos($responseListe, '', $pos+60); $nbRepParPage=trim(substr($responseListe, $pos+60, $posFin-($pos+60))); } /* TODO = Récupérer les infos étab + entrep pour chaque ligne du tableau !!!* */ if ($libelleErreur=='Erreur SCRIPT Inconnue') $libelleErreur=''; for ($i=1;$i<11; $i++) { if ($numEtab==$nbRepTot) break; // Il n'y a pas plus d'établissement à récupérer ! On sort... $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action=detail&numtableau='.$i, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp', false, HOST_INSEE); if ($responseQ['code']==302) { // Siren Invalide ou autre erreur non répertoriée ! $header=$responseQ['header']; if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i) { // On déroule les URLs d'appels fiche siège $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege&numtableau='.$i, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE); //sleep(1); // Frames réponse niveau Etab $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', false, HOST_INSEE); $responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i, false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i, false, HOST_INSEE); $responseEtab=$responseEtab['body']; // Récupération de la fiche entreprise INSEE $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege&numtableau='.$i.'&origine=liste', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE); $responseEntreprise=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=entreprise&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=entreprise&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, false, HOST_INSEE); $responseEntreprise=$responseEntreprise['body']; } elseif (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i) { // On déroule les URLs d'appels établissement $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement&numtableau='.$i, $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE); //sleep(1); // Frames réponse niveau Etab $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', false, HOST_INSEE); $responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=etablissement&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i, false, HOST_INSEE); $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=etablissement&numtableau='.$i.'&origine=liste', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i, false, HOST_INSEE); $responseEtab=$responseEtab['body']; } $tabRet['etablissements'][$numEtab]=$this->getDataEtablissement($responseEtab); $tabRet['entreprise']=$this->getDataEntreprise($responseEntreprise); if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu; else $siret=$tabInfoEtab['siret']; /*$str= date('d/m/Y à H:i:s') .';'. $libelleErreur .';'. // Siège $siret .';'. $tabInfoEtab['active'] .';'. $tabInfoEtab['dateAbsActivite'] .';'. $tabInfoEtab['typeEtablissement'] .';'. $tabInfoEtab['dateMAJ'] .';'. $tabInfoEtab['dateCreation'] .';'. $tabInfoEtab['raisonSociale'] .';'. $tabInfoEtab['Enseigne'] .';'. $tabInfoEtab['NafCode'] .';'. $tabInfoEtab['NafLib'] .';'. $tabInfoEtab['AdresseLigne1'] .';'. $tabInfoEtab['AdresseLigne2'] .';'. $tabInfoEtab['AdresseLigne3'] .';'. $tabInfoEtab['etatJuridique'] .';'. $tabInfoEtab['dateEtatJuridique'] .';'. // Entreprise $tabInfoEntrep['dateCreationEntrep'] .';'. $tabInfoEntrep['raisonSocialeEntrep'] .';'. $tabInfoEntrep['sigle'] .';'. $tabInfoEntrep['NafCodeEntrep'] .';'. $tabInfoEntrep['NafLibEntrep'] .';'. $tabInfoEntrep['FJCodeEntrep'] .';'. $tabInfoEntrep['FJLibEntrep'] .';'. $tabInfoEntrep['nbEtabActifs'] .';'; */ //fwrite($fpOUT, $str."\r\n"); $numEtab++; $num=$key+1; $typeEtablissement=$tabInfoEtab['typeEtablissement']; //echo "Question $num/$nbLignes : Demande=$sirenLu$nicLu Etablissement $numEtab/$nbRepTot $typeEtablissement=$siret $libelleErreur\r\n"; flush(); sleep(1); }//end for }//end if if ($pageCour==$nbTotPage) { // On sort de la boucle de passage à la page de liste suivante car il n'y a plus d'autres pages break; } else { $action='listeplus'; $referer=SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp'; } } } //Fin While return $tabRet; } private function getDataEtablissement($pageHtml) { global $libelleErreur; $responseSiege=$pageHtml; $tabRet=array(); // On recherche si on est sur un établissement siège ou secondaire $pos=strpos($pageHtml, '
Fiche Entreprise'); if ($pos<1) { $tabRet['erreur']='Erreur SCRIPT Fiche Entreprise non trouvée'; } /** Recherche des données établissement **/ $tabRet['etablissement']=$this->getDataEtablissement($responseSiege); /** Recherche des données entreprise **/ $tabRet['entreprise']=$this->getDataEntreprise($responseEntreprise); return $tabRet; } } } /** * Récupère la liste de tous les établissements d'une entreprise * * @param unknown_type $sirenLu */ function getListeEtabs($sirenLu) { // Requête d'interrogation $postData=array('siren'=>$sirenLu, 'option'=>2, 'nic'=>'', 'dep'=>'', 'listeDep'=>''); $response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', $this->response1["header"]["Set-Cookie"], $postData, SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle', false, HOST_INSEE); $action='nouveau'; $referer=SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false'; $nbRepTot=$pageCour=$nbTotPage=$nbRepParPage=$numEtab=0; $tabInfoEtab=array(); $tabRet=array(); while(true) { $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action='.$action, $this->response1["header"]["Set-Cookie"], '', $referer, false, HOST_INSEE); if ($responseQ['code']==302) { //$libelleErreur='Erreur INSEE inconnue 1'; // Siren Invalide ou autre erreur non répertoriée ! $header=$responseQ['header']; if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur') { $responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false', false, HOST_INSEE); $responseErreur=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Erreur_principal.asp', $this->response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur', false, HOST_INSEE); $pos=strpos($responseErreur['body'], ''); if ($pos>0){ $posFin=strpos($responseErreur['body'], '
Fiche Etablissement'); if ($pos>0) $tabRet['typeEtablissement']='secondaire'; $pos=strpos($pageHtml, '
Fiche siège'); if ($pos>0) $tabRet['typeEtablissement']='siège'; // Recherche Dernière MAJ / Activité $pos=strpos($responseSiege, '(dernière mise à jour :'); if ($pos>0) { $tabRet['dateMAJ']=substr($responseSiege, $pos+51, 10); $tabRet['dateAbsActivite']=''; $tabRet['active']='O'; } else { $tabRet['active']='N'; $tabRet['dateMAJ']=''; $pos=strpos($responseSiege, 'Absence d\'activité notée le : '); if ($pos>0) $tabRet['dateAbsActivite']=substr($responseSiege, $pos+78, 10); else { $pos=strpos($responseSiege, 'Absence d\'activité'); if ($pos>0) $tabRet['dateAbsActivite']=''; } } $pos=strpos($responseSiege, ' size="-1"> n° SIRET :'); $tabRet['siret']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+97, 32))); $pos=strpos($responseSiege, 'size="-1"> Date de création :'); if ($pos>0) { $posFin=strpos($responseSiege, '', $pos+109); $tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109)))); } else $tabRet['dateCreation']=''; $pos=strpos($responseSiege, ' size="-1"> Raison sociale et Enseigne :'); $len=127; if ($pos==0){ $pos=strpos($responseSiege, ' size="-1"> Raison sociale et Enseigne :'); $len=122; if ($pos==0){ $pos=strpos($responseSiege, ' size="-1"> Raison sociale et Enseigne :'); $len=126; $libelleErreur='Informations INSEE non diffusables'; } } if ($libelleErreur=='') { //LARGE*DOMINIQUE MICHEL/
GERANT SARL BIMAGIQUE  
$posFin=strpos($responseSiege, '', $pos+$len); $raisonSocialeStr=trim(substr($responseSiege, $pos+$len, $posFin-($pos+$len))); $raisonSocialeTabLigne=explode('
', $raisonSocialeStr); $tabRet['raisonSociale']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0]))); $tabRet['Enseigne']=trim(str_replace(' ', '', html_entity_decode(@$raisonSocialeTabLigne[1]))); $pos=strpos($responseSiege, ' size="-1"> Activité principale :
'); $tabRet['NafCode']=substr($responseSiege, $pos+120, 4); $tabRet['NafLib']=trim(substr($responseSiege, $pos+137, 70)); $pos=strpos($responseSiege, ' size="-1"> Adresse :'); $posFin=strpos($responseSiege, '', $pos+103); $AdresseStr=substr($responseSiege, $pos+103, $posFin-($pos+103)); $AdresseTabLigne=explode('
', $AdresseStr);//' $tabRet['AdresseLigne1']=str_replace(' ', '/', $AdresseTabLigne[0]); $tabRet['AdresseLigne2']=str_replace(' ', '/', $AdresseTabLigne[1]); $tabRet['AdresseLigne3']=str_replace(' ', '/', $AdresseTabLigne[2]); /* $AdresseNum=$AdresseTabLigne1[0]; $AdresseVoi=$AdresseTabLigne1[1]; $AdresseRue=$AdresseTabLigne1[2]; $AdresseCP=$AdresseTabLigne2[0]; $AdresseVille=$AdresseTabLigne2[1]; */ $pos=strpos($responseSiege, 'L\'entreprise est connue au répertoire comme '); if ($pos>0) { $posFin=strpos($responseSiege, '', $pos+106); $tabRet['etatJuridique']=html_entity_decode(substr($responseSiege, $pos+106, $posFin-($pos+106))); $tabRet['dateEtatJuridique']=''; } else { $pos=strpos($responseSiege, 'L\'entreprise est cessée le : '); $tabRet['dateEtatJuridique']=substr($responseSiege, $pos+86, 10); $tabRet['etatJuridique']='cessée'; } //echo 'GetDataEtab="'.$libelleErreur."\"\r\n"; return $tabRet; } } private function getDataEntreprise($pageHtml) { global $libelleErreur; $responseEntreprise=$pageHtml; $tabRet=array(); if ($libelleErreur=='') { $pos=strpos($responseEntreprise, 'size="-1"> Date de création :
'); if ($pos>0) $tabRet['dateCreationEntrep']=substr($responseEntreprise, $pos+109, 10); else $tabRet['$dateCreationEntrep']=''; // Raison sociale et Sigle $pos=strpos($responseEntreprise, ' size="-1"> Raison sociale et Sigle :'); $posFin=strpos($responseEntreprise, '', $pos+123); $raisonSocialeStr=trim(substr($responseEntreprise, $pos+123, $posFin-($pos+123))); $raisonSocialeTabLigne=explode('
', $raisonSocialeStr); $tabRet['raisonSocialeEntrep']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0]))); $tabRet['sigle']=trim(str_replace(' ', '', html_entity_decode(@$raisonSocialeTabLigne[1]))); // Activité prinicpale Entrep $pos=strpos($responseEntreprise, ' size="-1"> Activité principale :
'); $tabRet['NafCodeEntrep']=substr($responseEntreprise, $pos+120, 4); $tabRet['NafLibEntrep']=trim(substr($responseEntreprise, $pos+137, 70)); // Forme Juridique $pos=strpos($responseEntreprise, ' size="-1"> Forme juridique :'); $tabRet['FJCodeEntrep']=substr($responseEntreprise, $pos+116, 4); $tabRet['FJLibEntrep']=trim(substr($responseEntreprise, $pos+133, 70)); // Nb Etab Actifs $tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(@getTextInHtml($responseEntreprise, 'Nb établissements actifs :', '', '')))); } return $tabRet; } } ?>