Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3318 idir 1
<form id="form-observation" role="form" autocomplete="on">
2
	<h2><?php echo $observation['titre-obs']; ?></h2>
3
	<div id="zone-observation" class="row">
4
		<div class="col-md-6">
5
 
6
			<div class="mb-3">
7
				<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
8
					<i class="fa fa-map" aria-hidden="true"></i>
9
					<?php echo $observation['lieu-releve']; ?>
10
				</label>
11
				<div class="control-group">
12
					<div id="geoloc" class="col-sm-8 geoloc">
13
						<span id="geoloc-error" class="error hidden"><?php echo $observation['geoloc-erreur']; ?></span>
14
						<tb-geolocation-element
15
							id="tb-geolocation"
16
							layer='osm'
17
							zoom_init="4"
18
							lat_init="46.5"
19
							lng_init="2.9"
20
							marker="true"
21
							polyline="false"
22
							polygon="false"
23
							show_lat_lng_elevation_inputs="true"
24
							osm_class_filter=""
25
							elevation_provider="mapquest"
26
							map_quest_api_key="mG6oU5clZHRHrOSnAV0QboFI7ahnGg34"
27
						>
28
						</tb-geolocation-element>
29
					</div>
30
					<div id="geoloc-datas" class="hidden">
31
						<div class="mt-3">
32
							<label class="col-sm-8" for="rue"><?php echo $observation['rue']; ?></label>
33
							<div class="col-sm-8">
34
								<!-- <input type="text" class="form-control rue" disabled id="rue" name="rue" value="1 Place Georges Frêche"> -->
35
								<input type="text" class="form-control rue" disabled id="rue" name="rue" value="">
36
							</div>
37
						</div>
38
						<!-- <input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="43.5984" style="display:none">
39
						<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="3.896799" style="display:none"> -->
40
						<input type="hidden" class="form-control latitude" disabled id="latitude" name="latitude" value="" style="display:none">
41
						<input type="hidden" class="form-control longitude" disabled id="longitude" name="longitude" value="" style="display:none">
42
						<div class="mt-3">
43
							<label class="col-sm-8" for="commune-nom"><?php echo $observation['nom-commune']; ?></label>
44
							<div class="col-sm-8">
45
								<!-- <input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="Montpellier">
46
								<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="34172"> -->
47
								<input type="text" class="form-control commune-nom" disabled id="commune-nom" name="commune-nom" value="">
48
								<input type="hidden" class="commune-insee" disabled id="commune-insee" name="commune-insee" value="">
49
							</div>
50
						</div>
51
						<div class="row pl-3 pr-3 mt-3">
52
							<div class="d-flex flex-column col-sm-4">
53
								<label for="altitude"><?php echo $observation['altitude']; ?></label>
54
								<div>
55
									<!-- <input type="text" class="form-control altitude" disabled id="altitude" name="altitude" value="23"> -->
56
									<input type="text" class="form-control altitude" disabled id="altitude" name="altitude" value="">
57
								</div>
58
							</div>
59
							<div class="d-flex flex-column col-sm-4">
60
								<label for="pays"><?php echo $observation['pays']; ?></label>
61
								<div>
62
									<!-- <input type="text" class="form-control pays" disabled id="pays" name="pays" value="France"> -->
63
									<input type="text" class="form-control pays" disabled id="pays" name="pays" value="">
64
								</div>
65
							</div>
66
						</div>
67
					</div>
68
				</div>
69
			</div>
70
		</div>
71
 
72
		<div class="col-md-6">
73
			<h3 class="mb-3"><?php echo $observation['titre-info-obs']; ?></h3>
74
			<div id="obs-info" class="text-justify col-sm-8">
75
				<?php echo $observation['obs-info']; ?>
76
			</div>
77
 
78
			<div class="control-group">
79
				<label for="releve-date" class="col-sm-8 obligatoire" title="">
80
					<i class="fa fa-calendar" aria-hidden="true"></i>
81
					<?php echo $observation['date']; ?>
82
				</label>
83
				<div class="col-sm-8 mb-3 has-tooltip" data-toggle="tooltip" title="<?php echo $observation['date-title']; ?>">
84
					<input type="date" id="releve-date" name="releve-date" class="form-control" max="<?php echo date('Y-m-d', time()); ?>" placeholder="jj/mm/aaaa" required>
85
				</div>
86
			</div>
87
 
88
			<div class="">
89
				<label for="commentaires" class="col-sm-8">
90
					<i class="fa fa-pen" aria-hidden="true"></i>
91
					<?php echo $general['commentaires']; ?>
92
				</label>
93
				<div class="col-sm-8 mb-3">
94
					<textarea id="commentaires" class="col-md-12" rows="7" name="commentaires"></textarea>
95
				</div>
96
			</div>
97
			<!-- Bouton création d'une obs -->
98
			<div class="col-sm-8 mb-3">
99
				<div title="<?php echo $resume['creer-title']; ?>">
100
					<a href="" id="soumettre-releve" class="charger-carto btn btn-primary"><?php echo $general['enregistrer']; ?></a href="">
101
				</div>
102
			</div>
103
		</div>
104
	</div>
105
</form><!-- fin zone relevé -->
106
 
107
<!-- Messages d'erreur du formulaire observateur -->
108
<div class="zone-alerte">
109
	<div id="dialogue-geoloc-ko" class="alert alert-warning alert-block hidden">
110
		<a class="close">×</a>
111
		<h4 class="alert-heading"><?php echo $observation['alertgk-title']; ?></h4>
112
		<p><?php echo $observation['alertgk']; ?></p>
113
	</div>
114
	<div id="dialogue-date-rue-ko" class="alert alert-warning alert-block hidden">
115
		<a class="close">×</a>
116
		<h4 class="alert-heading"><?php echo $observation['alertdr-title']; ?></h4>
117
		<p><?php echo $observation['alertdr']; ?></p>
118
	</div>
119
</div>
120
 
121
<div id="zone-arbres" class="bloc-top hidden">
122
	<h2 class="mb-3"><?php echo $arbres['titre']; ?></h2>
123
	<div id="bouton-saisir-lichens" class="btn btn-info hidden m-3" data-load="lichens">
124
		<i class="far fa-snowflake"></i> <?php echo $resume['saisir-lichens']; ?>
125
	</div>
126
	<div class="row">
127
		<div id="bloc-arbres-gauche" class="col-md-6">
128
			<div id="bloc-info-arbres"></div>
129
			<div id="bloc-form-arbres" class="">
130
				<div id="arbres-info" class="text-justify">
131
					<?php echo $arbres['arbres-info']; ?>
132
				</div>
133
				<form id="form-arbre" role="form" autocomplete="off">
134
					<h3 class="mb-3"><?php echo $general['arbre'];?>&nbsp;<span id="arbre-nb">1</span>&nbsp;:</h3>
135
					<input id="referentiel" name="referentiel" value="bdtfx" type="hidden">
136
					<div id="bloc-taxon" class="control-group">
137
						<label for="taxon" class="col-sm-8 obligatoire" title="">
138
							<i class="fa fa-leaf" aria-hidden="true"></i>
139
							<?php echo $general['espece']; ?> (bdtfx)
140
						</label>
141
						<div class="col-sm-8 mb-3">
142
							<input id="taxon" name="taxon" class="form-control taxon-validation has-tooltip" type="text" data-toggle="tooltip" title="<?php echo $general['espece-title']; ?>" required autocomplete="off">
143
						</div>
144
					</div>
145
 
146
					<div class="control-group">
147
						<label for="certitude" class="col-sm-8 obligatoire">
148
							<i class="fa fa-question" aria-hidden="true"></i>
149
							<?php echo $general['certitude']; ?>
150
						</label>
151
						<div class="col-sm-8 mb-3">
152
							<select id="certitude" name="certitude" class="form-control custom-select" required>
153
								<option class="choisir" hidden value="" selected><?php echo $general['choisir']; ?></option>
154
								<option class="aDeterminer" value="à determiner"><?php echo $general['certADet']; ?></option>
155
								<option class="douteuse" value="douteuse"><?php echo $general['certDout']; ?></option>
156
								<option class="certaine" value="certaine"><?php echo $general['certCert']; ?></option>
157
							</select>
158
						</div>
159
					</div>
160
					<div class="">
161
						<label class="col-sm-8 obligatoire has-tooltip" data-toggle="tooltip" title="<?php echo $observateur['geoloc-title']; ?>">
162
							<i class="fa fa-map-marked-alt " aria-hidden="true"></i>
163
							<?php echo $arbres['localiser']; ?>
164
						</label>
165
						<div class="control-group">
166
							<div id="geoloc-datas-arbres" class="hidden">
167
								<div class="mt-3">
168
									<label class="col-sm-8" for="rue-arbres"><?php echo $observation['rue']; ?></label>
169
									<div class="col-sm-8">
170
										<input type="text" class="form-control rue-arbres" disabled id="rue-arbres" name="rue-arbres" value="">
171
									</div>
172
								</div>
173
								<div class="row pl-3 pr-3 mt-3">
174
									<div class="d-flex flex-column col-sm-4">
175
										<label class="" for="latitude-arbres"><?php echo $observation['latitude']; ?></label>
176
										<div class="">
177
											<input type="text" class="form-control latitude-arbres" disabled id="latitude-arbres" name="latitude-arbres" value="">
178
										</div>
179
									</div>
180
									<div class="d-flex flex-column col-sm-4">
181
										<label class="" for="longitude-arbres"><?php echo $observation['longitude']; ?></label>
182
										<div class="">
183
											<input type="text" class="form-control longitude-arbres" disabled id="longitude-arbres" name="longitude-arbres" value="">
184
										</div>
185
									</div>
186
								</div>
187
								<input type="hidden" id="altitude-arbres" name="altitude-arbres" class=""  value="" style="display:none">
188
							</div>
3325 idir 189
							<div id="geoloc-arbres" class="col-sm-8"></div>
3318 idir 190
						</div>
191
					</div>
192
				</form>
193
				<form id="form-upload" class="form-horizontal" action="<?php echo $url_ws_upload ?>" method="post" enctype="multipart/form-data">
194
					<div class="col-sm-8 mb-2 list-label and-help">
195
						<i class="fa fa-images" aria-hidden="true"></i>
196
						<?php echo $arbres['titre-photos']; ?>
197
					</div>
198
					<p id="miniature-arbres-info" class="col-sm-8">
199
						<?php echo $image['aide']; ?>
200
					</p>
201
					<div id ="photos-conteneur" class="control-group col-sm-8">
202
						<div id="bouton-fichier">
203
							<label for="fichier" class="label-file btn btn-large btn-info mb-3" title="<?php echo $image['photos-title']; ?>">
204
								<span class="label-text"><i class="fas fa-download"></i> <?php echo $image['ajouter']; ?></span>
205
								<input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
206
								<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
207
							</label>
208
						</div>
209
 
210
						<div id="miniatures"></div>
211
						<p class="miniature-msg" class="span12">&nbsp;</p>
212
					</div>
213
				</form>
214
				<form id="form-arbre-fs" role="form" autocomplete="off">
215
					<div class="control-group">
216
						<label for="circonference" class="col-sm-8 obligatoire">
217
							<i class="fa fa-circle-notch" aria-hidden="true"></i>
218
							<?php echo $arbres['circonference'] ;?>
219
						</label>
220
						<div class="col-sm-8 mb-3">
221
							<input id="circonference" type="number" name="circonference" class="form-control has-tooltip" data-toggle="tooltip" title="<?php echo $arbres['circonference-title'] ;?>" placeholder="<?php echo $arbres['circonference-ph'] ;?>" step="1" min="1" required>
222
						</div>
223
					</div>
224
 
225
					<div id="face-ombre" class="control-group">
226
						<div class="col-sm-8 mb-2 list-label obligatoire">
227
							<i class="far fa-compass" aria-hidden="true"></i>
228
							<?php echo $arbres['face-ombre']; ?>
229
						</div>
230
						<div class="col-sm-8 mb-3 has-tooltip list" data-toggle="tooltip" title="<?php echo $arbres['face-ombre-title']; ?>" required>
231
							<div class="form-check form-check-inline">
232
								<input type="checkbox" id="nord" name="face-ombre" class="nord form-check-input" value="nord">
233
								<label for="nord" class="nord form-check-label"><?php echo $general['nord']; ?></label>
234
							</div>
235
							<div class="form-check form-check-inline">
236
								<input type="checkbox" id="sud" name="face-ombre" class="sud form-check-input" value="sud">
237
								<label for="sud" class="sud form-check-label"><?php echo $general['sud']; ?></label>
238
							</div>
239
							<div class="form-check form-check-inline">
240
								<input type="checkbox" id="est" name="face-ombre" class="est form-check-input" value="est">
241
								<label for="est" class="est form-check-label"><?php echo $general['est']; ?></label>
242
							</div>
243
							<div class="form-check form-check-inline">
244
								<input type="checkbox" id="ouest" name="face-ombre" class="ouest form-check-input" value="ouest">
245
								<label for="ouest" class="ouest form-check-label"><?php echo $general['ouest']; ?></label>
246
							</div>
247
							<div class="form-check form-check-inline">
248
								<input type="checkbox" id="aucune" name="face-ombre" class="ouest form-check-input" value="aucune">
249
								<label for="aucune" class="aucune form-check-label"><?php echo $general['aucune']; ?></label>
250
							</div>
251
						</div>
252
					</div>
253
 
254
					<div class="">
255
						<label for="com-arbres" class="col-sm-8" title="">
256
								<i class="fa fa-pen" aria-hidden="true"></i>
257
								<?php echo $general['commentaires']; ?>
258
						</label>
259
						<div class="col-sm-8 mb-3">
260
								<textarea id="com-arbres" class="col-md-12" rows="7" name="com-arbres"></textarea>
261
						</div>
262
					</div>
263
				</form>
264
 
265
				<!-- Bouton création d'une obs et retour à la saisie après visualisation d'un arbre-->
266
				<div class="col-sm-8 mb-3">
267
					<button id="retour" class="btn btn-info has-tooltip hidden" data-toggle="tooltip" title="<?php echo $resume['retour-title']; ?>">
268
						<i class="fas fa-undo-alt"></i> <?php echo $general['retour']; ?>
269
					</button>
270
					<button id="ajouter-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" title="<?php echo $resume['creer-title']; ?>">
271
						<i class="fas fa-step-forward"></i> <?php echo $general['suivant']; ?>
272
					</button>
273
				</div>
274
			</div>
275
		</div><!-- fin formulaire arbres -->
276
		<!-- zone résumé obs arbres ( =zone de droite) -->
277
		<div id="boc-arbres-droite" class="col-md-6 mb-3">
278
			<!-- Messages d'erreur du formulaire -->
279
			<div class="row">
280
				<div class="zone-alerte">
281
					<div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
282
						<a class="close">×</a>
283
						<h4 class="alert-heading"><?php echo $resume['alert10max']; ?></h4>
284
						<p><?php echo $resume['alert10max-desc']; ?></p>
285
					</div>
286
				</div>
287
				<div class="zone-alerte">
288
					<div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
289
						<a class="close">×</a>
290
						<h4 class="alert-heading"><?php echo $resume['alertchp']; ?></h4>
291
						<p><?php echo $resume['alertchp-desc']; ?></p>
292
					</div>
293
				</div>
294
			</div>
295
 
296
			<!-- Affiche le tableau récapitualif des observations ajoutées -->
297
			<div id="zone-liste-obs" class="hidden">
298
				<div id="bloc-controle-liste-obs" class="alert alert-info">
299
					<h2 class="transmission-title"><strong><?php echo $resume['titre']; ?> <span class="obs-nbre badge badge-info">0</span></strong></h2>
300
					<button id="transmettre-obs" class="btn btn-primary has-tooltip" data-toggle="tooltip" disabled="disabled"
301
						title="<?php echo $resume['trans-title']; ?>" type="button">
302
						<?php echo $general['enregistrer']; ?>
303
					</button>
304
				</div>
305
				<div id="liste-obs" ></div>
306
				<div class="row">
307
					<div class="zone-alerte">
308
						<div id="dialogue-zero-obs" class="alert alert-block hidden">
309
							<a class="close">×</a>
310
							<h4 class="alert-heading"><?php echo $resume['alert0obs']; ?></h4>
311
							<p><?php echo $resume['alert0obs-desc']; ?></p>
312
						</div>
313
						<div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
314
							<a class="close">×</a>
315
							<h4 class="alert-heading"><?php echo $resume['info-trans']; ?></h4>
316
							<div class="alert-txt"></div>
317
						</div>
318
						<div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
319
							<a class="close">×</a>
320
							<h4 class="alert-heading"><?php echo $resume['alerttrans']; ?></h4>
321
							<div class="alert-txt"></div>
322
						</div>
323
					</div>
324
				</div>
325
			</div>
326
 
327
			<!-- Fenêtres modales -->
328
			<div id="chargement" class="modal-fenetre hidden">
329
				<div id="chargement-centrage" class="modal-contenu">
330
					<div class="progress progress-striped active">
331
						<div id="barre-progression-upload" class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
332
								<span class="sr-only">0/10 <?php echo $resume['nbobs']; ?></span>
333
							</div>
334
					</div>
335
					<p id="chargement-txt">
336
						<?php echo $resume['transencours']; ?>
337
					</p>
338
				</div>
339
			</div>
340
 
341
			<!-- Templates HTML -->
342
			<div id="tpl-transmission-ok" class="hidden">
343
				<p class="msg"><?php echo $resume['transok']; ?></p>
344
			</div>
345
			<div id="tpl-transmission-ko" class="hidden">
346
				<p class="msg"><?php echo $resume['transko']; ?></p>
347
			</div>
348
		</div><!-- fin arbres zone résumé obs ( =zone de droite ) -->
349
	</div>
350
	<!-- Connexion, bloc de prévisualisation, date -->
351
	<script type="text/javascript">
352
		//<![CDATA[
353
			$( document ).ready( function() {
354
				lichens = null;
355
				releve = null;
356
				// OMG un modèle objet !!
357
				releve = new ReleveLg();
358
 
359
				// La présence du parametre 'debug' dans l'URL enclenche le débogage
360
				releve.debug = <?php echo isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
361
				// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
362
				releve.html5 = <?php echo isset($_GET['html5']) ? 'true' : 'false'; ?>;
363
				// Mot-clé du widget/projet
364
				releve.tagProjet = "WidgetLg";
365
				// Mots-clés à ajouter aux images
366
				releve.tagImg = "<?php echo isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
367
				releve.separationTagImg = "<?php echo isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
368
				releve.tagImg = <?php echo isset($_GET['motcle']) ? "'".$_GET['motcle']."' + releve.separationTagImg + releve.tagImg" : 'releve.tagImg'; ?>;
369
				// Mots-clés à ajouter aux observations
370
				releve.tagObs = "<?php echo isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
371
				releve.separationTagObs = "<?php echo isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
372
				releve.tagObs = <?php echo isset($_GET['projet']) ? "'".$_GET['projet']."' + releve.separationTagObs + releve.tagObs" : 'releve.tagObs'; ?>;
373
				// Précharger le formulaire avec les infos d'une observation
374
				releve.obsId = "<?php echo isset($_GET['id-obs']) ? $_GET['id-obs'] : ''; ?>";
375
				// URL du web service réalisant l'insertion des données dans la base du CEL.
376
				releve.serviceSaisieUrl = "<?php echo $url_ws_lg; ?>";
377
				// URL du web service permettant de récupérer les infos d'une observation du CEL.
378
				releve.serviceObsUrl = "<?php echo $url_ws_obs; ?>";
379
				// URL du web service permettant de récupérer les images d'une observation.
380
				releve.serviceObsImgs = "<?php echo $url_ws_cel_imgs; ?>";
381
				// URL du web service permettant de récupérer l'url d'une image (liée à une obs)'.
382
				releve.serviceObsImgUrl = "<?php echo $url_ws_cel_img_url; ?>";
383
 
384
				// langue
385
				releve.langue = "<?php echo $widget['langue']; ?>";
386
				// Squelette d'URL du web service de l'annuaire.
387
				releve.serviceAnnuaireIdUrl = "<?php echo $url_ws_annuaire; ?>";
388
				// mode : prod / beta / local
389
				releve.mode = "<?php echo $conf_mode; ?>";
390
				// URL de l'icône du chargement en cours d'une image
391
				releve.chargementImageIconeUrl = "<?php echo $url_base; ?>img/icones/chargement-image.gif";
392
				// URL de l'icône pour une photo manquante
393
				releve.pasDePhotoIconeUrl = "<?php echo $url_base; ?>img/icones/pasdephoto.png";
394
 
395
				// Code du référentiel utilisé pour les nom scientifiques.
396
				releve.nomSciReferentiel = "<?php echo strtolower( $widget['referentiel'] ); ?>";
397
				// Nombre d'élément dans les listes d'auto-complétion
398
				releve.autocompletionElementsNbre = 20;
399
				// Indication de la présence d'un référentiel imposé
400
				releve.referentielImpose = "<?php echo $referentiel_impose; ?>";
401
 
402
				// URL du web service permettant l'auto-complétion des noms scientifiques
403
				releve.serviceAutocompletionNomSciUrl = "<?php echo $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
404
					"masque={masque}&"+
405
					"recherche=etendue&"+
406
					"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
407
					"ns.structure=au&"+
408
					"navigation.limite=" + releve.autocompletionElementsNbre;
409
				// Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
410
				releve.serviceAutocompletionNomSciUrlTpl = "<?php echo $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
411
					"masque={masque}&"+
412
					"recherche=etendue&"+
413
					"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
414
					"retour.tri=alpharet&"+ // tri "à la CeL"
415
					"ns.structure=au&"+
416
					"navigation.limite=" + releve.autocompletionElementsNbre;
417
				// Nombre d'observations max autorisé avant transmission
418
				releve.obsMaxNbre = 10;
419
				// Durée d'affichage en milliseconde des messages d'informations
420
				releve.dureeMessage = 10000;
421
 
422
				// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
423
				releve.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
424
				// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
425
				releve.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
426
 
427
				// Initialisation du bousin
428
				releve.init();
429
			});
430
		//]]>
431
	</script>
432
</div>