1267 lines
38 KiB
PHP
1267 lines
38 KiB
PHP
<?php
|
|
class IdentiteController extends Zend_Controller_Action
|
|
{
|
|
protected $siret = null;
|
|
protected $id = 0;
|
|
|
|
public function init()
|
|
{
|
|
$request = $this->getRequest();
|
|
$theme = Zend_Registry::get('theme');
|
|
|
|
//Get standard parameters
|
|
$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';
|
|
}
|
|
|
|
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()
|
|
{
|
|
$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 : ",
|
|
'DateMajID' => 'Scores :'
|
|
);
|
|
$datemajTexte = $dateDerMaj = '';
|
|
$datemajTexte.= '<table>';
|
|
foreach ( $tabDate as $dateId => $dateLib ) {
|
|
if (isset($infos->{$dateId}) && !empty($infos->{$dateId}) && $infos->{$dateId}!='0000-00-00') {
|
|
|
|
if ( $dateId == 'DateMajID') {
|
|
$dateDerMaj = ' le '.WDate::dateT('Y-m-d', 'd/m/Y', $infos->DateMajID);
|
|
}
|
|
|
|
if ( $dateId == 'DateMajID' && !$user->checkModeEdition()) {
|
|
} else {
|
|
$datemajTexte.= '<tr>';
|
|
$datemajTexte.= '<td>'.$dateLib.'</td>';
|
|
$datemajTexte.= '<td>'.WDate::dateT('Y-m-d', 'd/m/Y', $infos->{$dateId}).'</td>';
|
|
$datemajTexte.= '</tr>';
|
|
}
|
|
|
|
}
|
|
}
|
|
$datemajTexte.= '</table>';
|
|
|
|
$identite = new IdentiteEntreprise($infos);
|
|
|
|
//Définition des blocks
|
|
$blocks = array(
|
|
'Siret',
|
|
'SiretSiege',
|
|
'TvaNumero',
|
|
'Isin',
|
|
'Capitalisation',
|
|
'NumRC',
|
|
'NumRM',
|
|
'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()
|
|
{
|
|
//Vérification des permissions
|
|
$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<br/>";
|
|
if ($etab->Enseigne <> '') {
|
|
$titre .= 'Enseigne : '.$etab->Enseigne.'<br/>';
|
|
}
|
|
|
|
$texte = '';
|
|
$texte .= 'Etablissement : '.$etab->Nic.'<br/>';
|
|
$texte .= $etab->Adresse.'<br/>';
|
|
$adresse = $etab->Adresse.' ';
|
|
if ($etab->Adresse2 <> '') {
|
|
$texte .= $etab->Adresse2.'<br/>';
|
|
if (strlen(trim($adresse)) < 7) {
|
|
$adresse = $etab->Adresse2.' ';
|
|
}
|
|
}
|
|
$texte.='<b>'.$etab->CP.' '.$etab->Ville.'</b><br/>';
|
|
|
|
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 .= '<a href='.$google_map.' target=_blank>';
|
|
if ($mmap->precision >= 7 && @fopen($photo, 'r') != false) {
|
|
$texte .= '<img src='.$photo.' width=\"155\" height=\"74\" />';
|
|
} else {
|
|
$texte .= 'Afficher l\'adresse sur Google Map ©';
|
|
}
|
|
$texte .= '</a>';
|
|
$texte .= '<br/>';
|
|
$texte .= '<i>'.$etab->NafEtab.' : '.$etab->NafEtabLib.'</i>';
|
|
|
|
$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()
|
|
{
|
|
$nbMonthForRecentLien = 3;
|
|
|
|
$request = $this->getRequest();
|
|
|
|
$lienRef = $request->getParam('lienref', null);
|
|
|
|
$user = new Scores_Utilisateur();
|
|
$this->view->assign('edition', $user->checkModeEdition());
|
|
|
|
$ws = new WsScores();
|
|
|
|
if ($lienRef) {
|
|
|
|
$this->view->assign('lienref', $lienRef);
|
|
|
|
$this->view->headTitle()->append('Liens inter-entreprises - Id '.$lienRef);
|
|
|
|
$identite = $ws->getLienRef($lienRef);
|
|
$this->view->assign('raisonSociale', $identite->raisonSociale);
|
|
$this->view->assign('identification', $identite->identification);
|
|
$this->view->assign('actif', $identite->actif);
|
|
|
|
//Define SIREN if exist
|
|
if ( intval($identite->siren)!=0 ) {
|
|
$siren = $identite->siren;
|
|
$session = new SessionEntreprise($siren, null, true);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $session->getSiret());
|
|
$this->view->assign('isin', $session->getIsin());
|
|
}
|
|
|
|
Zend_Registry::get('firebug')->info($identite);
|
|
|
|
if ($identite->PpPm=='PP') {
|
|
$this->view->assign('PP', true);
|
|
}
|
|
|
|
//Get links
|
|
$infos = $ws->getLiensById($lienRef);
|
|
|
|
} else {
|
|
$siren = substr($this->siret,0,9);
|
|
|
|
$this->view->headTitle()->append('Liens inter-entreprises - Siren '.$siren);
|
|
|
|
$session = new SessionEntreprise($this->siret, $this->id);
|
|
|
|
$this->view->assign('isin', $session->getIsin());
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
|
|
//Check access to display group link
|
|
if ( $user->checkPerm('GROUPE') ) {
|
|
$this->view->assign('liengroupe', $this->view->url(array(
|
|
'controller' => 'identite',
|
|
'action' => 'groupesarbo',
|
|
'siret' => $siren
|
|
), null, true) );
|
|
}
|
|
|
|
$infos = $ws->getLiens($siren);
|
|
Zend_Registry::get('firebug')->info($infos);
|
|
if (is_string($infos) || $infos === false) $this->_forward('soap', 'error');
|
|
}
|
|
|
|
if (isset($session)) {
|
|
//Special legal form, go to other display
|
|
if ( ($session->getFormeJuridique()>=1000 && $session->getFormeJuridique()<=1999)
|
|
|| ($session->getFormeJuridique()>=10 && $session->getFormeJuridique()<=19) ) {
|
|
$this->view->assign('PP', true);
|
|
}
|
|
|
|
if ( in_array($session->getFormeJuridique(), array(5488,5498,5720)) ) {
|
|
$this->view->assign('FJ1', true);
|
|
}
|
|
|
|
//Check access to display links to pdf items
|
|
if ( $user->checkPerm('ACTES') ) {
|
|
if ( $session->getFormeJuridique()>=3100 && $session->getFormeJuridique()<=3199
|
|
|| $session->getFormeJuridique()>=4000 && $session->getFormeJuridique()<=4999
|
|
|| $session->getFormeJuridique()>=5000 && $session->getFormeJuridique()<=5999
|
|
|| $session->getFormeJuridique()>=6000 && $session->getFormeJuridique()<=6999 ) {
|
|
|
|
$this->view->assign('lienStatuts', $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'actes',
|
|
'siret' => $siren ), null, true) );
|
|
$this->view->assign('lienBilans', $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'bilans',
|
|
'siret' => $siren ), null, true) );
|
|
}
|
|
}
|
|
}
|
|
|
|
$actionnaires = $infos->actionnaires->item;
|
|
$participations = $infos->participations->item;
|
|
$directions = $infos->directions->item;
|
|
|
|
$actionnaires = $participations = $directions = array();
|
|
|
|
if ( $infos->actionnaires->item ) {
|
|
$actionnaires = $infos->actionnaires->item;
|
|
}
|
|
if ( $infos->participations->item ) {
|
|
$participations = $infos->participations->item;
|
|
}
|
|
if ( $infos->directions->item ) {
|
|
$directions = $infos->directions->item;
|
|
}
|
|
|
|
$date = new Zend_Date();
|
|
$date->sub($nbMonthForRecentLien, Zend_Date::MONTH);
|
|
$this->view->assign('DateForRecentLien', $date);
|
|
|
|
$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('directions', $directions);
|
|
|
|
$this->view->assign('AutrePage', $this->getRequest()->getParam('apage'));
|
|
}
|
|
|
|
public function lienficheAction()
|
|
{
|
|
$this->_helper->layout()->disableLayout();
|
|
$request = $this->getRequest();
|
|
|
|
//@todo :
|
|
$pays = array(
|
|
'FRA' => "France",
|
|
'AND' => "Andorre",
|
|
'ARE' => "Emirats Arabes Unis",
|
|
'AFG' => "Afghanistan",
|
|
'ATG' => "Antigua",
|
|
'AIA' => "Anguilla",
|
|
'ALB' => "Albanie",
|
|
'ARM' => "Arménie",
|
|
'ANT' => "Antilles Néerlandaises",
|
|
'AGO' => "Angola",
|
|
'ATA' => "Antarctique",
|
|
'ARG' => "Argentine",
|
|
'ASM' => "Samoa Américaines",
|
|
'AUT' => "Autriche",
|
|
'AUS' => "Australie",
|
|
'ABW' => "Aruba",
|
|
'AZE' => "Azerbaïdjan",
|
|
'BIH' => "Bosnie-Herzégovine",
|
|
'BRB' => "Barbade",
|
|
'BGD' => "Bangladesh",
|
|
'BEL' => "Belgique",
|
|
'BFA' => "Burkina Faso",
|
|
'BGR' => "Bulgarie",
|
|
'BHR' => "Bahreïn",
|
|
'BDI' => "Burundi",
|
|
'BEN' => "Bénin",
|
|
'BMU' => "Bermudes",
|
|
'BRN' => "Brunei",
|
|
'BOL' => "Bolivie",
|
|
'BRA' => "Brésil",
|
|
'BHS' => "Bahamas",
|
|
'BTN' => "Bhoutan",
|
|
'BVT' => "Iles Bouvet",
|
|
'BWA' => "Botswana",
|
|
'BLR' => "Biélorussie",
|
|
'BLZ' => "Bélize",
|
|
'CAN' => "Canada",
|
|
'CCK' => "Iles Cocos",
|
|
'CAF' => "République Centrafricaine",
|
|
'COG' => "Congo",
|
|
'CHE' => "Suisse",
|
|
'CIV' => "Côte d\'Ivoire",
|
|
'COK' => "Iles Cook",
|
|
'CHL' => "Chili",
|
|
'CMR' => "Cameroun",
|
|
'CHN' => "Chine",
|
|
'COL' => "Colombie",
|
|
'CRI' => "Costa Rica",
|
|
'CSK' => "Tchécoslovaquie",
|
|
'CUB' => "Cuba",
|
|
'CPV' => "Cap-Vert",
|
|
'CXR' => "Ile Christmas",
|
|
'CYP' => "Chypre",
|
|
'CZE' => "Rébublique Tchèque",
|
|
'DDR' => "République Démocratique Allemande",
|
|
'DEU' => "Allemagne",
|
|
'DJI' => "Djibouti",
|
|
'DNK' => "Danemark",
|
|
'DMA' => "Dominique",
|
|
'DOM' => "République Dominicaine",
|
|
'DZA' => "Algérie",
|
|
'ECU' => "Equateur",
|
|
'EST' => "Estonie",
|
|
'EGY' => "Egypte",
|
|
'ESH' => "Sahara Occidental",
|
|
'ERI' => "Eritrea",
|
|
'ESP' => "Espagne",
|
|
'ETH' => "Ethiopie",
|
|
'FIN' => "Finlande",
|
|
'FJI' => "Iles Fidji",
|
|
'FLK' => "Iles Malouines",
|
|
'FSM' => "Etats Fédérés de Micronésie",
|
|
'FRO' => "Iles Féroé",
|
|
'GAB' => "Gabon",
|
|
'GBR' => "Royaume-Uni",
|
|
'GRD' => "Grenade",
|
|
'GEO' => "Géorgie",
|
|
'GUF' => "Guinée française",
|
|
'GHA' => "Ghana",
|
|
'GIB' => "Gibraltar",
|
|
'GRL' => "Groënland",
|
|
'GMB' => "Gambie",
|
|
'GIN' => "Guinée",
|
|
'GLP' => "Guadeloupe",
|
|
'GNQ' => "Guinée Equatoriale",
|
|
'GRC' => "Grèce",
|
|
'SGS' => "Géorgie du sud & Iles Sandwich",
|
|
'GTM' => "Guatemala",
|
|
'GUM' => "Guam",
|
|
'GNB' => "Guinée-Bissau",
|
|
'GUY' => "Guyane",
|
|
'HKG' => "Hong Kong",
|
|
'HMD' => "Iles Heard et Mc Donald",
|
|
'HND' => "Honduras",
|
|
'HRV' => "Croatie",
|
|
'HTI' => "Haïti",
|
|
'HUN' => "Hongrie",
|
|
'IDN' => "Indonésie",
|
|
'IRL' => "Irlande",
|
|
'ISR' => "Israël",
|
|
'IND' => "Inde",
|
|
'IOT' => "Iles Vierges Britanniques",
|
|
'IRQ' => "Irak",
|
|
'IRN' => "Iran",
|
|
'ISL' => "Islande",
|
|
'ITA' => "Italie",
|
|
'JAM' => "Jamaïque",
|
|
'JOR' => "Jordanie",
|
|
'JPN' => "Japon",
|
|
'KEN' => "Kenya",
|
|
'KGZ' => "Kirghizistan",
|
|
'KHM' => "Cambodge",
|
|
'KIR' => "Kiribati",
|
|
'COM' => "Comores",
|
|
'KNA' => "Saint-Kitts",
|
|
'PRK' => "Corée",
|
|
'KOR' => "République de Corée",
|
|
'KWT' => "Koweït",
|
|
'CYM' => "Iles Caïman",
|
|
'KAZ' => "Kazakhstan",
|
|
'LAO' => "Laos",
|
|
'LBN' => "Liban",
|
|
'LCA' => "Sainte-Lucie",
|
|
'LIE' => "Liechtenstein",
|
|
'LKA' => "Sri Lanka",
|
|
'LBR' => "Libéria",
|
|
'LSO' => "Lesotho",
|
|
'LTU' => "Lithuanie",
|
|
'LUX' => "Luxembourg",
|
|
'LVA' => "Lettonie",
|
|
'LBY' => "Libye",
|
|
'MAR' => "Maroc",
|
|
'MCO' => "Monaco",
|
|
'MDA' => "Moldavie",
|
|
'MDG' => "Madagascar",
|
|
'MHL' => "Iles Marshall",
|
|
'MKD' => "Macédoine",
|
|
'MLI' => "Mali",
|
|
'MMR' => "Myanmar",
|
|
'MNG' => "Mongolie",
|
|
'MAC' => "Macao",
|
|
'MNP' => "Iles Mariannes",
|
|
'MTQ' => "Martinique",
|
|
'MRT' => "Mauritanie",
|
|
'MSR' => "Montserrat",
|
|
'MLT' => "Malte",
|
|
'MUS' => "Ile Maurice",
|
|
'MDV' => "Maldives",
|
|
'MWI' => "Malawi",
|
|
'MEX' => "Mexique",
|
|
'MYS' => "Malaisie",
|
|
'MOZ' => "Mozambique",
|
|
'NAM' => "Namibie",
|
|
'NCL' => "Nouvelle Calédonie",
|
|
'NER' => "Niger",
|
|
'NFK' => "Iles Norfolk",
|
|
'NGA' => "Nigeria",
|
|
'NIC' => "Nicaragua",
|
|
'NLD' => "Pays-Bas",
|
|
'NOR' => "Norvège",
|
|
'NPL' => "Népal",
|
|
'NRU' => "Nauru",
|
|
'NTZ' => "Zone Neutre",
|
|
'NIU' => "Niue",
|
|
'NZL' => "Nouvelle Zélande",
|
|
'OMN' => "Oman",
|
|
'PAN' => "Panama",
|
|
'PER' => "Pérou",
|
|
'PYF' => "Polynésie Francaise",
|
|
'PNG' => "Papouasie Nouvelle-Guinée",
|
|
'PHL' => "Philippines",
|
|
'PAK' => "Pakistan",
|
|
'POL' => "Pologne",
|
|
'SPM' => "Saint Pierre et Miquelon",
|
|
'PCN' => "Pitcairn",
|
|
'PRI' => "Porto Rico",
|
|
'PRT' => "Portugal",
|
|
'PLW' => "Palau",
|
|
'PRY' => "Paraguay",
|
|
'QAT' => "Qatar",
|
|
'REU' => "Ile de la Réunion",
|
|
'ROM' => "Roumanie",
|
|
'RUS' => "Russie",
|
|
'RWA' => "Rwanda",
|
|
'SAU' => "Arabie Saoudite",
|
|
'SLB' => "Iles Salomon",
|
|
'SYC' => "Seychelles",
|
|
'SDN' => "Soudan",
|
|
'SWE' => "Suède",
|
|
'SGP' => "Singapour",
|
|
'SHN' => "Sainte-Hélène",
|
|
'SVN' => "Slovénie",
|
|
'SJM' => "Spitsberg et lle Jan Mayen",
|
|
'SVK' => "Slovaquie",
|
|
'SLE' => "Sierra Leone",
|
|
'SMR' => "Saint-Marin",
|
|
'SEN' => "Sénégal",
|
|
'SOM' => "Somalie",
|
|
'SUR' => "Surinam",
|
|
'STP' => "São Tomé et Principe",
|
|
'SUN' => "URSS",
|
|
'SLV' => "Salvador",
|
|
'SYR' => "Syrie",
|
|
'SWZ' => "Swaziland",
|
|
'TCA' => "Iles Turques et Caïques",
|
|
'TCD' => "Tchad",
|
|
'ATF' => "Terres Australes Francaises",
|
|
'TGO' => "Togo",
|
|
'THA' => "Thaïlande",
|
|
'TJK' => "Tadjikistan",
|
|
'TKL' => "Iles Tokélaou",
|
|
'TKM' => "Turkménistan",
|
|
'TUN' => "Tunisie",
|
|
'TON' => "Tonga",
|
|
'TMP' => "Timor Oriental",
|
|
'TUR' => "Turquie",
|
|
'TTO' => "Trinité-et-Tobago",
|
|
'TUV' => "Tuvalu",
|
|
'TWN' => "Taïwan, République de Chine",
|
|
'TZA' => "Tanzanie",
|
|
'UKR' => "Ukraine",
|
|
'UGA' => "Ouganda",
|
|
'UMI' => "Iles mineures éloignées des E.U",
|
|
'USA' => "Etats Unis",
|
|
'URY' => "Uruguay",
|
|
'UZB' => "Ouzbékistan",
|
|
'VAT' => "Vatican",
|
|
'VCT' => "Saint Vincent et les Grenadines",
|
|
'VEN' => "Vénézuéla",
|
|
'VGB' => "Iles Vierges Britaniques",
|
|
'VIR' => "Iles Vierges U.S",
|
|
'VNM' => "Vietnam",
|
|
'VUT' => "Vanuatu",
|
|
'WLF' => "Wallis et Futuna",
|
|
'WSM' => "Samoa Américaines",
|
|
'XBA' => "Rép. Turque de Chypre",
|
|
'YMD' => "Yémen (République Démocratique)",
|
|
'YEM' => "Yemen",
|
|
'MYT' => "Mayotte",
|
|
'YUG' => "Yougoslavie",
|
|
'ZAF' => "Afrique du sud",
|
|
'ZMB' => "Zambie",
|
|
'ZAR' => "Zaïre",
|
|
'ZWE' => "Zimbabwe");
|
|
$this->view->assign('countries', $pays);
|
|
|
|
$user = new Scores_Utilisateur();
|
|
$this->view->assign('edition', $user->checkModeEdition());
|
|
|
|
$id = $request->getParam('idFiche');
|
|
$this->view->assign('idFiche', $id);
|
|
|
|
$ws = new WsScores();
|
|
$result = $ws->getLienRef($id);
|
|
Zend_Registry::get('firebug')->info($result);
|
|
$this->view->assign('result', $result);
|
|
}
|
|
|
|
public function liendocAction()
|
|
{
|
|
$request = $this->getRequest();
|
|
$type = $request->getParam('type');
|
|
$id = $request->getParam('id');
|
|
|
|
if ( $type == 'Lien' ) {
|
|
$this->_helper->layout()->disableLayout();
|
|
}
|
|
|
|
$ws = new WsScores();
|
|
$docs = $ws->getLienDoc($id, $type);
|
|
|
|
$this->view->assign('docs', $docs->item);
|
|
}
|
|
|
|
/**
|
|
* 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);
|
|
|
|
$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()
|
|
{
|
|
$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);
|
|
$this->view->assign('siret', $siren);
|
|
|
|
$request = $this->getRequest();
|
|
$pctMin = $request->getParam('pctMin', 33);
|
|
$this->view->assign('pctMin', $pctMin);
|
|
|
|
$user = new Scores_Utilisateur();
|
|
$this->view->assign('edition', $user->checkModeEdition());
|
|
|
|
$ws = new WsScores();
|
|
$result = $ws->getGroupesArbo($siren, $pctMin);
|
|
|
|
if ( $result!==false ) {
|
|
$infos = json_decode($result, true);
|
|
Zend_Registry::get('firebug')->info($infos);
|
|
if (count($infos)>0) {
|
|
|
|
$name = $infos['name'];
|
|
if ( $infos['siren']!='000000000' ) {
|
|
$name.= ' ('.$infos['siren'].')';
|
|
}
|
|
|
|
$structure = array();
|
|
$structure[] = array(
|
|
'data' => $name,
|
|
'state' => 'open',
|
|
'children' => $this->groupesArboChildren($infos['children'], $siren),
|
|
);
|
|
$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.= ' (<a href="'.$this->view->url(array(
|
|
'controller'=>'identite',
|
|
'action'=>'fiche',
|
|
'siret' => $item['siren']), null, true).'">'.$item['siren'].'</a>)';
|
|
} 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()
|
|
{
|
|
$siren = substr($this->siret,0,9);
|
|
|
|
$ws = new WsScores();
|
|
$result = $ws->getGroupeInfos($siren);
|
|
|
|
$this->view->assign('result', $result);
|
|
$this->view->assign('siren', $siren);
|
|
}
|
|
} |