getRequest(); $this->siret = $request->getParam('siret'); $this->id = $request->getParam('id', 0); require_once 'Scores/WsScores.php'; require_once 'Scores/SessionEntreprise.php'; require_once 'Scores/IdentiteEntreprise.php'; require_once 'common/dates.php'; $this->view->headLink()->appendStylesheet('/themes/default/styles/identite.css', 'all'); } public function preDispatch() { switch($this->getRequest()->getActionName()) { case 'fiche': case 'fichepc': if (intval($this->siret)==0 && $this->id==0){ $this->_forward('params', 'error'); } break; } } /** * Renvoi vers la fiche */ public function indexAction() { $this->_forward('index', 'index'); } /** * Affichage de la fiche identité */ public function ficheAction() { $this->view->headScript()->appendFile('/themes/default/scripts/identite.js', 'text/javascript'); $session = new Zend_Session_Namespace('Historique'); //Modification du titre if(empty($this->siret)){ $titre = 'Identifiant '.$this->id; } else { $titre = 'Siret '.$this->siret; } $this->view->headTitle()->append('Identité - '.$titre); $user = new Scores_Utilisateur(); $autrePage = $this->getRequest()->getParam('apage'); //Récupération des informations if (empty($autrePage)) { $ws = new WsScores(); $infos = $ws->getIdentite($this->siret, $this->id); if ($infos === false) $this->_forward('soap', 'error'); } else { $infos = $this->getRequest()->getParam('infos'); } //Mise en session $session = new SessionEntreprise($this->siret, $this->id, true); $session->setInfoEntrep($infos); //Date de dernière mise à jour $tabDate = array( 'DateMajINSEE' => "Insee         : ", 'DateMajRCS' => "RCS           : ", 'DateMajBILAN' => "Bilans        : ", 'DateMajANN' => "Annonces : ", ); $datemajTexte = ''; foreach ( $tabDate as $dateId => $dateLib ) { if (isset($infos->{$dateId}) && !empty($infos->{$dateId}) && $infos->{$dateId}!='0000-00-00') { $datemajTexte.= $dateLib; $datemajTexte.= WDate::dateT('Y-m-d', 'd/m/Y', $infos->{$dateId}); $datemajTexte.= '
'; } } $dateDerMaj = ''; if (isset($infos->DateMajID) && !empty($infos->DateMajID) && $infos->DateMajID!='0000-00-00' && $infos->DateMajID!='0--' ){ if ( $user->checkModeEdition() ){ $datemajTexte.= "Scores & Décisions : "; $datemajTexte.= WDate::dateT('Y-m-d', 'd/m/Y', $infos->DateMajID); $datemajTexte.= '
'; } $dateDerMaj = ' le '.WDate::dateT('Y-m-d', 'd/m/Y', $infos->DateMajID); } $identite = new IdentiteEntreprise($infos); //Définition des blocks $blocks = array( 'Siret', 'SiretSiege', 'TvaNumero', 'Isin', 'Capitalisation', 'NumRC', 'AutreId', 'Actif', 'SituationJuridique', 'AutreSiren', 'RaisonSociale', 'NomCommercial', 'EnseigneSigle', 'FormeJuridique', 'DateImmat', 'DateCreaEn', 'DateCreaEt', 'Adresse', 'Zones', 'Tel', 'Fax', 'Web', 'Mail', 'ActiviteEn', 'ActiviteEt', 'Naf4', 'Nace', 'NatureActivite', 'SurfaceMagasin', 'OrigineFond', 'TypeExploitation', 'Saisonnalite', 'NbEtabActif', 'Capital', 'ChiffreAffaire', 'Dirigeants', 'Effectif', 'EffectifEtab' ); $dBlock = $identite->formatBlock($blocks); require_once 'Scores/Logo.php'; $logo = new Logo($infos->Siren, $infos->Isin); $logoImg = array( 'label' => 'Logo', 'texte' => $logo->affiche(), ); $this->view->assign('exportObjet', $infos); $this->view->assign('dBlock', $dBlock); $this->view->assign('logo', $logoImg); $this->view->assign('dateDerMaj', $dateDerMaj); $this->view->assign('datemajTexte', $datemajTexte); $this->view->assign('raisonSociale', $session->getRaisonSociale()); $this->view->assign('infos', $infos); $this->view->assign('siret', $infos->Siret); $survDroits = array('survannonce', 'survinsee', 'survbilan', 'survscore', 'survactes', 'survdirigeants', 'survpriv'); $countSurvDroits = 0; foreach ( $survDroits as $item ) { if ($user->checkPerm($item)) $countSurvDroits++; } $this->view->assign('surveillance', $countSurvDroits); $this->view->assign('AutrePage', $this->getRequest()->getParam('apage')); } /** * Affichage de la fiche procédure collective * Enter description here ... */ public function fichepcAction() { $this->view->headScript()->appendFile('/themes/default/scripts/identite.js', 'text/javascript'); //Vérification des permission $user = new Scores_Utilisateur(); if(!$user->checkPerm('idprocol')){ $this->_forward('perms', 'error'); } $siren = substr($this->siret,0,9); //Modification du titre if(empty($this->siret)){ $titre = 'Identifiant '.$this->id; } else { $titre = 'Siret '.$this->siret; } $this->view->headTitle()->append('Fiche procédure collective - '.$titre); //Récupération des informations $ws = new WsScores(); $infos = $ws->getIdentiteProcol($this->siret, $this->id); if ($infos === false) $this->_forward('soap', 'error'); //Mise en session $session = new SessionEntreprise($this->siret, $this->id); $session->setInfoEntrep($infos->Identite); //Element Fiche identite $identite = new IdentiteEntreprise($infos->Identite); //Définition des blocks $blocks = array( 'Siret', 'SiretSiege', 'TvaNumero', 'Isin', 'Capitalisation', 'NumRC', 'AutreId', 'Actif', 'SituationJuridique', 'AutreSiren', 'RaisonSociale', 'EnseigneSigle', 'FormeJuridique', 'DateImmat', 'DateCreaEn', 'DateCreaEt', 'Adresse', 'Zones', 'Tel', 'Fax', 'Web', 'Mail', 'ActiviteEt', 'ActiviteEn', 'Naf4', 'Nace', 'NatureActivite', 'OrigineFond', 'TypeExploitation', 'Saisonnalite', 'NbEtabActif', 'Capital', 'ChiffreAffaire', 'Dirigeants', 'Effectif', 'EffectifEtab' ); $dBlock = array(); foreach ($blocks as $item) { $display = array( 'label' => method_exists($identite, 'get'.$item.'Label') ? $identite->{'get'.$item.'Label'}() : '', 'texte' => method_exists($identite, 'get'.$item.'Texte') ? $identite->{'get'.$item.'Texte'}() : '', 'titre' => method_exists($identite, 'get'.$item.'Titre') ? $identite->{'get'.$item.'Titre'}() : '', ); $dBlock[$item] = $display; } require_once 'Scores/Logo.php'; $logo = new Logo($infos->Siren, $infos->Isin); $logoImg = array( 'label' => 'Logo', 'texte' => $logo->affiche(), ); $Identite = new stdClass(); $Identite->siret = $this->siret; $Identite->dBlock = $dBlock; $Identite->logo = $logo; $Identite->AutrePage = 'fichepc'; $this->view->assign('Identite', $Identite); //Element Fiche procédure collective require_once 'Scores/IdentiteProcol.php'; $procol = new IdentiteProcol($infos); $blocks = array( 'CessionOffreDate', 'CessionInvenDate', 'CessionDesc', ); $dBlock = array(); foreach ($blocks as $item) { $display = array( 'label' => method_exists($procol, 'get'.$item.'Label') ? $procol->{'get'.$item.'Label'}() : '', 'texte' => method_exists($procol, 'get'.$item.'Texte') ? $procol->{'get'.$item.'Texte'}() : '', 'titre' => method_exists($procol, 'get'.$item.'Titre') ? $procol->{'get'.$item.'Titre'}() : '', ); $dBlock[$item] = $display; } $this->view->assign('dBlock', $dBlock); $this->view->assign('infosProcol', $procol); $this->view->assign('exportObjet', $infos); $this->view->assign('infos', $infos); $this->view->assign('siret', $this->siret); $this->view->assign('raisonSociale', $session->getRaisonSociale()); $this->view->assign('fj', $session->getFormeJuridique()); } /** * Affichage de la liste des établissements */ public function etablissementsAction() { $siren = substr($this->siret,0,9); $actif = $this->getRequest()->getParam('actif', -1); $this->view->headTitle()->append('Liste des établissements - Siren '.$siren); $session = new SessionEntreprise($this->siret, $this->id); $user = new Scores_Utilisateur(); $ws = new WsScores(); $infos = $ws->getListeEtablissements($siren, $actif); if ($infos === false) $this->_forward('soap', 'error'); $etabs = $infos->result->item; $this->view->assign('actif', $actif); $nbEtabActif = 0; $nbEtabRadie = 0; if (count($etabs)>0) { foreach ($etabs as $i => $etab) { if ($etab->Actif==1){ $nbEtabActif++; } else { $nbEtabRadie++; } } } $this->view->assign('nbEtabActif', $nbEtabActif); $this->view->assign('nbEtabRadie', $nbEtabRadie); $this->view->assign('siren', $siren); $this->view->assign('siret', $this->siret); $this->view->assign('id', $this->id); $this->view->assign('raisonSociale', $session->getRaisonSociale()); $this->view->assign('etabs', $etabs); $this->view->assign('exportObjet', $etabs); // Permet de verifier si la personne a la preference d'affichage des cartes. $this->view->assign('hasPrefCarte', $user->checkPref('cartes')); $this->view->assign('listeEtablissement', $infos); } /** * Affichage des établissements sur une carte (Google Maps) */ public function carteAction() { $siren = substr($this->siret,0,9); $actif = $this->getRequest()->getParam('actif', -1); $session = new SessionEntreprise($this->siret, $this->id); $user = new Scores_Utilisateur(); $ws = new WsScores(); $infos = $ws->getListeEtablissements($siren, $actif); if ($infos === false) $this->_forward('soap', 'error'); $etabs = $infos->result->item; $marqueurs = array(); $j = 0; foreach ($etabs as $i => $etab) { if ($etab->Siege == 1) { $type = 'Siège '; } else { $type = 'Etablissement '; } if ($etab->Actif == 1) { $type .= 'actif'; } else { $type .= 'inactif'; } $type .= ' - '.$etab->NafEtabLib; $titre = "$siren ".$etab->Nic." : $type
"; if ($etab->Enseigne <> '') { $titre .= 'Enseigne : '.$etab->Enseigne.'
'; } $texte = ''; $texte .= 'Etablissement : '.$etab->Nic.'
'; $texte .= $etab->Adresse.'
'; $adresse = $etab->Adresse.' '; if ($etab->Adresse2 <> '') { $texte .= $etab->Adresse2.'
'; if (strlen(trim($adresse)) < 7) { $adresse = $etab->Adresse2.' '; } } $texte.=''.$etab->CP.' '.$etab->Ville.'
'; require_once 'Scores/classMMap.php'; $mmap = new MMap($adresse, $etab->CP, $etab->Ville); if ($mmap->latitudeDec == '') { continue; } $photo = 'http://cbk0.google.com/cbk?output=thumbnail&w=150&h=69&ll='. $mmap->latitudeDec.','. $mmap->longitudeDec; $adresse .= $etab->CP.' '.$etab->Ville; $google_map = 'http://maps.google.fr/maps?q='.urlencode($adresse); $texte .= ''; if ($mmap->precision >= 7 && @fopen($photo, 'r') != false) { $texte .= ''; } else { $texte .= 'Afficher l\'adresse sur Google Map ©'; } $texte .= ''; $texte .= '
'; $texte .= ''.$etab->NafEtab.' : '.$etab->NafEtabLib.''; $icone = 'http://'.$_SERVER['SERVER_NAME'].'/themes/default/images/maps/'.$this->iconeDuMarqueur($etab->NafEtab, $etab->Siege, $etab->Actif); $marqueurs[$j] = array($mmap->latitudeDec, $mmap->longitudeDec, $titre, $texte, $type, $icone); ++$j; // if ($j >= 30) { // Limitation du nombre d'etablissements sur la carte // break; // } } if (count($marqueurs) > 1) { $min_x = $max_x = $marqueurs[0][0]; $min_y = $max_y = $marqueurs[0][1]; for ($i = 1; $i < count($marqueurs); ++$i) { $min_x = min($min_x, $marqueurs[$i][0]); $max_x = max($max_x, $marqueurs[$i][0]); $min_y = min($min_y, $marqueurs[$i][1]); $max_y = max($max_y, $marqueurs[$i][1]); } } $this->view->assign('marqueurs', $marqueurs); $this->view->assign('min_x', $min_x); $this->view->assign('max_x', $max_x); $this->view->assign('min_y', $min_y); $this->view->assign('max_y', $max_y); } protected function iconeDuMarqueur($naf, $siege, $actif) { if ($siege == 1) { return 'siege'.$actif.'.png'; } switch (substr($naf, 0, 2)) { // A Agriculture, sylviculture et pêche case '01': // Culture et production animale, chasse et services annexes case '02': // Sylviculture et exploitation forestière case '03': // Pêche et aquaculture return 'tractor'.$actif.'.png'; // B Industries extractives case '05': // Extraction de houille et de lignite case '06': // Extraction d'hydrocarbures case '07': // Extraction de minerais métalliques case '08': // Aures industries extractives case '09': // Services de soutien aux industries extractives // C Industrie manufacturière case '10': // Industries alimentaires case '11': // Fabrication de boissons case '12': // Fabrication de produits à base de tabac case '13': // Fabrication de textiles case '14': // Industrie de l'habillement case '15': // Industrie du cuir et de la chaussure case '16': // Travail du bois et fabrication d'articles en bois... case '17': // Industrie du papier et du carton case '18': // Imprimerie et reproduction d'enregistrements case '19': // Cokéfaction et raffinage case '20': // Industrie chimique case '21': // Industrie pharmaceutique case '22': // Fabrication de produits en caoutchouc et en plastique case '23': // Fabrication d'autres produits minéraux non métalliques case '24': // Métallurgie case '25': // Fabrication de produits métalliques... case '26': // Fabrication de produits informatiques... case '27': // Fabrication d'équipements électriques case '28': // Fabrication de machines et équipements n.c.a. case '29': // Industrie automobile case '30': // Fabrication d'autres matériels de transport case '31': // Fabrication de meubles case '32': // Autres industries manufacturières case '33': // Réparation et installation de machines et d'équipements // D Production et distribution d'électricité, de gaz, de vapeur... case '35': // Production et distribution d'électricité, de gaz... // E Production et distribution d'eau ; assainissement... case '36': // Captage, traitement et distribution d'eau case '37': // Collecte et traitement des eaux usées case '38': // Collecte, traitement et élimination des déchets... case '39': // Dépollution et autres services de gestion des déchets // F Construction case '41': // Construction de bâtiments case '42': // Génie civil case '43': // Travaux de construction spécialisés return 'usine'.$actif.'.png'; // G Commerce ; réparation d'automobiles et de motocycles case '45': // Commerce et réparation d'automobiles et de motocycles case '46': // Commerce de gros, à l'exception des automobiles... case '47': // Commerce de détail, à l'exception des automobiles... return 'shop'.$actif.'.png'; // H Transports et entreposage case '49': // Transports terrestres et transport par conduites case '50': // Transports par eau case '51': // Transports aériens case '53': // Activités de poste et de courrier return 'etab'.$actif.'.png'; case '52': // Entreposage et services auxiliaires des transports return 'entrepot'.$actif.'.png'; // I Hébergement et restauration case '55': // Hébergement case '56': // Restauration // J Information et communication case '58': // Édition case '59': // Production de films cinématographiques, de vidéo... case '60': // Programmation et diffusion case '61': // Télécommunications case '62': // Programmation, conseil et autres activités informatiques case '63': // Services d'information // K Activités financières et d'assurance case '64': // Activités des services financiers, hors assurance... case '65': // Assurance case '66': // Activités auxiliaires de services financiers et d'assurance // L Activités immobilières case '68': // Activités immobilières // M Activités spécialisées, scientifiques et techniques case '69': // Activités juridiques et comptables case '70': // Activités des sièges sociaux ; conseil de gestion case '71': // Activités d'architecture et d'ingénierie... case '72': // Recherche-développement scientifique case '73': // Publicité et études de marché case '74': // Autres activités spécialisées, scientifiques et techniques case '75': // Activités vétérinaires // N Activités de services administratifs et de soutien case '77': // Activités de location et location-bail case '78': // Activités liées à l'emploi case '79': // Activités des agences de voyage, voyagistes... case '80': // Enquêtes et sécurité case '81': // Services relatifs aux bâtiments et aménagement paysager case '82': // Activités administratives et autres activités de soutien... return 'etab'.$actif.'.png'; // O Administration publique case '84': // Administration publique et défense ; sécurité sociale... // P Enseignement case '85': // Enseignement return 'admin'.$actif.'.png'; // Q Santé humaine et action sociale case '86': // Activités pour la santé humaine case '87': // Hébergement médico-social et social case '88': // Action sociale sans hébergement // R Arts, spectacles et activités récréatives case '90': // Activités créatives, artistiques et de spectacle case '91': // Bibliothèques, archives, musées... case '92': // Organisation de jeux de hasard et d'argent case '93': // Activités sportives, récréatives et de loisirs // S Autres activités de services case '94': // Activités des organisations associatives case '95': // Réparation d'ordinateurs et de biens personnels... case '96': // Autres services personnels // T Activités des ménages en tant qu'employeurs... case '97': // Activités des ménages en tant qu'employeurs de personnel... case '98': // Activités indifférenciées des ménages... // U Activités extra-territoriales case '99': // Activités des organisations et organismes extraterritoriaux return 'etab'.$actif.'.png'; } } /** * Affichage des liens inter-entreprise */ public function liensAction() { $siren = substr($this->siret,0,9); $this->view->headTitle()->append('Liens inter-entreprises - Siren '.$siren); $user = new Scores_Utilisateur(); $this->view->assign('edition', $user->checkModeEdition()); $this->view->headScript()->appendFile('/themes/default/scripts/identite.js', 'text/javascript'); $session = new SessionEntreprise($this->siret, $this->id); $this->view->assign('siren', $siren); $this->view->assign('siret', $this->siret); $this->view->assign('raisonSociale', $session->getRaisonSociale()); if ( ($session->getFormeJuridique()>=1000 && $session->getFormeJuridique()<=1999) || ($session->getFormeJuridique()>=10 && $session->getFormeJuridique()<=19) ) { $this->renderScript('identite/liens-personne-physique.phtml'); } $user = new Scores_Utilisateur(); if ( $user->checkPerm('GROUPE') ) { $this->view->assign('liengroupe', $this->view->url(array( 'controller' =>'identite', 'action' => 'groupesarbo', 'siret' => $siren ), null, true) ); } require_once 'Scores/WsScores.php'; $ws = new WsScores(); $infos = $ws->getLiens($siren); $actionnaires = $infos->actionnaires->item; $participations = $infos->participations->item; //Informations de MAJ if(count($actionnaires)>0){ $nb = count($actionnaires)-1; $source = $actionnaires[$nb]->Source; $dateMaj = $actionnaires[$nb]->DateMaj; } else if (count($participations)>0){ $nb = count($participations)-1; $source = $participations[$nb]->Source; $dateMaj = $participations[$nb]->DateMaj; } else { $source = ''; $dateLien = ''; $dateMaj = ''; } $this->view->assign('exportObjet', $infos); $this->view->assign('source', $source); $this->view->assign('dateLien', $dateLien); $this->view->assign('dateMaj', $dateMaj); $this->view->assign('actionnaires', $actionnaires); $this->view->assign('participations', $participations); $this->view->assign('AutrePage', $this->getRequest()->getParam('apage')); } /** * Affichage des modifications Insee */ public function evenementsAction() { $siren = substr($this->siret,0,9); $this->view->headTitle()->append('Evènements - Siren '.$siren); $session = new SessionEntreprise($this->siret, $this->id); require_once 'Scores/WsScores.php'; $ws = new WsScores(); $infos = $ws->getListeEvenements($siren); $evens = $infos->result->item; $this->view->assign('siren', $siren); $this->view->assign('siret', $this->siret); $this->view->assign('id', $this->id); $this->view->assign('raisonSociale', $session->getRaisonSociale()); $this->view->assign('evens', $evens); $this->view->assign('exportObjet', $evens); } /** * Affichage des news */ public function newsAction() { $googleNews = true; $nbNews = 15; $user = new Scores_Utilisateur(); if ($user->checkPref('news')) { $session = new SessionEntreprise($this->siret, $this->id); $items = array(); if ($googleNews!==false){ $url = 'http://news.google.fr/news?hl=fr&gl=fr&q='. urlencode($session->getRaisonSociale()).'&output=rss'; $items = array(); try { $canal = new Zend_Feed_Rss($url); } catch (Exception $e) { //Do nothing } if (count($canal)>0) { $i=0; foreach ($canal as $element) { $items[] = $element; $i++; if ($i==$nbNews) break; } } } $this->view->assign('items', $items); } else { $this->view->assign('disable', true); } } /** * Téléchargement d'un avis de situation */ public function avisAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); // ==> Start require_once 'Scores/AvisSituation.php'; $avis = new AvisSituation($this->siret); if (!$avis->erreur()){ $avis->erreurcpt('raz'); $body = $avis->get('pdf', 1); if($body !== false) { header("Pragma: public"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: must-revalidate"); header("Content-type: application/pdf"); header("Content-Length: ".strlen($body)); header('Content-disposition: inline; filename="avis-'.$this->siret.'.pdf"'); header("Accept-Ranges: ".strlen($body)); echo $body; $ws = new WsScores(); $ws->setLog('avis_situation', $this->siret, 0, ''); } else { $avis->erreurcpt('plus'); echo $avis->erreurmsg(); } } else { if ($avis->nberreur()==5){ $avis->mailerreur(); } $avis->erreurcpt('plus'); echo $avis->erreurmsg(); } } public function irisAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $request = $this->getRequest(); $codeCommune = $request->getParam('code'); // ==> Start require_once 'Scores/Iris.php'; $iris = new Iris($codeCommune); $body = $iris->get('pdf'); if($body !== false) { header("Pragma: public"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: must-revalidate"); header("Content-type: application/pdf"); header("Content-Length: ".strlen($body)); header('Content-disposition: inline; filename="carte_iris_'.$codeCommune.'.pdf"'); header("Accept-Ranges: ".strlen($body)); echo $body; } else { echo $iris->erreur(); } } public function geoAction() { $this->view->headScript()->appendFile('/themes/default/scripts/geolocalisation.js', 'text/javascript'); $this->view->headLink()->appendStylesheet('/themes/default/styles/geolocalisation.css', 'all'); $infos = $this->getRequest()->getParam('infos'); $user = new Scores_Utilisateur(); $this->view->assign('facade', $user->checkPref('mappy')); require_once 'Scores/Google.php'; $google = new Google(); $decLat = $google->dec2dms($infos->GeoLat); $decLon = $google->dec2dms($infos->GeoLon); $mapsHref = $google->getGoogleMapLink(urlencode( $infos->AdresseNum.', '.$infos->AdresseVoie.' '. htmlspecialchars_decode($infos->AdresseRue, ENT_QUOTES). ', '.$infos->CP.' '.$infos->Ville)); $this->view->assign('mapsHref', $mapsHref); $this->view->assign('decLat', $decLat); $this->view->assign('decLon', $decLon); $this->view->assign('infos', $infos); } public function facadeAction() { require_once 'Scores/Mappy.php'; $infos = $this->getRequest()->getParam('infos'); $mappy = new Mappy(); if ($mappy->villeCouverte($infos->Ville)) { $adresse = ''; $adresse.= $infos->AdresseNum; //Corriger la voie pour Mappy $adresse.= ' '.strtr($infos->AdresseVoie, array( 'R' => 'RUE', 'AV' => 'AVENUE', 'RLE' => 'RUELLE', )); $adresse.= ' '.$infos->AdresseRue; $adresse.= ' '.$infos->Ville; //Définir le pays if ($infos->Pays == '') { $adresse.= ' FRANCE'; } else { $adresse.= ' '.$infos->Pays; } $this->view->assign('adresse', $adresse); $this->view->assign('source', 'mappy'); $this->view->assign('lienJs', $mappy->getJs()); } else { require_once 'Scores/Google.php'; $google = new Google(); $googleKey = $google->getGoogleKey($_SERVER['SERVER_NAME']); $this->view->assign('googleKey', $googleKey); $this->view->assign('source', 'google'); $this->view->assign('infos', $infos); } } public function groupesarboAction() { $this->_helper->layout()->disableLayout(); $siren = substr($this->siret,0,9); require_once 'Scores/WsScores.php'; $ws = new WsScores(); $result = $ws->getGroupesArbo($siren); if ( $result!==false ) { $infos = json_decode($result, true); Zend_Registry::get('firebug')->info($infos); if (count($infos)>0) { $structure = array(); $name = $infos['name'].' ('.$infos['siren'].')'; $structure[] = array( 'data' => $name, 'state' => 'open', 'children' => $this->groupesArboChildren($infos['children'], $siren), ); Zend_Registry::get('firebug')->info($structure); $this->view->assign('data', json_encode($structure)); } } } public function groupesArboChildren($items, $detectSiren = '') { $output = array(); if ( count($items)>0 ) { foreach ( $items as $item ) { $name = $item['name']; if ( intval($item['siren'])!=0 ) { $name.= ' ('.$item['siren'].')'; } else { $name.= ' ('.$item['pays'].')'; } $name.= ' - '.$item['pmin'].'%'; $structure = array( 'data' => $name, 'state' => 'open', ); if ($item['siren']==$detectSiren) { $structure['class'] = 'jstree-search'; } if (count($item['children'])>0){ $structure['children'] = $this->groupesArboChildren($item['children'], $detectSiren); } else { $structure['children'] = array(); } $output[] = $structure; } } return $output; } public function groupeAction() { $this->view->headScript()->appendFile('/themes/default/scripts/identite.js', 'text/javascript'); $siren = substr($this->siret,0,9); require_once 'Scores/WsScores.php'; $ws = new WsScores(); $result = $ws->getGroupeInfos($siren); $this->view->assign('result', $result); $this->view->assign('siren', $siren); } }