/trunk/applications/rendu/controleurs/Liens.php |
---|
127,7 → 127,6 |
$scripts .= '<script type="text/javascript" src="'.self::getUrlScript().'jquery-1.4.4.min.js"></script>'; |
$scripts .= '<script type="text/javascript" src="'.self::getUrlScript().'jquery_ui/jquery-ui-1.8.9.custom.min.js"></script>'; |
$scripts .= '<script> var urlBaseJrest = "'.Config::get('url_jrest').'";</script>'; |
$scripts .= '<script type="text/javascript" src="'.self::getUrlScript().'rendu.js"></script>'; |
return $scripts; |
/trunk/applications/rendu/controleurs/Rendu.php |
---|
29,6 → 29,8 |
private function afficherCarte() { |
$carte = $this->getCarteDemandee(); |
$espece_dao = new EspeceDao(); |
$especes = $espece_dao->getListeEspecesParType(); |
60,15 → 62,27 |
} |
$chaine_variables_script .= '</script> '; |
$chaine_variables_script .= '<script type="text/javascript" src="'.Liens::getUrlScript().'rendu_'.$carte.'.js"></script>'; |
$donnees = array(); |
$donnees['url'] = Liens::getUrlBaseComplete().'rendu_widget.php'; |
$donnees['url'] = Liens::getUrlBaseComplete().'rendu_widget.php?carte='.$carte; |
$donnees['script'] = $chaine_variables_script; |
$donnees['especes'] = $especes; |
$donnees['evenements'] = $evenements; |
$formulaire = $this->getVue('cartes/observations',$donnees); |
$formulaire = $this->getVue('cartes/observations_'.$carte,$donnees); |
$this->setSortie(self::RENDU_CORPS, $formulaire); |
} |
private function getCarteDemandee() { |
$carte = 'especes'; |
if(isset($_GET['carte'])) { |
$carte = $_GET['carte']; |
} |
return $carte; |
} |
} |
/trunk/applications/rendu/squelettes/js/rendu_especes.js |
---|
New file |
0,0 → 1,575 |
var map = null; |
var tableau_marqueurs = new Array(); |
var infowindow = new google.maps.InfoWindow(); |
var infos_observations = new Array(); |
var type_espece = '0'; |
var espece = '0'; |
var evenement = '0'; |
var annee = '0'; |
var mois = '0'; |
var jour = '0'; |
var departement = '0'; |
var tableau_couleurs = new Array("#A9582B", "#8DC7B8","#ED9355","#A7BD5B", |
"#FFC730","#0000FF","#CC4369","#9CA6A2", |
"#F7E4A2","#DC574E","#3F6CA9","#DC6C4B", |
"#E8A794","#9B5F95","#E78EDE","#45808A", |
"#168F47","#C9A838","#F2EAD8","#1A5561", |
"#6D883A"); |
liste_mois = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec"); |
evenements_debut_annee = new Array("") |
var tableau_couleurs_en_cours = new Array(); |
var timerSlider = null; |
function getUrlBaseJrest() { |
return urlBaseJrest; |
} |
function traiterParametresUrl() { |
var vars = [], hash; |
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
for(var i = 0; i < hashes.length; i++) |
{ |
hash = hashes[i].split('='); |
vars.push(hash[0]); |
vars[hash[0]] = hash[1]; |
} |
if(vars['type_espece'] != null) { |
type_espece = vars['type_espece']; |
$('#selecteur_liste_types_especes').val(type_espece); |
} |
if(vars['espece'] != null) { |
if(type_espece != '0') { |
modifierTableauEspeces(); |
} |
espece = vars['espece']; |
$('#selecteur_especes').val(espece); |
} |
if(vars['evenement'] != null) { |
if(espece != 0) { |
modifierTableauEvenement() |
} |
evenement = vars['evenement']; |
$('#selecteur_evenements').val(evenement); |
} |
if(vars['annee'] != null) { |
annee = vars['annee']; |
$('#selecteur_liste_annees').val(annee); |
} else { |
date = new Date() |
annee = date.getFullYear(); |
$('#selecteur_liste_annees').val(annee); |
} |
if(vars['mois'] != null) { |
mois = vars['mois']; |
} else { |
date = new Date() |
} |
if(vars['departement'] != null) { |
departement = vars['departement']; |
} |
if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') { |
$(".criteres").hide(); |
} |
} |
function obtenirCodeWidget() { |
var UrlBase = window.location; |
UrlBase += '?'; |
if(type_espece != '0') UrlBase += "type_espece="+type_espece; |
if(espece != '0') UrlBase += "&espece="+espece; |
if(evenement != '0') UrlBase += "&evenement="+evenement; |
if(annee != '0') UrlBase += "&annee="+annee; |
if(mois != '0') UrlBase += "&mois="+mois; |
UrlBase += "&cacher_criteres=1"; |
code_widget = '<iframe src="'+UrlBase+'" width="375px" height="470px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>' |
return code_widget; |
} |
$('#lien_cette_recherche').ready(function() { |
$('#lien_cette_recherche').click(function() { |
window.alert(obtenirCodeWidget()); |
return false; |
}); |
}); |
$(document).ready(function() { |
traiterParametresUrl(); |
}); |
/** |
************************************************************************************************ |
************************************************************************************************ |
Fonctions concernant les gestion des filtres sur la carte |
************************************************************************************************ |
************************************************************************************************ |
**/ |
function setDateSlider() { |
numeroJour = $("#slider_date").slider("value"); |
dateObs = new Date(annee,0,0); |
dateObs.setDate(dateObs.getDate()+numeroJour); |
mois = dateObs.getMonth(); |
jour = dateObs.getDay(); |
afficherObservations(); |
} |
function InitialiserIntervalleDateSlider() { |
} |
/*function est une anneeBissextile( |
return eval(an%4)==0 && !(eval(an%100)== 0 && eval(an%400)==0)); |
}*/ |
function initialiserSliderDates() { |
date_min = 1; |
date_max = 365; |
$("#slider_date").slider({ |
min: date_min, |
max: date_max, |
value: mois |
}); |
taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length)); |
valeurs_slider = '<table id="table_dates"><tbody><tr>'; |
for (i in liste_mois) { |
valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>'; |
} |
valeurs_slider += '</tr></tbody></table>'; |
$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}"); |
$("#valeurs_date").html(valeurs_slider); |
$("#slider_date").bind("slidestop", function(event, ui) { |
setDateSlider(); |
return true; |
}); |
$(window).bind("resize", resizeWindow); |
function resizeWindow( e ) { |
taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length)); |
$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}"); |
} |
} |
function initialiserListeTypesEspeces() { |
$('#selecteur_liste_types_especes').change(function() { |
type_espece = $('select#selecteur_liste_types_especes option:selected').val(); |
modifierTableauEspeces(); |
obtenirObservations(); |
}); |
} |
function modifierTableauEspeces() { |
id_type_espece = $('select#selecteur_liste_types_especes option:selected').val(); |
elements_liste = tableau_especes[id_type_espece]; |
var nb_couleur = 0; |
chaine_elements_liste = ''; |
for(i in elements_liste) { |
chaine_elements_liste += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span><input class="selecteur_espece" type="checkbox" id="espece_numero_'+i+'" name="selecteur_especes" value="'+i+'" />'; |
chaine_elements_liste += '<label for="espece_numero_'+i+'">'+elements_liste[i]+'</label><br />'; |
tableau_couleurs_en_cours[i] = tableau_couleurs[nb_couleur]; |
nb_couleur++; |
} |
$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste); |
} |
function initialiserListeEspeces() { |
$('.selecteur_espece').live('change', function() { |
modifierTableauEvenements(); |
obtenirObservations(); |
}); |
} |
function getEspecesSelectionnees() { |
especes_selectionnees = $('.selecteur_espece'); |
tab_id_especes = new Array(); |
especes_selectionnees.each(function (index, espece) { |
if($(espece).attr('checked') == true) { |
tab_id_especes.push($(espece).val()); |
} |
}); |
return tab_id_especes; |
} |
function modifierTableauEvenements() { |
especes_selectionnees = getEspecesSelectionnees(); |
elements_liste = new Array(); |
if(especes_selectionnees.length > 0) { |
espece = especes_selectionnees.concat(','); |
espece = espece.slice(0, -1); |
} else { |
espece = '0'; |
} |
for(i in especes_selectionnees) { |
evenements_especes = tableau_evenements_especes[especes_selectionnees[i]]; |
liste_evenements_cette_espece = evenements_especes.split(','); |
for(j in liste_evenements_cette_espece) { |
elements_liste[j] = liste_evenements_cette_espece[j]; |
} |
} |
chaine_elements_liste = ''; |
chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> tous les evènements </option>'; |
for(i in elements_liste) { |
chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>'; |
} |
$('#selecteur_evenements').html(chaine_elements_liste); |
} |
function initialiserListeEvenements() { |
$('#selecteur_evenements').change(function() { |
evenement = $('select#selecteur_evenements option:selected').val(); |
obtenirObservations(); |
}); |
} |
function initialiserListeAnnees() { |
$('#selecteur_liste_annees').change(function() { |
annee = $('select#selecteur_liste_annees option:selected').val(); |
obtenirObservations(); |
}); |
} |
function incrementerValeurSlider() { |
var valeur_en_cours = $('#slider_date').slider("value"); |
if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) { |
valeur_en_cours++; |
$('#slider_date').slider("value",valeur_en_cours); |
setDateSlider(); |
} else { |
clearInterval(timerSlider); |
$('#demarrer_slider').removeAttr('disabled'); |
} |
} |
function initialiserBoutonsSlider() { |
$('#demarrer_slider').click(function() { |
if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) { |
min_slider = $('#slider_date').slider("option","min"); |
$('#slider_date').slider("value",min_slider); |
} |
timerSlider = setInterval("incrementerValeurSlider()",150); |
$('#demarrer_slider').attr('disabled', 'disabled'); |
}); |
$('#arreter_slider').click(function() { |
if(timerSlider != null) { |
clearInterval(timerSlider); |
$('#demarrer_slider').removeAttr('disabled'); |
} |
}); |
} |
function initialiserValeursParDefaut() { |
id_type_espece = $('select#selecteur_liste_types_especes').val("2"); |
modifierTableauEspeces(); |
obtenirObservations(); |
} |
$('#slider_date').ready(function() { |
initialiserSliderDates(); |
initialiserBoutonsSlider(); |
initialiserListeTypesEspeces(); |
initialiserListeEspeces(); |
initialiserListeEvenements(); |
initialiserListeAnnees(); |
initialiserValeursParDefaut(); |
}); |
/** |
************************************************************************************************ |
************************************************************************************************ |
Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation |
************************************************************************************************ |
************************************************************************************************ |
**/ |
function initialiserCarte() { |
if($('#map_canvas').length == 0) { |
return; |
} |
var latlng = new google.maps.LatLng(47.0504, 2.2347); |
var myOptions = { |
zoom: 5, |
center: latlng, |
mapTypeId: google.maps.MapTypeId.HYBRID |
}; |
map = new google.maps.Map(document.getElementById("map_canvas"), |
myOptions); |
marker = new google.maps.Marker({ |
position: latlng, |
title:"" |
}); |
$('.lien_vers_profil').live('click', function(event) { |
event.preventDefault(); |
window.open($(this).attr('href')); |
return false; |
}); |
} |
function obtenirObservations() { |
requete = '?annee='+annee; |
if(type_espece != '0' && espece == '0') { |
requete += '&type_espece='+type_espece; |
} |
if(espece != '0') { |
requete += '&espece='+espece; |
} |
if(evenement != '0') { |
requete += '&evenement='+evenement; |
} |
if(departement != '0') { |
requete += '&departement='+departement; |
} |
$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) { |
infos_observations = jQuery.parseJSON(data); |
if(tableau_marqueurs.length > 0) { |
viderMarqueurs(); |
} |
for(i in infos_observations) { |
creerEtAjouterMarqueur(i, infos_observations[i]); |
} |
afficherObservations(); |
}); |
} |
function creerEtAjouterMarqueur(id_marqueur, infos_obs) { |
latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']); |
var chaine_couleur = ''; |
for(i in infos_obs.obs) { |
var observation = infos_obs.obs[i]; |
if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') { |
chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+","; |
} |
} |
chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1); |
var image = obtenirImagePourChaineCouleur(chaine_couleur); |
tableau_marqueurs[id_marqueur] = new google.maps.Marker({ |
position: latlng, |
title:infos_obs.evenenement, |
icon:image, |
optimized: false |
}); |
google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() { |
contenu_fenetre = formaterContenuFenetre(infos_obs.obs); |
infowindow.close(); |
infowindow.content = contenu_fenetre; |
infowindow.open(map,this); |
}); |
tableau_marqueurs[id_marqueur].setDraggable(false); |
tableau_marqueurs[id_marqueur].setClickable(true); |
tableau_marqueurs[id_marqueur].setMap(map); |
} |
function viderMarqueurs() { |
infowindow.close(); |
for(i in tableau_marqueurs) { |
tableau_marqueurs[i].setMap(null); |
} |
tableau_marqueurs = new Array(); |
} |
function afficherObservations() { |
var chaine_couleur = ''; |
for(i in tableau_marqueurs) { |
id_obs = i; |
obs_associees = infos_observations[id_obs]; |
afficher_marqueur = false; |
chaine_couleur = ''; |
for(j in obs_associees.obs) { |
date_obs = obs_associees.obs[j].date; |
afficher_marqueur = dateEstDansIntervalle(date_obs); |
if(afficher_marqueur) { |
if(typeof(tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]) != 'undefined') { |
chaine_couleur += tableau_couleurs_en_cours[obs_associees.obs[j].id_espece]+","; |
} |
} |
} |
if(afficher_marqueur && chaine_couleur != '') { |
chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1); |
var image = obtenirImagePourChaineCouleur(chaine_couleur); |
tableau_marqueurs[i].setIcon(image); |
if(!tableau_marqueurs[i].getVisible()) { |
tableau_marqueurs[i].setVisible(true); |
} |
} else { |
tableau_marqueurs[i].setVisible(false); |
} |
} |
} |
function obtenirImagePourChaineCouleur(chaine_couleur) { |
chaine_couleur = encodeURIComponent(chaine_couleur); |
var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur; |
return image; |
} |
function convertirDateObsVersJs(chaine_date) { |
tableau_date = chaine_date.split('/'); |
date_obs = new Date(); |
date_obs.setDate(tableau_date[0]); |
date_obs.setMonth(tableau_date[1]); |
date_obs.setFullYear(tableau_date[2]); |
return date_obs; |
} |
function dateEstDansIntervalle(t_obs) { |
date_obs = convertirDateObsVersJs(t_obs); |
dans_intervalle = false; |
var dateDebutAnnee = new Date(); |
dateDebutAnnee.setDate(1); |
dateDebutAnnee.setMonth(1); |
dateDebutAnnee.setFullYear(date_obs.getFullYear()); |
var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1; |
if($('#slider_date').slider("value") >= quantieme) { |
dans_intervalle = true; |
} |
return dans_intervalle; |
} |
function comparerDates(date_1, date_2){ |
diff = date_1.getTime()-date_2.getTime(); |
return (diff==0?diff:diff/Math.abs(diff)); |
} |
function obtenirMarqueurPourStade(stade) { |
iconeStade = '../images/marqueur_'+stade+'.png'; |
return iconeStade; |
} |
function formaterContenuFenetre(infos_obs) { |
contenu_fenetre = ''; |
date_courante = new Date(annee,mois,jour); |
for(i in infos_obs) { |
t_obs = infos_obs[i].date; |
if(dateEstDansIntervalle(t_obs)) { |
nom_stade =''; |
if(infos_obs[i].code_bbch != '') { |
nom_stade = ' stade '+infos_obs[i].code_bbch; |
} |
contenu_fenetre += '<div class="fenetre_infos">'; |
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>'; |
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>'; |
contenu_fenetre += '<div class="date_obs"> Observé le : '+infos_obs[i].date+' </div>'; |
contenu_fenetre += construireUrlProfilParticipant(infos_obs[i].participant); |
contenu_fenetre += '</div><br />'; |
} |
} |
return contenu_fenetre; |
} |
function construireUrlProfilParticipant(id) { |
return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>'; |
} |
$('#map_canvas').ready(function() { |
initialiserCarte(); |
}); |
/trunk/applications/rendu/squelettes/js/rendu_annees.js |
---|
New file |
0,0 → 1,594 |
var map = null; |
var tableau_marqueurs = new Array(); |
var infowindow = new google.maps.InfoWindow(); |
var infos_observations = new Array(); |
var type_espece = '0'; |
var espece = '0'; |
var evenement = '0'; |
var annee = '0'; |
var mois = '0'; |
var jour = '0'; |
var departement = '0'; |
var tableau_couleurs = new Array("#A9582B", "#8DC7B8","#ED9355","#A7BD5B", |
"#FFC730","#0000FF","#CC4369","#9CA6A2", |
"#F7E4A2","#DC574E","#3F6CA9","#DC6C4B", |
"#E8A794","#9B5F95","#E78EDE","#45808A", |
"#168F47","#C9A838","#F2EAD8","#1A5561", |
"#6D883A"); |
liste_mois = new Array("jan","fev","mar","avr","mai","jun","jui","aou","sep","oct","nov","dec"); |
evenements_debut_annee = new Array("") |
var tableau_couleurs_en_cours = new Array(); |
var timerSlider = null; |
function getUrlBaseJrest() { |
return urlBaseJrest; |
} |
function traiterParametresUrl() { |
var vars = [], hash; |
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
for(var i = 0; i < hashes.length; i++) |
{ |
hash = hashes[i].split('='); |
vars.push(hash[0]); |
vars[hash[0]] = hash[1]; |
} |
if(vars['type_espece'] != null) { |
type_espece = vars['type_espece']; |
$('#selecteur_liste_types_especes').val(type_espece); |
} |
if(vars['espece'] != null) { |
if(type_espece != '0') { |
modifierTableauEspeces(); |
} |
espece = vars['espece']; |
$('#selecteur_especes').val(espece); |
} |
if(vars['evenement'] != null) { |
if(espece != 0) { |
modifierTableauEvenement() |
} |
evenement = vars['evenement']; |
$('#selecteur_evenements').val(evenement); |
} |
if(vars['annee'] != null) { |
annee = vars['annee']; |
$('#selecteur_liste_annees').val(annee); |
} else { |
date = new Date() |
annee = date.getFullYear(); |
$('#selecteur_liste_annees').val(annee); |
} |
if(vars['mois'] != null) { |
mois = vars['mois']; |
} else { |
date = new Date() |
} |
if(vars['departement'] != null) { |
departement = vars['departement']; |
} |
if(vars['cacher_criteres'] != null && vars['cacher_criteres'] == '1') { |
$(".criteres").hide(); |
} |
} |
function obtenirCodeWidget() { |
var UrlBase = window.location; |
UrlBase += '?'; |
if(type_espece != '0') UrlBase += "type_espece="+type_espece; |
if(espece != '0') UrlBase += "&espece="+espece; |
if(evenement != '0') UrlBase += "&evenement="+evenement; |
if(annee != '0') UrlBase += "&annee="+annee; |
if(mois != '0') UrlBase += "&mois="+mois; |
UrlBase += "&cacher_criteres=1"; |
code_widget = '<iframe src="'+UrlBase+'" width="375px" height="470px"><p>Votre navigateur ne supporte pas les iframes.</p></iframe>' |
return code_widget; |
} |
$('#lien_cette_recherche').ready(function() { |
$('#lien_cette_recherche').click(function() { |
window.alert(obtenirCodeWidget()); |
return false; |
}); |
}); |
$(document).ready(function() { |
traiterParametresUrl(); |
}); |
/** |
************************************************************************************************ |
************************************************************************************************ |
Fonctions concernant les gestion des filtres sur la carte |
************************************************************************************************ |
************************************************************************************************ |
**/ |
function setDateSlider() { |
numeroJour = $("#slider_date").slider("value"); |
dateObs = new Date(annee,0,0); |
dateObs.setDate(dateObs.getDate()+numeroJour); |
mois = dateObs.getMonth(); |
jour = dateObs.getDay(); |
afficherObservations(); |
} |
function InitialiserIntervalleDateSlider() { |
} |
/*function est une anneeBissextile( |
return eval(an%4)==0 && !(eval(an%100)== 0 && eval(an%400)==0)); |
}*/ |
function initialiserSliderDates() { |
date_min = 1; |
date_max = 365; |
$("#slider_date").slider({ |
min: date_min, |
max: date_max, |
value: mois |
}); |
taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length)); |
valeurs_slider = '<table id="table_dates"><tbody><tr>'; |
for (i in liste_mois) { |
valeurs_slider += '<td class="conteneur_date">'+liste_mois[i]+'</td>'; |
} |
valeurs_slider += '</tr></tbody></table>'; |
$("conteneur_date").css(".conteneur_date{ width:"+taille_criteres+"px;}"); |
$("#valeurs_date").html(valeurs_slider); |
$("#slider_date").bind("slidestop", function(event, ui) { |
setDateSlider(); |
return true; |
}); |
$(window).bind("resize", resizeWindow); |
function resizeWindow( e ) { |
taille_criteres = Math.round($("#slider_date").width()/(liste_mois.length)); |
$("#css_slider").html(".conteneur_date{ width:"+taille_criteres+"px;}"); |
} |
} |
function initialiserListeTypesEspeces() { |
$('#selecteur_liste_types_especes').change(function() { |
type_espece = $('select#selecteur_liste_types_especes option:selected').val(); |
modifierTableauEspeces(); |
obtenirObservations(); |
}); |
} |
function modifierTableauEspeces() { |
id_type_espece = $('select#selecteur_liste_types_especes option:selected').val(); |
elements_liste = tableau_especes[id_type_espece]; |
var nb_couleur = 0; |
chaine_elements_liste = ''; |
chaine_elements_liste += '<select id="selecteur_liste_especes" name="selecteur_liste_especes">'; |
for(i in elements_liste) { |
chaine_elements_liste += '<option class="option_espece" value="'+i+'"> '+elements_liste[i]+' </option>'; |
} |
chaine_elements_liste += '</select>'; |
$('#conteneur_selecteur_liste_especes').html(chaine_elements_liste); |
} |
function initialiserListeEspeces() { |
$('#selecteur_liste_especes').live('change', function() { |
modifierTableauEvenements(); |
obtenirObservations(); |
}); |
} |
function getEspeceSelectionnee() { |
var espece_selectionnee = $('.option_espece:selected').val(); |
espece = espece_selectionnee; |
return espece_selectionnee; |
} |
function modifierTableauEvenements() { |
espece_selectionnee = getEspeceSelectionnee(); |
if(espece_selectionnee == null ) { |
espece = '0'; |
} |
evenements_especes = tableau_evenements_especes[espece_selectionnee]; |
liste_evenements_cette_espece = evenements_especes.split(','); |
elements_liste = new Array(); |
for(j in liste_evenements_cette_espece) { |
elements_liste[j] = liste_evenements_cette_espece[j]; |
} |
chaine_elements_liste = ''; |
chaine_elements_liste = '<option value="0" class="espece_type_0" selected="selected"> tous les evènements </option>'; |
for(i in elements_liste) { |
chaine_elements_liste += '<option value='+elements_liste[i]+'>'+tableau_evenements[elements_liste[i]]+'</option>'; |
} |
$('#selecteur_evenements').html(chaine_elements_liste); |
} |
function initialiserListeEvenements() { |
$('#selecteur_evenements').change(function() { |
evenement = $('select#selecteur_evenements option:selected').val(); |
obtenirObservations(); |
}); |
} |
function initialiserListeAnnees() { |
var date = new Date(); |
var cette_annee = date.getFullYear(); |
var chaine_element_date = ''; |
var nb_couleur = 0; |
chaine_element_date = '<div class="critere" id="selecteur_liste_annees">'; |
for(var i = cette_annee; i >= cette_annee - 5; i--) { |
chaine_element_date += '<span class="legende" style="background-color:'+tableau_couleurs[nb_couleur]+'"></span>'; |
chaine_element_date += '<input class="selecteur_date" type="checkbox" id="annee_numero_'+i+'" name="selecteur_annees" value="'+i+'" />'; |
chaine_element_date += '<label for="annee_numero_'+i+'">'+i+'</label><br />'; |
tableau_couleurs_en_cours[i] = tableau_couleurs[nb_couleur]; |
nb_couleur++; |
} |
chaine_element_date += '</div>'; |
$('#conteneur_selecteur_liste_annees').html(chaine_element_date); |
$('#selecteur_liste_annees').change(function() { |
annee = ''; |
$('.selecteur_date:checked').each(function(){ |
annee += $(this).val()+','; |
i++; |
}); |
if(annee.lastIndexOf( "," ) == annee.length - 1) { |
annee = annee.substring(0,annee.length - 1); |
} |
obtenirObservations(); |
}); |
} |
function incrementerValeurSlider() { |
var valeur_en_cours = $('#slider_date').slider("value"); |
if($('#slider_date').slider("value") < $('#slider_date').slider("option", "max")) { |
valeur_en_cours++; |
$('#slider_date').slider("value",valeur_en_cours); |
setDateSlider(); |
} else { |
clearInterval(timerSlider); |
$('#demarrer_slider').removeAttr('disabled'); |
} |
} |
function initialiserBoutonsSlider() { |
$('#demarrer_slider').click(function() { |
if($('#slider_date').slider("value") == $('#slider_date').slider("option","max")) { |
min_slider = $('#slider_date').slider("option","min"); |
$('#slider_date').slider("value",min_slider); |
} |
timerSlider = setInterval("incrementerValeurSlider()",150); |
$('#demarrer_slider').attr('disabled', 'disabled'); |
}); |
$('#arreter_slider').click(function() { |
if(timerSlider != null) { |
clearInterval(timerSlider); |
$('#demarrer_slider').removeAttr('disabled'); |
} |
}); |
} |
function initialiserValeursParDefaut() { |
id_type_espece = $('select#selecteur_liste_types_especes').val("2"); |
modifierTableauEspeces(); |
obtenirObservations(); |
} |
$('#slider_date').ready(function() { |
initialiserSliderDates(); |
initialiserBoutonsSlider(); |
initialiserListeTypesEspeces(); |
initialiserListeEspeces(); |
initialiserListeEvenements(); |
initialiserListeAnnees(); |
initialiserValeursParDefaut(); |
}); |
/** |
************************************************************************************************ |
************************************************************************************************ |
Fonctions concernant la carte permettant de pointer d'afficher l'emplacement des observation |
************************************************************************************************ |
************************************************************************************************ |
**/ |
function initialiserCarte() { |
if($('#map_canvas').length == 0) { |
return; |
} |
var latlng = new google.maps.LatLng(47.0504, 2.2347); |
var myOptions = { |
zoom: 5, |
center: latlng, |
mapTypeId: google.maps.MapTypeId.HYBRID |
}; |
map = new google.maps.Map(document.getElementById("map_canvas"), |
myOptions); |
marker = new google.maps.Marker({ |
position: latlng, |
title:"" |
}); |
$('.lien_vers_profil').live('click', function(event) { |
event.preventDefault(); |
window.open($(this).attr('href')); |
return false; |
}); |
} |
function obtenirObservations() { |
requete = '?annee='+annee; |
if(type_espece != '0' && espece == '0') { |
requete += '&type_espece='+type_espece; |
} |
if(espece != '0') { |
requete += '&espece='+espece; |
} |
if(evenement != '0') { |
requete += '&evenement='+evenement; |
} |
if(departement != '0') { |
requete += '&departement='+departement; |
} |
$.get(getUrlBaseJrest()+'OdsExport/ExportObservationJson/'+requete, function(data) { |
infos_observations = jQuery.parseJSON(data); |
if(tableau_marqueurs.length > 0) { |
viderMarqueurs(); |
} |
for(i in infos_observations) { |
creerEtAjouterMarqueur(i, infos_observations[i]); |
} |
afficherObservations(); |
}); |
} |
function creerEtAjouterMarqueur(id_marqueur, infos_obs) { |
latlng = new google.maps.LatLng(infos_obs['latitude'],infos_obs['longitude']); |
var chaine_couleur = ''; |
for(i in infos_obs.obs) { |
var observation = infos_obs.obs[i]; |
if(typeof(tableau_couleurs_en_cours[observation.id_espece]) != 'undefined') { |
chaine_couleur += tableau_couleurs_en_cours[observation.id_espece]+","; |
} |
} |
chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1); |
var image = obtenirImagePourChaineCouleur(chaine_couleur); |
tableau_marqueurs[id_marqueur] = new google.maps.Marker({ |
position: latlng, |
title:infos_obs.evenenement, |
icon:image, |
optimized: false |
}); |
google.maps.event.addListener(tableau_marqueurs[id_marqueur], 'click', function() { |
contenu_fenetre = formaterContenuFenetre(infos_obs.obs); |
infowindow.close(); |
infowindow.content = contenu_fenetre; |
infowindow.open(map,this); |
}); |
tableau_marqueurs[id_marqueur].setDraggable(false); |
tableau_marqueurs[id_marqueur].setClickable(true); |
tableau_marqueurs[id_marqueur].setMap(map); |
} |
function viderMarqueurs() { |
infowindow.close(); |
for(i in tableau_marqueurs) { |
tableau_marqueurs[i].setMap(null); |
} |
tableau_marqueurs = new Array(); |
} |
function afficherObservations() { |
var chaine_couleur = ''; |
for(i in tableau_marqueurs) { |
id_obs = i; |
obs_associees = infos_observations[id_obs]; |
afficher_marqueur = false; |
chaine_couleur = ''; |
for(j in obs_associees.obs) { |
date_obs = obs_associees.obs[j].date; |
afficher_marqueur = dateEstDansIntervalle(date_obs); |
if(afficher_marqueur) { |
if(typeof(tableau_couleurs_en_cours[date_obs.getFullYear()]) != 'undefined') { |
chaine_couleur += tableau_couleurs_en_cours[date_obs.getFullYear()]+","; |
} |
} |
} |
if(afficher_marqueur && chaine_couleur != '') { |
chaine_couleur = chaine_couleur.slice(0,chaine_couleur.length - 1); |
var image = obtenirImagePourChaineCouleur(chaine_couleur); |
tableau_marqueurs[i].setIcon(image); |
if(!tableau_marqueurs[i].getVisible()) { |
tableau_marqueurs[i].setVisible(true); |
} |
} else { |
tableau_marqueurs[i].setVisible(false); |
} |
} |
} |
function obtenirImagePourChaineCouleur(chaine_couleur) { |
chaine_couleur = encodeURIComponent(chaine_couleur); |
var image = getUrlBaseJrest()+"OdsMarqueur/point?couleurs="+chaine_couleur; |
return image; |
} |
function convertirDateObsVersJs(chaine_date) { |
tableau_date = chaine_date.split('/'); |
date_obs = new Date(); |
date_obs.setDate(tableau_date[0]); |
date_obs.setMonth(tableau_date[1]); |
date_obs.setFullYear(tableau_date[2]); |
return date_obs; |
} |
function dateEstDansIntervalle(t_obs) { |
date_obs = convertirDateObsVersJs(t_obs); |
dans_intervalle = false; |
var dateDebutAnnee = new Date(); |
dateDebutAnnee.setDate(1); |
dateDebutAnnee.setMonth(1); |
dateDebutAnnee.setFullYear(date_obs.getFullYear()); |
var quantieme = (date_obs.getTime() - dateDebutAnnee.getTime()) / (24 * 3600 * 1000)+1; |
if($('#slider_date').slider("value") >= quantieme) { |
dans_intervalle = true; |
} |
return dans_intervalle; |
} |
function comparerDates(date_1, date_2){ |
diff = date_1.getTime()-date_2.getTime(); |
return (diff==0?diff:diff/Math.abs(diff)); |
} |
function obtenirMarqueurPourStade(stade) { |
iconeStade = '../images/marqueur_'+stade+'.png'; |
return iconeStade; |
} |
function formaterContenuFenetre(infos_obs) { |
contenu_fenetre = ''; |
date_courante = new Date(annee,mois,jour); |
for(i in infos_obs) { |
t_obs = infos_obs[i].date; |
if(dateEstDansIntervalle(t_obs)) { |
nom_stade =''; |
if(infos_obs[i].code_bbch != '') { |
nom_stade = ' stade '+infos_obs[i].code_bbch; |
} |
contenu_fenetre += '<div class="fenetre_infos">'; |
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].nom_scientifique+'</div>'; |
contenu_fenetre += '<div class="nom_sci">'+infos_obs[i].evenenement+nom_stade+'</div>'; |
contenu_fenetre += '<div class="date_obs"> Observé le : '+infos_obs[i].date+' </div>'; |
contenu_fenetre += construireUrlProfilParticipant(infos_obs[i].participant); |
contenu_fenetre += '</div><br />'; |
} |
} |
return contenu_fenetre; |
} |
function construireUrlProfilParticipant(id) { |
return '<a class="lien_vers_profil" href="http://obs-saisons.fr/user/'+id+'"> Voir l\'auteur </a>'; |
} |
$('#map_canvas').ready(function() { |
initialiserCarte(); |
}); |
/trunk/applications/rendu/squelettes/cartes/observations_especes.tpl.html |
---|
New file |
0,0 → 1,61 |
<!-- ODS_RENDU - DEBUT CARTE OBS --> |
<div id="contenu_application"> |
<?= $script; ?> |
<div id="conteneur_slider_date" class="criteres"> |
<div id="slider_date"> </div> |
<div id="valeurs_date"> </div> |
</div> |
<span class="conteneur_bouton_sliders"> |
<input type="button" id="demarrer_slider" value="Demarrer" /> |
<input type="button" id="arreter_slider" value="Arreter" /> |
</span> |
<hr class="separation_invisible" /> |
<div class="separation_en_deux"> |
<div class="conteneur_carte" > |
<div id="map_canvas" style="width:100%; height:100%"></div> |
</div> |
<div class="droite"> |
<div class="criteres"> |
<div class="selecteur_critere" id="conteneur_selecteur_liste_annees"> |
<select id="selecteur_liste_annees" name="selecteur_liste_annees"> |
<option value="<?= date('Y') ?>" selected="selected"> <?= date('Y') ?> </option> |
<?php for($i = date('Y') - 1 ; $i >= date('Y') - 5; $i--) { ?> |
<option value="<?= $i; ?>"> <?= $i; ?> </option> |
<?php } ?> |
</select> |
</div> |
</div> |
<span class="selecteur_critere" id="conteneur_selecteur_liste_types_especes"> |
<select id="selecteur_liste_types_especes"> |
<option value="0" class="espece_type_0" selected="selected"> type d'espèce </option> |
<?php foreach($especes as $id_type_espece => $type_espece) : ?> |
<option value="<?= $id_type_espece; ?>"> <?= $type_espece['nom']; ?> </option> |
<?php endforeach; ?> |
</select> |
</span> |
<span class="selecteur_critere" id="conteneur_selecteur_liste_evenements"> |
<select id="selecteur_evenements"> |
<option value="0" class="espece_type_0" selected="selected"> tous les evènements </option> |
</select> |
</span> |
<hr class="separation_invisible" /> |
<div class="selecteur_critere droite" id="conteneur_selecteur_liste_especes"> |
</div> |
</div> |
</div> |
<hr class="separation_invisible" /> |
<div class="criteres" id="lien_cette_recherche"><a href="<?= $url; ?>">Obtenir le widget de cette recherche </a></div> |
</div> |
<!-- ODS_RENDU - FIN CARTE OBS --> |
/trunk/applications/rendu/squelettes/cartes/observations_annees.tpl.html |
---|
New file |
0,0 → 1,50 |
<!-- ODS_RENDU - DEBUT CARTE OBS --> |
<div id="contenu_application"> |
<?= $script; ?> |
<div id="conteneur_slider_date" class="criteres"> |
<div id="slider_date"> </div> |
<div id="valeurs_date"> </div> |
</div> |
<span class="conteneur_bouton_sliders"> |
<input type="button" id="demarrer_slider" value="Demarrer" /> |
<input type="button" id="arreter_slider" value="Arreter" /> |
</span> |
<hr class="separation_invisible" /> |
<div class="separation_en_deux"> |
<div class="conteneur_carte" > |
<div id="map_canvas" style="width:100%; height:100%"></div> |
</div> |
<div class="droite"> |
<span class="selecteur_critere" id="conteneur_selecteur_liste_types_especes"> |
<select id="selecteur_liste_types_especes"> |
<option value="0" class="espece_type_0" selected="selected"> type d'espèce </option> |
<?php foreach($especes as $id_type_espece => $type_espece) : ?> |
<option value="<?= $id_type_espece; ?>"> <?= $type_espece['nom']; ?> </option> |
<?php endforeach; ?> |
</select> |
</span> |
<span class="selecteur_critere" id="conteneur_selecteur_liste_especes"> |
</span> |
<span class="selecteur_critere" id="conteneur_selecteur_liste_evenements"> |
<select id="selecteur_evenements"> |
<option value="0" class="espece_type_0" selected="selected"> tous les evènements </option> |
</select> |
</span> |
<hr class="separation_invisible" /> |
<div class="selecteur_critere" id="conteneur_selecteur_liste_annees"> |
</div> |
</div> |
</div> |
<hr class="separation_invisible" /> |
<div class="criteres" id="lien_cette_recherche"><a href="<?= $url; ?>">Obtenir le widget de cette recherche </a></div> |
</div> |
<!-- ODS_RENDU - FIN CARTE OBS --> |