907 lines
27 KiB
PHP
907 lines
27 KiB
PHP
<?php
|
|
class IdentiteController extends Zend_Controller_Action
|
|
{
|
|
protected $siret = null;
|
|
protected $id = 0;
|
|
|
|
public function init()
|
|
{
|
|
$request = $this->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.= '<br/>';
|
|
}
|
|
}
|
|
$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.= '<br/>';
|
|
}
|
|
$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<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()
|
|
{
|
|
$siren = substr($this->siret,0,9);
|
|
$this->view->headTitle()->append('Liens inter-entreprises - Siren '.$siren);
|
|
|
|
$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';
|
|
|
|
$canal = new Zend_Feed_Rss($url);
|
|
$items = array();
|
|
$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.= ' (<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()
|
|
{
|
|
$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);
|
|
}
|
|
|
|
} |