/trunk/widget/modules/saisie/squelettes/sauvages/img/logos/sdmr.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/img/marqueurs/debut.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/img/marqueurs/fin.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/img/chargement_arbre.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/img/favicon.ico |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/pas_de_photo.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/supprimer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/calendrier.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/chargement-image.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/chargement.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/js/sauvages.js |
---|
1,14 → 1,5 |
//+---------------------------------------------------------------------------------------------------------+ |
// GÉNÉRAL => OK |
$(document).ready(function() { |
if (DEBUG == false) { |
$(window).on('beforeunload', function(event) { |
return 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.'; |
}); |
} |
}); |
//+----------------------------------------------------------------------------------------------------------+ |
// FONCTIONS GÉNÉRIQUES => OK |
// GÉNÉRAL |
/** |
* Stope l'évènement courrant quand on clique sur un lien. |
* Utile pour Chrome, Safari... |
19,110 → 10,23 |
if (evenement.stopPropagation) { |
evenement.stopPropagation(); |
} |
if (evenement.preventDefault) { |
evenement.preventDefault(); |
} |
return false; |
} |
function extraireEnteteDebug(jqXHR) { |
var msgDebug = ''; |
if (jqXHR.getResponseHeader('X-DebugJrest-Data') != '') { |
var debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader('X-DebugJrest-Data')); |
if (debugInfos != null) { |
$.each(debugInfos, function (cle, valeur) { |
msgDebug += valeur + "\n"; |
}); |
} |
// TODO : voir si cette fonction est bien utile. Résoud le pb d'un warning sous chrome. |
(function(){ |
// remove layerX and layerY |
var all = $.event.props, |
len = all.length, |
res = []; |
while (len--) { |
var el = all[len]; |
if (el != 'layerX' && el != 'layerY') res.push(el); |
} |
return msgDebug; |
} |
$.event.props = res; |
}()); |
function afficherPanneau(selecteur) { |
$(selecteur).fadeIn('slow').delay(DUREE_MESSAGE).fadeOut('slow'); |
} |
//+----------------------------------------------------------------------------------------------------------+ |
//FORM IDENTITE : gestion de l'observateur => OK |
$(document).ready(function() { |
$('#courriel').on('blur', requeterIdentite); |
$('#courriel').on('keypress', testerLancementRequeteIdentite); |
}); |
function testerLancementRequeteIdentite(event) { |
if (event.which == 13) { |
requeterIdentite(); |
event.preventDefault(); |
event.stopPropagation(); |
} |
} |
function requeterIdentite() { |
var courriel = $('#courriel').val(); |
//TODO: mettre ceci en paramètre de config |
var urlAnnuaire = SERVICE_ANNUAIRE_ID_URL + courriel; |
$.ajax({ |
url: urlAnnuaire, |
type: 'GET', |
success: function(data, textStatus, jqXHR) { |
if (data != undefined && data[courriel] != undefined) { |
var infos = data[courriel]; |
$('#id_utilisateur').val(infos.id); |
$('#prenom').val(infos.prenom); |
$('#nom').val(infos.nom); |
$('#courriel_confirmation').val(courriel); |
$('#prenom, #nom, #courriel_confirmation').attr('disabled', 'disabled'); |
$('#structure').focus(); |
} else { |
surErreurCompletionCourriel(); |
} |
}, |
error: function(jqXHR, textStatus, errorThrown) { |
surErreurCompletionCourriel(); |
}, |
complete: function(jqXHR, textStatus) { |
$('#zone-prenom-nom').removeClass('hidden'); |
$('#zone-courriel-confirmation').removeClass('hidden'); |
} |
}); |
} |
function surErreurCompletionCourriel() { |
$('#prenom, #nom, #courriel_confirmation').val(''); |
$('#prenom, #nom, #courriel_confirmation').removeAttr('disabled'); |
afficherPanneau('#dialogue-courriel-introuvable'); |
} |
function formaterNom() { |
$(this).val($(this).val().toUpperCase()); |
} |
function formaterPrenom() { |
var prenom = new Array(), |
mots = $(this).val().split(' '); |
for (var i = 0; i < mots.length; i++) { |
var mot = mots[i]; |
if (mot.indexOf('-') >= 0) { |
var prenomCompose = new Array(), |
motsComposes = mot.split('-'); |
for (var j = 0; j < motsComposes.length; j++) { |
var motSimple = motsComposes[j], |
motMajuscule = motSimple.charAt(0).toUpperCase() + motSimple.slice(1); |
prenomCompose.push(motMajuscule); |
} |
prenom.push(prenomCompose.join('-')); |
} else { |
var motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1); |
prenom.push(motMajuscule); |
} |
} |
$(this).val(prenom.join(' ')); |
} |
//+----------------------------------------------------------------------------------------------------------+ |
//UPLOAD PHOTO : Traitement de l'image |
$(document).ready(function() { |
$('#effacer-miniature').click(function () { |
317,7 → 221,7 |
map: map, |
draggable: true, |
title: 'Début de la portion de rue étudiée', |
icon: GOOGLE_MAP_MARQUEUR_DEBUT_URL, |
icon: MARQUEUR_ICONE_DEBUT_URL, |
position: latLng |
}); |
433,7 → 337,7 |
map: map, |
draggable: true, |
title: 'Fin de la portion de rue étudiée', |
icon: GOOGLE_MAP_MARQUEUR_FIN_URL, |
icon: MARQUEUR_ICONE_FIN_URL, |
position: latLngFin |
}); |
558,28 → 462,10 |
} |
//+---------------------------------------------------------------------------------------------------------+ |
//FORMULAIRE : traitements génériques |
// FORMULAIRE |
$(document).ready(function() { |
$('#prenom').on('change', formaterPrenom); |
$('#nom').on('change', formaterNom); |
$('#date').datepicker($.datepicker.regional['fr']); |
configurerDatePicker('#date'); |
$('#taxon-liste').on('change', surChangementTaxonListe); |
$('.alert .close').on('click', fermerPanneauAlert); |
$('.has-tooltip').tooltip('enable'); |
$('#btn-aide').on('click', basculerAffichageAide); |
ajouterAutocompletionNoms(); |
configurerFormValidator(); |
definirReglesFormValidator(); |
//------------------------------------------------------------------------------------------------------- |
// A NETTOYER : |
$.validator.addMethod( |
'dateCel', |
function (value, element) { |
587,6 → 473,31 |
}, |
'Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.'); |
$('form#saisie-obs').validate({ |
rules: { |
courriel: { |
required: true, |
email: true}, |
courriel_confirmation: { |
required: true, |
equalTo: '#courriel' |
}, |
rue_cote: 'required', |
'milieu[]': { |
required: true, |
minlength: 1 |
}, |
latitude: { |
required: true, |
range: [-90, 90]}, |
longitude: { |
required: true, |
range: [-180, 180]}, |
date: { |
required: true, |
dateCel: true}, |
taxon: 'required' |
}, |
messages: { |
'milieu[]': 'Vous devez sélectionner au moins un milieu' |
} |
767,112 → 678,6 |
}); |
}); |
function configurerFormValidator() { |
$.validator.addMethod( |
'dateCel', |
function (value, element) { |
return value == '' || (/^[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}$/.test(value)); |
}, |
'Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.'); |
$.extend($.validator.defaults, { |
ignore: [],// Forcer Jquery Validate à examiner les éléments avec en display:none; |
highlight: function(element) { |
$(element).closest('.control-group').removeClass('success').addClass('error'); |
}, |
success: function(element) { |
element.text('OK!').addClass('valid'); |
element.closest('.control-group').removeClass('error').addClass('success'); |
if (element.attr('id') == 'taxon' && $('#taxon').val() != '') { |
// Si le taxon n'est pas lié au référentiel, on vide le data associé |
if ($('#taxon').data('value') != $('#taxon').val()) { |
$('#taxon').data('numNomSel', ''); |
$('#taxon').data('nomRet', ''); |
$('#taxon').data('numNomRet', ''); |
$('#taxon').data('nt', ''); |
$('#taxon').data('famille', ''); |
} |
} |
} |
}); |
} |
function definirReglesFormValidator() { |
$('#form-observateur').validate({ |
rules: { |
courriel: { |
required: true, |
email: true}, |
courriel_confirmation: { |
required: true, |
equalTo: '#courriel'}, |
prenom: { |
required: true}, |
nom: { |
required: true} |
} |
}); |
$('#form-obs').validate({ |
rules: { |
station: { |
required: true}, |
latitude : { |
required: true, |
range: [-90, 90]}, |
longitude: { |
required: true, |
range: [-180, 180]}, |
date: { |
required: true, |
'dateCel' : true}, |
rue_cote: { |
required: true}, |
'taxon-liste': { |
required: true}, |
'milieux[]': { |
required: true, |
minlength: 1} |
}, |
errorPlacement: function(error, element) { |
if (element.attr('name') == 'date') { |
element.parent('.input-prepend').after(error); |
} else if (element.attr('name') == 'milieux[]') { |
error.insertAfter('#milieux-controls'); |
} else { |
error.insertAfter(element); |
} |
}, |
messages: { |
'milieu[]': 'Vous devez sélectionner au moins un milieu' |
} |
}); |
} |
function surChangementTaxonListe() { |
if ($('#taxon-liste').val() === '?') { |
$('#taxon-input-groupe').removeClass('hidden'); |
} else { |
$('#taxon-input-groupe').addClass('hidden'); |
} |
} |
function configurerDatePicker(selector) { |
$.datepicker.setDefaults($.datepicker.regional['fr']); |
$(selector).datepicker({ |
dateFormat: 'dd/mm/yy', |
showOn: 'button', |
buttonImageOnly: true, |
buttonImage: CALENDRIER_ICONE_URL, |
buttonText: 'Afficher le calendrier pour saisir la date.', |
showButtonPanel: true, |
onSelect: function(date) { |
$(this).valid(); |
} |
}); |
$(selector + ' + img.ui-datepicker-trigger').appendTo(selector + '-icone.add-on'); |
} |
function getB64ImgOriginal() { |
var b64 = ''; |
if ($("#miniature-img").hasClass('b64')) { |
/trunk/widget/modules/saisie/squelettes/sauvages/sauvages.tpl.html |
---|
1,19 → 1,24 |
<!DOCTYPE html> |
<html lang="fr"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<title>Sauvages de ma rue</title> |
<meta charset="utf-8"> |
<meta name="author" content="Jean-Pascal MILCENT, Aurélien PERONNET, Céline VIDAL" /> |
<meta name="keywords" content="Sauvages de ma rue, CEL, Tela Botanica, Natural Solutions, MNHN" /> |
<meta name="description" content="Widget de saisie pour le projet Sauvages de ma rue" /> |
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> |
<meta http-equiv="Content-style-type" content="text/css" /> |
<meta http-equiv="Content-script-type" content="text/javascript" /> |
<meta http-equiv="Content-language" content="fr" /> |
<!-- Viewport Mobile --> |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
<meta name="revisit-after" content="15 days" /> |
<meta name="robots" content="index,follow" /> |
<meta name="author" content="Céline VIDAL, Jean-Pascal MILCENT" /> |
<meta name="keywords" content="Tela Botanica, Natural Solutions, MNHN, Sauvages de ma rue, CEL" /> |
<meta name="description" content="Widget de saisie simplifié pour le projet Sauvages de ma rue" /> |
<!-- Favicones --> |
<link rel="shortcut icon" type="image/x-icon" href="<?=$url_base?>/modules/saisie/squelettes/sauvages/img/favicon.ico" /> |
<link rel="shortcut icon" type="image/x-icon" href="<?=$url_base?>/modules/saisie/squelettes/sauvages/images/favicon.ico" /> |
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> |
<!-- Javascript : bibliothèques --> |
<!-- Google Map v3 --> |
<!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>--> |
22,22 → 27,16 |
<!-- Jquery --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script> |
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery-ui-1.10.2.custom.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery.ui.datepicker-fr.min.js"></script> |
<!-- Jquery Plugins --> |
<!-- Jquery Validate : nécessaire pour la validation des formulaires --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery-ui-1.8.17.custom.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery.ui.datepicker-fr.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/jquery.validate.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/additional-methods.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/messages_fr.js"></script> |
<!-- Jquery Form :nécessaire pour l'upload des images --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/3.32/jquery.form.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/2.95/jquery.form.min.js"></script> |
<!-- Bootstrap --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.2/js/bootstrap.min.js"></script> |
<script src="<?=$url_base?>saisie?projet=sauvages&service=taxons" type="text/javascript"></script> |
<!-- Javascript : appli saisie --> |
<script src="<?=$url_base?>saisie?projet=sauvages&service=taxons" type="text/javascript"></script> |
<script type="text/javascript"> |
//<![CDATA[ |
// La présence du parametre 'debug' dans l'URL enclenche le dégogage |
44,169 → 43,67 |
var DEBUG = <?=isset($_GET['debug']) ? 'true' : 'false'?>; |
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5 |
var HTML5 = <?=isset($_GET['html5']) ? 'true' : 'false'?>; |
// La présence du parametre 'ville' dans l'URL géolocalise |
var VILLE = "<?=isset($_GET['ville']) ? $_GET['ville'] : ''?>"; |
VILLE = <?= isset($_GET['commune']) ? "'".$_GET['commune']."'" : 'VILLE' ?>; |
// Mot-clé du widget/projet |
var TAG_PROJET = "WidgetSauvages,Sauvages"; |
// Mots-clés à ajouter aux images |
var TAG_IMG = "<?=isset($_GET['tag-img']) ? $_GET['tag-img'] : ''?>"; |
var SEPARATION_TAG_IMG = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : '' ?>"; |
TAG_IMG = <?=isset($_GET['motcle']) ? "'".$_GET['motcle']."' + SEPARATION_TAG_IMG + TAG_IMG" : 'TAG_IMG' ?>; |
// Mots-clés à ajouter aux observations |
var TAG_OBS = "<?=isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''?>"; |
var SEPARATION_TAG_OBS = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : '' ?>"; |
TAG_OBS = <?=isset($_GET['projet']) ? "'".$_GET['projet']."' + SEPARATION_TAG_OBS + TAG_OBS" : 'TAG_OBS' ?>; |
// URL du web service réalisant l'insertion des données dans la base du CEL. |
var SERVICE_SAISIE_URL = "<?=$url_ws_saisie?>"; |
// URL du web service permettant de récupérer les infos d'une observation du CEL. |
var SERVICE_OBS_URL = "<?=$url_ws_obs?>"; |
// Code du référentiel utilisé pour les nom scientifiques (de la forme nom:code). |
var NOM_SCI_REFERENTIEL = "<?=$ns_referentiel?>"; |
// Nom du référentiel utilisé pour les nom scientifiques. |
var NOM_SCI_PROJET = "<?=$ns_projet?>"; |
// Code de la version du référentiel utilisé pour les nom scientifiques. |
var NOM_SCI_VERSION = "<?=$ns_version?>"; |
// Indication de la présence d'une espèce imposée |
var ESPECE_IMPOSEE = "<?=$espece_imposee; ?>"; |
// Tableau d'informations sur l'espèce imposée |
var INFOS_ESPECE_IMPOSEE = <?=$infos_espece; ?>; |
// Nombre d'élément dans les listes d'auto-complétion |
var AUTOCOMPLETION_ELEMENTS_NBRE = 20; |
// Indication de la présence d'un référentiel imposé |
var REFERENTIEL_IMPOSE = "<?=$referentiel_impose; ?>"; |
// Indication des version utilisées de chaque référentiel |
var PROJETS_VERSIONS = <?=json_encode($projets_versions)?>; |
// URL du web service permettant l'auto-complétion des noms scientifiques. |
var SERVICE_AUTOCOMPLETION_NOM_SCI_URL = "<?=$url_ws_autocompletion_ns?>?"+ |
"masque={masque}&"+ |
"recherche=etendue&"+ |
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+ |
//"version.projet="+NOM_SCI_VERSION+"&"+ |
"ns.structure=au"+"&"+ |
"navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE; |
// URL du web service permettant l'auto-complétion des noms scientifiques. |
var SERVICE_AUTOCOMPLETION_NOM_SCI_URL_TPL = "<?=$url_ws_autocompletion_ns_tpl?>?"+ |
"masque={masque}&"+ |
"recherche=etendue&"+ |
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+ |
//"version.projet="+NOM_SCI_VERSION+"&"+ |
"ns.structure=au"+"&"+ |
"navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE; |
// Nombre d'observations max autorisé avant transmission |
var OBS_MAX_NBRE = 10; |
// Durée d'affichage en milliseconde des messages d'informations |
var DUREE_MESSAGE = 15000; |
// Squelette d'URL du web service de l'annuaire. |
var SERVICE_ANNUAIRE_ID_URL = "<?=$url_ws_annuaire?>"; |
// Squelette d'URL du web service d'eFlore fournissant les noms de communes. |
var SERVICE_NOM_COMMUNE_URL = "http://www.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}"; |
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative). |
var SERVICE_NOM_COMMUNE_URL_ALT = "http://www.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1"; |
// URL du marqueur à utiliser dans la carte Google Map |
var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/marqueurs/debut.png"; |
var MARQUEUR_ICONE_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png"; |
// URL de l'icône du bouton supprimer |
var SUPPRIMER_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/icones/supprimer.png"; |
// URL de l'icône du chargement en cours |
var CHARGEMENT_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/icones/chargement.gif"; |
// URL de l'icône de fin de rue |
var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/marqueurs/fin.png"; |
// URL de l'icône du chargement en cours |
var CHARGEMENT_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/chargement.gif"; |
// URL de l'icône du chargement en cours d'une image |
var CHARGEMENT_IMAGE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/chargement-image.gif"; |
// URL de l'icône du calendrier |
var CALENDRIER_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/calendrier.png"; |
// URL de l'icône du calendrier |
var PAS_DE_PHOTO_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/pas_de_photo.png"; |
// URL de l'icône du bouton supprimer |
var SUPPRIMER_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/icones/supprimer.png"; |
var MARQUEUR_ICONE_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png"; |
//]]> |
</script> |
<script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/sauvages/js/sauvages.js"></script> |
<!-- CSS --> |
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/css/ui-darkness/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="<?=$url_base?>modules/saisie/squelettes/sauvages/css/<?=isset($_GET['style']) ? $_GET['style'] : 'sauvages'?>.css" rel="stylesheet" type="text/css" media="screen" /> |
</head> |
<body data-spy="scroll"> |
<div id="zone-appli" class="container"> |
<?php if ($titre == 'defaut' ) : ?> |
<h1 id="widget-titre"><img src="<?=$url_base?>/modules/saisie/squelettes/sauvages/img/logos/sdmr.png" alt="Sauvages de ma rue : Saisie des observations"/></h1> |
<?php else: ?> |
<body> |
<div id="zone-appli"> |
<?php if($titre == 'defaut' ) { ?> |
<h1 id="widget-titre"><img src="<?=$url_base?>/modules/saisie/squelettes/sauvages/images/logos/sdmr.png" alt="Sauvages de ma rue : Saisie des observations"/></h1> |
<?php } else { ?> |
<h1 id="widget-titre"><?= $titre ?></h1> |
<?php endif; ?> |
<?php } ?> |
<h2>Observateur</h2> |
<form id="form-observateur" action="#" autocomplete="on"> |
<form id="saisie-obs" action="#" enctype="multipart/form-data" autocomplete="on"> |
<fieldset id="partie-identification"> |
<div class="row-fluid"> |
<div class="span6 control-group has-tooltip" data-placement="bottom" |
title="Saisissez le courriel avec lequel vous être inscrit à Tela Botanica. |
Si vous n'êtes pas inscrit, ce n'est pas grave, vous pourrez le faire |
ultérieurement. Des informations complémentaires vont vous être |
demandées : prénom et nom."> |
<label class="control-label" for="courriel"> |
<strong class="obligatoire">*</strong> |
Courriel |
</label> |
<div class="controls"> |
<div class="input-prepend"> |
<span class="add-on"> |
<i class="icon-envelope"></i> |
</span> |
<input id="courriel" name="courriel" class="span11" type="text"/> |
<input id="id_utilisateur" name="id_utilisateur" type="hidden"/> |
</div> |
</div> |
</div> |
<div id="zone-courriel-confirmation" class="span6 hidden control-group has-tooltip" |
data-placement="bottom" |
title="Saisissez à nouveau votre courriel afin de le confirmer. Le |
copier/coller est désactivé pour éviter les erreurs."> |
<label class="control-label" for="courriel_confirmation"> |
<strong class="obligatoire">*</strong> |
Courriel (confirmation) |
<legend>Observateur</legend> |
<ul> |
<li> |
<label for="prenom">Prénom</label> |
<input id="prenom" name="prenom" type="text" value=""/> |
</li> |
<li> |
<label for="nom">Nom</label> |
<input id="nom" name="nom" type="text" value=""/> |
</li> |
<li> |
<label for="courriel" class="oblig" |
title="Saisissez votre adresse email. Elle vous permettra de retrouver vos données, et ne sera pas utilisée à des fins commerciales."> |
<strong class="obligatoire">*</strong> Courriel |
</label> |
<div class="controls"> |
<div class="input-prepend"> |
<span class="add-on"> |
<i class="icon-envelope"></i> |
</span> |
<input id="courriel_confirmation" name="courriel_confirmation" |
class="span11" type="text"/> |
</div> |
</div> |
</div> |
</div> |
<div id="zone-prenom-nom" class="row-fluid hidden"> |
<div class="span6 control-group"> |
<label for="prenom" class="control-label"> |
<strong class="obligatoire">*</strong> |
Prénom |
<input id="courriel" name="courriel" type="text" value=""/> |
</li> |
<li> |
<label for="courriel_confirmation" class="oblig" title="Saisissez à nouveau votre adresse email pour la confirmer"> |
<strong class="obligatoire">*</strong> Courriel (confirmation) |
</label> |
<input id="prenom" name="prenom" class="span12" type="text"/> |
</div> |
<div class="span6 control-group"> |
<label for="nom" class="control-label"> |
<strong class="obligatoire">*</strong> |
Nom |
</label> |
<div class="controls"> |
<input id="nom" name="nom" class="span12" type="text"/> |
</div> |
</div> |
</div> |
<input id="courriel_confirmation" name="courriel_confirmation" type="text" value=""/> |
</li> |
</ul> |
</fieldset> |
</form> |
<form id="form-obs" action="#" autocomplete="on"> |
<h2>Fiche de terrain</h2> |
<div id="zone-fiche-terrain"> |
<fieldset id="partie-date"> |
402,7 → 299,7 |
<div id="chargement" style="position:fixed;z-index:1000;top:0;left:0;height:100%;width:100%;background:#777;background:rgba(90,86,93,0.7);text-align:center;display:none;"> |
<div id="chargement-centrage" style="position:relative;width:30%;margin:0 auto;top:30%;"> |
<img id="chargement-img" src="<?=$url_base?>modules/saisie/squelettes/sauvages/img/chargement_arbre.gif" alt="Transfert en cours..."/> |
<img id="chargement-img" src="<?=$url_base?>modules/saisie/squelettes/sauvages/images/chargement_arbre.gif" alt="Transfert en cours..."/> |
<p id="chargement-txt" style="color:white;font-size:1.5em;"> |
Transfert des observations en cours...<br /> |
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre d'observation à transférer. |
/trunk/widget/modules/saisie/squelettes/sauvages/images/logos/sdmr.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/logos/sdmr.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/fleur.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/fleur.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/classic.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/classic.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/relief.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/relief.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/panneau.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/panneau.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/chargement_arbre.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/images/chargement_arbre.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/favicon.ico |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/images/favicon.ico |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/supprimer.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/supprimer.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/chargement.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/chargement.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/aide.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/aide.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/sauvages/images/chargement.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/sauvages/images/chargement.gif |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/saisie/squelettes/florileges/florileges.tpl.html |
---|
20,8 → 20,7 |
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&language=fr&region=FR"></script> |
<!-- Jquery --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.js"></script> |
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery-ui-1.10.2.custom.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery.ui.datepicker-fr.min.js"></script> |
34,7 → 33,7 |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/3.32/jquery.form.min.js"></script> |
<!-- Bootstrap --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.2/js/bootstrap.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.1/js/bootstrap.min.js"></script> |
<!-- Javascript : appli saisie --> |
<script src="<?=$url_base?>saisie?projet=sauvages&service=taxons" type="text/javascript"></script> |
56,9 → 55,9 |
var SEPARATION_TAG_OBS = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : '' ?>"; |
TAG_OBS = <?=isset($_GET['projet']) ? "'".$_GET['projet']."' + SEPARATION_TAG_OBS + TAG_OBS" : 'TAG_OBS' ?>; |
// URL du web service réalisant l'insertion des données dans la base du CEL. |
// Précharger le formulaire avec les infos d'une observation |
var OBS_ID = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>"; |
// URL du web service réalisant l'insertion des données dans la base du CEL. |
var SERVICE_SAISIE_URL = "<?=$url_ws_saisie?>"; |
// URL du web service permettant de récupérer les infos d'une observation du CEL. |
var SERVICE_OBS_URL = "<?=$url_ws_obs?>"; |
105,9 → 104,9 |
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative). |
var SERVICE_NOM_COMMUNE_URL_ALT = "http://www.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1"; |
// URL du marqueur à utiliser dans la carte Google Map |
var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/florileges/img/marqueurs/debut.png"; |
var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png"; |
// URL de l'icône de fin de rue |
var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/florileges/img/marqueurs/fin.png"; |
var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png"; |
// URL de l'icône du chargement en cours |
var CHARGEMENT_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/florileges/img/icones/chargement.gif"; |
// URL de l'icône du chargement en cours d'une image |
122,8 → 121,8 |
<!-- CSS --> |
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" /> |
<link href="<?=$url_base?>modules/saisie/squelettes/florileges/css/<?=isset($_GET['style']) ? $_GET['style'] : 'florileges'?>.css" rel="stylesheet" type="text/css" media="screen" /> |
</head> |
1020,7 → 1019,7 |
<div id="chargement" class="modal-fenetre" style="display:none;"> |
<div id="chargement-centrage" class="modal-contenu"> |
<img id="chargement-img" |
src="<?=$url_base?>modules/saisie/squelettes/florileges/img/chargement_arbre.gif" |
src="<?=$url_base?>modules/saisie/squelettes/sauvages/images/chargement_arbre.gif" |
alt="Transfert en cours..."/> |
<p id="chargement-txt" style="color:white;font-size:1.5em;"> |
Transfert des observations en cours...<br /> |
/trunk/widget/modules/saisie/squelettes/florileges/img/chargement_arbre.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/squelettes/florileges/img/marqueurs/fin.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/florileges/img/marqueurs/debut.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/florileges/img/icones/epingle.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
/trunk/widget/modules/saisie/squelettes/florileges/img/icones/epingle.png |
---|
New file |
Property changes: |
Added: svn:mime-type |
+image/png |
\ No newline at end of property |
/trunk/widget/modules/saisie/Saisie.php |
---|
117,7 → 117,7 |
$widget['donnees']['titre'] = ($widget['donnees']['titre'] == '0') ? '' : $widget['donnees']['titre']; |
// cas du projet par défaut ou bien d'un projet n'ayant pas de squelette spécifique |
if ($this->projet == 'defaut' || $this->projet == 'florileges' || $this->projet == 'sauvages' || !$this->projetASquelette()) { |
if ($this->projet == 'defaut' || $this->projet == 'florileges' || !$this->projetASquelette()) { |
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl']; |
$urlWsNs = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, $this->NS_PROJET, self::WS_NOM); |
$urlWsNsSansRef = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM); |
273,7 → 273,7 |
$infos = json_decode(file_get_contents($url_service_infos)); |
// trop de champs injectés dans les infos espèces peut |
// faire planter javascript |
$champs_a_garder = array('id', 'nom_sci','nom_sci_complet', |
$champs_a_garder = array('id', 'nom_sci','nom_sci_complet', |
'famille','nom_retenu.id', 'nom_retenu.libelle', 'num_taxonomique'); |
$resultat = array(); |
if (isset($infos) && !empty($infos)) { |
281,7 → 281,7 |
if(isset($infos['nom_sci']) && $infos['nom_sci'] != '') { |
$resultat = array_intersect_key($infos, array_flip($champs_a_garder)); |
$resultat['retenu'] = ($infos['id'] == $infos['nom_retenu.id']) ? "true" : "false"; |
} |
} |
} |
return $resultat; |
} |