5,7 → 5,8 |
const PREFIXE = 'get'; |
const ABBR_LISTE_EVENEMENTS = 'evenement'; |
const ABBR_LISTE_ESPECES = 'espece'; |
|
const ABBR_LISTE_MILIEUX = 'environnement'; |
|
private $type_mime = 'text/html'; |
|
/** |
31,10 → 32,10 |
$this->messages[] = "Le type d'information demandé '$type' n'est pas disponible."; |
} |
} |
|
$this->envoyer($info,$this->type_mime); |
|
$this->envoyer($info,$this->type_mime); |
} |
|
|
public function getExportObservation($start = null,$limit = null, $order_by = 'oo_date') { |
|
$requete_selection_observations = 'SELECT * FROM ods_observations '. |
121,7 → 122,7 |
public function getExportObservationPlat() { |
|
$donnees = $this->getExportObservation(); |
$donnees_formatees = $this->formaterPourExportObservationCSV($donnees); |
$donnees_formatees = $this->formaterPourExportCSV($donnees); |
|
return $donnees_formatees ; |
} |
129,14 → 130,14 |
public function getExportObservationJson() { |
|
$donnees = $this->getExportObservation(); |
$donnees_formatees = $this->formaterPourExportObservationJson($donnees); |
|
$donnees_formatees = $this->formaterPourExportJson($donnees); |
|
$this->type_mime = 'application/json'; |
|
return $donnees_formatees; |
} |
|
public function formaterPourExportObservationJson($tableau_observations_infos) { |
public function formaterPourExportJson($tableau_observations_infos) { |
|
$gestionnaire_especes = new OdsEspece($this->config); |
$gestionnaire_communes = new OdsCommune($this->config); |
143,6 → 144,7 |
|
$especes = $gestionnaire_especes->getToutesEspeces(); |
$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS); |
$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX); |
|
$resultats_formates = array(); |
|
177,7 → 179,7 |
$resultats_formates[$id_station]['latitude'] = $observations_infos['os_latitude']; |
$resultats_formates[$id_station]['longitude'] = $observations_infos['os_longitude']; |
$resultats_formates[$id_station]['altitude'] = $observations_infos['os_altitude']; |
$resultats_formates[$id_station]['milieu'] = $observations_infos['os_milieu']; |
$resultats_formates[$id_station]['milieu'] = $milieux[$observations_infos['os_ce_environnement']]['ot_valeur']; |
$resultats_formates[$id_station]['participant'] = $observations_infos['os_ce_participant']; |
} |
|
190,13 → 192,13 |
public function getFichierExportObservationCsv() { |
|
$donnees = $this->getExportObservation(); |
$donnees_formatees = $this->formaterPourExportObservationCSV($donnees); |
$donnees_formatees = $this->formaterPourExportCSV($donnees); |
$chaine_csv = $this->convertirTableauAssocVersCSV($donnees_formatees); |
|
$this->envoyerFichier($chaine_csv); |
} |
|
public function formaterPourExportObservationCSV($tableau_observations_infos) { |
public function formaterPourExportCSV($tableau_observations_infos) { |
|
$gestionnaire_especes = new OdsEspece($this->config); |
$gestionnaire_communes = new OdsCommune($this->config); |
204,6 → 206,7 |
|
$especes = $gestionnaire_especes->getToutesEspeces(); |
$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS); |
$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX); |
|
$codes_insee_communes = array(); |
|
235,7 → 238,7 |
'latitude' => $observations_infos['os_latitude'], |
'longitude' => $observations_infos['os_longitude'], |
'altitude' => $observations_infos['os_altitude'], |
'milieu' => $observations_infos['os_milieu'], |
'milieu' => $milieux[$observations_infos['os_ce_environnement']]['ot_valeur'], |
'id_participant' => $observations_infos['os_ce_participant'], |
'pseudo_participant' => '', |
'mail_participant' => '' |
264,99 → 267,6 |
return $resultats_formates; |
} |
|
public function getExportStationJson() { |
|
$donnees = $this->getExportStation(); |
$donnees_formatees = $this->formaterPourExportStationJson($donnees); |
|
$this->type_mime = 'application/json'; |
|
return $donnees_formatees; |
} |
|
public function getExportStation() { |
|
$requete_selection_stations = 'SELECT * FROM ods_stations '. |
' LEFT JOIN ods_individus '. |
' ON ods_individus.oi_ce_station = ods_stations.os_id_station '. |
' ORDER BY ods_stations.os_id_station, ods_individus.oi_ce_espece'; |
|
$res_selection_stations = $this->executerRequete($requete_selection_stations); |
|
return $res_selection_stations; |
} |
|
public function formaterPourExportStationJson($tableau_stations_infos) { |
|
$gestionnaire_especes = new OdsEspece($this->config); |
$gestionnaire_communes = new OdsCommune($this->config); |
$gestionnaire_utilisateurs = new OdsUtilisateur($this->config); |
|
$especes = $gestionnaire_especes->getToutesEspeces(); |
|
$resultats_formates = array(); |
|
foreach($tableau_stations_infos as &$stations_infos) { |
|
if(!isset($resultats_formates[$stations_infos['os_id_station']])) { |
if($stations_infos['os_ce_commune'] == "NULL") { |
$stations_infos['os_ce_commune'] = ''; |
} |
|
$resultats_formates[$stations_infos['os_id_station']] = array( |
'station' => $stations_infos['os_nom'], |
'code_commune' => $stations_infos['os_ce_commune'], |
'nom_commune' => '', |
'latitude' => $stations_infos['os_latitude'], |
'longitude' => $stations_infos['os_longitude'], |
'altitude' => $stations_infos['os_altitude'], |
'id_participant' => $stations_infos['os_ce_participant'], |
'pseudo_participant' => '', |
'mail_participant' => '', |
'especes' => array() |
); |
|
if(is_numeric($stations_infos['os_ce_commune'])) { |
$codes_insee_communes[] = $stations_infos['os_ce_commune']; |
} |
} |
|
$infos_espece = $especes[$stations_infos['oi_ce_espece']]; |
|
if($infos_espece != null) { |
|
if($infos_espece['type'] != "") { |
$infos_espece['type'] = $this->obtenirValeurTripleParId($infos_espece['type']); |
} |
|
$resultats_formates[$stations_infos['os_id_station']]['especes'][$infos_espece['id_espece']] = $infos_espece; |
} |
} |
|
$correspondance_codes_insee_noms = $gestionnaire_communes->obtenirTableauNomsCommunesParTableauCodesInsee($codes_insee_communes); |
$correspondance_id_utilisateur = $gestionnaire_utilisateurs->getListeUtilisateurAvecInfosComplementairesFormateeId(); |
|
foreach($resultats_formates as &$resultat) { |
|
if(isset($correspondance_codes_insee_noms[$resultat['code_commune']]) && trim($correspondance_codes_insee_noms[$resultat['code_commune']]) != '') { |
$resultat['nom_commune'] = $correspondance_codes_insee_noms[$resultat['code_commune']]; |
} |
|
$resultat['pseudo_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['name']; |
$resultat['mail_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['mail']; |
|
$types = array("Particulier" ,"Établissement scolaire", "Association" ,"Professionnel", "Autre","Inconnu"); |
|
if(isset($correspondance_id_utilisateur[$resultat['id_participant']]['profile_type'])) { |
$resultat['type_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['profile_type']; |
} else { |
$resultat['type_participant'] = "Inconnu"; |
} |
} |
|
return $resultats_formates; |
} |
|
public function convertirTableauAssocVersCSV($tableau) { |
|
$csv = ''; |