Subversion Repositories eFlore/Applications.cel

Rev

Rev 3221 | Rev 3229 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3221 Rev 3228
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<html xmlns="https://www.w3.org/1999/xhtml">
2
<html xmlns="https://www.w3.org/1999/xhtml">
3
  <head>
3
	<head>
4
    <title><?= $widget['titre']; ?></title>
4
		<title><?= $widget['titre']; ?></title>
183
                  </div>
-
 
184
 
-
 
185
                </div>
-
 
186
              </div>
-
 
187
            </div>
-
 
188
          </form>
-
 
189
          <!-- Messages d'erreur du formulaire-->
-
 
190
          <div class="row">
-
 
191
            <div class="zone-alerte">
-
 
192
              <div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block hidden"">
-
 
193
                <a class="close">×</a>
-
 
194
                <h4 class="alert-heading">Information : copier/coller</h4>
-
 
195
                <p>
-
 
196
                  Merci de ne pas copier/coller votre courriel.<br/>
-
 
197
                  La double saisie permet de vérifier l'absence d'erreurs.
-
 
198
                </p>
-
 
199
              </div>
-
 
200
              <div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
-
 
201
                <a class="close">×</a>
-
 
202
                <h4 class="alert-heading">Information : observateur non identifié</h4>
-
 
203
                <p>
-
 
204
                  Votre observation doit être liée soit à un compte, soit à un email.<br/>
-
 
205
                  Veuillez choisir, soit de vous connecter, soit de vous inscrire, soit communiquer une adresse email afin de vous identifier comme auteur de l'observation.<br/>
-
 
206
                  Pour retrouver vos observations dans le <a href="http://www.tela-botanica.org/appli:cel">Carnet en ligne</a>,
-
 
207
                  il est nécesaire de <a href="http://www.tela-botanica.org/page:inscription">vous inscrire à Tela Botanica</a>.
-
 
208
                </p>
-
 
209
              </div>
-
 
210
              <!-- <div id="dialogue-google-map" class="alert alert-info alert-block hidden">
-
 
211
                <a class="close">×</a>
-
 
212
                <h4 class="alert-heading">Information sur Google Maps</h4>
-
 
213
                <div class="contenu"></div>
-
 
214
              </div> -->
-
 
215
            </div>
-
 
216
          </div>
-
 
217
 
-
 
218
          <form id="form-observation" role="form" autocomplete="on">
-
 
219
            <h2><?= $observation['titre']; ?></h2>
-
 
220
            <div id="zone-observation" class="row">
-
 
221
              <div class="col-md-6">
-
 
222
                <div class="control-group">
-
 
223
                  <label for="geolocalisation" class="col-sm-8 obligatoire" title="<?= $observateur['courriel-title']; ?>">
-
 
224
                    <i class="fa fa-street-view" aria-hidden="true"></i>
-
 
225
                    <?= $observation['geolocalisation']; ?>
-
 
226
                  </label>
-
 
227
                  <div class="col-sm-8 mb-3">
-
 
228
                    <input id="geolocalisation" name="geolocalisation" type="hidden">
-
 
229
                    <tb-geolocation-element id="tb-geolocation"></tb-geolocation-element>
-
 
230
                  </div>
-
 
231
                </div>
-
 
232
                <div class="control-group">
-
 
233
                  <label for="milieu" class="col-sm-8">
-
 
234
                    <i class="fa fa-street-view" aria-hidden="true"></i>
-
 
235
                    <?= $observation['milieu']; ?>
-
 
236
                  </label>
-
 
237
                  <div class="col-sm-8 mb-3">
-
 
238
                    <?php if ( 0 < count( (array) $widget['milieux'] ) ) :?>
-
 
239
                      <select id="milieu" class="form-control" >
-
 
240
                      <?php foreach ( $widget['milieux'] as $milieu ) :?>
-
 
241
                        <option value="<?= $milieu; ?>"><?= $milieu; ?></option>
-
 
242
                      <?php endforeach; ?>
-
 
243
                      </select>
-
 
244
                    <?php else : ?>
-
 
245
                      <input id="milieu" name="milieu" class="form-control" type="text" placeholder="bois, champ, falaise, ...">
-
 
246
                    <?php endif; ?>
-
 
247
                  </div>
-
 
248
                </div>
-
 
249
              </div>
-
 
250
              <div class="col-md-6">
-
 
251
 
-
 
252
                <div class="control-group">
-
 
253
                  <label for="date_releve" class="col-sm-8 obligatoire" title="">
-
 
254
                    <i class="fa fa-calendar" aria-hidden="true"></i>
-
 
255
                    <?= $observation['date']; ?>
-
 
256
                  </label>
244
						<?php endif; ?>
257
                  <div class="col-sm-8 mb-3" id="datetimepicker">
-
 
258
                    <input type="text" id="date_releve" name="date_releve" class="form-control date" placeholder="jj/mm/aaaa"  pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)" title="jj/mm/aaaa">
-
 
259
                  </div>
-
 
260
                </div>
-
 
261
 
-
 
262
                <?php if( 'referentiel' === $widget['type_especes'] && '' === $widget['referentiel'] ) : ?>
-
 
263
                  <div class="control-group">
-
 
264
                    <label for="referentiel" class="col-sm-8 obligatoire" title="">
-
 
265
                      <i class="fa fa-book" aria-hidden="true"></i>
-
 
266
                      <?= $observation['referentiel']; ?>
-
 
267
                    </label>
-
 
268
                    <div class="col-sm-8 mb-3">
-
 
269
                      <select id="referentiel" class="form-control" >
-
 
270
                        <option value="bdtfxr" selected="selected" title="Trachéophytes de France métropolitaine">Métropole (index réduit)</option>
-
 
271
                        <option value="bdtfx" title="Trachéophytes de France métropolitaine">Métropole (BDTFX)</option>
-
 
272
                        <option value="bdtxa" title="Trachéophytes des Antilles">Antilles françaises (BDTXA)</option>
-
 
273
                        <option value="bdtre" title="Trachéophytes de La Réunion">Réunion (BDTRE)</option>
-
 
274
                        <option value="aublet" title="Guyane">Guyane (AUBLET2)</option>
-
 
275
                        <option value="florical" title="Nouvelle-Calédonie">Nouvelle-Calédonie (FLORICAL)</option>
-
 
276
                        <option value="isfan" title="Afrique du Nord">Afrique du Nord (ISFAN)</option>
-
 
277
                        <option value="apd" title="Afrique de l'Ouest et du Centre">Afrique de l'Ouest et du Centre (APD)</option>
-
 
278
                        <option value="lbf" title="Liban">Liban (LBF)</option>
-
 
279
                        <option value="autre" title="Autre/Inconnu">Autre/Inconnu</option>
-
 
280
                      </select>
-
 
281
                    </div>
-
 
282
                  </div>
-
 
283
                <?php else : ?>
-
 
284
                  <input id="referentiel" name="referentiel" value="<?= $widget['referentiel']; ?>" type="hidden">
-
 
285
                <?php endif; ?>
-
 
286
 
245
 
287
                <div class="control-group">
246
						<div class="control-group">
288
                  <label for="taxon" class="col-sm-8 obligatoire" title="">
247
                  <label for="taxon" class="col-sm-8 obligatoire" title="">
289
                    <i class="fa fa-leaf" aria-hidden="true"></i>
248
                    <i class="fa fa-leaf" aria-hidden="true"></i>
290
                    <?= $observation['espece']; ?>
249
                    <?= $observation['espece']; ?>
291
                  </label>
250
                  </label>
292
                  <div class="col-sm-8 mb-3">
251
                  <div class="col-sm-8 mb-3">
293
                    <input id="taxon" name="taxon" class="form-control" type="text">
252
                    <input id="taxon" name="taxon" class="form-control" type="text">
294
                  </div>
253
                  </div>
295
                </div>
254
                </div>
296
 
255
 
297
                <div class="control-group">
256
                <div class="control-group">
298
                  <label for="certitude" class="col-sm-8 obligatoire" title="">
257
                  <label for="certitude" class="col-sm-8 obligatoire" title="">
299
                    <i class="fa fa-question" aria-hidden="true"></i>
258
                    <i class="fa fa-question" aria-hidden="true"></i>
300
                    <?= $observation['certitude']; ?>
259
                    <?= $observation['certitude']; ?>
301
                  </label>
260
                  </label>
302
                  <div class="col-sm-8 mb-3">
261
                  <div class="col-sm-8 mb-3">
303
                    <select id="certitude" name="certitude" class="form-control">
262
                    <select id="certitude" name="certitude" class="form-control">
304
                      <option value="aDeterminer" ><?= $observation['certADet']; ?></option>
263
                      <option value="aDeterminer" ><?= $observation['certADet']; ?></option>
305
                      <option value="douteuse" ><?= $observation['certDout']; ?></option>
264
                      <option value="douteuse" ><?= $observation['certDout']; ?></option>
306
                      <option value="certaine" selected="selected" ><?= $observation['certCert']; ?></option>
265
                      <option value="certaine" selected="selected" ><?= $observation['certCert']; ?></option>
307
                    </select>
266
                    </select>
308
                  </div>
267
                  </div>
309
                </div>
268
                </div>
310
 
269
 
311
              </div>
270
              </div>
312
            </div>
271
            </div>
313
          </form>
272
          </form>
314
 
273
 
315
          <form id="form-upload" class="form-horizontal" action="<?= $url_ws_upload ?>" method="post" enctype="multipart/form-data">
274
          <form id="form-upload" class="form-horizontal bloc-top" action="<?= $url_ws_upload ?>" method="post" enctype="multipart/form-data">
316
            <h2>Image(s) de cette plante</h2>
275
            <h2>Image(s) de cette plante</h2>
317
            <p class="miniature-info" class="discretion help-inline">
276
            <p class="miniature-info" class="discretion help-inline">
318
              Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.
277
              Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.
319
            </p>
278
            </p>
320
            <div id ="photos-conteneur" class="control-group">
279
            <div id ="photos-conteneur" class="control-group">
321
              <div>
280
              <div>
322
                <label for="fichier" class="label-file btn btn-large btn-info mb-3">
281
                <label for="fichier" class="label-file btn btn-large btn-info mb-3">
323
                  <span class="label-text"><i class="fas fa-download"></i> Ajouter une image</span>
282
                  <span class="label-text"><i class="fas fa-download"></i> Ajouter une image</span>
324
                  <input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
283
                  <input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
325
                  <input type="hidden" name="MAX_FILE_SIZE" value="5242880">
284
                  <input type="hidden" name="MAX_FILE_SIZE" value="5242880">
326
                </label>
285
                </label>
327
              </div>
286
              </div>
328
 
287
 
329
              <div id="miniatures"></div>
288
              <div id="miniatures"></div>
330
              <p class="miniature-msg" class="span12">&nbsp;</p>
289
              <p class="miniature-msg" class="span12">&nbsp;</p>
331
            </div>
290
            </div>
332
          </form>
291
          </form>
333
 
292
 
334
          <!-- Champs supplémentaires -->
293
          <!-- Champs supplémentaires -->
335
          <?php if ( isset($widget['chpSupp'] ) && 0 < count( (array) $widget['chpSupp'] ) ) : ?>
294
          <?php if ( isset($widget['chpSupp'] ) && 0 < count( (array) $widget['chpSupp'] ) ) : ?>
336
            <form id="form-supp" role="form" autocomplete="on">
295
            <form id="form-supp" role="form" autocomplete="on">
337
              <h2>Informations propres au projet</h2>
296
              <h2>Informations propres au projet</h2>
338
              <div id="zone-supp" class="row">
297
              <div id="zone-supp" class="row">
339
                <div class="col-md-6">
298
                <div class="col-md-6">
340
 
299
 
341
                  <?php foreach( $widget['chpSupp']['sauvagessupp']['champs-supp'] as $champ ) :?>
300
                  <?php foreach( $widget['chpSupp']['sauvagessupp']['champs-supp'] as $champ ) :?>
342
                    <?php
301
                    <?php
343
                      $min         = ( $champ['fieldValues']['min'] )? ' min="' . $champ['fieldValues']['min'] . '"':'';
302
                      $min         = ( $champ['fieldValues']['min'] )? ' min="' . $champ['fieldValues']['min'] . '"':'';
344
                      $max         = ( $champ['fieldValues']['max'] )? ' max="' . $champ['fieldValues']['max'] . '"':'';
303
                      $max         = ( $champ['fieldValues']['max'] )? ' max="' . $champ['fieldValues']['max'] . '"':'';
345
                      $step        = ( $champ['fieldValues']['step'] )? ' step="' . $champ['fieldValues']['step'] . '"':'';
304
                      $step        = ( $champ['fieldValues']['step'] )? ' step="' . $champ['fieldValues']['step'] . '"':'';
346
                      $default     = ( $champ['fieldValues']['default'] )? ' value="' . $champ['fieldValues']['default'] . '"':'';
305
                      $default     = ( $champ['fieldValues']['default'] )? ' value="' . $champ['fieldValues']['default'] . '"':'';
347
                      $description = ( $champ['description'] )? ' title="' . $champ['description'] . '"':'';
306
                      $description = ( $champ['description'] )? ' title="' . $champ['description'] . '"':'';
348
                      $placeholder = ( $champ['fieldValues']['placeholder'] )? ' placeholder="' . $champ['fieldValues']['placeholder'] . '"':'';
307
                      $placeholder = ( $champ['fieldValues']['placeholder'] )? ' placeholder="' . $champ['fieldValues']['placeholder'] . '"':'';
349
                      $required    = '';
308
                      $required    = '';
350
                      $mandatory   = '';
309
                      $mandatory   = '';
351
                      $datepicker  = '';
310
                      $datepicker  = '';
352
                      $pattern     = '';
311
                      $pattern     = '';
353
                      $obs_radio   = '';
312
                      $obs_radio   = '';
354
                      $help        = '';
313
                      $help        = '';
355
                      $help_button = '';
314
                      $help_button = '';
356
 
315
 
357
                      if( /*true*/$champ['help'] ) {
316
                      if( /*true*/$champ['help'] ) {
358
                        $help = ' and-help';
317
                        $help = ' and-help';
359
                        // TODO récupérer un $champ['help_mime_type']
318
                        // TODO récupérer un $champ['help_mime_type']
360
                        // $champ['help_mime_type'] = 'application/pdf';
319
                        // $champ['help_mime_type'] = 'application/pdf';
361
                        $champ['help_mime_type'] = 'image.*';
320
                        $champ['help_mime_type'] = 'image.*';
362
                        $help_button = ' <div class="help-button help-' . $champ['key'] . ' btn btn-outline-info btn-sm border-0" data-key="' . $champ['key'] . '" data-name="' . $champ['name'] . '" data-mime-type="' . $champ['help_mime_type'] . '"><i class="fas fa-info-circle"></i></div>';
321
                        $help_button = ' <div class="help-button help-' . $champ['key'] . ' btn btn-outline-info btn-sm border-0" data-key="' . $champ['key'] . '" data-name="' . $champ['name'] . '" data-mime-type="' . $champ['help_mime_type'] . '"><i class="fas fa-info-circle"></i></div>';
363
                      }
322
                      }
364
 
323
 
365
                      if( $champ['mandatory'] ) {
324
                      if( $champ['mandatory'] ) {
366
                        // Attr required
325
                        // Attr required
367
                        $required  = ' required';
326
                        $required  = ' required';
368
                        // class="obligatoire"
327
                        // class="obligatoire"
369
                        $mandatory = ' obligatoire';
328
                        $mandatory = ' obligatoire';
370
                      }
329
                      }
371
 
330
 
372
                      if( 'date' === $champ['element'] ) {
331
                      if( 'date' === $champ['element'] ) {
373
                        $datepicker = ' date';
332
                        $datepicker = ' date';
374
                        $pattern    = ' pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)"';
333
                        $pattern    = ' pattern="(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)"';
375
                      }
334
                      }
376
 
335
 
377
                      switch( $champ['element'] ) {
336
                      switch( $champ['element'] ) {
378
                        case 'radio':
337
                        case 'radio':
379
                        case 'checkbox': ?>
338
                        case 'checkbox': ?>
380
                          <div class="control-group <?= $champ['element']; ?> mb-3"<?php echo $description . $required; ?>>
339
                          <div class="control-group <?= $champ['element']; ?> mb-3"<?php echo $description . $required; ?>>
381
                            <div class="col-sm-8 list-label<?php echo $help . $mandatory; ?>">
340
                            <div class="col-sm-8 list-label<?php echo $help . $mandatory; ?>">
382
                              <?= $champ['name'] . $help_button; ?>
341
                              <?= $champ['name'] . $help_button; ?>
383
                            </div>
342
                            </div>
384
                            <div class="col-sm-8">
343
                            <div class="col-sm-8">
385
 
344
 
386
                              <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
345
                              <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
387
 
346
 
388
                                  <?php
347
                                  <?php
389
                                    $checked = '';
348
                                    $checked = '';
390
                                    if ( '#' === substr( $list_value, -1 ) ) :
349
                                    if ( '#' === substr( $list_value, -1 ) ) :
391
                                      $checked = ' checked';
350
                                      $checked = ' checked';
392
                                      $list_value = substr( $list_value, 0, -1 );
351
                                      $list_value = substr( $list_value, 0, -1 );
393
                                    endif;
352
                                    endif;
394
                                  ?>
353
                                  ?>
395
 
354
 
396
                                  <?php if( 'other' !== $list_value ) : ?>
355
                                  <?php if( 'other' !== $list_value ) : ?>
397
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
356
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
398
                                      <input type="<?= $champ['element']; ?>" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?= $champ['key']; ?>" value="<?= $list_value; ?>"<?= $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" data-label="<?= $champ['name']; ?>">
357
                                      <input type="<?= $champ['element']; ?>" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?= $champ['key']; ?>" value="<?= $list_value; ?>"<?= $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" data-label="<?= $champ['name']; ?>">
399
                                      <?= $list_value; ?>
358
                                      <?= $list_value; ?>
400
                                    </label>
359
                                    </label>
401
                                  <?php else : ?>
360
                                  <?php else : ?>
402
                                    <label for="other-<?= $champ['key']; ?>">
361
                                    <label for="other-<?= $champ['key']; ?>">
403
                                      <input type="<?= $champ['element']; ?>" id="other-<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
362
                                      <input type="<?= $champ['element']; ?>" id="other-<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
404
                                      Autre
363
                                      Autre
405
                                    </label>
364
                                    </label>
406
                                  <?php endif; ?>
365
                                  <?php endif; ?>
407
 
366
 
408
                              <?php endforeach; ?>
367
                              <?php endforeach; ?>
409
 
368
 
410
                            </div>
369
                            </div>
411
                          </div>
370
                          </div>
412
                        <?php break;
371
                        <?php break;
413
 
372
 
414
                        case 'list-checkbox': ?>
373
                        case 'list-checkbox': ?>
415
                          <div class="multiselect <?php echo $champ['element'] . $help; ?>">
374
                          <div class="multiselect <?php echo $champ['element'] . $help; ?>">
416
                            <label class="col-sm-8<?= $mandatory; ?>"><?= $champ['name'] . $help_button; ?></label>
375
                            <label class="col-sm-8<?= $mandatory; ?>"><?= $champ['name'] . $help_button; ?></label>
417
                            <div class="control-group col-sm-8 mb-3">
376
                            <div class="control-group col-sm-8 mb-3">
418
                              <div class="selectBox">
377
                              <div class="selectBox">
419
                                <select class="form-control" id="list-checkbox-<?= $champ['key']; ?>"<?php echo $description . $required; ?> class="form-control">
378
                                <select class="form-control" id="list-checkbox-<?= $champ['key']; ?>"<?php echo $description . $required; ?> class="form-control">
420
                                  <option>Plusieurs choix possibles</option>
379
                                  <option>Plusieurs choix possibles</option>
421
                                </select>
380
                                </select>
422
                                <div class="overSelect"></div>
381
                                <div class="overSelect"></div>
423
                              </div>
382
                              </div>
424
                              <div class="checkboxes hidden">
383
                              <div class="checkboxes hidden">
425
                                <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
384
                                <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
426
 
385
 
427
                                  <?php
386
                                  <?php
428
                                    $checked = '';
387
                                    $checked = '';
429
                                    if ( '#' === substr( $list_value, -1 ) ) :
388
                                    if ( '#' === substr( $list_value, -1 ) ) :
430
                                      $checked = ' checked';
389
                                      $checked = ' checked';
431
                                      $list_value = substr( $list_value, 0, -1 );
390
                                      $list_value = substr( $list_value, 0, -1 );
432
                                    endif;
391
                                    endif;
433
                                  ?>
392
                                  ?>
434
 
393
 
435
                                  <?php if( 'other' !== $list_value ) : ?>
394
                                  <?php if( 'other' !== $list_value ) : ?>
436
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
395
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
437
                                      <input type="checkbox" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?= $champ['key']; ?>" value="<?= $list_value; ?>"<?= $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" data-label="<?= $champ['name']; ?>">
396
                                      <input type="checkbox" id="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" name="<?= $champ['key']; ?>" value="<?= $list_value; ?>"<?= $checked; ?> class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" data-label="<?= $champ['name']; ?>">
438
                                      <?= $list_value; ?>
397
                                      <?= $list_value; ?>
439
                                    </label>
398
                                    </label>
440
                                  <?php else : ?>
399
                                  <?php else : ?>
441
                                    <label for="other-<?= $champ['key']; ?>">
400
                                    <label for="other-<?= $champ['key']; ?>">
442
                                      <input type="checkbox" id="other-<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
401
                                      <input type="checkbox" id="other-<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
443
                                      Autre
402
                                      Autre
444
                                    </label>
403
                                    </label>
445
                                  <?php endif; ?>
404
                                  <?php endif; ?>
446
 
405
 
447
                                <?php endforeach; ?>
406
                                <?php endforeach; ?>
448
 
407
 
449
                              </div>
408
                              </div>
450
                            </div>
409
                            </div>
451
                          </div>
410
                          </div>
452
                        <?php break;
411
                        <?php break;
453
 
412
 
454
                        case 'select': ?>
413
                        case 'select': ?>
455
                          <label for="<?= $champ['key']; ?>" class="col-sm-8<?= $mandatory; ?>"<?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
414
                          <label for="<?= $champ['key']; ?>" class="col-sm-8<?= $mandatory; ?>"<?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
456
                          <div class="champ col-sm-8 mb-3">
415
                          <div class="champ col-sm-8 mb-3">
457
                            <div class="select-wrapper add-field-select <?php echo $champ['element'] . $help; ?>">
416
                            <div class="select-wrapper add-field-select <?php echo $champ['element'] . $help; ?>">
458
                              <select name="<?= $champ['key']; ?>" id="<?= $champ['key']; ?>" class="<?= $champ['key']; ?> form-control"<?= $required; ?> data-label="<?= $champ['name']; ?>">
417
                              <select name="<?= $champ['key']; ?>" id="<?= $champ['key']; ?>" class="<?= $champ['key']; ?> form-control"<?= $required; ?> data-label="<?= $champ['name']; ?>">
459
 
418
 
460
                                <?php foreach ( $champ['fieldValues']['listValue'] as $list_value ) : ?>
419
                                <?php foreach ( $champ['fieldValues']['listValue'] as $list_value ) : ?>
461
 
420
 
462
                                  <?php
421
                                  <?php
463
                                    $selected = '';
422
                                    $selected = '';
464
                                    if ( '#' === substr( $list_value, -1 ) ) :
423
                                    if ( '#' === substr( $list_value, -1 ) ) :
465
                                      $selected = ' selected="selected"';
424
                                      $selected = ' selected="selected"';
466
                                      $list_value = substr( $list_value, 0, -1 );
425
                                      $list_value = substr( $list_value, 0, -1 );
467
                                    endif;
426
                                    endif;
468
                                  ?>
427
                                  ?>
469
 
428
 
470
                                  <?php if( 'other' !== $list_value ) : ?>
429
                                  <?php if( 'other' !== $list_value ) : ?>
471
                                    <option value="<?= $list_value; ?>"<?= $selected; ?>>
430
                                    <option value="<?= $list_value; ?>"<?= $selected; ?>>
472
                                      <?php echo ucfirst( $list_value ); ?>
431
                                      <?php echo ucfirst( $list_value ); ?>
473
                                    </option>
432
                                    </option>
474
                                  <?php else : ?>
433
                                  <?php else : ?>
475
                                    <option class="other form-control is-select" value="other" data-element="<?= $champ['element']; ?>">Autre</option>
434
                                    <option class="other form-control is-select" value="other" data-element="<?= $champ['element']; ?>">Autre</option>
476
                                  <?php endif; ?>
435
                                  <?php endif; ?>
477
 
436
 
478
                                <?php endforeach; ?>
437
                                <?php endforeach; ?>
479
 
438
 
480
                              </select>
439
                              </select>
481
                            </div>
440
                            </div>
482
                          </div>
441
                          </div>
483
                        <?php break;
442
                        <?php break;
484
 
443
 
485
                        case 'file' : ?>
444
                        case 'file' : ?>
486
                          <div class="control-group col-sm-8 mb-3">
445
                          <div class="control-group col-sm-8 mb-3">
487
                            <div class="input-file-container<?= $help; ?>">
446
                            <div class="input-file-container<?= $help; ?>">
488
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?php echo $champ['key'] . ' input-file'; ?> form-control" <?php echo $description . $placeholder . $required; ?>  accept="application/pdf, image/*, video/*" data-label="<?= $champ['name']; ?>">
447
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?php echo $champ['key'] . ' input-file'; ?> form-control" <?php echo $description . $placeholder . $required; ?>  accept="application/pdf, image/*, video/*" data-label="<?= $champ['name']; ?>">
489
                              <label for="<?= $champ['key']; ?>" class="label-file<?= $mandatory; ?>" <?= $description; ?>><i class="fas fa-download" aria-hidden="true"></i> <?= $champ['name']; ?></label>
448
                              <label for="<?= $champ['key']; ?>" class="label-file<?= $mandatory; ?>" <?= $description; ?>><i class="fas fa-download" aria-hidden="true"></i> <?= $champ['name']; ?></label>
490
 
449
 
491
                              <?php if ( !$champ['mandatory'] ) : ?>
450
                              <?php if ( !$champ['mandatory'] ) : ?>
492
                                <div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
451
                                <div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
493
                              <?php endif; ?>
452
                              <?php endif; ?>
494
 
453
 
495
                            </div>
454
                            </div>
496
                          </div>
455
                          </div>
497
                        <?php break;
456
                        <?php break;
498
 
457
 
499
                        case 'textarea': ?>
458
                        case 'textarea': ?>
500
                          <div class="control-group">
459
                          <div class="control-group">
501
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?php echo $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
460
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?php echo $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
502
                            <div class="col-sm-8 mb-3">
461
                            <div class="col-sm-8 mb-3">
503
                              <textarea type="<?= $champ['element']; ?>" id="<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $required; ?> data-label="<?= $champ['name']; ?>"></textarea>
462
                              <textarea type="<?= $champ['element']; ?>" id="<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $required; ?> data-label="<?= $champ['name']; ?>"></textarea>
504
                            </div>
463
                            </div>
505
                          </div>
464
                          </div>
506
                        <?php break;
465
                        <?php break;
507
 
466
 
508
                        case 'range': ?>
467
                        case 'range': ?>
509
                          <div class="control-group">
468
                          <div class="control-group">
510
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?= $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
469
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?= $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
511
                            <div class="col-sm-8 mb-3">
470
                            <div class="col-sm-8 mb-3">
512
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?= $champ['name']; ?>">
471
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?= $champ['name']; ?>">
513
                            </div>
472
                            </div>
514
                          </div>
473
                          </div>
515
                          <?php break;
474
                          <?php break;
516
 
475
 
517
                        case 'number':
476
                        case 'number':
518
                        case 'date': ?>
477
                        case 'date': ?>
519
                          <div class="control-group">
478
                          <div class="control-group">
520
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?php echo $datepicker . $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
479
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?php echo $datepicker . $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
521
                            <div class="col-sm-8 mb-3">
480
                            <div class="col-sm-8 mb-3">
522
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help . $datepicker; ?> form-control"<?php echo  $pattern . $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?= $champ['name']; ?>">
481
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help . $datepicker; ?> form-control"<?php echo  $pattern . $description . $placeholder . $step . $default . $min . $max . $required; ?> data-label="<?= $champ['name']; ?>">
523
                            </div>
482
                            </div>
524
                          </div>
483
                          </div>
525
                          <?php break;
484
                          <?php break;
526
 
485
 
527
                        case 'text' :
486
                        case 'text' :
528
                        case 'email':
487
                        case 'email':
529
                        default: ?>
488
                        default: ?>
530
                          <div class="control-group">
489
                          <div class="control-group">
531
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?= $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
490
                            <label for="<?= $champ['key']; ?>" class="col-sm-8<?= $mandatory; ?>" <?= $description; ?>><?= $champ['name'] . $help_button; ?></label>
532
                            <div class="col-sm-8 mb-3">
491
                            <div class="col-sm-8 mb-3">
533
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $required; ?> data-label="<?= $champ['name']; ?>">
492
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $required; ?> data-label="<?= $champ['name']; ?>">
534
                            </div>
493
                            </div>
535
                          </div>
494
                          </div>
536
                        <?php break;
495
                        <?php break;
537
                      }
496
                      }
538
                    ?>
497
                    ?>
539
 
498
 
540
                  <?php endforeach; ?>
499
                  <?php endforeach; ?>
541
                </div>
500
                </div>
542
              </div>
501
              </div>
543
            </form>
502
            </form>
544
          <?php endif; ?><!-- Fin champs supplémentaires -->
503
          <?php endif; ?><!-- Fin champs supplémentaires -->
545
 
504
 
546
          <div id="image" class="row"></div>
505
          <div id="image" class="row"></div>
547
        </div>
506
        </div>
548
 
507
 
549
        <!-- Bouton cr&ation d'une obs -->
508
        <!-- Bouton cr&ation d'une obs -->
550
        <div class="row mb-3 bloc-bottom">
509
        <div class="row mb-3 bloc-bottom">
551
          <div class="centre" title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
510
          <div class="centre" title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
552
              ajouter votre observation à la liste à transmettre.">
511
              ajouter votre observation à la liste à transmettre.">
553
            <a id="ajouter-obs" class="btn btn-primary">
512
            <a id="ajouter-obs" class="btn btn-primary">
554
              <i class="fas fa-check-square"></i> Créer
513
              <i class="fas fa-check-square"></i> Créer
555
            </a>
514
            </a>
556
          </div>
515
          </div>
557
        </div>
516
        </div>
558
 
517
 
559
        <!-- Messages d'erreur du formulaire-->
518
        <!-- Messages d'erreur du formulaire-->
560
        <div class="row">
519
        <div class="row">
561
          <div class="zone-alerte">
520
          <div class="zone-alerte">
562
            <div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
521
            <div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
563
              <a class="close">×</a>
522
              <a class="close">×</a>
564
              <h4 class="alert-heading">Information : 10 observations maximum</h4>
523
              <h4 class="alert-heading">Information : 10 observations maximum</h4>
565
              <p>
524
              <p>
566
                Vous venez d'ajouter votre 10ème observation.<br/>
525
                Vous venez d'ajouter votre 10ème observation.<br/>
567
                Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
526
                Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
568
              </p>
527
              </p>
569
            </div>
528
            </div>
570
          </div>
529
          </div>
571
          <div class="zone-alerte">
530
          <div class="zone-alerte">
572
            <div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
531
            <div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
573
              <a class="close">×</a>
532
              <a class="close">×</a>
574
              <h4 class="alert-heading">Information : champs en erreur</h4>
533
              <h4 class="alert-heading">Information : champs en erreur</h4>
575
              <p>
534
              <p>
576
                Certains champs du formulaire sont mal remplis.<br/>
535
                Certains champs du formulaire sont mal remplis.<br/>
577
                Veuillez vérifier vos données.
536
                Veuillez vérifier vos données.
578
              </p>
537
              </p>
579
            </div>
538
            </div>
580
          </div>
539
          </div>
581
        </div>
540
        </div>
582
 
541
 
583
        <!-- Affiche le tableau récapitualif des observations ajoutées -->
542
        <!-- Affiche le tableau récapitualif des observations ajoutées -->
584
        <div id="zone-liste-obs" class="hidden">
543
        <div id="zone-liste-obs" class="hidden">
585
          <div class="alert alert-info">
544
          <div class="alert alert-info">
586
            <h2 class="transmission-title"><strong>Observations à transmettre : <span class="obs-nbre badge badge-info">0</span></strong></h2>
545
            <h2 class="transmission-title"><strong>Observations à transmettre : <span class="obs-nbre badge badge-info">0</span></strong></h2>
587
            <button id="transmettre-obs" class="btn btn-primary droite" disabled="disabled"
546
            <button id="transmettre-obs" class="btn btn-primary droite" disabled="disabled"
588
              title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques." type="button">
547
              title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques." type="button">
589
              Transmettre
548
              Transmettre
590
            </button>
549
            </button>
591
          </div>
550
          </div>
592
          <div id="liste-obs" ></div>
551
          <div id="liste-obs" ></div>
593
          <div class="row">
552
          <div class="row">
594
            <div class="zone-alerte">
553
            <div class="zone-alerte">
595
              <div id="dialogue-zero-obs" class="alert alert-block hidden">
554
              <div id="dialogue-zero-obs" class="alert alert-block hidden">
596
                <a class="close">×</a>
555
                <a class="close">×</a>
597
                <h4 class="alert-heading">Attention : aucune observation</h4>
556
                <h4 class="alert-heading">Attention : aucune observation</h4>
598
                <p>Veuillez saisir des observations pour les transmettre.</p>
557
                <p>Veuillez saisir des observations pour les transmettre.</p>
599
              </div>
558
              </div>
600
              <div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
559
              <div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
601
                <a class="close">×</a>
560
                <a class="close">×</a>
602
                <h4 class="alert-heading">Information : transmission des observations</h4>
561
                <h4 class="alert-heading">Information : transmission des observations</h4>
603
                <div class="alert-txt"></div>
562
                <div class="alert-txt"></div>
604
              </div>
563
              </div>
605
              <div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
564
              <div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
606
                <a class="close">×</a>
565
                <a class="close">×</a>
607
                <h4 class="alert-heading">Erreur : transmission des observations</h4>
566
                <h4 class="alert-heading">Erreur : transmission des observations</h4>
608
                <div class="alert-txt"></div>
567
                <div class="alert-txt"></div>
609
              </div>
568
              </div>
610
            </div>
569
            </div>
611
          </div>
570
          </div>
612
        </div>
571
        </div>
613
 
572
 
614
        <!-- Fenêtres modales -->
573
        <!-- Fenêtres modales -->
615
        <div id="chargement" class="modal-fenetre hidden">
574
        <div id="chargement" class="modal-fenetre hidden">
616
          <div id="chargement-centrage" class="modal-contenu">
575
          <div id="chargement-centrage" class="modal-contenu">
617
            <div class="progress progress-striped active">
576
            <div class="progress progress-striped active">
618
              <div id="barre-progression-upload" class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
577
              <div id="barre-progression-upload" class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
619
                  <span class="sr-only">0/10 observations transmises</span>
578
                  <span class="sr-only">0/10 observations transmises</span>
620
                </div>
579
                </div>
621
            </div>
580
            </div>
622
            <p id="chargement-txt" style="color:white;font-size:1.5em;">
581
            <p id="chargement-txt" style="color:white;font-size:1.5em;">
623
              Transfert des observations en cours...<br />
582
              Transfert des observations en cours...<br />
624
              Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
583
              Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
625
              d'observations à transférer.
584
              d'observations à transférer.
626
            </p>
585
            </p>
627
          </div>
586
          </div>
628
        </div>
587
        </div>
629
 
588
 
630
        <!-- Templates HTML -->
589
        <!-- Templates HTML -->
631
        <div id="tpl-transmission-ok" class="hidden">
590
        <div id="tpl-transmission-ok" class="hidden">
632
          <p class="msg">
591
          <p class="msg">
633
            Vos observations ont bien été transmises.<br />
592
            Vos observations ont bien été transmises.<br />
634
            Elles sont désormais consultables à travers les différents outils de visualisation
593
            Elles sont désormais consultables à travers les différents outils de visualisation
635
            du réseau (<a href="https://www.tela-botanica.org/site:botanique">eFlore</a>,
594
            du réseau (<a href="https://www.tela-botanica.org/site:botanique">eFlore</a>,
636
            <a href="https://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>,
595
            <a href="https://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>,
637
            <a href="https://www.tela-botanica.org/appli:identiplante">identiplante</a>,
596
            <a href="https://www.tela-botanica.org/appli:identiplante">identiplante</a>,
638
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br />
597
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br />
639
            Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
598
            Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
640
            connectant à votre <a href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br />
599
            connectant à votre <a href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br />
641
            N'oubliez pas qu'il est nécessaire de
600
            N'oubliez pas qu'il est nécessaire de
642
            <a href="https://beta.tela-botanica.org/test/page:inscription">s'inscrire à Tela Botanica</a>
601
            <a href="https://beta.tela-botanica.org/test/page:inscription">s'inscrire à Tela Botanica</a>
643
            au préalable, si ce n'est pas déjà fait.
602
            au préalable, si ce n'est pas déjà fait.
644
          </p>
603
          </p>
645
        </div>
604
        </div>
646
        <div id="tpl-transmission-ko" class="hidden">
605
        <div id="tpl-transmission-ko" class="hidden">
647
          <p class="msg">
606
          <p class="msg">
648
            Une erreur est survenue lors de la transmission d'une observation (indiquée en rouge).<br />
607
            Une erreur est survenue lors de la transmission d'une observation (indiquée en rouge).<br />
649
            Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
608
            Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
650
            et transmettre les suivantes.<br />
609
            et transmettre les suivantes.<br />
651
            Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br />
610
            Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br />
652
            Si le problème persiste, vous pouvez signaler le dysfonctionnement sur
611
            Si le problème persiste, vous pouvez signaler le dysfonctionnement sur
653
            <a href="<?= $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>" target="_blank"
612
            <a href="<?= $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>" target="_blank"
654
              onclick="
613
              onclick="
655
                javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' );
614
                javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' );
656
                return false;
615
                return false;
657
              "
616
              "
658
            >le formulaire de signalement d'erreurs</a>.
617
            >le formulaire de signalement d'erreurs</a>.
659
          </p>
618
          </p>
660
        </div>
619
        </div>
661
 
620
 
662
        <footer>
621
        <footer>
663
          <div class="row centre component-tools-item-link">
622
          <div class="row centre component-tools-item-link">
664
            <a href="https://www.tela-botanica.org/appli:cel" target="" class="mr-1" style="color: #e16e37">
623
            <a href="https://www.tela-botanica.org/appli:cel" target="" class="mr-1" style="color: #e16e37">
665
              <span>Gestion</span>
624
              <span>Gestion</span>
666
            </a>
625
            </a>
667
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #918a6f">
626
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #918a6f">
668
              <span>Carto</span>
627
              <span>Carto</span>
669
            </a>
628
            </a>
670
            <a href="https://www.tela-botanica.org/widget:cel:photo?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #964e75">
629
            <a href="https://www.tela-botanica.org/widget:cel:photo?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #964e75">
671
              <span>Photo</span>
630
              <span>Photo</span>
672
            </a>
631
            </a>
673
            <a href="https://www.tela-botanica.org/widget:cel:observation?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #b2cb43">
632
            <a href="https://www.tela-botanica.org/widget:cel:observation?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #b2cb43">
674
              <span>Observation</span>
633
              <span>Observation</span>
675
            </a>
634
            </a>
676
            <a href="https://www.tela-botanica.org/widget:cel:export?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #009fb8">
635
            <a href="https://www.tela-botanica.org/widget:cel:export?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #009fb8">
677
              <span>Export</span>
636
              <span>Export</span>
678
            </a>
637
            </a>
679
            <a href="https://www.tela-botanica.org/appli:pictoflora?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #927fa2">
638
            <a href="https://www.tela-botanica.org/appli:pictoflora?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #927fa2">
680
              <span>PictoFlora</span>
639
              <span>PictoFlora</span>
681
            </a>
640
            </a>
682
            <a href="https://www.tela-botanica.org/appli:identiplante?projet=<?= $widget['projet']; ?>" target="" style="color: #f25a52">
641
            <a href="https://www.tela-botanica.org/appli:identiplante?projet=<?= $widget['projet']; ?>" target="" style="color: #f25a52">
683
              <span>IdentiPlante</span>
642
              <span>IdentiPlante</span>
684
            </a>
643
            </a>
685
          </div>
644
          </div>
686
        </footer>
645
        </footer>
687
      </div>
646
      </div>
688
    </div>
647
    </div>
689
    <div id="help-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" style="display: none;" aria-hidden="true">
648
    <div id="help-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="help-modal-label" style="display: none;" aria-hidden="true">
690
      <div class="modal-dialog modal-dialog-centered" role="document">
649
      <div class="modal-dialog modal-dialog-centered" role="document">
691
        <div class="modal-content">
650
        <div class="modal-content">
692
          <div class="modal-header">
651
          <div class="modal-header">
693
            <h5 class="modal-title" id="help-modal-label"></h5>
652
            <h5 class="modal-title" id="help-modal-label"></h5>
694
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
653
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
695
              <span aria-hidden="true">&times;</span>
654
              <span aria-hidden="true">&times;</span>
696
            </button>
655
            </button>
697
          </div>
656
          </div>
698
          <div class="modal-body" id="print_content"></div>
657
          <div class="modal-body" id="print_content"></div>
699
          <div class="modal-footer">
658
          <div class="modal-footer">
700
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
659
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
701
          </div>
660
          </div>
702
        </div>
661
        </div>
703
      </div>
662
      </div>
704
    </div>
663
    </div>
705
    <!-- carto -->
664
    <!-- carto -->
706
     <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/tb-geoloc/tb-geoloc-custom-element.js"></script>
665
     <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/tb-geoloc/tb-geoloc-custom-element.js"></script>
707
     <script>
666
     <script>
708
	    var tbGeolocation = document.getElementById('tb-geolocation');
667
	    var tbGeolocation = document.getElementById('tb-geolocation');
709
	    tbGeolocation.addEventListener("location", function(location) {
668
	    tbGeolocation.addEventListener("location", function(location) {
710
	  		console.log(location.detail);
669
	  		console.log(location.detail);
711
	    });
670
	    });
712
	</script>
671
	</script>
713
    
672
    
714
    <!-- Jquery -->
673
    <!-- Jquery -->
715
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
674
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/1.11.1/jquery-1.11.1.min.js"></script>
716
 
675
 
717
    <!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
676
    <!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
718
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
677
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
719
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script>
678
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script>
720
    <!-- Jquery Plugins -->
679
    <!-- Jquery Plugins -->
721
    <!-- Jquery Validate : nécessaire pour la validation des formulaires -->
680
    <!-- Jquery Validate : nécessaire pour la validation des formulaires -->
722
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
681
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
723
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
682
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
724
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
683
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
725
    <!-- Jquery Form :nécessaire pour l'upload des images -->
684
    <!-- Jquery Form :nécessaire pour l'upload des images -->
726
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
685
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
727
    <!-- Bootstrap -->
686
    <!-- Bootstrap -->
728
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
687
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
729
    <!-- Authentification -->
688
    <!-- Authentification -->
730
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/auth.js"></script>
689
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/auth.js"></script>
731
    <!-- Connexion, bloc de prévisualisation, date -->
690
    <!-- Connexion, bloc de prévisualisation, date -->
732
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/WidgetSaisie.js"></script>
691
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/WidgetSaisie.js"></script>
733
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/champs-supp.js"></script>
692
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/champs-supp.js"></script>
734
    <script type="text/javascript">
693
    <script type="text/javascript">
735
      //<![CDATA[
694
      //<![CDATA[
736
        $( document ).ready( function() {
695
        $( document ).ready( function() {
737
 
696
 
738
          // OMG un modèle objet !!
697
          // OMG un modèle objet !!
739
          var widget = new WidgetSaisie();
698
          var widget = new WidgetSaisie();
740
 
699
 
741
          //
700
          //
742
          //
701
          //
743
          //
702
          //
744
          // La présence du parametre 'debug' dans l'URL enclenche le débogage
703
          // La présence du parametre 'debug' dans l'URL enclenche le débogage
745
          widget.debug = <?= isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
704
          widget.debug = <?= isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
746
          // La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
705
          // La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
747
          widget.html5 = <?= isset($_GET['html5']) ? 'true' : 'false'; ?>;
706
          widget.html5 = <?= isset($_GET['html5']) ? 'true' : 'false'; ?>;
748
          // Mot-clé du widget/projet
707
          // Mot-clé du widget/projet
749
          widget.tagProjet = "WidgetSaisie";
708
          widget.tagProjet = "WidgetSaisie";
750
          // Mots-clés à ajouter aux images
709
          // Mots-clés à ajouter aux images
751
          widget.tagImg = "<?= isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
710
          widget.tagImg = "<?= isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
752
          widget.separationTagImg = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
711
          widget.separationTagImg = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
753
          widget.tagImg = <?= isset($_GET['motcle']) ? "'".$_GET['motcle']."' + widget.separationTagImg + widget.tagImg" : 'widget.tagImg'; ?>;
712
          widget.tagImg = <?= isset($_GET['motcle']) ? "'".$_GET['motcle']."' + widget.separationTagImg + widget.tagImg" : 'widget.tagImg'; ?>;
754
          // Mots-clés à ajouter aux observations
713
          // Mots-clés à ajouter aux observations
755
          widget.tagObs = "<?= isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
714
          widget.tagObs = "<?= isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
756
          widget.separationTagObs = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
715
          widget.separationTagObs = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
757
          widget.tagObs = <?= isset($_GET['projet']) ? "'".$_GET['projet']."' + widget.separationTagObs + widget.tagObs" : 'widget.tagObs'; ?>;
716
          widget.tagObs = <?= isset($_GET['projet']) ? "'".$_GET['projet']."' + widget.separationTagObs + widget.tagObs" : 'widget.tagObs'; ?>;
758
          // Précharger le formulaire avec les infos d'une observation
717
          // Précharger le formulaire avec les infos d'une observation
759
          widget.obsId = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>";
718
          widget.obsId = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>";
760
          // URL du web service réalisant l'insertion des données dans la base du CEL.
719
          // URL du web service réalisant l'insertion des données dans la base du CEL.
761
          widget.serviceSaisieUrl = "<?=$url_ws_saisie?>";
720
          widget.serviceSaisieUrl = "<?=$url_ws_saisie?>";
762
          // URL du web service permettant de récupérer les infos d'une observation du CEL.
721
          // URL du web service permettant de récupérer les infos d'une observation du CEL.
763
          widget.serviceObsUrl = "<?=$url_ws_obs?>";
722
          widget.serviceObsUrl = "<?=$url_ws_obs?>";
764
          //
723
          //
765
          //
724
          //
766
          //
725
          //
767
 
726
 
768
          // langue
727
          // langue
769
          widget.langue = "<?= $widget['langue']; ?>";
728
          widget.langue = "<?= $widget['langue']; ?>";
770
          // Squelette d'URL du web service de l'annuaire.
729
          // Squelette d'URL du web service de l'annuaire.
771
          widget.serviceAnnuaireIdUrl = "<?= $url_ws_annuaire; ?>";
730
          widget.serviceAnnuaireIdUrl = "<?= $url_ws_annuaire; ?>";
772
          // URL de l'icône du chargement en cours
731
          // URL de l'icône du chargement en cours
773
          widget.chargementIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement.gif";
732
          widget.chargementIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement.gif";
774
          // URL de l'icône du chargement en cours d'une image
733
          // URL de l'icône du chargement en cours d'une image
775
          widget.chargementImageIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement-image.gif";
734
          widget.chargementImageIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement-image.gif";
776
          // URL de l'icône du calendrier
735
          // URL de l'icône du calendrier
777
          widget.calendrierIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/calendrier.png";
736
          widget.calendrierIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/calendrier.png";
778
          // URL de l'icône pour une photo manquante
737
          // URL de l'icône pour une photo manquante
779
          widget.pasDePhotoIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/pasdephoto.png";
738
          widget.pasDePhotoIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/pasdephoto.png";
780
 
739
 
781
          // Code du référentiel utilisé pour les nom scientifiques.
740
          // Code du référentiel utilisé pour les nom scientifiques.
782
          widget.nomSciReferentiel = "<?= strtolower( $widget['referentiel'] ); ?>";
741
          widget.nomSciReferentiel = "<?= strtolower( $widget['referentiel'] ); ?>";
783
          // Indication de la présence d'une espèce imposée
742
          // Indication de la présence d'une espèce imposée
784
          widget.especeImposee = "<?= $espece_imposee; ?>";
743
          widget.especeImposee = "<?= $espece_imposee; ?>";
785
          // Tableau d'informations sur l'espèce imposée
744
          // Tableau d'informations sur l'espèce imposée
786
          widget.infosEspeceImposee = "<?= $infos_espece; ?>";
745
          widget.infosEspeceImposee = "<?= $infos_espece; ?>";
787
          // Nombre d'élément dans les listes d'auto-complétion
746
          // Nombre d'élément dans les listes d'auto-complétion
788
          widget.autocompletionElementsNbre = 20;
747
          widget.autocompletionElementsNbre = 20;
789
          // Indication de la présence d'un référentiel imposé
748
          // Indication de la présence d'un référentiel imposé
790
          widget.referentielImpose = "<?= $referentiel_impose; ?>";
749
          widget.referentielImpose = "<?= $referentiel_impose; ?>";
791
 
750
 
792
          // URL du web service permettant l'auto-complétion des noms scientifiques
751
          // URL du web service permettant l'auto-complétion des noms scientifiques
793
          widget.serviceAutocompletionNomSciUrl = "<?= $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
752
          widget.serviceAutocompletionNomSciUrl = "<?= $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
794
            "masque={masque}&"+
753
            "masque={masque}&"+
795
            "recherche=etendue&"+
754
            "recherche=etendue&"+
796
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
755
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
797
            "ns.structure=au&"+
756
            "ns.structure=au&"+
798
            "navigation.limite=" + widget.autocompletionElementsNbre;
757
            "navigation.limite=" + widget.autocompletionElementsNbre;
799
          // Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
758
          // Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
800
          widget.serviceAutocompletionNomSciUrlTpl = "<?= $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
759
          widget.serviceAutocompletionNomSciUrlTpl = "<?= $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
801
            "masque={masque}&"+
760
            "masque={masque}&"+
802
            "recherche=etendue&"+
761
            "recherche=etendue&"+
803
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
762
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
804
            "retour.tri=alpharet&"+ // tri "à la CeL"
763
            "retour.tri=alpharet&"+ // tri "à la CeL"
805
            "ns.structure=au&"+
764
            "ns.structure=au&"+
806
            "navigation.limite=" + widget.autocompletionElementsNbre;
765
            "navigation.limite=" + widget.autocompletionElementsNbre;
807
          // Nombre d'observations max autorisé avant transmission
766
          // Nombre d'observations max autorisé avant transmission
808
          widget.obsMaxNbre = 10;
767
          widget.obsMaxNbre = 10;
809
          // Durée d'affichage en milliseconde des messages d'informations
768
          // Durée d'affichage en milliseconde des messages d'informations
810
          widget.dureeMessage = 30000;
769
          widget.dureeMessage = 30000;
811
          //
770
          //
812
          //
771
          //
813
          //
772
          //
814
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes.
773
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes.
815
          widget.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
774
          widget.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
816
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
775
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
817
          widget.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
776
          widget.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
818
          // URL du marqueur à utiliser dans la carte Google Map
777
          // URL du marqueur à utiliser dans la carte Google Map
819
          widget.googleMapMarqueurUrl = "<?=$url_base?>modules/saisie/squelettes/defaut/img/marqueurs/epingle.png";
778
          widget.googleMapMarqueurUrl = "<?=$url_base?>modules/saisie/squelettes/defaut/img/marqueurs/epingle.png";
820
          //
779
          //
821
          //
780
          //
822
          //
781
          //
823
 
782
 
824
          // Initialisation du bousin
783
          // Initialisation du bousin
825
          widget.init();
784
          widget.init();
826
        });
785
        });
827
      //]]>
786
      //]]>
828
    </script>
787
    </script>
829
 
788
 
830
    <!-- Barre de navigation -->
789
    <!-- Barre de navigation -->
831
    <?php if ( $bar ): ?>
790
    <?php if ( $bar ): ?>
832
      <script src="<?= $url_script_navigation; ?>"></script>
791
      <script src="<?= $url_script_navigation; ?>"></script>
833
    <?php endif; ?>
792
    <?php endif; ?>
834
  </body>
793
  </body>
835
</html>
794
</html>