extranet/www/pages/carte.php

335 lines
12 KiB
PHP
Raw Normal View History

2009-09-14 14:20:02 +00:00
<?php
// --------------------------------------------------------------------------- //
// iconeDuMarqueur
// --------------------------------------------------------------------------- //
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';
}
}
if (!$_SESSION['connected']) {
die();
}
2009-04-01 12:45:45 +00:00
$tabInfo = $_SESSION['tabInfo'];
$siret = trim(preg_replace('/[^0-9]/', '', $_REQUEST['siret']));
if (strlen($siret) <> 0 &&
strlen($siret) <> 9 &&
strlen($siret) <> 14) {
die('Paramètres incorrects !');
}
if (isset($_REQUEST['idEntreprise']) == true) {
// Si id = 0 alors non communiqué
$idEntreprise = trim(preg_replace('/[^0-9]/', '',
$_REQUEST['idEntreprise'])) * 1;
}
if (($siret * 1) == 0 && $idEntreprise == 0) {
die('Paramètres incorrects !');
}
$siren = substr($siret, 0, 9);
$mil = false;
2009-06-08 09:18:54 +00:00
require_once 'partenaires/classMTva.php';
require_once 'partenaires/classMMap.php';
require_once 'common/dates.php';
2009-09-14 14:26:43 +00:00
require_once 'cache/cache.php';
2009-06-08 09:18:54 +00:00
2009-09-14 14:20:02 +00:00
$firephp->log($_SERVER['SERVER_NAME'], 'SERVER_NAME');
switch ($_SERVER['SERVER_NAME']) {
case 'extranet.sd.com':
$urlimg = 'http://extranetrec.scores-decisions.com/';
break;
case 'extranetrec.scores-decisions.com':
$urlimg = EXTRANET_URL;
break;
case 'extranet.scores-decisions.com':
$urlimg = EXTRANET_URL;
break;
case 'extranet.devlocal.com':
$urlimg = EXTRANET_URL;
break;
default: // Impossible d'afficher la carte google maps
$urlimg = EXTRANET_URL;
break;
2009-09-14 10:15:56 +00:00
}
if (isset($page2) == true) {
if (($siret * 1) == 0 && ($siren * 1) < 100) {
$fileName = $page2.'-'.$idEntreprise;
} else {
$fileName = $page2.'-'.$siret;
}
cache_filename($fileName);
}
if (cache_exist() &&
!(preg_match('/\bsaisie\b/i', $_SESSION['tabInfo']['droits']) ||
$_SESSION['tabInfo']['mode_edition'] == 1)) {
$etabs = cache_get('etabs');
// Affichage d'un message d'erreur
if ($etabs === FALSE) {
exit;
}
$firephp->info('CACHE');
} else {
try {
$O = $client->getListeEtablissements($siren);
$etabs = $O['result'];
} catch (SoapFault $fault) {
require_once 'soaperror.php';
processSoapFault($client, $fault, $tabInfo);
die();
}
}
2009-09-14 14:26:43 +00:00
$raisonSociale = $tabInfo['entrep']['raisonSociale'];
$marqueurs = array();
2009-09-14 10:15:56 +00:00
$j = 0;
foreach ($etabs as $i => $etab) {
2009-09-14 10:15:56 +00:00
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/>';
}
2009-09-14 10:15:56 +00:00
$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/>';
2009-09-14 10:15:56 +00:00
$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'];
2009-09-14 10:15:56 +00:00
2010-04-16 07:10:56 +00:00
$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 &copy;';
}
$texte .= '</a>';
$texte .= '<br/>';
$texte .= '<i>'.$etab['NafEtab'].' : '.$etab['NafEtabLib'].'</i>';
$icone = $urlimg.'img/icones/'.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]);
}
}
2009-06-08 09:18:54 +00:00
?>
<html>
2009-06-08 09:18:54 +00:00
<head>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function chargeCarte() {
var myOptions = {
zoom: 16,
center: new google.maps.LatLng(<?=$marqueurs[0][0]?>,
<?=$marqueurs[0][1]?>),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('carte'), myOptions);
<?php for ($i = 0; $i < count($marqueurs); ++$i) { ?>
var marker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(<?=$marqueurs[$i][0]?>,
<?=$marqueurs[$i][1]?>),
title: "<?=$marqueurs[$i][4]?>",
icon: "<?=$marqueurs[$i][5]?>"
});
google.maps.event.addListener(marker, 'click', function() {
var infowindow = new google.maps.InfoWindow({
content: "<?=$marqueurs[$i][3]?>"
});
var pos = new google.maps.Marker({
position: new google.maps.LatLng(<?=$marqueurs[$i][0]?>,
<?=$marqueurs[$i][1]?>)
});
infowindow.open(map, pos);
});
<?php } ?>
<?php if (count($marqueurs) > 1) { ?>
map.fitBounds(new google.maps.LatLngBounds(
new google.maps.LatLng(<?=$min_x?>, <?=$min_y?>),
new google.maps.LatLng(<?=$max_x?>, <?=$max_y?>)));
<?php } ?>
}
</script>
2009-06-08 09:18:54 +00:00
</head>
<body onload="chargeCarte()">
<div id="carte" style="width:500px;height:500px"></div>
</body>
</html>