Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 2875 → Rev 2904

/branches/v2.24-sarcloir/widget/modules/saisie/configurations/messicoles_taxons.tsv
New file
0,0 → 1,31
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr nom_fr_autre groupe
Adonis sp. 85809 Adonis L. 85809 34764 Ranunculaceae Adonis (Genre)
Agrostemma githago 74941 Agrostemma githago L. 74941 29933 Caryophyllaceae Nielle
Ajuga chamaepitys 74943 Ajuga chamaepitys (L.) Schreb. 74943 29935 Lamiaceae Bugle petit pin
Anchusa arvensis 4439 Lycopsis arvensis L. 40520 1341 Boraginaceae Buglosse des champs
Androsace maxima 74955 Androsace maxima L. 74955 29947 Primulaceae Grande androsace
Anthemis sp 85889 Anthemis L. 85889 34844 Asteraceae Anthémis (Genre)
Aphanes arvensis 5600 Aphanes arvensis L. 5600 4700 Rosaceae Alchémille des champs
Bifora sp. 85997 Bifora Hoffm. 85997 34952 Apiaceae Bifora (Genre)
Bupleurum sp. 86046 Bupleurum L. 86046 35001 Apiaceae Buplèvre (Genre)
Camelina sp. 86072 Camelina Crantz 86072 35027 Brassicaceae Caméline (Genre)
Caucalis platycarpos 14897 Caucalis platycarpos L. 14897 135 Apiaceae Caucalis à fruits plats
Centaurea cyanus 15139 Cyanus segetum Hill 20411 576 Asteraceae Bleuet
Conringia orientalis 18684 Conringia orientalis (L.) Dumort. 18684 1623 Brassicaceae Vélar d'orient
Consolida sp. 86211 Delphinium L. 83586 32850 Ranunculaceae Pied d'alouette
Iberis pinnata 35617 Iberis pinnata L. 35617 1712 Brassicaceae Ibéris penné
Legousia speculum veneris 38202 Legousia speculum-veneris (L.) Chaix 38202 1920 Campanulaceae Miroir de Vénus
Lithospermum arvense 39521 Buglossoides arvensis (L.) I.M.Johnst. 11364 1392 Boraginaceae Grémil des champs
Myagrum perfoliatum 43117 Myagrum perfoliatum L. 43117 1763 Brassicaceae Myagre perfolié
Neslia paniculata 103697 Neslia paniculata (L.) Desv. 103697 38007 Brassicaceae Neslie en panicule
Orlaya grandifolia 46423 Orlaya grandiflora (L.) Hoffm. 46423 235 Apiaceae Orlaya à grandes fleurs
Papaver rhoeas 75277 Papaver rhoeas L. 75277 30269 Papaveraceae Coquelicot
Polycnemum majus 51124 Polycnemum majus A.Braun 51124 2370 Amaranthaceae Grand polycnème
Ranunculus sp 84688 Ranunculus L. 84688 33922 Ranunculaceae Renoncule (Genre)
Scandix pecten veneris 61292 Scandix pecten-veneris L. 61292 275 Apiaceae Peigne de Vénus
Stachys annua 75391 Stachys annua (L.) L. 75391 30383 Lamiaceae Epiaire annuelle
Thlaspi arvense 67864 Thlaspi arvense L. 67864 1823 Brassicaceae Tabouret des champs
Thymelaea passerina 68060 Thymelaea passerina (L.) Coss. & Germ. 68060 5613 Thymelaeaceae Passerine annuelle
Tulipa sp 85330 Tulipa L. 85330 34401 Liliaceae Tulipe (Genre)
Vaccaria hispanica 70467 Vaccaria hispanica (Mill.) Rauschert 70467 14876 Caryophyllaceae Vachère
Viola sp 87392 Viola L. 87392 36347 Violaceae Pensée (Genre)
/branches/v2.24-sarcloir/widget/modules/saisie/configurations/messicoles_nnr.js
New file
0,0 → 1,108
// Liste des numéros de noms retenus (dans bdtfx seulement) des espèces qui sont
// considérées comme des messicoles (pour vérifier au moment où on choisit une
// espèce dans la liste d'autocomplétion de bdtfx
var nnr_messicoles =
[
830,
837,
864,
3183,
3461,
5600,
6704,
7266,
9731,
9732,
11102,
11364,
11467,
11483,
11637,
11648,
12170,
12364,
12370,
12372,
14897,
15712,
15069,
18684,
21790,
77384,
21855,
21796,
19133,
20318,
20411,
21826,
21864,
28677,
28901,
29309,
44116,
30202,
30246,
34790,
35207,
35211,
35617,
38199,
38202,
39788,
40520,
43117,
44066,
44091,
118879,
46423,
47775,
51120,
51124,
51400,
54767,
56198,
61292,
61723,
64053,
64061,
64197,
64461,
65530,
65592,
67864,
68060,
68582,
69960,
69973,
69983,
69986,
70015,
70031,
70059,
70467,
70655,
70662,
70664,
103330,
121018,
71721,
71837,
72065,
74941,
74943,
74955,
74963,
75008,
75046,
75124,
75154,
75276,
75277,
75330,
75380,
75391,
75443,
75452,
39744,
75451
];
/branches/v2.24-sarcloir/widget/modules/saisie/configurations/messicoles.ini
New file
0,0 → 1,3
titre_page = "Signaler la présence de messicoles"
;logo_page = ""
referentiel = "bdtfx"
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/florileges/florileges.tpl.html
17,7 → 17,7
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>-->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/ambrosia/ambrosia.tpl.html
19,7 → 19,7
 
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/sauvages/js/WidgetSaisieSauvages.js
947,4 → 947,4
}
});
return champs;
};
};
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/sauvages/sauvages.tpl.html
16,7 → 16,7
 
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/sauvages
Property changes:
Modified: svn:mergeinfo
Merged /trunk/widget/modules/saisie/squelettes/sauvages:r2850-2903
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/biodiversite34/biodiversite34.tpl.html
21,7 → 21,7
 
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.5&amp;sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.5&amp;language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.13/js/jquery-ui-1.8.13.custom.min.js"></script>
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/arbres-tetards/arbres-tetards.tpl.html
20,7 → 20,7
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>-->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Proj4js -->
<script type="text/javascript" src="http://resources.tela-botanica.org/proj4js/2.2.1/proj4.js"></script>
 
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/defaut_image.tpl.xml
New file
0,0 → 1,7
<?='<?xml version="1.0" encoding="UTF-8"?>'."\n";?>
<root>
<miniature-url><?=$urlMiniature?></miniature-url>
<image-nom><?=$imageNom?></image-nom>
<message><?=$message?></message>
<debogage><?=$debogage?></debogage>
</root>
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/messicoles.tpl.html
New file
0,0 → 1,944
<!DOCTYPE html>
<html>
<head>
<title>Saisie simplifiée du CEL - messicoles</title>
 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
 
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Tela Botanica" />
<meta name="keywords" content="Tela Botanica, CEL" />
<meta name="description" content="Widget de saisie simplifiée pour le CEL" />
 
<!-- OpenGraph pour Facebook, Pinterest, Google+ -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Saisie rapide d'observations - messicoles" />
<meta property="og:site_name" content="Tela Botanica" />
<meta property="og:description" content="Saisissez et partagez facilement vos observations de plantes sauvages grâce au Widget de saisie du Carnet en Ligne (Licence CC-BY-SA)" />
<meta property="og:image" content="http://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="256" />
<meta property="og:image:height" content="256" />
<meta property="og:locale" content="fr_FR" />
 
<!-- Viewport Mobile -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
 
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="http://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
 
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script>
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="http://resources.tela-botanica.org/bootstrap/2.3.2/js/bootstrap.min.js"></script>
 
<!-- Javascript : appli saisie -->
<script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/defaut/js/WidgetSaisie.js"></script>
<script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/messicoles/js/WidgetSaisieMessicoles.js"></script>
<script src="<?=$url_base?>saisie?projet=messicoles&amp;service=taxons" type="text/javascript"></script>
<script type="text/javascript" src="<?=$url_base?>modules/saisie/configurations/messicoles_nnr.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
// Un objet sauvage apparaît
var widget = new WidgetSaisieMessicoles();
 
// la variable "taxons" chargée par "service=taxons" ci-dessus n'est pas accessible dans le contexte objet
widget.taxons = taxons;
 
// La présence du parametre 'debug' dans l'URL enclenche le débogage
widget.debug = <?=isset($_GET['debug']) ? 'true' : 'false'?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
widget.html5 = <?=isset($_GET['html5']) ? 'true' : 'false'?>;
// Mot-clé du widget/projet
widget.tagProjet = "WidgetSaisie";
// Mots-clés à ajouter aux images
widget.tagImg = "<?=isset($_GET['tag-img']) ? $_GET['tag-img'] : ''?>";
widget.separationTagImg = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : '' ?>";
widget.tagImg = <?=isset($_GET['motcle']) ? "'".$_GET['motcle']."' + widget.separationTagImg + widget.tagImg" : 'widget.tagImg' ?>;
// Mots-clés à ajouter aux observations
widget.tagObs = "<?=isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''?>";
widget.separationTagObs = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : '' ?>";
widget.tagObs = <?=isset($_GET['projet']) ? "'".$_GET['projet']."' + widget.separationTagObs + widget.tagObs" : 'widget.tagObs' ?>;
// Précharger le formulaire avec les infos d'une observation
widget.obsId = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>";
// URL du web service réalisant l'insertion des données dans la base du CEL.
widget.serviceSaisieUrl = "<?=$url_ws_saisie?>";
// URL du web service permettant de récupérer les infos d'une observation du CEL.
widget.serviceObsUrl = "<?=$url_ws_obs?>";
// Code du référentiel utilisé pour les nom scientifiques.
widget.nomSciReferentiel = "<?=$ns_referentiel?>";
// Indication de la présence d'une espèce imposée
widget.especeImposee = "<?=$espece_imposee; ?>";
// Tableau d'informations sur l'espèce imposée
widget.infosEspeceImposee = <?=$infos_espece; ?>;
// Nombre d'élément dans les listes d'auto-complétion
widget.autocompletionElementsNbre = 20;
// Indication de la présence d'un référentiel imposé
widget.referentielImpose = "<?=$referentiel_impose; ?>";
// URL du web service permettant l'auto-complétion des noms scientifiques
widget.serviceAutocompletionNomSciUrl = "<?=$url_ws_autocompletion_ns?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"ns.structure=au"+"&"+
"navigation.limite=" + widget.autocompletionElementsNbre;
// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
widget.serviceAutocompletionNomSciUrlTpl = "<?=$url_ws_autocompletion_ns_tpl?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
"retour.tri=alpharet&"+ // tri "à la CeL"
"ns.structure=au"+"&"+
"navigation.limite=" + widget.autocompletionElementsNbre;
// Nombre d'observations max autorisé avant transmission
widget.obsMaxNbre = 10;
// Durée d'affichage en milliseconde des messages d'informations
widget.dureeMessage = 15000;
// Squelette d'URL du web service de l'annuaire.
widget.serviceAnnuaireIdUrl = "<?=$url_ws_annuaire?>";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
widget.serviceNomCommuneUrl = "http://api.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).
widget.serviceNomCommuneUrlAlt = "http://api.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
widget.googleMapMarqueurUrl = "<?=$url_base?>modules/saisie/squelettes/messicoles/img/marqueurs/debut.png";
// URL de l'icône du chargement en cours
widget.chargementIconeUrl = "<?=$url_base?>modules/saisie/squelettes/messicoles/img/icones/chargement.gif";
// URL de l'icône du chargement en cours d'une image
widget.chargementImageIconeUrl = "<?=$url_base?>modules/saisie/squelettes/messicoles/img/icones/chargement-image.gif";
// URL de l'icône du calendrier
widget.calendrierIconeUrl = "<?=$url_base?>modules/saisie/squelettes/messicoles/img/icones/calendrier.png";
// URL de l'icône pour une photo manquante
widget.pasDePhotoIconeUrl = "<?=$url_base?>modules/saisie/squelettes/messicoles/img/icones/pasdephoto.png";
 
// Initialisation du bousin
widget.init();
});
//]]>
</script>
 
<!-- CSS -->
<link href="http://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/css/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://resources.tela-botanica.org/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://resources.tela-botanica.org/bootstrap/2.0.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/saisie/squelettes/messicoles/css/<?=isset($_GET['style']) ? $_GET['style'] : 'messicoles'?>.css" rel="stylesheet" type="text/css" media="screen" />
 
<!-- Google Analytics -->
<?php if($prod): ?>
<?php include "analytics.html"; ?>
<?php endif; ?>
</head>
 
<body data-spy="scroll">
<div class="container">
<div class="row-fluid">
<div class="span12 page-header">
<div class="row">
<div class="span12">
<h1>
<?php if($logo != 'defaut' && $logo != '0') { ?>
<img id="logo-titre" class="span1" src="<?= $logo ?>" alt="Logo" />
<?php } else if($logo == 'defaut') { ?>
<img id="logo-titre" class="span1" src="http://resources.tela-botanica.org/tb/img/256x256/logo_sans_mots.png" alt="Tela Botanica" />
<?php } ?>
<span id="titre-projet">
<?php if($titre != 'defaut') { ?>
<?= $titre; ?>
</span>
<?php } else { ?>
Ajout rapide d'observations
<?php } ?>
<img id="logo-messicoles" src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/icones/logo.jpg" />
</h1>
</div>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span6">
<div class="row">
<div class="span6">
<p>
Cet outil vous permet de partager simplement vos observations avec le
<a href="http://www.tela-botanica.org/site:accueil">réseau Tela Botanica</a> (sous <a href="http://www.tela-botanica.org/page:licence?langue=fr">licence CC-BY-SA</a>).
Identifiez-vous bien pour ensuite retrouver et gérer vos données dans
<a href="http://www.tela-botanica.org/appli:cel">votre Carnet en ligne</a>.
Créez jusqu'à 10 observations (avec 10Mo max d'images) puis partagez-les avec le bouton 'transmettre'.
Elles apparaissent immédiatement sur les <a href="http://www.tela-botanica.org/site:botanique">cartes et galeries photos </a> du site.
</p>
<p class="discretion">
Pour toute question ou remarque,
<a href="<?= $url_remarques ?>?service=cel&pageSource=<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']); ?>"
target="_blank"
onclick="javascript:window.open(this.getAttribute('href'), 'Tela Botanica - Remarques', config='height=700, width=640, scrollbars=yes, resizable=yes'); return false;">
contactez-nous</a>
 
</p>
<p class="discretion">
Une fois familiarisé avec l'interface vous pouvez cliquer sur ce bouton pour désactiver l'aide.
<button id="btn-aide" class="btn btn-mini btn-success">
<span class="icon-question-sign icon-white"></span>
<span id="btn-aide-txt" >Désactiver l'aide</span>
</button>
</p>
</div>
</div>
</div>
<!-- Bloc Observateur -->
<div class="span6">
<div class="well">
<h2>Observateur</h2>
<hr>
<form id="form-observateur" action="#" class="" autocomplete="on">
<div class="row-fluid">
<div class="span6" data-placement="right">
<label for="courriel">
<span class="has-tooltip pointer"
title="Saisissez le courriel avec lequel vous êtes 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.">
<strong class="obligatoire">*Courriel</strong>
</span>
</label>
<div class="input-prepend">
<span class="add-on">
<i class="icon-envelope"></i>
</span>
<input id="courriel" class="input-large" name="courriel" type="text" />
<input id="id_utilisateur" name="id_utilisateur" type="hidden"/>
</div>
</div>
<div id="zone-courriel-confirmation" class="span6 hidden">
<label for="courriel_confirmation"
title="Veuillez saisir confirmer le courriel.">
<strong class="obligatoire">*Courriel (confirmation)</strong>
</label>
<div class="input-prepend">
<span class="add-on">
<i class="icon-envelope"></i>
</span><input id="courriel_confirmation" class="input-large" name="courriel_confirmation" type="text"/>
</div>
</div>
</div>
<div id="zone-prenom-nom" class="row-fluid hidden">
<div class="span6">
<label for="prenom">
<strong>Prénom</strong>
</label>
<div class="input-prepend">
<span class="add-on">
<i class="icon-user"></i>
</span><input id="prenom" name="prenom" class="input-large" type="text"/>
</div>
</div>
<div class="span6">
<label for="nom">
<strong>Nom</strong>
</label>
<div class="input-prepend">
<span class="add-on">
<i class="icon-user"></i>
</span><input id="nom" name="nom" class="input-large" type="text"/>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- Messages d'erreur du formulaire-->
<div class="row">
<div class="zone-alerte span6 offset6">
<div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block" style="display:none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : copier/coller</h4>
<p>
Merci de ne pas copier/coller votre courriel.<br/>
La double saisie permet de vérifier l'absence d'erreurs.
</p>
</div>
<div id="dialogue-courriel-introuvable" class="alert alert-info alert-block" style="display:none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : courriel introuvable</h4>
<p>
Vous n'êtes pas inscrit à Tela Botanica avec ce courriel.<br/>
Veuillez compléter les champs supplémentaires ou indiquer votre courriel d'inscription.<br/>
Pour retrouver vos observations dans le <a href="http://www.tela-botanica.org/appli:cel">Carnet en ligne</a>,
il sera nécesaire de <a href="http://www.tela-botanica.org/page:inscription">vous inscrire à Tela Botanica</a>.
</p>
</div>
<div id="dialogue-google-map" class="alert alert-info alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information sur Google Maps</h4>
<div class="contenu"></div>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div class="row-fluid">
<div class="span6">
<div class="well">
<!-- 1e colonne : date, lieu, geoloc -->
<div class="row-fluid">
<h2>Relevé</h2>
<hr>
<form id="form-releve" class="control-group" action="#" autocomplete="on">
<!-- DATE -->
<div class="row-fluid">
<div class="control-group">
<label for="date">
<span class="has-tooltip pointer"
title="Veuillez indiquer la date du relevé au format jj/mm/aaaa. Vous pouvez
cliquer sur l'icône de calendrier pour sélectionner une date">
<strong class="obligatoire">*Date du relevé</strong>
</span>
</label>
<div class="input-prepend">
<span id="date-icone" class="add-on"></span><input id="date"
class="input-small" name="date" type="text"
placeholder="jj/mm/aaaa" />
</div>
</div>
</div>
<!-- Type de culture -->
<div class="row-fluid">
<div class="span3 control-group">
<label class="pointer">
<span class="has-tooltip pointer"
title="Vous pouvez sélectionner un type de culture parmi la liste ou en saisir un manuellement via l'option Autres"
>
<strong class="obligatoire">*Type de culture</strong>
</span>
</label>
</div>
<div class="span9 control-group">
<!-- Céréale -->
<label for="culture-cereale-radio" class="radio culture pointer">
<input type="radio" id="culture-cereale-radio" name="type-culture" value="cereale" data-titre="céréale" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Céréale
<input class="has-tooltip" type="text" id="culture-cereale-input" name="type-culture-details"
placeholder="Ex : Maïs"
style="display: none;"
title="Si vous la connaissez, indiquez quelle plante est cultivée sur le champ"
/>
</label>
<div class="popover-html-content" data-for="culture-cereale-radio">
<h5>Céréale</h5>
<p class="texte-infobulle">
Plante cultivée principalement pour ses grains, c'est-à-dire ses fruits
(caryopses), utilisés dans l'alimentation de l'Homme et des animaux
domestiques, souvent moulus sous forme de farine raffinée ou plus ou
moins complète, mais aussi en grains entiers (ces plantes sont aussi
parfois consommées sous forme de fourrage). En botanique, les céréales
regroupent des plantes de la famille des <i>Poacées</i> (ou <i>Graminées</i>).
Certaines graines d'autres familles botaniques sont parfois communément
appelées céréales, telles que le sarrasin (<i>Polygonacées</i>), le quinoa et
l'amarante (<i>Chénopodiacées</i>) ou le sésame (<i>Pédaliacées</i>). Toutefois,
n'étant pas des <i>Poacées</i>, ces dernières ne sont pas des céréales au sens
strict, et on leur donne souvent le nom de pseudo-céréales.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/cereale.png"
/>
</div>
<!-- Friche -->
<label for="culture-friche-radio" class="radio culture pointer">
<input type="radio" id="culture-friche-radio" name="type-culture" value="friche" data-titre="friche" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Friche
<input class="has-tooltip" type="text" id="culture-friche-input" name="type-culture-details"
placeholder="Ex : Pissenlit"
style="display: none;"
title="Si vous la connaissez, indiquez quelle plante est cultivée sur le champ"
/>
</label>
<div class="popover-html-content" data-for="culture-friche-radio">
<h5>Friche</h5>
<p class="texte-infobulle">
Zone, terrain ou une propriété qui n'est pas ou plus cultivée ni entretenue.
Des activités marginales peuvent cependant s’y étendre si ses parties restent
bien sûr accessibles : pâturage, cueillette, braconnage, chasse ou pêche et
autres activités de loisirs.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/friche.png"
/>
</div>
<!-- Maraichère -->
<label for="culture-maraichere-radio" class="radio culture pointer">
<input type="radio" id="culture-maraichere-radio" name="type-culture" value="maraichere" data-titre="maraichère" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Maraichère
<input class="has-tooltip" type="text" id="culture-maraichere-input" name="type-culture-details"
placeholder="Ex : Pois"
style="display: none;"
title="Si vous la connaissez, indiquez quelle plante est cultivée sur le champ"
/>
</label>
<div class="popover-html-content" data-for="culture-maraichere-radio">
<h5>Maraichère</h5>
<p class="texte-infobulle">
La culture maraîchère concerne les légumes, les petits fruits, les fines
herbes et fleurs à usage alimentaire, de manière professionnelle.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/maraichere.jpg"
/>
</div>
<!-- Vigne -->
<label for="culture-vigne-radio" class="radio culture pointer">
<input type="radio" id="culture-vigne-radio" name="type-culture" value="vigne" data-titre="vigne" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Vigne
<input class="has-tooltip" type="text" id="culture-vigne-input" name="type-culture-details"
placeholder="Ex : Sauterne"
style="display: none;"
title="Si vous la connaissez, indiquez quelle plante est cultivée sur le champ"
/>
</label>
<div class="popover-html-content" data-for="culture-vigne-radio">
<h5>Vigne</h5>
<p class="texte-infobulle">
Plantes grimpantes de la famille des <i>Vitaceae</i>, du genre <i>Vitis</i>.
Elles sont largement cultivées pour leur fruit en grappes, le raisin,
dont on tire un jus, le moût, qui devient du vin après fermentation.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/vigne.png"
/>
</div>
<!-- Verger -->
<label for="culture-verger-radio" class="radio culture pointer">
<input type="radio" id="culture-verger-radio" name="type-culture" value="verger" data-titre="verger" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Verger
<input class="has-tooltip" type="text" id="culture-verger-input" name="type-culture-details"
placeholder="Ex : Pommier"
style="display: none;"
title="Si vous la connaissez, indiquez quelle plante est cultivée sur le champ"
/>
</label>
<div class="popover-html-content" data-for="culture-verger-radio">
<h5>Verger</h5>
<p class="texte-infobulle">
Espace de terrain dévolu à la culture d'arbres fruitiers, appelée
arboriculture fruitière. Il en existe différents types : les vergers
conservatoires, les prés-vergers, les vergers commerciaux et de jardin
potager.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/verger.png"
/>
</div>
<!-- Plantes à parfum, aromatiques et médicinales -->
<label for="culture-aromatique-radio" class="radio culture pointer">
<input type="radio" id="culture-aromatique-radio" name="type-culture" value="aromatique" data-titre="plantes à parfum, aromatiques et médicinales" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Plantes à parfum, aromatiques et médicinales
<input class="has-tooltip" type="text" id="culture-aromatique-input" name="type-culture-details"
placeholder="Ex : Lavande"
style="display: none;"
title="Si vous la connaissez, indiquez quelle plante est cultivée sur le champ"
/>
</label>
<div class="popover-html-content" data-for="culture-aromatique-radio">
<h5>Plantes à parfum, aromatiques et médicinales</h5>
<p class="texte-infobulle">
Plantes grimpantes de la famille des <i>Vitaceae</i>, du genre <i>Vitis</i>.
Elles sont largement cultivées pour leur fruit en grappes, le raisin,
dont on tire un jus, le moût, qui devient du vin après fermentation.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/aromatique.jpg"
/>
</div>
<!-- Autres -->
<label for="culture-autres-radio" class="radio culture pointer">
<input type="radio" id="culture-autres-radio" name="type-culture" value="autres" data-titre="autres" />
Autres
<input type="text" id="culture-autres-input" name="type-culture-details"
style="display: none;"
/>
</label>
</div>
</div>
</form>
<!-- Géolocalisation -->
<div class="row-fluid">
<div class="span4">
<strong>Géolocalisation</strong>
</div>
<div class="span8 droite">
<form id="form-carte-recherche" class="form-search form-horizontal" action="#" >
<div class="control-group">
<label for="carte-recherche" class="pointer">Rechercher</label>
<input id="carte-recherche" class="search-query has-tooltip" type="text" value=""
title="Permet de centrer la carte sur le lieu recherché."
placeholder="Ex : France, Paris, Rue de Rivoli..."/>
</div>
</form>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div id="map-canvas" class="has-tooltip"
title="Vous pouvez cliquer sur la carte pour déplacer le marqueur
représentant votre station ou bien le glisser-déposer sur
le lieu souhaité."></div>
</div>
</div>
<!-- Coordonnées -->
<div class="row-fluid">
<label for="coordonnees-geo" class="span7">
<a href="#" class="afficher-coord">Afficher</a>
<a href="#" class="afficher-coord" style="display:none;">Cacher</a>
les coordonnées géographiques
<span id="lat-lon-info" class="info has-tooltip"
title="Système géodésique mondial, révision de 1984 - Coordonnées non projetées">
(WGS84)
</span>
</label>
<div id="info-commune" class="span5">
<span for="marqueur-commune">Commune : </span>
<span id="marqueur-commune">
<span id="commune-nom" class="commune-info"></span>
(<span id="commune-code-insee" class="commune-info has-tooltip"
title="Code INSEE de la commune"></span>)
</span>
</div>
</div>
<!-- Formulaire Station -->
<form id="form-station" class="control-group" action="#" enctype="multipart/form-data" autocomplete="on">
<div id="coordonnees-geo" class="well" style="display:none;">
<div class="row-fluid form-inline">
<div id="coord-lat" class="span4">
<label for="latitude" class="pointer">Latitude</label>
<input id="latitude" class="input-mini" name="latitude" type="text" value=""/>
</div>
<div id="coord-lng" class="span4">
<label for="longitude" class="pointer">Longitude</label>
<input id="longitude" class="input-mini" name="longitude" type="text" value=""/>
</div>
<div class="span4 droite">
<input class="btn btn-primary" id="geolocaliser" type="button" value="Voir sur la carte"
class="has-tooltip"
title="Centre la carte sur les coordonnées de latitude et longitude saisies."/>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span4 has-tooltip centre"
title="Toponyme plus précis que la commune, utilisé localement et se trouvant souvent sur les cartes au 1/25 000." >
<label for="lieudit" class="pointer">Lieu-dit</label>
<div>
<input type="text" id="lieudit" class="span2" name="lieudit"/>
</div>
</div>
<div class="span4 has-tooltip centre"
title="Lieu précis de l'observation définissant une unité écologique homogène (ex: le pré derrière la maison)." >
<label for="station" class="pointer">Station</label>
<div>
<input type="text" id="station" class="span2" name="station"/>
</div>
</div>
<div class="span4 has-tooltip centre"
title="Type d'habitat plus ou moins standardisé dans les codes Corine ou Catminat (ex: prairie humide).">
<label for="milieu" class="pointer">Milieu</label>
<div>
<input type="text" id="milieu" class="span2" name="milieu" />
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- 2e colonne : observation -->
<div class="span6">
<div class="well">
<div class="row-fluid">
<div class="span12">
<form id="form-obs" action="#" autocomplete="on">
<h2>Observation</h2>
<hr>
<div class="row-fluid">
<div id="taxon-liste-input-groupe" class="control-group">
<label for="taxon-liste">
<span class="has-tooltip pointer"
title="Sélectionnez une espèce dans la liste déroulante par son nom latin
ou commun. Si une espèce est absente, sélectionner «Autre espèce»."
>
<strong class="obligatoire">*Espèces</strong>
</span>
</label>
<span class="input-prepend">
<span id="espece-icone" class="add-on">
<i class="icon-leaf"></i>
</span>
</span>
<select id="taxon-liste" name="taxon-liste" class="form-control">
<option value="" selected>Sélectionner une espèce</option>
<optgroup id="taxon-liste-noms">
<?php foreach ($taxons['sci-et-fr'] as $taxon) :?>
<option
class="<?=$taxon['nom_type'] ?>"
value="<?=$taxon['num_nom'] ?>"
title="<?=$taxon['nom_title'] ?>"
data-nom-a-sauver="<?=$taxon['nom_a_sauver'] ?>"
>
<?=$taxon['nom_a_afficher']?>
</option>
<?php endforeach; ?>
</optgroup>
<optgroup id="taxon-liste-special">
<?php foreach ($taxons['speciaux'] as $taxon) :?>
<option
class="<?=$taxon['nom_type'] ?>"
value="<?=$taxon['num_nom'] ?>"
title="<?=$taxon['nom_title'] ?>"
data-nom-a-sauver="<?=$taxon['nom_a_sauver'] ?>"
>
<?=$taxon['nom_a_afficher']?>
</option>
<?php endforeach; ?>
</optgroup>
<option id="taxon-option-autre" value="?">Autre espèce</option>
</select>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div id="taxon-input-groupe" class="" hidden>
<label for="taxon" title="Choisissez une espèce">
<span class="has-tooltip pointer" title="Sélectionnez une espèce dans la liste déroulante pour lier
votre nom au référentiel selectionné. Si vous
le désirez vous pouvez aussi saisir un nom absent du référentiel
(Ex. : 'fleur violette' ou 'viola sinensis???').">
<strong>Espèce <?= $referentiel_impose ? '('.$ns_referentiel.')' : '' ?> <em>(ou indication sur la plante)</em></strong>
</span>
</label>
<div class="row-fluid">
<div class="span12">
<span class="input-prepend">
<span class="add-on">
<i class="icon-leaf"></i>
</span>
<input type="text" id="taxon" name="taxon" value="<?= $nom_sci_espece_defaut; ?>" data="numNomSel" />
</span>
</div>
</div>
</div>
</div>
<p class="alert alert-warning" id="avertissement-non-messicole" style="display: none;">
<strong>Attention :</strong> cette espèce ne fait pas partie de la liste des messicoles du plan national d'action pour les messicoles. L'espèce que vous observez pourrait ne pas être une messicole.
</p>
</div>
<!-- Certitude -->
<div class="row-fluid">
<div class="span12 control-group">
<label for="identification-liste">
<span class="has-tooltip pointer"
title="Indiquez votre certitude vis-à-vis du nom d'espèce indiqué">
<strong>Certitude</strong>
</span>
</label>
<span class="input-prepend">
<span id="identification-icone" class="add-on">
<i class="icon-eye-open"></i>
</span>
</span>
<select name="identification-liste" id="identification-liste">
<option value="" selected>Indiquez votre certitude</option>
<option value="certaine" data-titre="certaine">Certaine</option>
<option value="douteuse" data-titre="douteuse">Douteuse</option>
<option value="adeterminer" data-titre="à déterminer">A déterminer</option>
</select>
</div>
</div>
<!-- Abondance -->
<div class="row-fluid">
<div class="control-group">
<label for="abondance-liste">
<span class="has-tooltip pointer"
title="Indiquez le nombre d'individus observés, toutes zones du champ confondues">
<strong class="obligatoire">*Abondance</strong>
</span>
</label>
<span class="input-prepend">
<span id="abondance-icone" class="add-on">
<i class="icon-signal"></i>
</span>
</span>
<select name="abondance-liste" id="abondance-liste">
<option value="" class="a-masquer" selected>Sélectionner une abondance</option>
<option value="1" data-titre="1 à 10 individus">1 à 10 individus</option>
<option value="10" data-titre="10 à 100 individus">10 à 100 individus</option>
<option value="100" data-titre="100 à 1000 individus">100 à 1000 individus</option>
</select>
</div>
</div>
<!-- Zone du champ -->
<div class="row-fluid">
<div class="span3 control-group">
<label>
<span class="has-tooltip pointer"
title="Sélectionnez une ou plusieurs zones dans lesquelles l'espèce indiquée est présente">
<strong class="obligatoire">*Zone du champ</strong>
</span>
</label>
</div>
<div class="span9 control-group">
<!-- Bord -->
<label for="bordure" class="checkbox pointer">
<input type="checkbox" id="bordure" name="zone-champ[]" value="bord" data-titre="bord" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Bord du champ
</label>
<div class="popover-html-content" data-for="bordure">
<h5>Bord du champ</h5>
<img
class="image-verticale-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/bord2.png"
/>
<p class="texte-infobulle">
Le bord du champ à inventorier prend en compte la zone terreuse entre le bord enherbé
de la route et un mètre dans la zone cultivée (dès les premières plantes cultivées du
bord vers le cœur du champ. Le bord du champs ne prend pas en compte la zone enherbée
qui peut se trouver en bord de route.
</p>
<img
class="image-infobulle" id="bord1"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/bord1.png"
/>
</div>
<!-- Cœur du champ -->
<label for="coeur-champ" class="checkbox pointer">
<input type="checkbox" id="coeur-champ" name="zone-champ[]" value="coeur" data-titre="cœur" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Cœur du champ
</label>
<div class="popover-html-content" data-for="coeur-champ">
<h5>Cœur du champ</h5>
<p class="texte-infobulle">
Le cœur du champ concerne la zone cultivée. Il exclut 1m de bord de champ cultivé, et les
zones délaissées/oubliées par l'agriculteur lors du semi.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/coeur.png"
/>
</div>
<!-- Zone délaissée -->
<label for="zone-delaissee" class="checkbox pointer">
<input type="checkbox" id="zone-delaissee" name="zone-champ[]" value="zone-delaissee" data-titre="zone délaissée" />
<i class="icon-question-sign cursor-pointer" data-toggle="popover" data-trigger="hover"></i>
Zone délaissée
</label>
<div class="popover-html-content" data-for="zone-delaissee">
<h5>Zone délaissée</h5>
<p class="texte-infobulle">
Les zones délaissées sont les zones où l'agriculteur n'a pas réalisé de semi, ce qui semblerait
être un oubli de sa part. Cette zone ne prend pas en compte le bord du champ.
</p>
<img
class="image-infobulle"
src="<?=$url_base?>modules/saisie/squelettes/messicoles/img/photos/delaissee.png"
/>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span6">
<label for="notes" class="pointer">
<strong>Notes</strong>
</label>
<div>
<textarea id="notes" class="span5" rows="6" name="notes"
placeholder="Vous pouvez éventuellement ajouter des informations complémentaires à votre observation (altitude, taille de la plante...)"></textarea>
</div>
</div>
</div>
</form>
<form id="form-upload" class="form-horizontal" action="<?= $url_ws_upload ?>"
method="post" enctype="multipart/form-data">
<h3>Image(s) de cette plante</h3>
<strong>Ajouter une image</strong>
<p class="miniature-info" class="discretion help-inline">Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacune.</p>
<div id="image-obligatoire" class="alert alert-error alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : image obligatoire</h4>
<p>
Votre identification n'est pas certaine.
<br>
Veuillez ajouter au moins une image.
</p>
</div>
<div id ="photos-conteneur">
<input class="pointer" type="file" id="fichier" name="fichier" accept="image/jpeg" />
<input type="hidden" name="MAX_FILE_SIZE" value="5242880"/>
<div id="miniatures">
</div>
<p class="miniature-msg" class="span12">&nbsp;</p>
</div>
</form>
</div>
<div class="row-fluid">
<div class="span12 centre has-tooltip"
title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
ajouter votre observation à la liste à transmettre.">
<button id="ajouter-obs" class="btn btn-primary btn-large" type="button">
Créer
</button>
</div>
</div>
<!-- Messages d'erreur du formulaire-->
<div class="row-fluid">
<div class="zone-alerte">
<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : 10 observations maximum</h4>
<p>
Vous venez d'ajouter votre 10ème observation.<br/>
Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
</p>
</div>
</div>
<div class="zone-alerte">
<div id="dialogue-form-invalide" class="alert alert-warning alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Information : champs en erreur</h4>
<p>
Certains champs du formulaire sont mal remplis.<br/>
Veuillez vérifier vos données.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Affiche le tableau récapitualif des observations ajoutées -->
<div id="zone-liste-obs" class="row-fluid">
<div class="span12">
<div class="well">
<div class="row-fluid">
<div class="span8">
<h2>Observations à transmettre : <span class="obs-nbre">0</span></h2>
</div>
<div class="span4 droite">
<button id="transmettre-obs" class="btn btn-primary btn-large has-tooltip"
type="button" disabled="disabled"
title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques.">
Transmettre
</button>
</div>
</div>
<div id="liste-obs" ></div>
<div class="row">
<div class="zone-alerte span6 offset3">
<div id="dialogue-zero-obs" class="alert alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Attention : aucune observation</h4>
<p>Veuillez saisir des observations pour les transmettres.</p>
</div>
 
<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block" style="display: none;"">
<a class="close">×</a>
<h4 class="alert-heading">Information : transmission des observations</h4>
<div class="alert-txt"></div>
</div>
 
<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block" style="display: none;">
<a class="close">×</a>
<h4 class="alert-heading">Erreur : transmission des observations</h4>
<div class="alert-txt"></div>
</div>
</div>
</div>
 
</div>
</div>
</div>
 
<footer class="row-fluid">
<p class="span12">&copy; Tela Botanica 2015</p>
</footer>
 
<!-- Fenêtres modales -->
<div id="chargement" class="modal-fenetre" style="display:none;">
<div id="chargement-centrage" class="modal-contenu">
<div class="progress progress-striped active">
<div id="barre-progression-upload" class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
<span class="sr-only">0/10 observations transmises</span>
</div>
</div>
<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'observations à transférer.
</p>
</div>
</div>
 
<!-- Templates HTML -->
<div id="tpl-transmission-ok" style="display:none;">
<p class="msg">
Vos observations ont bien été transmises.<br />
Elles sont désormais consultables à travers les différents outils de visualisation
du réseau (<a href="http://www.tela-botanica.org/site:botanique">eFlore</a>,
<a href="http://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>,
<a href="http://www.tela-botanica.org/appli:identiplante">identiplante</a>,
<a href="http://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br />
Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
connectant à votre <a href="http://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br />
N'oubliez pas qu'il est nécessaire de
<a href="http://www.tela-botanica.org/page:inscription">s'inscrire à Tela Botanica</a>
au préalable, si ce n'est pas déjà fait.
</p>
</div>
<div id="tpl-transmission-ko" style="display:none;">
<p class="msg">
Une erreur est survenue lors de la transmission d'une observation (indiquée en rouge).<br />
Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
et transmettre les suivantes.<br />
Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br />
Si le problème persiste, vous pouvez signaler le dysfonctionnement sur
<a href="<?= $url_remarques ?>?service=cel&pageSource=<?php echo urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']); ?>"
target="_blank"
onclick="javascript:window.open(this.getAttribute('href'), 'Tela Botanica - Remarques', config='height=700, width=640, scrollbars=yes, resizable=yes'); return false;">
le formulaire de signalement d'erreurs</a>.
</p>
</div>
</div>
</body>
</html>
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/css/messicoles.css
New file
0,0 → 1,316
@CHARSET "UTF-8";
/*+--------------------------------------------------------------------------------------------------------+*/
/* Balises */
footer p{
text-align:center;
}
button img {
display:block;
}
 
h1 {
font-size: 26px;
}
 
h2 {
margin-top: 10px;;
}
 
strong {
font-size: 14px;
}
 
/*+-------------------------------+*/
/*+ Media query test pour les écrans HD genre MacBook de Daniel +*/
@media only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi) {
 
.container, .navbar-fixed-top .container, .navbar-fixed-bottom .container {
width: 1670px;
}
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Générique */
html {
background-color: black;
}
.discretion {
color:grey;
font-family:arial;
font-size:11px;
line-height: 13px;
}
 
.droite {
text-align:right;
}
.centre {
text-align:center;
}
.pointer {
cursor: pointer;
}
.modal-fenetre {
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;
}
.modal-contenu {
position:relative;
width:30%;
margin:0 auto;
top:30%;
}
input#taxon {
width: 300px;
}
 
/* jQuery.validate dans ses versions récentes ne semble pas ajouter la classe help-inline
aux messages d'erreur */
.control-group .error {
color: #b94a48;
display: inline-block;
padding-left: 5px;
vertical-align: middle;
}
 
/*
.control-group.success label,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
color: inherit;
}
*/
 
/** @WARNING Attention aux effets de bord !! Essayer de faire mieux !! */
.popover-content {
border: 1px solid #ddd;
}
.popover-html-content {
display: none;
}
h3.popover-title {
display: none;
}
 
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Formulaire spécifique */
#map-canvas {
height:440px;
}
#info-commune {
text-align:right;
}
.ns-retenu {
font-weight:bold;
}
.nn{
color:inherit;
}
.nom-sci{
font-size:inherit;
font-style:italic;
font-weight:none;
}
.commune, .date{
font-size:1.3em;
font-weight:bold;
}
.obs-action{
opacity:1;
}
 
#miniatures {
padding-top: 5px;
}
 
.miniature {
float: left;
height: 130px;
padding-left: 15px;
padding-right: 15px;
background-repeat: no-repeat;
background-size: cover;
}
 
.miniature-img {
height: 100px;
}
 
.miniature img {
display: block;
}
 
.miniature-chargement {
height:100px;
width: 100px;
}
 
.defilement-miniatures-gauche, .defilement-miniatures-droite {
float: left;
font-size: 1.2em;
font-weight: bold;
height: 62px;
margin: 5px;
padding-top: 30px;
width: 12px;
}
 
.defilement-miniatures {
width: 210px;
}
 
.defilement-miniatures-cache {
visibility: hidden;
}
 
.miniature-cachee {
display: none;
}
 
.miniature-selectionnee {
display: block;
width: 90px;
}
 
.referentiel-obs {
color:#3B9D3B;
}
 
.gras {
font-weight: bold;
}
 
#referentiel {
display: inline;
}
 
#logo-titre {
position: relative;
}
 
#photos-conteneur {
height: 120px;
}
 
#photo-placeholder {
background: url("../img/icones/icone-photo.png");
background-size: 89px;
cursor: pointer;
margin-bottom: 15px;
margin-right: 15px;
float:left;
border: 5px dashed #CCCCCC;
border-radius: 8px 8px 8px 8px;
height: 100px;
margin: 2px 0 2px 2px;
text-align: center;
width: 98px;
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
}
 
#photo-placeholder:hover {
background: url("../img/icones/icone-photo-hover.png");
background-size: 89px;
border: 5px dashed #111;
border-radius: 8px;
}
 
#barre-progression-upload span {
color : #333333;
}
 
.obs-erreur {
background-color: #DD6E6E;
}
 
#taxon-option-autre {
border-top:2px solid grey;
font-weight:bold;
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Correction style CSS Bootstrap */
.well {
margin-bottom: 5px;
padding: 4px;
}
 
.page-header {
text-align: justify;
text-align: center;
}
 
/* Supression de l'espace (à l'arrache) */
#taxon-liste,
#taxon,
#identification-liste,
#abondance-liste,
#courriel
{
margin-left: -4px;
}
 
#titre-projet {
float: left;
margin-top: 20px;
font-size: 20px;
}
 
#logo-titre {
padding-top: 10px;
margin-left: 0px;
}
 
#logo-messicoles {
height: 42px;
float: right;
padding-top: 10px;
}
 
 
 
 
/* Media Queries */
@media (max-width: 500px) {
.texte-infobulle,
.image-infobulle {
max-width: 200px;
text-align: justify;
}
.image-verticale-infobulle {
max-width: 100px;
float: right;
}
#bord1 {
max-width: 200px;
}
}
@media (min-width: 501px) {
.texte-infobulle,
.image-infobulle {
max-width: 400px;
text-align: justify;
}
.image-verticale-infobulle {
max-width: 170px;
float: right;
}
#bord1 {
max-width: 230px;
}
}
 
select{width: 90%;}
 
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/messicoles_taxons.tpl.js
New file
0,0 → 1,0
var taxons = <?=$taxons?>;
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/maraichere.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/maraichere.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/coeur.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/coeur.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/delaissee.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/delaissee.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/cereale.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/cereale.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/friche.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/friche.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/aromatique.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/aromatique.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/bord1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/bord1.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/bord2.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/bord2.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/vigne.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/vigne.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/verger.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/photos/verger.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/logo.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/logo.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/aide.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/aide.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/plus.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/plus.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/icone-photo.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/icone-photo.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/icone-photo-hover.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/icone-photo-hover.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/pasdephoto.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/pasdephoto.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/supprimer.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/supprimer.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/chargement_arbre.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/icones/chargement_arbre.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/source.txt
New file
0,0 → 1,4
carre_vert_jaune.png Designer : Dat Nguyen, License: Free for commercial use, Size (px)16 x 16, Icon set Splashyfish
rond_vert_jaune.png Designer : Dat Nguyen, License: Free for commercial use, Size (px)16 x 16, Icon set Splashyfish
etoile_argent.png Designer : mebaze, Licence : License: Free for personal use only, Size (px)32 x 32, Icon set Brushed Metal Icons
epingle.png Designer : Nahas M.A., License: Free for commercial use | (Read me), Size (px)32 x 32, Icon set Aristocracy
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/carre_vert_jaune.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/carre_vert_jaune.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/etoile_argent.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/etoile_argent.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/debut.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/debut.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/epingle.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/epingle.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/rond_vert_jaune.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/img/marqueurs/rond_vert_jaune.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/js/WidgetSaisieMessicoles.js
New file
0,0 → 1,389
/* Héritage */
function WidgetSaisieMessicoles()
{
this.taxons = {};
}
 
WidgetSaisieMessicoles.prototype = new WidgetSaisie();
 
/* Surcharge des fonctions */
 
// Surcharge ajouterObs
WidgetSaisieMessicoles.prototype.ajouterObs = function() {
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$('#dialogue-obs-transaction-ko').hide();
$('#dialogue-obs-transaction-ok').hide();
 
// vérification : si la détermination est incertaine, obligation
// de fournir au moins une image
var certitude = $('#identification-liste').val(),
nbImages = $('#miniatures img').length,
imagesOK = true;
if (certitude != "certaine" && nbImages == 0) {
imagesOK = false;
$('#image-obligatoire').show();
} else {
$('#image-obligatoire').hide();
}
 
if ((this.validerFormulaire() == true) && imagesOK) {
this.masquerPanneau('#dialogue-form-invalide');
//return false;
// suite des opérations
this.obsNbre = this.obsNbre + 1;
$(".obs-nbre").text(this.obsNbre);
$(".obs-nbre").triggerHandler('changement');
this.afficherObs();
this.stockerObsData();
this.supprimerMiniatures();
if(! this.especeImposee) {
$("#taxon").val("");
$("#taxon").data("numNomSel",undefined);
}
$('#form-obs').each(function(){
this.reset();
});
$('#barre-progression-upload').attr('aria-valuemax', this.obsNbre);
$('#barre-progression-upload .sr-only').text('0/'+this.obsNbre+" observations transmises");
} else {
this.afficherPanneau('#dialogue-form-invalide');
}
};
 
// surcharge fonction definirReglesFormValidator()
WidgetSaisieMessicoles.prototype.definirReglesFormValidator = function() {
// WidgetSaisie.definirReglesFormValidator();
$("#form-observateur").validate({
rules: {
courriel : {
required : true,
email : true},
courriel_confirmation : {
required : true,
equalTo: "#courriel"}
}
});
$("#form-releve").validate({
rules: {
date : {
required : true,
date : date
},
"type-culture" : "required"
},
errorPlacement: function(error, element) {
error.insertBefore(element.parent());
}
});
$("#form-station").validate({
ignore: ':hidden:not("#latitude, #longitude")', // validation des champs cachés...
errorPlacement: function(error, element) { // ...mais erreur visible
error.insertBefore("#coordonnees-geo");
},
groups: {
latLon: "latitude longitude"
},
rules: {
latitude : {
required: true,
range: [-90, 90]
},
longitude : {
required: true,
range: [-180, 180]
}
},
messages: {
// astuce pour simuler un message personnalisé pour le groupe "latLon"
latitude: "Veuillez géolocaliser votre observation en déplaçant le curseur sur la carte",
longitude: "Veuillez géolocaliser votre observation en déplaçant le curseur sur la carte"
}
});
$("#form-obs").validate({
rules: {
"taxon-liste" : "required",
"abondance-liste" : "required",
"zone-champ[]" : {
required : true,
minlength : 1
}
},
errorPlacement: function(error, element) {
error.insertBefore(element.parent());
}
});
};
 
// surcharge fonction validerFormulaire()
WidgetSaisieMessicoles.prototype.validerFormulaire = function() {
observateur = $("#form-observateur").valid();
releve = $("#form-releve").valid();
station = $("#form-station").valid();
obs = $("#form-obs").valid();
return (observateur && station && obs && releve);
};
 
// surcharge fonction stockerObsData()
WidgetSaisieMessicoles.prototype.stockerObsData = function() {
var lthis = this;
var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false;
numNomSel = nomHorsListe ? $('#taxon').data('numNomSel') : $('#taxon-liste').val();
var nomSel = nomHorsListe ? $('#taxon').val() : $('#taxon-liste option:selected').data('nom-a-sauver'),
nomRet = nomHorsListe ? $('#taxon').data('nomRet') : this.taxons[numNomSel]['nom_ret'],
numNomRet = nomHorsListe ? $('#taxon').data('numNomRet') : this.taxons[numNomSel]['num_nom_ret'],
numTaxon = nomHorsListe ? $('#taxon').data('nt') : this.taxons[numNomSel]['num_taxon'],
famille = nomHorsListe ? $('#taxon').data('famille') : this.taxons[numNomSel]['famille'],
referentiel = (numNomSel == undefined) ? '' : this.nomSciReferentiel,
notes = $('#notes').val();
// champs spécifques aux messicoles
var abondance = $('#abondance-liste').val(),
certitude = $('#identification-liste').val();
$('#liste-obs').data('obsId'+this.obsNbre, {
'date': $('#date').val(),
'notes': notes,
 
'latitude': $('#latitude').val(),
'longitude': $('#longitude').val(),
'commune_nom': $('#commune-nom').text(),
'commune_code_insee': $('#commune-code-insee').text(),
'lieudit' : $("#lieudit").val(),
'station' : $("#station").val(),
'milieu' : $("#milieu").val(),
 
'nom_sel': nomSel,
'num_nom_sel': numNomSel,
'nom_ret': nomRet,
'num_nom_ret': numNomRet,
'num_taxon': numTaxon,
'famille': famille,
'referentiel': referentiel,
 
'certitude': certitude,
'abondance': abondance,
 
// Ajout des champs images
'image_nom' : lthis.getNomsImgsOriginales(),
'image_b64' : lthis.getB64ImgsOriginales(),
 
// Ajout des champs étendus de l'obs
'obs_etendue': lthis.getObsChpEtendus()
});
if (this.debug) {
console.log($('#liste-obs').data('obsId'+this.obsNbre));
}
};
 
/**
* Affiche une observation dans la liste des observations à transmettre
*/
WidgetSaisieMessicoles.prototype.afficherObs = function() {
console.log(this.taxons);
var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false,
numNomSel = nomHorsListe ? $('#taxon').data('numNomSel') : $('#taxon-liste').val();
var nomSel = nomHorsListe ? $('#taxon').val() : $('#taxon-liste option:selected').data('nom-a-sauver'),
//famille = nomHorsListe ? $('#taxon').data('famille') : this.taxons[numNomSel]['famille'],
referentiel = (numNomSel == undefined) ? '' : this.nomSciReferentiel;
 
var commune = $("#commune-nom").text();
commune = commune.trim() != "" ? commune : $("#carte-recherche").val();
var code_insee = $('#commune-code-insee').text();
code_insee = code_insee.trim() != "" ? "("+code_insee+")" : "";
var latitude = $("#latitude").val();
var longitude = $("#longitude").val();
var lieudit = ($('#lieudit').val() != "" ? $('#lieudit').val() : "aucun lieu-dit saisi");
var station = ($('#station').val() != "" ? $('#station').val() : "aucune station saisie");
var milieu = ($('#milieu').val() != "" ? $('#milieu').val() : "aucun milieu saisi");
var notes = ($('#notes').val() != "" ? $('#notes').val() : "<b>aucunes notes saisies</b>");
var date = $("#date").val();
// champs spécifques aux messicoles
 
var culture = ($('input[name=type-culture]').is(':checked') ? $('input[name=type-culture]:checked').data('titre') : "?");
var cultureDetails = ($('input[name=type-culture]').is(':checked') ? $('input[name=type-culture]:checked').parent().find('input[type=text]').val() : '?');
var identification = $('#identification-liste option:selected').data('titre');
var abondance = $('#abondance-liste option:selected').data('titre');
var zoneChamp = [];
// récupération des cases à cocher multiples dans un tableau pour l'abondance
$('input[name="zone-champ[]"]:checked').each(function() {
zoneChamp.push(' '+$(this).data('titre'));
});
 
// affichage des données de l'observation à transmettre
$("#liste-obs").prepend(
'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
'<div class="span12">'+
'<div class="well">'+
'<div class="obs-action pull-right has-tooltip" data-placement="bottom" '+
'title="Supprimer cette observation de la liste à transmettre">'+
'<button class="btn btn-danger supprimer-obs" value="'+this.obsNbre+'" title="'+this.obsNbre+'">'+
'<i class="icon-trash icon-white"></i>'+
'</button>'+
'</div> '+
'<div class="row-fluid">'+
'<div class="thumbnail span2">'+
this.ajouterImgMiniatureAuTransfert()+
'</div>'+
'<div class="span9">'+
'<ul class="unstyled">'+
'<li>'+
'<span class="nom-sci gras">'+nomSel+'</span> '+
this.ajouterNumNomSel(numNomSel, referentiel)+
' observé à <span class="gras">'+commune+' '+code_insee+'</span> ['+latitude+' / '+longitude+']'+' le <span class="gras">'+' '+date+'</span>'+
'</li>'+
'<li>'+
'<div class="row-fluid">'+
'<span class="span4">Lieu-dit : <span class="gras">'+lieudit+'</span></span>'+
'<span class="span4">Station : <span class="gras">'+station+'</span></span>'+
'<span class="span4">Milieu : <span class="gras">'+milieu+'</span></span>'+
'</div>'+
'</li>'+
'<li>'+
'<div class="row-fluid">'+
'<span class="span4">Culture de <span class="gras">'+cultureDetails+'</span> de type <span class="gras">'+culture+'</span></span>'+
'<span class="span4">Identification <span class="gras">'+identification+'</span></span>'+
'<span class="span4">Abondance de <span class="gras">'+abondance+'</span></span>'+
'</div>'+
'</li>'+
'<li>'+
'Espèce située en <span class="gras">'+zoneChamp+'</span> du champ'+
'</li>'+
'<li>'+
'Notes : <span class="discretion">'+notes+'</span>'+
'</li>'+
'</ul>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>');
$('#zone-liste-obs').removeClass("hidden").show();
};
 
WidgetSaisieMessicoles.prototype.surAutocompletionTaxon = function(event, ui) {
$("#taxon").data(ui.item);
if (ui.item.retenu == true) {
$("#taxon").addClass('ns-retenu');
} else {
$("#taxon").removeClass('ns-retenu');
}
// détection de si c'est un(e?) messicole ou pas
var panneauAvertissementNonMessicole = $('#avertissement-non-messicole');
panneauAvertissementNonMessicole.hide();
if (nnr_messicoles.indexOf(parseInt(ui.item.numNomRet)) == -1) {
panneauAvertissementNonMessicole.show();
}
};
 
WidgetSaisieMessicoles.prototype.ajouterNumNomSel = function(numNom, referentiel) {
var nn = '';
if (numNom == '' || numNom == undefined) {
nn = '<span class="alert-error">[non lié au référentiel]</span>';
} else {
nn = '<span class="nn">[nn'+numNom+']</span>'
+ '<span class="referentiel-obs"> '
+ referentiel+'</span>';
}
return nn;
};
 
// surcharge, abadon du mécanisme générique et bidouillage en dur (plus facile
// car champs radio / checkboxes)
WidgetSaisieMessicoles.prototype.getObsChpEtendus = function() {
var champs = [];
 
var zoneChamp = [];
$('input[name="zone-champ[]"]:checked').each(function() {
zoneChamp.push($(this).val());
});
//console.log("zc:", zoneChamp);
// obligatoire donc jamais vide (on croise les doigts)
champs.push({
cle: "zoneDuChamp",
label: "Zone du champ",
valeur: zoneChamp.join()
});
var typeCulture = $('input[name=type-culture]:checked').data('titre');
//console.log("tc:", typeCulture);
if (typeCulture != '') {
champs.push({
cle: "typeDeCulture",
label: "Type de culture",
valeur: (typeCulture == undefined ? "" : typeCulture)
});
}
var typeCultureDetails = $('input[name=type-culture]:checked').parent().find('input[type=text]').val();
 
//console.log("tcd:", typeCultureDetails);
if (typeCultureDetails != '') {
champs.push({
cle: "typeDeCultureDetails",
label: "Details de la culture",
valeur: typeCultureDetails
});
}
 
return champs;
}
 
 
 
 
/* jQuery en vrac */
$(document).ready(function() {
// super popover qui va chercher son contenu dans un div à côté (pour les
// boutons d'aide des types de champs, etc.)
$('[data-toggle="popover"]').popover({
html : true,
content: function() {
var parentFor = $(this).parent().attr("for");
var popoverHtmlContentDiv = $('.popover-html-content[data-for="' + parentFor + '"]');
return popoverHtmlContentDiv.html();
}
});
 
// Activation de la saisie si on clique sur un type de champ
function gererAffichageChampCulture(){
$('.culture input[type=text]').hide();
var radio = $('.culture input[type=radio]:checked');
var input = radio.parent().find('input[type=text]');
(radio.is(':checked')) ? input.show() && input.focus() : input.hide();
}
$('.culture').change(gererAffichageChampCulture);
// ... et aussi au chargement du widget, si la sélection est restée sur un champ
gererAffichageChampCulture();
 
// Affichage de l'espèce liée au référentiel sélectionné lors de la sélection 'Autres' (espèce)
function gererAffichageChampAutreEspece() {
var option = $('#taxon-liste').val();
var taxonCompletion = $('#taxon-input-groupe');
if (option == '?') {
taxonCompletion.show();
$('#taxon').focus();
}
else {
taxonCompletion.hide();
}
}
$('#taxon-liste').change(gererAffichageChampAutreEspece);
// ... et aussi au chargement du widget, si la sélection est restée sur "Autre espèce"
gererAffichageChampAutreEspece();
 
// On masque l'option par défaut pour l'abondance puisque le choix est obligatoire
$('#abondance-liste').click(masquerTitreListe('abondance'));
function masquerTitreListe(element) {
$('#' + element + '-liste .a-masquer').hide();
}
});
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/defaut/defaut_en.tpl.html
33,7 → 33,7
 
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/defaut/js/WidgetSaisie.js
406,7 → 406,8
if (this.marker != undefined) {
this.marker.setPosition(latLng);
this.map.setCenter(latLng);
this.mettreAJourMarkerPosition(latLng);
// au chargement de la carte, la position est nulle
this.viderMarkerPosition();
}
};
 
419,6 → 420,11
}
};
 
WidgetSaisie.prototype.viderMarkerPosition = function() {
this.remplirChampLatitude(null);
this.remplirChampLongitude(null);
};
 
WidgetSaisie.prototype.mettreAJourMarkerPosition = function(latLng) {
var lat = latLng.lat().toFixed(5);
var lng = latLng.lng().toFixed(5);
426,13 → 432,27
this.remplirChampLongitude(lng);
};
 
/**
* Définit la valeur de latitude, à travers la "value" du champ "#latitude";
* pour définir une valeur vraiment vide (et non 0), passer null en argument
*/
WidgetSaisie.prototype.remplirChampLatitude = function(latDecimale) {
var lat = Math.round(latDecimale * 100000) / 100000;
var lat = '';
if (latDecimale !== null) {
lat = Math.round(latDecimale * 100000) / 100000;
}
$('#latitude').val(lat);
};
 
/**
* Définit la valeur de longitude, à travers la "value" du champ "#longitude";
* pour définir une valeur vraiment vide (et non 0), passer null en argument
*/
WidgetSaisie.prototype.remplirChampLongitude = function(lngDecimale) {
var lng = Math.round(lngDecimale * 100000) / 100000;
var lng = '';
if (lngDecimale !== null) {
lng = Math.round(lngDecimale * 100000) / 100000;
}
$('#longitude').val(lng);
};
 
680,7 → 700,7
});
$("#form-obs").validate({
rules: {
date : "dateCel",
date : "date",
taxon : "required"
}
});
767,6 → 787,7
$('#dialogue-obs-transaction-ok').hide();
 
if (this.validerFormulaire() == true) {
this.masquerPanneau('#dialogue-form-invalide');
this.obsNbre = this.obsNbre + 1;
$(".obs-nbre").text(this.obsNbre);
$(".obs-nbre").triggerHandler('changement');
794,9 → 815,11
var code_insee = $('#commune-code-insee').text();
code_insee = code_insee.trim() != "" ? "("+code_insee+")" : "";
 
if (this.debug) {
console.log(commune+' - '+code_insee);
}
console.log(commune+' - '+code_insee);
$("#liste-obs").prepend(
'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
'<div class="span12">'+
1211,16 → 1234,18
html: true
});
 
$( "#taxon" ).bind("autocompleteselect", function(event, ui) {
$("#taxon").data(ui.item);
if (ui.item.retenu == true) {
$("#taxon").addClass('ns-retenu');
} else {
$("#taxon").removeClass('ns-retenu');
}
});
$("#taxon").bind("autocompleteselect", this.surAutocompletionTaxon);
};
 
WidgetSaisie.prototype.surAutocompletionTaxon = function(event, ui) {
$("#taxon").data(ui.item);
if (ui.item.retenu == true) {
$("#taxon").addClass('ns-retenu');
} else {
$("#taxon").removeClass('ns-retenu');
}
};
 
WidgetSaisie.prototype.getUrlAutocompletionNomsSci = function() {
var mots = $('#taxon').val();
var url = this.serviceAutocompletionNomSciUrlTpl.replace('{referentiel}', this.nomSciReferentiel);
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/defaut/css/defaut.css
65,7 → 65,22
vertical-align: middle;
}
 
.cursor-pointer {
cursor: pointer;
}
 
/** @WARNING Attention aux effets de bord !! Essayer de faire mieux !! */
.popover-content {
border: 1px solid #ddd;
}
.popover-html-content {
display: none;
}
h3.popover-title {
display: none;
}
 
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Formulaire spécifique */
#map-canvas {
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/defaut/defaut.tpl.html
33,7 → 33,7
 
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
583,4 → 583,4
</div>
</div>
</body>
</html>
</html>
/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/missions-flore/missions-flore.tpl.html
37,7 → 37,7
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>-->
<script src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<script src="http://maps.google.com/maps/api/js?language=fr&amp;region=FR"></script>
<!-- Proj4js -->
<script type="text/javascript" src="http://resources.tela-botanica.org/proj4js/2.2.1/proj4.js"></script>
 
/branches/v2.24-sarcloir/widget/modules/saisie/Saisie.php
148,9 → 148,9
$widget['donnees']['nom_mission'] = $this->getNomMissionFlore();
 
$widget['donnees']['referentiel_impose'] = $this->getReferentielImpose();
$widget['donnees']['espece_imposee'] = false;
$widget['donnees']['nn_espece_defaut'] = '';
$widget['donnees']['nom_sci_espece_defaut'] = '';
$widget['donnees']['espece_imposee'] = false;
$widget['donnees']['nn_espece_defaut'] = '';
$widget['donnees']['nom_sci_espece_defaut'] = '';
$widget['donnees']['infos_espece'] = '{}';
 
$widget['donnees']['prod'] = ($this->config['parametres']['modeServeur'] == "prod");
157,22 → 157,22
$projetsAutorises = $this->transformerEnTableau($this->config['projets']['autorises']);
 
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$urlWsNs = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, $this->ns_referentiel, self::WS_NOM);
$urlWsNsSansRef = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM);
$widget['donnees']['url_ws_autocompletion_ns'] = $urlWsNs;
$widget['donnees']['url_ws_autocompletion_ns_tpl'] = $urlWsNsSansRef;
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$urlWsNs = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, $this->ns_referentiel, self::WS_NOM);
$urlWsNsSansRef = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM);
$widget['donnees']['url_ws_autocompletion_ns'] = $urlWsNs;
$widget['donnees']['url_ws_autocompletion_ns_tpl'] = $urlWsNsSansRef;
$widget['donnees']['ns_referentiel'] = $this->ns_referentiel;
$widget['donnees']['url_ws_trace_rue_tpl'] = $this->config['chemins']['serviceTraceRueUrl'];
if ($this->especeEstImposee()) {
$nnEspeceImposee = $this->getNnEspeceImposee();
$nom = $this->chargerInfosTaxon($nnEspeceImposee);
$widget['donnees']['espece_imposee'] = true;
$widget['donnees']['nn_espece_defaut'] = $nnEspeceImposee;
$widget['donnees']['nom_sci_espece_defaut'] = $nom['nom_complet'];
$widget['donnees']['infos_espece'] = $this->array2js($nom, true);
if ($this->especeEstImposee()) {
$nnEspeceImposee = $this->getNnEspeceImposee();
$nom = $this->chargerInfosTaxon($nnEspeceImposee);
$widget['donnees']['espece_imposee'] = true;
$widget['donnees']['nn_espece_defaut'] = $nnEspeceImposee;
$widget['donnees']['nom_sci_espece_defaut'] = $nom['nom_complet'];
$widget['donnees']['infos_espece'] = $this->array2js($nom, true);
}
 
$projetsAListeDeNoms = $this->transformerEnTableau($this->config['projets']['liste_noms']);
211,7 → 211,6
return $titre;
}
 
 
protected function getLogoPage() {
$logo = 'defaut';
if (isset($this->configProjet['logo_page'])) {
227,15 → 226,14
}
 
protected function getReferentielImpose() {
$referentiel_impose = true;
$referentiel_impose = false;
if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
$referentiel_impose = true;
}
if (!empty($_GET['referentiel']) && $_GET['referentiel'] != "autre") {
$this->ns_referentiel = $_GET['referentiel'];
} else if (isset($this->configProjet['referentiel'])) {
$this->ns_referentiel = $this->configProjet['referentiel'];
} else if (isset($this->configMission['referentiel'])) {
$this->ns_referentiel = $this->configMission['referentiel'];
} else {
$referentiel_impose = false;
$referentiel_impose = true;
}
return $referentiel_impose;
}
/branches/v2.24-sarcloir/widget/modules/saisie/config.ini
1,6 → 1,6
; Configuration des projets
[projets]
autorises = "ambrosia, arbres-tetards, defaut, florileges, missions-flore, sauvages"
liste_noms = "arbres-tetards, biodiversite34, florileges, sauvages"
liste_noms_sci_et_verna = "arbres-tetards, florileges, sauvages"
autorises = "ambrosia, arbres-tetards, defaut, florileges, missions-flore, sauvages, messicoles"
liste_noms = "arbres-tetards, biodiversite34, florileges, sauvages, messicoles"
liste_noms_sci_et_verna = "arbres-tetards, florileges, sauvages, messicoles"
liste_milieux = "ambrosia, biodiversite34";
/branches/v2.24-sarcloir/widget/modules/saisie/.
Property changes:
Modified: svn:mergeinfo
Merged /trunk/widget/modules/saisie:r2850-2866,2870-2872,2875-2903