Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 269 → Rev 270

/trunk/applications/jrest/services/OdsExport.php
33,8 → 33,74
}
}
 
$this->envoyer($info,$this->type_mime);
$this->envoyer($info,$this->type_mime);
}
public function getExportStationJson() {
$donnees = $this->getExportStation();
$donnees_formatees = $this->formaterListeStationPourExportJson($donnees);
$this->type_mime = 'application/json';
return $donnees_formatees;
}
public function getExportStation($start = null,$limit = null, $order_by = 'oo_date') {
$requete_selection_stations = 'SELECT * FROM ods_stations ';
$res_selection_stations = $this->executerRequete($requete_selection_stations);
return $res_selection_stations;
}
public function formaterListeStationPourExportJson($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();
$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS);
$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX);
$utilisateurs = $gestionnaire_utilisateurs->getListeUtilisateurAvecInfosComplementairesFormateeId();
$communes = $gestionnaire_communes->obtenirCommunesLieesAStationIndexeesCodeInsee();
$resultats_formates = array();
$stats = array('total' => count($tableau_stations_infos));
foreach($tableau_stations_infos as $stations_infos) {
$commune = isset($communes[$stations_infos['os_ce_commune']]['oc_nom']) ? $communes[$stations_infos['os_ce_commune']]['oc_nom'] : '';
$id_station = $stations_infos['os_id_station'];
$resultats_formates[$id_station]['nom'] = $stations_infos['os_nom'];
$resultats_formates[$id_station]['code_commune'] = is_numeric($stations_infos['os_ce_commune']) ? substr($stations_infos['os_ce_commune'], 0, 2) : '';
$resultats_formates[$id_station]['nom_commune'] = $commune;
$resultats_formates[$id_station]['latitude'] = $stations_infos['os_latitude'];
$resultats_formates[$id_station]['longitude'] = $stations_infos['os_longitude'];
$resultats_formates[$id_station]['altitude'] = $stations_infos['os_altitude'];
$resultats_formates[$id_station]['type_participant'] = 'Particulier';
if(isset($utilisateurs[$stations_infos['os_ce_participant']])) {
$participant = $utilisateurs[$stations_infos['os_ce_participant']];
$resultats_formates[$id_station]['participant']['id'] = $participant['uid'];
$resultats_formates[$id_station]['participant']['nom'] = $participant['name'];
$resultats_formates[$id_station]['type_participant'] = isset($participant['profile_type']) ? $participant['profile_type'] : 'Particulier';
} else {
$resultats_formates[$id_station]['participant']['id'] = null;
$resultats_formates[$id_station]['participant']['nom'] = 'Anonyme';
$resultats_formates[$id_station]['type_participant'] = 'Particulier';
}
if(isset($stats[$resultats_formates[$id_station]['type_participant']])) {
$stats[$resultats_formates[$id_station]['type_participant']]++;
} else {
$stats[$resultats_formates[$id_station]['type_participant']] = 1;
}
}
$resultat = array('stats' => $stats, 'stations' => $resultats_formates);
return $resultat;
}
public function getExportObservation($start = null,$limit = null, $order_by = 'oo_date') {
54,13 → 120,13
return $res_selection_observations;
}
private function creerFiltreIdZoneGeo($valeurMasque) {
$masque = '';
$dept = $valeurMasque;
$dept = sprintf('%02s', $dept);
$dept = sprintf("%-'_5s", $dept);
$masque = " oc_code_insee LIKE ".$this->proteger($dept);
return $masque;
private function creerFiltreIdZoneGeo($valeurMasque) {
$masque = '';
$dept = $valeurMasque;
$dept = sprintf('%02s', $dept);
$dept = sprintf("%-'_5s", $dept);
$masque = " oc_code_insee LIKE ".$this->proteger($dept);
return $masque;
}
public function construireConditionRequete() {
141,7 → 207,7
public function getExportObservationPlat() {
$donnees = $this->getExportObservation();
$donnees_formatees = $this->formaterPourExportCSV($donnees);
$donnees_formatees = $this->formaterListeObservationPourExportCSV($donnees);
return $donnees_formatees ;
}
149,7 → 215,7
public function getExportObservationJson() {
$donnees = $this->getExportObservation();
$donnees_formatees = $this->formaterPourExportJson($donnees);
$donnees_formatees = $this->formaterListeObservationPourExportJson($donnees);
 
$this->type_mime = 'application/json';
156,7 → 222,7
return $donnees_formatees;
}
public function formaterPourExportJson($tableau_observations_infos) {
public function formaterListeObservationPourExportJson($tableau_observations_infos) {
$gestionnaire_especes = new OdsEspece($this->config);
$gestionnaire_communes = new OdsCommune($this->config);
211,13 → 277,13
public function getFichierExportObservationCsv() {
$donnees = $this->getExportObservation();
$donnees_formatees = $this->formaterPourExportCSV($donnees);
$donnees_formatees = $this->formaterListeObservationPourExportCSV($donnees);
$chaine_csv = $this->convertirTableauAssocVersCSV($donnees_formatees);
$this->envoyerFichier($chaine_csv);
}
public function formaterPourExportCSV($tableau_observations_infos) {
public function formaterListeObservationPourExportCSV($tableau_observations_infos) {
$gestionnaire_especes = new OdsEspece($this->config);
$gestionnaire_communes = new OdsCommune($this->config);