Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3208 Rev 3210
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>
5
 
5
 
6
    <meta charset="utf-8" />
6
    <meta charset="utf-8" />
7
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
7
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
    <meta http-equiv="Content-style-type" content="text/css" />
8
    <meta http-equiv="Content-style-type" content="text/css" />
9
    <meta http-equiv="Content-script-type" content="text/javascript" />
9
    <meta http-equiv="Content-script-type" content="text/javascript" />
10
    <meta http-equiv="Content-language" content="fr" />
10
    <meta http-equiv="Content-language" content="fr" />
11
 
11
 
12
    <meta name="revisit-after" content="15 days" />
12
    <meta name="revisit-after" content="15 days" />
13
    <meta name="robots" content="index,follow" />
13
    <meta name="robots" content="index,follow" />
14
    <meta name="author" content="Tela Botanica" />
14
    <meta name="author" content="Tela Botanica" />
15
    <meta name="keywords" content="Tela Botanica, CEL" />
15
    <meta name="keywords" content="Tela Botanica, CEL" />
16
    <meta name="description" content="Gestion des widgets de saisie du carnet en ligne" />
16
    <meta name="description" content="Gestion des widgets de saisie du carnet en ligne" />
17
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
17
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
18
 
18
 
19
    <!-- OpenGraph pour Facebook, Pinterest, Google+ -->
19
    <!-- OpenGraph pour Facebook, Pinterest, Google+ -->
20
    <meta property="og:type" content="website" />
20
    <meta property="og:type" content="website" />
21
    <meta property="og:title" content="Widgets de saisie du CeL" />
21
    <meta property="og:title" content="Widgets de saisie du CeL" />
22
    <meta property="og:site_name" content="Tela Botanica" />
22
    <meta property="og:site_name" content="Tela Botanica" />
23
    <meta property="og:description" content="Widgets de saisie du Carnet en Ligne" />
23
    <meta property="og:description" content="Widgets de saisie du Carnet en Ligne" />
24
    <meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
24
    <meta property="og:image" content="https://resources.tela-botanica.org/tb/img/256x256/carre_englobant.png" />
25
    <meta property="og:image:type" content="image/png" />
25
    <meta property="og:image:type" content="image/png" />
26
    <meta property="og:image:width" content="256" />
26
    <meta property="og:image:width" content="256" />
27
    <meta property="og:image:height" content="256" />
27
    <meta property="og:image:height" content="256" />
28
    <meta property="og:locale" content="fr_FR" />
28
    <meta property="og:locale" content="fr_FR" />
29
 
29
 
30
    <!-- Favicones -->
30
    <!-- Favicones -->
31
    <link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
31
    <link rel="shortcut icon" type="image/x-icon" href="https://resources.tela-botanica.org/tb/img/16x16/favicon.ico" />
32
 
32
 
33
    <!-- CSS -->
33
    <!-- CSS -->
34
    <link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
34
    <link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
35
    <!-- <link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" /> -->
35
    <!-- <link href="https://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" /> -->
36
     <!-- Bootstrap CSS -->
36
     <!-- Bootstrap CSS -->
37
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
37
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
38
    <!-- <link href="https://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen"> -->
38
    <!-- <link href="https://www.tela-botanica.org/commun/bootstrap/2.0.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen"> -->
39
    <link rel="stylesheet" type="text/css" href="<?= $url_base; ?>modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap.min.css" />
39
    <link rel="stylesheet" type="text/css" href="<?= $url_base; ?>modules/saisie2/squelettes/css/bootstrap-4/css/bootstrap.min.css" />
40
    <!-- <link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css"> -->
40
    <!-- <link rel="stylesheet" type="text/css" href="https://resources.tela-botanica.org/bootstrap/3.1.0/css/bootstrap.min.css"> -->
41
    <!-- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> -->
41
    <!-- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> -->
42
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.1/css/all.css" integrity="sha384-O8whS3fhG2OnA5Kas0Y9l3cfpmYjapjI0E4theH4iuMD+pLhbf6JI0jIMfYcK3yZ" crossorigin="anonymous" />
42
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.1/css/all.css" integrity="sha384-O8whS3fhG2OnA5Kas0Y9l3cfpmYjapjI0E4theH4iuMD+pLhbf6JI0jIMfYcK3yZ" crossorigin="anonymous" />
43
      <!-- <link id="telabotanica-style-css" rel="stylesheet" href="https://beta.tela-botanica.org/preprod/wp-content/themes/telabotanica/dist/bundle.css?ver=4.9.7" type="text/css" media="all"> -->
43
      <!-- <link id="telabotanica-style-css" rel="stylesheet" href="https://beta.tela-botanica.org/preprod/wp-content/themes/telabotanica/dist/bundle.css?ver=4.9.7" type="text/css" media="all"> -->
44
    <link href="<?= $url_base; ?>modules/saisie2/squelettes/css/saisie.css" rel="stylesheet" type="text/css" media="screen" />
44
    <link href="<?= $url_base; ?>modules/saisie2/squelettes/css/saisie.css" rel="stylesheet" type="text/css" media="screen" />
45
 
45
 
46
    <!--  Google Analytics -->
46
    <!--  Google Analytics -->
47
    <?php if( $prod ): ?>
47
    <?php if( $prod ): ?>
48
      <?php include "analytics.html"; ?>
48
      <?php include "analytics.html"; ?>
49
    <?php endif; ?>
49
    <?php endif; ?>
50
    <link rel="icon" type="image/x-icon" href="favicon.ico" />
50
    <link rel="icon" type="image/x-icon" href="favicon.ico" />
51
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
51
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
52
  </head>
52
  </head>
53
 
53
 
54
  <body>
54
  <body>
55
    <!-- <?php //var_dump($widget['especes']['url_ws_autocompletion_ns']); ?> -->
55
    <!-- <?php //var_dump($widget['especes']['url_ws_autocompletion_ns']); ?> -->
56
    <div id="zone-appli" class="container">
56
    <div id="zone-appli" class="container">
57
<!-- la barre de navigation est plus bas -->
57
<!-- la barre de navigation est plus bas -->
58
    <!-- <?php //if ( $bar ): ?>
58
    <!-- <?php //if ( $bar ): ?>
59
        <div id="tb-navigation" data-courant="widget-cel-saisie2" data-squelette="saisie" data-mode="test"></div>
59
        <div id="tb-navigation" data-courant="widget-cel-saisie2" data-squelette="saisie" data-mode="test"></div>
60
        <br/>
60
        <br/>
61
      <?php //endif; ?> -->
61
      <?php //endif; ?> -->
62
      <div class="layout-wrapper page">
62
      <div class="layout-wrapper page">
63
 
63
 
64
        <div class="media">
64
        <div class="media">
65
          <img class="d-flex mr-3" src="<?= $widget['logo']; ?>" alt="<?= $widget['projet']; ?>" />
65
          <img class="d-flex mr-3" src="<?= $widget['logo']; ?>" alt="<?= $widget['projet']; ?>" />
66
          <div class="media-body">
66
          <div class="media-body">
67
            <h1 class="mt-0"><?= $widget['titre']; ?></h1>
67
            <h1 class="mt-0"><?= $widget['titre']; ?></h1>
68
          </div>
68
          </div>
69
        </div>
69
        </div>
70
 
70
 
71
        <div class="row">
71
        <div class="row">
72
          <div class="col-md-6">
72
          <div class="col-md-6">
73
            <div id="description"><?= $widget['description']; ?></div>
73
            <div id="description"><?= $widget['description']; ?></div>
74
          </div>
74
          </div>
75
          <div class="col-md-6">
75
          <div class="col-md-6">
76
            <div id="aide" class="well well-lg hidden-sm-down">
76
            <div id="aide" class="well well-lg hidden-sm-down">
77
              <h3><?= $aide['titre']; ?></h3>
77
              <h3><?= $aide['titre']; ?></h3>
78
              <div id="aide-txt" class="hiden-sm-down">
78
              <div id="aide-txt" class="hiden-sm-down">
79
                <p>
79
                <p>
80
                  <?= $aide['description']; ?>
80
                  <?= $aide['description']; ?>
81
                </p>
81
                </p>
82
                <p class="discretion">
82
                <p class="discretion">
83
                  <?= $aide['contact']; ?>
83
                  <?= $aide['contact']; ?>
84
                  <a href="<?= $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>"
84
                  <a href="<?= $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>"
85
                    target="_blank"
85
                    target="_blank"
86
                    onclick="
86
                    onclick="
87
                      javascript:window.open(
87
                      javascript:window.open(
88
                        this.getAttribute( 'href' ),
88
                        this.getAttribute( 'href' ),
89
                        'Tela Botanica - Remarques',
89
                        'Tela Botanica - Remarques',
90
                        config = 'height=700, width=640, scrollbars=yes, resizable=yes'
90
                        config = 'height=700, width=640, scrollbars=yes, resizable=yes'
91
                      );
91
                      );
92
                      return false;
92
                      return false;
93
                    ">
93
                    ">
94
                    <?= $aide['contact2']; ?></a>
94
                    <?= $aide['contact2']; ?></a>
95
                </p>
95
                </p>
96
              </div>
96
              </div>
97
            </div>
97
            </div>
98
          </div>
98
          </div>
99
        </div>
99
        </div>
100
 
100
 
101
        <div id="formulaire" class="row mb-3 bloc-top">
101
        <div id="formulaire" class="row mb-3 bloc-top">
102
          <form id="form-observateur" role="form" autocomplete="on">
102
          <form id="form-observateur" role="form" autocomplete="on">
103
            <h2><?= $observateur['titre']; ?></h2>
103
            <h2><?= $observateur['titre']; ?></h2>
104
            <!--la partie tb-navigation vient du widget stats http://svn.tela-botanica.net/websvn/filedetails.php?repname=eFlore%2FApplications.cel&path=%2Ftrunk%2Fwidget%2Fmodules%2Fstats%2Fsquelettes%2Fstats_utilisateur.tpl.html
104
            <!--la partie tb-navigation vient du widget stats http://svn.tela-botanica.net/websvn/filedetails.php?repname=eFlore%2FApplications.cel&path=%2Ftrunk%2Fwidget%2Fmodules%2Fstats%2Fsquelettes%2Fstats_utilisateur.tpl.html
105
              la partie contenu-souce vient de http://svn.tela-botanica.net/websvn/filedetails.php?repname=Applications.reseau&path=%2Ftrunk%2Fwidget%2Fmodules%2Fnavigation%2Fsquelettes%2Fbootstrap3.tpl.php
105
              la partie contenu-souce vient de http://svn.tela-botanica.net/websvn/filedetails.php?repname=Applications.reseau&path=%2Ftrunk%2Fwidget%2Fmodules%2Fnavigation%2Fsquelettes%2Fbootstrap3.tpl.php
106
              le javascript auth.js vient de http://svn.tela-botanica.net/websvn/filedetails.php?repname=Applications.reseau&path=%2Ftrunk%2Fresources%2Fjs%2Fnavigation.js
106
              le javascript auth.js vient de http://svn.tela-botanica.net/websvn/filedetails.php?repname=Applications.reseau&path=%2Ftrunk%2Fresources%2Fjs%2Fnavigation.js
107
              de l'aide dans la partie Intégration dans l'interface (applications AJAX) de https://www.tela-botanica.org/wikini/DevInformatiques/wakka.php?wiki=MemoIntegrationSSO-->
107
              de l'aide dans la partie Intégration dans l'interface (applications AJAX) de https://www.tela-botanica.org/wikini/DevInformatiques/wakka.php?wiki=MemoIntegrationSSO-->
108
            <!-- <div id="tb-navigation" data-courant="widget-cel-saisie2" data-squelette="navigation" data-mode="test"> -->
108
            <!-- <div id="tb-navigation" data-courant="widget-cel-saisie2" data-squelette="navigation" data-mode="test"> -->
109
            <!-- En prod décommenter la div ci-dessous et commenter celle ci-dessus" -->
109
            <!-- En prod décommenter la div ci-dessous et commenter celle ci-dessus" -->
110
            <div id="tb-navigation" data-courant="widget-cel-saisie2" data-squelette="navigation" data-mode="prod">
110
            <div id="tb-navigation" data-courant="widget-cel-saisie2" data-squelette="navigation" data-mode="prod">
111
              <div class="navbar-default mb-3" id="tb-navbar">
111
              <div class="navbar-default mb-3" id="tb-navbar">
112
                <div class="nav navbar-nav navbar-right row">
112
                <div class="nav navbar-nav navbar-right row">
113
                  <div id="bouton-connexion" class="dropdown col-md-6 col-sm-12">
113
                  <div id="bouton-connexion" class="dropdown col-md-6 col-sm-12">
114
                    <label for="bouton-connexion">Je me connecte à mon compte : </label>
114
                    <label for="bouton-connexion">Je me connecte à mon compte : </label>
115
                    <a id="connexion" href="<?= $authTpl; ?>" class="btn btn-success  mr-1 mb-1">Connexion</a>
115
                    <a id="connexion" href="<?= $authTpl; ?>" class="btn btn-success  mr-1 mb-1">Connexion</a>
116
                    <a id="bouton-inscription" href="https://www.tela-botanica.org/inscription" class="btn btn-primary mr-1 mb-1" taget="_blank">Inscription</a>
116
                    <a id="bouton-inscription" href="https://beta.tela-botanica.org/test/inscription" class="btn btn-primary mr-1 mb-1" taget="_blank">Inscription</a>
117
                  </div>
117
                  </div>
118
                  <div id="creation-compte" class="dropdown col-md-6 col-sm-12">
118
                  <div id="creation-compte" class="dropdown col-md-6 col-sm-12">
119
                    <label for="creation-compte">Je ne souhaite pas m'inscrire : </label>
119
                    <label for="creation-compte">Je ne souhaite pas m'inscrire : </label>
120
                    <a id="bouton-anonyme" href="#" class="btn btn-info mr-1 mb-1">Observation sans inscription</a>
120
                    <a id="bouton-anonyme" href="#" class="btn btn-info mr-1 mb-1">Observation sans inscription</a>
121
                  </div>
121
                  </div>
122
                  <div id="utilisateur-connecte" class="dropdown hidden">
122
                  <div id="utilisateur-connecte" class="dropdown hidden">
123
                    <label for="utilisateur-connecte">Bienvenue : </label>
123
                    <label for="utilisateur-connecte">Bienvenue : </label>
124
                    <a href="#" class="list-tool btn btn-largee btn-primary dropdown-toggle" data-toggle="dropdown">
124
                    <a href="#" class="list-tool btn btn-largee btn-primary dropdown-toggle" data-toggle="dropdown">
125
                      <span id="nom-complet"></span>
125
                      <span id="nom-complet"></span>
126
                    </a>
126
                    </a>
127
                    <div class="dropdown-menu">
127
                    <div class="dropdown-menu">
128
                      <div id="profil-utilisateur"><a href="https://www.tela-botanica.org/inscription">Mon profil</a></div>
128
                      <div id="profil-utilisateur"><a href="https://beta.tela-botanica.org/test/inscription">Mon profil</a></div>
129
                      <div id="deconnexion"><a href="https://www.tela-botanica.org/widget:reseau:auth?action=deconnexion&origine=">Déconnexion</a></div>
129
                      <div id="deconnexion"><a href="https://beta.tela-botanica.org/widget:reseau:auth?action=deconnexion&origine=">Déconnexion</a></div>
130
                    </div>
130
                    </div>
131
                  </div>
131
                  </div>
132
                </div>
132
                </div>
133
              </div>
133
              </div>
134
            </div>
134
            </div>
135
 
135
 
136
            <div id="anonyme" class="mb-3 hidden">
136
            <div id="anonyme" class="mb-3 hidden">
137
              <label for="anonyme">Informations sur l'observateur : </label>
137
              <label for="anonyme">Informations sur l'observateur : </label>
138
              <div id="zone-courriel" class="row">
138
              <div id="zone-courriel" class="row">
139
                <div class="control-group col-md-6">
139
                <div class="control-group col-md-6">
140
 
140
 
141
                  <label for="courriel" class="col-sm-12 obligatoire" title="<?= $observateur['courriel-title']; ?>">
141
                  <label for="courriel" class="col-sm-12 obligatoire" title="<?= $observateur['courriel-title']; ?>">
142
                    <i class="fa fa-envelope" aria-hidden="true"></i>
142
                    <i class="fa fa-envelope" aria-hidden="true"></i>
143
                    <?= $observateur['courriel']; ?>
143
                    <?= $observateur['courriel']; ?>
144
                  </label>
144
                  </label>
145
                  <div class="col-sm-8 mb-3">
145
                  <div class="col-sm-8 mb-3">
146
                    <input id="courriel" name="courriel" class="form-control" type="email" title="<?= $observateur['courriel-title']; ?> ">
146
                    <input id="courriel" name="courriel" class="form-control" type="email" title="<?= $observateur['courriel-title']; ?> ">
147
                    <input id="id_utilisateur" name="id_utilisateur" type="hidden">
147
                    <input id="id_utilisateur" name="id_utilisateur" type="hidden">
148
                  </div>
148
                  </div>
149
 
149
 
150
                </div>
150
                </div>
151
                <div id="zone-courriel-confirmation" class="control-group col-md-6 hidden">
151
                <div id="zone-courriel-confirmation" class="control-group col-md-6 hidden">
152
 
152
 
153
                  <label for="courriel_confirmation" class="col-sm-12 obligatoire" title="Veuillez confirmer le courriel.">
153
                  <label for="courriel_confirmation" class="col-sm-12 obligatoire" title="Veuillez confirmer le courriel.">
154
                    <i class="fa fa-envelope" aria-hidden="true"></i>
154
                    <i class="fa fa-envelope" aria-hidden="true"></i>
155
                    Courriel (confirmation)
155
                    Courriel (confirmation)
156
                  </label>
156
                  </label>
157
                  <div class="col-sm-8">
157
                  <div class="col-sm-8">
158
                    <input id="courriel_confirmation" name="courriel_confirmation" class="form-control" type="email">
158
                    <input id="courriel_confirmation" name="courriel_confirmation" class="form-control" type="email">
159
                  </div>
159
                  </div>
160
 
160
 
161
                </div>
161
                </div>
162
              </div>
162
              </div>
163
              <div id="zone-prenom-nom" class="row hidden">
163
              <div id="zone-prenom-nom" class="row hidden">
164
                <div class="control-group col-md-6">
164
                <div class="control-group col-md-6">
165
 
165
 
166
                  <label for="prenom" class="col-sm-12">
166
                  <label for="prenom" class="col-sm-12">
167
                    <i class="fa fa-user" aria-hidden="true"></i>
167
                    <i class="fa fa-user" aria-hidden="true"></i>
168
                    <?= $observateur['prenom']; ?>
168
                    <?= $observateur['prenom']; ?>
169
                  </label>
169
                  </label>
170
                  <div class="input-group col-sm-8">
170
                  <div class="input-group col-sm-8">
171
                    <input id="prenom" name="prenom" class="form-control" type="text">
171
                    <input id="prenom" name="prenom" class="form-control" type="text">
172
                  </div>
172
                  </div>
173
 
173
 
174
                </div>
174
                </div>
175
                <div class="control-group col-md-6">
175
                <div class="control-group col-md-6">
176
 
176
 
177
                  <label for="nom" class="col-sm-12">
177
                  <label for="nom" class="col-sm-12">
178
                    <i class="fa fa-user" aria-hidden="true"></i>
178
                    <i class="fa fa-user" aria-hidden="true"></i>
179
                    <?= $observateur['nom']; ?>
179
                    <?= $observateur['nom']; ?>
180
                  </label>
180
                  </label>
181
                  <div class="input-group col-sm-8">
181
                  <div class="input-group col-sm-8">
182
                    <input id="nom" name="nom" class="form-control" type="text">
182
                    <input id="nom" name="nom" class="form-control" type="text">
183
                  </div>
183
                  </div>
184
 
184
 
185
                </div>
185
                </div>
186
              </div>
186
              </div>
187
            </div>
187
            </div>
188
          </form>
188
          </form>
189
          <!-- Messages d'erreur du formulaire-->
189
          <!-- Messages d'erreur du formulaire-->
190
          <div class="row">
190
          <div class="row">
191
            <div class="zone-alerte">
191
            <div class="zone-alerte">
192
              <div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block hidden"">
192
              <div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block hidden"">
193
                <a class="close">×</a>
193
                <a class="close">×</a>
194
                <h4 class="alert-heading">Information : copier/coller</h4>
194
                <h4 class="alert-heading">Information : copier/coller</h4>
195
                <p>
195
                <p>
196
                  Merci de ne pas copier/coller votre courriel.<br/>
196
                  Merci de ne pas copier/coller votre courriel.<br/>
197
                  La double saisie permet de vérifier l'absence d'erreurs.
197
                  La double saisie permet de vérifier l'absence d'erreurs.
198
                </p>
198
                </p>
199
              </div>
199
              </div>
200
              <div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
200
              <div id="dialogue-utilisateur-non-identifie" class="alert alert-warning alert-block hidden">
201
                <a class="close">×</a>
201
                <a class="close">×</a>
202
                <h4 class="alert-heading">Information : observateur non identifié</h4>
202
                <h4 class="alert-heading">Information : observateur non identifié</h4>
203
                <p>
203
                <p>
204
                  Votre observation doit être liée soit à un compte, soit à un email.<br/>
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/>
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>,
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>.
207
                  il est nécesaire de <a href="http://www.tela-botanica.org/page:inscription">vous inscrire à Tela Botanica</a>.
208
                </p>
208
                </p>
209
              </div>
209
              </div>
210
              <!-- <div id="dialogue-google-map" class="alert alert-info alert-block hidden">
210
              <!-- <div id="dialogue-google-map" class="alert alert-info alert-block hidden">
211
                <a class="close">×</a>
211
                <a class="close">×</a>
212
                <h4 class="alert-heading">Information sur Google Maps</h4>
212
                <h4 class="alert-heading">Information sur Google Maps</h4>
213
                <div class="contenu"></div>
213
                <div class="contenu"></div>
214
              </div> -->
214
              </div> -->
215
            </div>
215
            </div>
216
          </div>
216
          </div>
217
 
217
 
218
          <form id="form-observation" role="form" autocomplete="on">
218
          <form id="form-observation" role="form" autocomplete="on">
219
            <h2><?= $observation['titre']; ?></h2>
219
            <h2><?= $observation['titre']; ?></h2>
220
            <div id="zone-observation" class="row">
220
            <div id="zone-observation" class="row">
221
              <div class="col-md-6">
221
              <div class="col-md-6">
222
                <div class="control-group">
222
                <div class="control-group">
223
                  <label for="geolocalisation" class="col-sm-12 obligatoire" title="<?= $observateur['courriel-title']; ?>">
223
                  <label for="geolocalisation" class="col-sm-12 obligatoire" title="<?= $observateur['courriel-title']; ?>">
224
                    <i class="fa fa-street-view" aria-hidden="true"></i>
224
                    <i class="fa fa-street-view" aria-hidden="true"></i>
225
                    <?= $observation['geolocalisation']; ?>
225
                    <?= $observation['geolocalisation']; ?>
226
                  </label>
226
                  </label>
227
                  <div class="col-sm-12 mb-3">
227
                  <div class="col-sm-12 mb-3">
228
                    <input id="geolocalisation" name="geolocalisation" type="hidden">
228
                    <input id="geolocalisation" name="geolocalisation" type="hidden">
229
                    <!-- code à décommenter pour avoir un aperçu de la carte qui fonctionne sous chrome,
229
                    <!-- code à décommenter pour avoir un aperçu de la carte qui fonctionne sous chrome,
230
                    à remplacer quand Stéphane aura fait une release sur https://github.com/steph-del/tb-geoloc-lib/releases -->
230
                    à remplacer quand Stéphane aura fait une release sur https://github.com/steph-del/tb-geoloc-lib/releases -->
231
                    <!-- <app-root></app-root>
231
                    <!-- <app-root></app-root>
232
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/runtime.js"></script>
232
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/runtime.js"></script>
233
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/polyfills.js"></script>
233
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/polyfills.js"></script>
234
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/styles.js"></script>
234
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/styles.js"></script>
235
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/vendor.js"></script>
235
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/vendor.js"></script>
236
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/main.js"></script> -->
236
                    <script type="text/javascript" src="modules/saisie2/squelettes/js/main.js"></script> -->
237
                  </div>
237
                  </div>
238
                </div>
238
                </div>
239
                <div class="control-group">
239
                <div class="control-group">
240
                  <label for="milieu" class="col-sm-12">
240
                  <label for="milieu" class="col-sm-12">
241
                    <i class="fa fa-street-view" aria-hidden="true"></i>
241
                    <i class="fa fa-street-view" aria-hidden="true"></i>
242
                    <?= $observation['milieu']; ?>
242
                    <?= $observation['milieu']; ?>
243
                  </label>
243
                  </label>
244
                  <div class="col-sm-8 mb-3">
244
                  <div class="col-sm-8 mb-3">
245
                    <?php if ( 0 < count( (array) $widget['milieux'] ) ) :?>
245
                    <?php if ( 0 < count( (array) $widget['milieux'] ) ) :?>
246
                      <select id="milieu" class="form-control" >
246
                      <select id="milieu" class="form-control" >
247
                      <?php foreach ( $widget['milieux'] as $milieu ) :?>
247
                      <?php foreach ( $widget['milieux'] as $milieu ) :?>
248
                        <option value="<?= $milieu; ?>"><?= $milieu; ?></option>
248
                        <option value="<?= $milieu; ?>"><?= $milieu; ?></option>
249
                      <?php endforeach; ?>
249
                      <?php endforeach; ?>
250
                      </select>
250
                      </select>
251
                    <?php else : ?>
251
                    <?php else : ?>
252
                      <input id="milieu" name="milieu" class="form-control" type="text" placeholder="bois, champ, falaise, ...">
252
                      <input id="milieu" name="milieu" class="form-control" type="text" placeholder="bois, champ, falaise, ...">
253
                    <?php endif; ?>
253
                    <?php endif; ?>
254
                  </div>
254
                  </div>
255
                </div>
255
                </div>
256
              </div>
256
              </div>
257
              <div class="col-md-6">
257
              <div class="col-md-6">
258
 
258
 
259
                <div class="control-group">
259
                <div class="control-group">
260
                  <label for="date_releve" class="col-sm-12 obligatoire" title="">
260
                  <label for="date_releve" class="col-sm-12 obligatoire" title="">
261
                    <i class="fa fa-calendar" aria-hidden="true"></i>
261
                    <i class="fa fa-calendar" aria-hidden="true"></i>
262
                    <?= $observation['date']; ?>
262
                    <?= $observation['date']; ?>
263
                  </label>
263
                  </label>
264
                  <div class="col-sm-8 mb-3" id="datetimepicker">
264
                  <div class="col-sm-8 mb-3" id="datetimepicker">
265
                    <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">
265
                    <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">
266
                  </div>
266
                  </div>
267
                </div>
267
                </div>
268
 
268
 
269
                <?php if( 'referentiel' === $widget['type_especes'] && '' === $widget['referentiel'] ) : ?>
269
                <?php if( 'referentiel' === $widget['type_especes'] && '' === $widget['referentiel'] ) : ?>
270
                  <div class="control-group">
270
                  <div class="control-group">
271
                    <label for="referentiel" class="col-sm-12 obligatoire" title="">
271
                    <label for="referentiel" class="col-sm-12 obligatoire" title="">
272
                      <i class="fa fa-book" aria-hidden="true"></i>
272
                      <i class="fa fa-book" aria-hidden="true"></i>
273
                      <?= $observation['referentiel']; ?>
273
                      <?= $observation['referentiel']; ?>
274
                    </label>
274
                    </label>
275
                    <div class="col-sm-8 mb-3">
275
                    <div class="col-sm-8 mb-3">
276
                      <select id="referentiel" class="form-control" >
276
                      <select id="referentiel" class="form-control" >
277
                        <option value="bdtfxr" selected="selected" title="Trachéophytes de France métropolitaine">Métropole (index réduit)</option>
277
                        <option value="bdtfxr" selected="selected" title="Trachéophytes de France métropolitaine">Métropole (index réduit)</option>
278
                        <option value="bdtfx" title="Trachéophytes de France métropolitaine">Métropole (BDTFX)</option>
278
                        <option value="bdtfx" title="Trachéophytes de France métropolitaine">Métropole (BDTFX)</option>
279
                        <option value="bdtxa" title="Trachéophytes des Antilles">Antilles françaises (BDTXA)</option>
279
                        <option value="bdtxa" title="Trachéophytes des Antilles">Antilles françaises (BDTXA)</option>
280
                        <option value="bdtre" title="Trachéophytes de La Réunion">Réunion (BDTRE)</option>
280
                        <option value="bdtre" title="Trachéophytes de La Réunion">Réunion (BDTRE)</option>
281
                        <option value="aublet" title="Guyane">Guyane (AUBLET2)</option>
281
                        <option value="aublet" title="Guyane">Guyane (AUBLET2)</option>
282
                        <option value="florical" title="Nouvelle-Calédonie">Nouvelle-Calédonie (FLORICAL)</option>
282
                        <option value="florical" title="Nouvelle-Calédonie">Nouvelle-Calédonie (FLORICAL)</option>
283
                        <option value="isfan" title="Afrique du Nord">Afrique du Nord (ISFAN)</option>
283
                        <option value="isfan" title="Afrique du Nord">Afrique du Nord (ISFAN)</option>
284
                        <option value="apd" title="Afrique de l'Ouest et du Centre">Afrique de l'Ouest et du Centre (APD)</option>
284
                        <option value="apd" title="Afrique de l'Ouest et du Centre">Afrique de l'Ouest et du Centre (APD)</option>
285
                        <option value="lbf" title="Liban">Liban (LBF)</option>
285
                        <option value="lbf" title="Liban">Liban (LBF)</option>
286
                        <option value="autre" title="Autre/Inconnu">Autre/Inconnu</option>
286
                        <option value="autre" title="Autre/Inconnu">Autre/Inconnu</option>
287
                      </select>
287
                      </select>
288
                    </div>
288
                    </div>
289
                  </div>
289
                  </div>
290
                <?php else : ?>
290
                <?php else : ?>
291
                  <input id="referentiel" name="referentiel" value="<?= $widget['referentiel']; ?>" type="hidden">
291
                  <input id="referentiel" name="referentiel" value="<?= $widget['referentiel']; ?>" type="hidden">
292
                <?php endif; ?>
292
                <?php endif; ?>
293
 
293
 
294
                <div class="control-group">
294
                <div class="control-group">
295
                  <label for="taxon" class="col-sm-12 obligatoire" title="">
295
                  <label for="taxon" class="col-sm-12 obligatoire" title="">
296
                    <i class="fa fa-leaf" aria-hidden="true"></i>
296
                    <i class="fa fa-leaf" aria-hidden="true"></i>
297
                    <?= $observation['espece']; ?>
297
                    <?= $observation['espece']; ?>
298
                  </label>
298
                  </label>
299
                  <div class="col-sm-8 mb-3">
299
                  <div class="col-sm-8 mb-3">
300
                    <input id="taxon" name="taxon" class="form-control" type="text">
300
                    <input id="taxon" name="taxon" class="form-control" type="text">
301
                  </div>
301
                  </div>
302
                </div>
302
                </div>
303
 
303
 
304
                <div class="control-group">
304
                <div class="control-group">
305
                  <label for="certitude" class="col-sm-12 obligatoire" title="">
305
                  <label for="certitude" class="col-sm-12 obligatoire" title="">
306
                    <i class="fa fa-question" aria-hidden="true"></i>
306
                    <i class="fa fa-question" aria-hidden="true"></i>
307
                    <?= $observation['certitude']; ?>
307
                    <?= $observation['certitude']; ?>
308
                  </label>
308
                  </label>
309
                  <div class="col-sm-8 mb-3">
309
                  <div class="col-sm-8 mb-3">
310
                    <select id="certitude" name="certitude" class="form-control">
310
                    <select id="certitude" name="certitude" class="form-control">
311
                      <option value="aDeterminer" ><?= $observation['certADet']; ?></option>
311
                      <option value="aDeterminer" ><?= $observation['certADet']; ?></option>
312
                      <option value="douteuse" ><?= $observation['certDout']; ?></option>
312
                      <option value="douteuse" ><?= $observation['certDout']; ?></option>
313
                      <option value="certaine" selected="selected" ><?= $observation['certCert']; ?></option>
313
                      <option value="certaine" selected="selected" ><?= $observation['certCert']; ?></option>
314
                    </select>
314
                    </select>
315
                  </div>
315
                  </div>
316
                </div>
316
                </div>
317
 
317
 
318
              </div>
318
              </div>
319
            </div>
319
            </div>
320
          </form>
320
          </form>
321
 
321
 
322
          <form id="form-upload" class="form-horizontal" action="<?= $url_ws_upload ?>" method="post" enctype="multipart/form-data">
322
          <form id="form-upload" class="form-horizontal" action="<?= $url_ws_upload ?>" method="post" enctype="multipart/form-data">
323
            <h2>Image(s) de cette plante</h2>
323
            <h2>Image(s) de cette plante</h2>
324
            <p class="miniature-info" class="discretion help-inline">
324
            <p class="miniature-info" class="discretion help-inline">
325
              Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.
325
              Les photos doivent être au format JPEG et ne doivent pas excéder 5Mo chacunes.
326
            </p>
326
            </p>
327
            <div id ="photos-conteneur" class="control-group">
327
            <div id ="photos-conteneur" class="control-group">
328
              <div>
328
              <div>
329
                <label for="fichier" class="label-file btn btn-large btn-info mb-3">
329
                <label for="fichier" class="label-file btn btn-large btn-info mb-3">
330
                  <span class="label-text"><i class="fas fa-download"></i> Ajouter une image</span>
330
                  <span class="label-text"><i class="fas fa-download"></i> Ajouter une image</span>
331
                  <input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
331
                  <input type="file" id="fichier" name="fichier" class="input-file" accept="image/jpeg" multiple>
332
                  <input type="hidden" name="MAX_FILE_SIZE" value="5242880">
332
                  <input type="hidden" name="MAX_FILE_SIZE" value="5242880">
333
                </label>
333
                </label>
334
              </div>
334
              </div>
335
 
335
 
336
              <div id="miniatures"></div>
336
              <div id="miniatures"></div>
337
              <p class="miniature-msg" class="span12">&nbsp;</p>
337
              <p class="miniature-msg" class="span12">&nbsp;</p>
338
            </div>
338
            </div>
339
          </form>
339
          </form>
340
 
340
 
341
          <!-- Champs supplémentaires -->
341
          <!-- Champs supplémentaires -->
342
          <?php if ( isset($widget['chpSupp'] ) && 0 < count( (array) $widget['chpSupp'] ) ) : ?>
342
          <?php if ( isset($widget['chpSupp'] ) && 0 < count( (array) $widget['chpSupp'] ) ) : ?>
343
            <form id="form-supp" role="form" autocomplete="on">
343
            <form id="form-supp" role="form" autocomplete="on">
344
              <h2>Informations propres au projet</h2>
344
              <h2>Informations propres au projet</h2>
345
              <div id="zone-supp" class="row">
345
              <div id="zone-supp" class="row">
346
                <div class="col-md-6">
346
                <div class="col-md-6">
347
 
347
 
348
                  <?php foreach( $widget['chpSupp']['sauvagessupp']['champs-supp'] as $champ ) :?>
348
                  <?php foreach( $widget['chpSupp']['sauvagessupp']['champs-supp'] as $champ ) :?>
349
                    <?php
349
                    <?php
350
                      $min         = ( $champ['fieldValues']['min'] )? ' min="' . $champ['fieldValues']['min'] . '"':'';
350
                      $min         = ( $champ['fieldValues']['min'] )? ' min="' . $champ['fieldValues']['min'] . '"':'';
351
                      $max         = ( $champ['fieldValues']['max'] )? ' max="' . $champ['fieldValues']['max'] . '"':'';
351
                      $max         = ( $champ['fieldValues']['max'] )? ' max="' . $champ['fieldValues']['max'] . '"':'';
352
                      $step        = ( $champ['fieldValues']['step'] )? ' step="' . $champ['fieldValues']['step'] . '"':'';
352
                      $step        = ( $champ['fieldValues']['step'] )? ' step="' . $champ['fieldValues']['step'] . '"':'';
353
                      $default     = ( $champ['fieldValues']['default'] )? ' value="' . $champ['fieldValues']['default'] . '"':'';
353
                      $default     = ( $champ['fieldValues']['default'] )? ' value="' . $champ['fieldValues']['default'] . '"':'';
354
                      $description = ( $champ['description'] )? ' title="' . $champ['description'] . '"':'';
354
                      $description = ( $champ['description'] )? ' title="' . $champ['description'] . '"':'';
355
                      $placeholder = ( $champ['fieldValues']['placeholder'] )? ' placeholder="' . $champ['fieldValues']['placeholder'] . '"':'';
355
                      $placeholder = ( $champ['fieldValues']['placeholder'] )? ' placeholder="' . $champ['fieldValues']['placeholder'] . '"':'';
356
                      $help        = ( $champ['help'] )? ' and-help':'';
356
                      $help        = ( $champ['help'] )? ' and-help':'';
357
                      $required    = '';
357
                      $required    = '';
358
                      $mandatory   = '';
358
                      $mandatory   = '';
359
                      $datepicker  = '';
359
                      $datepicker  = '';
360
                      $pattern     = '';
360
                      $pattern     = '';
361
                      $obs_radio   = '';
361
                      $obs_radio   = '';
362
 
362
 
363
                      if( $champ['mandatory'] ) {
363
                      if( $champ['mandatory'] ) {
364
                        // Attr required
364
                        // Attr required
365
                        $required  = ' required';
365
                        $required  = ' required';
366
                        // class="obligatoire"
366
                        // class="obligatoire"
367
                        $mandatory = ' obligatoire';
367
                        $mandatory = ' obligatoire';
368
                      }
368
                      }
369
 
369
 
370
                      if( 'date' === $champ['element'] ) {
370
                      if( 'date' === $champ['element'] ) {
371
                        $datepicker = ' date';
371
                        $datepicker = ' date';
372
                        $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)$)"';
372
                        $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)$)"';
373
                      }
373
                      }
374
 
374
 
375
                      switch( $champ['element'] ) {
375
                      switch( $champ['element'] ) {
376
                        case 'radio':
376
                        case 'radio':
377
                        case 'checkbox': ?>
377
                        case 'checkbox': ?>
378
                          <div class="control-group <?= $champ['element']; ?> mb-3"<?php echo $description . $required; ?>>
378
                          <div class="control-group <?= $champ['element']; ?> mb-3"<?php echo $description . $required; ?>>
379
                            <div class="col-sm-12 list-label<?php echo $help . $mandatory; ?>">
379
                            <div class="col-sm-12 list-label<?php echo $help . $mandatory; ?>">
380
                              <?= $champ['name']; ?>
380
                              <?= $champ['name']; ?>
381
                            </div>
381
                            </div>
382
                            <div class="col-sm-8">
382
                            <div class="col-sm-8">
383
 
383
 
384
                              <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
384
                              <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
385
 
385
 
386
                                  <?php
386
                                  <?php
387
                                    $checked = '';
387
                                    $checked = '';
388
                                    if ( '#' === substr( $list_value, -1 ) ) :
388
                                    if ( '#' === substr( $list_value, -1 ) ) :
389
                                      $checked = ' checked';
389
                                      $checked = ' checked';
390
                                      $list_value = substr( $list_value, 0, -1 );
390
                                      $list_value = substr( $list_value, 0, -1 );
391
                                    endif;
391
                                    endif;
392
                                  ?>
392
                                  ?>
393
 
393
 
394
                                  <?php if( 'other' !== $list_value ) : ?>
394
                                  <?php if( 'other' !== $list_value ) : ?>
395
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
395
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>" class="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
396
                                      <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']; ?>">
396
                                      <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']; ?>">
397
                                      <?= $list_value; ?>
397
                                      <?= $list_value; ?>
398
                                    </label>
398
                                    </label>
399
                                  <?php else : ?>
399
                                  <?php else : ?>
400
                                    <label for="other-<?= $champ['key']; ?>">
400
                                    <label for="other-<?= $champ['key']; ?>">
401
                                      <input type="<?= $champ['element']; ?>" id="other-<?= $champ['key']; ?>"'name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
401
                                      <input type="<?= $champ['element']; ?>" id="other-<?= $champ['key']; ?>"'name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
402
                                      Autre
402
                                      Autre
403
                                    </label>
403
                                    </label>
404
                                  <?php endif; ?>
404
                                  <?php endif; ?>
405
 
405
 
406
                              <?php endforeach; ?>
406
                              <?php endforeach; ?>
407
 
407
 
408
                            </div>
408
                            </div>
409
                          </div>
409
                          </div>
410
                        <?php break;
410
                        <?php break;
411
 
411
 
412
                        case 'list-checkbox': ?>
412
                        case 'list-checkbox': ?>
413
                          <div class="multiselect <?php echo $champ['element'] . $help; ?>">
413
                          <div class="multiselect <?php echo $champ['element'] . $help; ?>">
414
                            <label class="col-sm-12<?= $mandatory; ?>"><?= $champ['name']; ?></label>
414
                            <label class="col-sm-12<?= $mandatory; ?>"><?= $champ['name']; ?></label>
415
                            <div class="control-group col-sm-8 mb-3">
415
                            <div class="control-group col-sm-8 mb-3">
416
                              <div class="selectBox">
416
                              <div class="selectBox">
417
                                <select class="form-control" id="list-checkbox-<?= $champ['key']; ?>"<?php echo $description . $required; ?> class="form-control">
417
                                <select class="form-control" id="list-checkbox-<?= $champ['key']; ?>"<?php echo $description . $required; ?> class="form-control">
418
                                  <option>Plusieurs choix possibles</option>
418
                                  <option>Plusieurs choix possibles</option>
419
                                </select>
419
                                </select>
420
                                <div class="overSelect"></div>
420
                                <div class="overSelect"></div>
421
                              </div>
421
                              </div>
422
                              <div class="checkboxes hidden">
422
                              <div class="checkboxes hidden">
423
                                <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
423
                                <?php foreach ( $champ['fieldValues']['listValue'] as $i => $list_value ) : ?>
424
 
424
 
425
                                  <?php
425
                                  <?php
426
                                    $checked = '';
426
                                    $checked = '';
427
                                    if ( '#' === substr( $list_value, -1 ) ) :
427
                                    if ( '#' === substr( $list_value, -1 ) ) :
428
                                      $checked = ' checked';
428
                                      $checked = ' checked';
429
                                      $list_value = substr( $list_value, 0, -1 );
429
                                      $list_value = substr( $list_value, 0, -1 );
430
                                    endif;
430
                                    endif;
431
                                  ?>
431
                                  ?>
432
 
432
 
433
                                  <?php if( 'other' !== $list_value ) : ?>
433
                                  <?php if( 'other' !== $list_value ) : ?>
434
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
434
                                    <label for="<?php echo $champ['fieldValues']['cleanListValue'][$i]; ?>">
435
                                      <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']; ?>">
435
                                      <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']; ?>">
436
                                      <?= $list_value; ?>
436
                                      <?= $list_value; ?>
437
                                    </label>
437
                                    </label>
438
                                  <?php else : ?>
438
                                  <?php else : ?>
439
                                    <label for="other-<?= $champ['key']; ?>">
439
                                    <label for="other-<?= $champ['key']; ?>">
440
                                      <input type="checkbox" id="other-<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
440
                                      <input type="checkbox" id="other-<?= $champ['key']; ?>" name="<?= $champ['key']; ?>" value="other" class="other" data-label="<?= $champ['name']; ?>" data-element="<?= $champ['element']; ?>">
441
                                      Autre
441
                                      Autre
442
                                    </label>
442
                                    </label>
443
                                  <?php endif; ?>
443
                                  <?php endif; ?>
444
 
444
 
445
                                <?php endforeach; ?>
445
                                <?php endforeach; ?>
446
 
446
 
447
                              </div>
447
                              </div>
448
                            </div>
448
                            </div>
449
                          </div>
449
                          </div>
450
                        <?php break;
450
                        <?php break;
451
 
451
 
452
                        case 'select': ?>
452
                        case 'select': ?>
453
                          <label for="<?= $champ['key']; ?>" class="col-sm-12<?= $mandatory; ?>"<?= $description; ?>><?= $champ['name']; ?></label>
453
                          <label for="<?= $champ['key']; ?>" class="col-sm-12<?= $mandatory; ?>"<?= $description; ?>><?= $champ['name']; ?></label>
454
                          <div class="champ col-sm-8 mb-3">
454
                          <div class="champ col-sm-8 mb-3">
455
                            <div class="select-wrapper add-field-select <?php echo $champ['element'] . $help; ?>">
455
                            <div class="select-wrapper add-field-select <?php echo $champ['element'] . $help; ?>">
456
                              <select name="<?= $champ['key']; ?>" id="<?= $champ['key']; ?>" class="<?= $champ['key']; ?> form-control"<?= $required; ?> data-label="<?= $champ['name']; ?>">
456
                              <select name="<?= $champ['key']; ?>" id="<?= $champ['key']; ?>" class="<?= $champ['key']; ?> form-control"<?= $required; ?> data-label="<?= $champ['name']; ?>">
457
 
457
 
458
                                <?php foreach ( $champ['fieldValues']['listValue'] as $list_value ) : ?>
458
                                <?php foreach ( $champ['fieldValues']['listValue'] as $list_value ) : ?>
459
 
459
 
460
                                  <?php
460
                                  <?php
461
                                    $selected = '';
461
                                    $selected = '';
462
                                    if ( '#' === substr( $list_value, -1 ) ) :
462
                                    if ( '#' === substr( $list_value, -1 ) ) :
463
                                      $selected = ' selected="selected"';
463
                                      $selected = ' selected="selected"';
464
                                      $list_value = substr( $list_value, 0, -1 );
464
                                      $list_value = substr( $list_value, 0, -1 );
465
                                    endif;
465
                                    endif;
466
                                  ?>
466
                                  ?>
467
 
467
 
468
                                  <?php if( 'other' !== $list_value ) : ?>
468
                                  <?php if( 'other' !== $list_value ) : ?>
469
                                    <option value="<?= $list_value; ?>"<?= $selected; ?>>
469
                                    <option value="<?= $list_value; ?>"<?= $selected; ?>>
470
                                      <?php echo ucfirst( $list_value ); ?>
470
                                      <?php echo ucfirst( $list_value ); ?>
471
                                    </option>
471
                                    </option>
472
                                  <?php else : ?>
472
                                  <?php else : ?>
473
                                    <option class="other form-control is-select" value="other" data-element="<?= $champ['element']; ?>">Autre</option>
473
                                    <option class="other form-control is-select" value="other" data-element="<?= $champ['element']; ?>">Autre</option>
474
                                  <?php endif; ?>
474
                                  <?php endif; ?>
475
 
475
 
476
                                <?php endforeach; ?>
476
                                <?php endforeach; ?>
477
 
477
 
478
                              </select>
478
                              </select>
479
                            </div>
479
                            </div>
480
                          </div>
480
                          </div>
481
                        <?php break;
481
                        <?php break;
482
 
482
 
483
                        case 'file' : ?>
483
                        case 'file' : ?>
484
                          <div class="control-group col-sm-12 mb-3">
484
                          <div class="control-group col-sm-12 mb-3">
485
                            <div class="input-file-container<?= $help; ?>">
485
                            <div class="input-file-container<?= $help; ?>">
486
                              <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']; ?>">
486
                              <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']; ?>">
487
                              <label for="<?= $champ['key']; ?>" class="label-file<?= $mandatory; ?>" <?= $description; ?>><i class="fas fa-download" aria-hidden="true"></i> <?= $champ['name']; ?></label>
487
                              <label for="<?= $champ['key']; ?>" class="label-file<?= $mandatory; ?>" <?= $description; ?>><i class="fas fa-download" aria-hidden="true"></i> <?= $champ['name']; ?></label>
488
 
488
 
489
                              <?php if ( !$champ['mandatory'] ) : ?>
489
                              <?php if ( !$champ['mandatory'] ) : ?>
490
                                <div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
490
                                <div class="remove-file button" name="remove-file" title="Supprimer le fichier"><i class="fas fa-times" aria-hidden="true"></i></div>
491
                              <?php endif; ?>
491
                              <?php endif; ?>
492
 
492
 
493
                            </div>
493
                            </div>
494
                          </div>
494
                          </div>
495
                        <?php break;
495
                        <?php break;
496
 
496
 
497
                        case 'textarea': ?>
497
                        case 'textarea': ?>
498
                          <div class="control-group">
498
                          <div class="control-group">
499
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?php echo $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
499
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?php echo $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
500
                            <div class="col-sm-8 mb-3">
500
                            <div class="col-sm-8 mb-3">
501
                              <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>
501
                              <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>
502
                            </div>
502
                            </div>
503
                          </div>
503
                          </div>
504
                        <?php break;
504
                        <?php break;
505
 
505
 
506
                        case 'range': ?>
506
                        case 'range': ?>
507
                          <div class="control-group">
507
                          <div class="control-group">
508
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?= $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
508
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?= $help . $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
509
                            <div class="col-sm-8 mb-3">
509
                            <div class="col-sm-8 mb-3">
510
                              <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']; ?>">
510
                              <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']; ?>">
511
                            </div>
511
                            </div>
512
                          </div>
512
                          </div>
513
                          <?php break;
513
                          <?php break;
514
 
514
 
515
                        case 'number':
515
                        case 'number':
516
                        case 'date': ?>
516
                        case 'date': ?>
517
                          <div class="control-group">
517
                          <div class="control-group">
518
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?php echo $datepicker . $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
518
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?php echo $datepicker . $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
519
                            <div class="col-sm-8 mb-3">
519
                            <div class="col-sm-8 mb-3">
520
                              <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']; ?>">
520
                              <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']; ?>">
521
                            </div>
521
                            </div>
522
                          </div>
522
                          </div>
523
                          <?php break;
523
                          <?php break;
524
 
524
 
525
                        case 'text' :
525
                        case 'text' :
526
                        case 'email':
526
                        case 'email':
527
                        default: ?>
527
                        default: ?>
528
                          <div class="control-group">
528
                          <div class="control-group">
529
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?= $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
529
                            <label for="<?= $champ['key']; ?>" class="col-sm-12<?= $mandatory; ?>" <?= $description; ?>><?= $champ['name']; ?></label>
530
                            <div class="col-sm-8 mb-3">
530
                            <div class="col-sm-8 mb-3">
531
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $required; ?> data-label="<?= $champ['name']; ?>">
531
                              <input type="<?= $champ['element']; ?>" name="<?= $champ['key']; ?>" class="<?= $champ['key'] . $help; ?> form-control" <?php echo $description . $placeholder . $required; ?> data-label="<?= $champ['name']; ?>">
532
                            </div>
532
                            </div>
533
                          </div>
533
                          </div>
534
                        <?php break;
534
                        <?php break;
535
                      }
535
                      }
536
                    ?>
536
                    ?>
537
 
537
 
538
                  <?php endforeach; ?>
538
                  <?php endforeach; ?>
539
                </div>
539
                </div>
540
              </div>
540
              </div>
541
            </form>
541
            </form>
542
          <?php endif; ?><!-- Fin champs supplémentaires -->
542
          <?php endif; ?><!-- Fin champs supplémentaires -->
543
 
543
 
544
          <div id="image" class="row"></div>
544
          <div id="image" class="row"></div>
545
        </div>
545
        </div>
546
 
546
 
547
        <!-- Bouton cr&ation d'une obs -->
547
        <!-- Bouton cr&ation d'une obs -->
548
        <div class="row mb-3 bloc-bottom">
548
        <div class="row mb-3 bloc-bottom">
549
          <div class="centre" title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
549
          <div class="centre" title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
550
              ajouter votre observation à la liste à transmettre.">
550
              ajouter votre observation à la liste à transmettre.">
551
            <a id="ajouter-obs" class="btn btn-primary">
551
            <a id="ajouter-obs" class="btn btn-primary">
552
              <i class="fas fa-check-square"></i> Créer
552
              <i class="fas fa-check-square"></i> Créer
553
            </a>
553
            </a>
554
          </div>
554
          </div>
555
        </div>
555
        </div>
556
 
556
 
557
        <!-- Messages d'erreur du formulaire-->
557
        <!-- Messages d'erreur du formulaire-->
558
        <div class="row">
558
        <div class="row">
559
          <div class="zone-alerte">
559
          <div class="zone-alerte">
560
            <div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
560
            <div id="dialogue-bloquer-creer-obs" class="alert alert-warning alert-block hidden">
561
              <a class="close">×</a>
561
              <a class="close">×</a>
562
              <h4 class="alert-heading">Information : 10 observations maximum</h4>
562
              <h4 class="alert-heading">Information : 10 observations maximum</h4>
563
              <p>
563
              <p>
564
                Vous venez d'ajouter votre 10ème observation.<br/>
564
                Vous venez d'ajouter votre 10ème observation.<br/>
565
                Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
565
                Pour en ajouter de nouvelles, il est nécessaire de les transmettre en cliquant sur le bouton ci-dessous.
566
              </p>
566
              </p>
567
            </div>
567
            </div>
568
          </div>
568
          </div>
569
          <div class="zone-alerte">
569
          <div class="zone-alerte">
570
            <div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
570
            <div id="dialogue-form-invalide" class="alert alert-warning alert-block hidden">
571
              <a class="close">×</a>
571
              <a class="close">×</a>
572
              <h4 class="alert-heading">Information : champs en erreur</h4>
572
              <h4 class="alert-heading">Information : champs en erreur</h4>
573
              <p>
573
              <p>
574
                Certains champs du formulaire sont mal remplis.<br/>
574
                Certains champs du formulaire sont mal remplis.<br/>
575
                Veuillez vérifier vos données.
575
                Veuillez vérifier vos données.
576
              </p>
576
              </p>
577
            </div>
577
            </div>
578
          </div>
578
          </div>
579
        </div>
579
        </div>
580
 
580
 
581
        <!-- Affiche le tableau récapitualif des observations ajoutées -->
581
        <!-- Affiche le tableau récapitualif des observations ajoutées -->
582
        <div id="zone-liste-obs" class="hidden">
582
        <div id="zone-liste-obs" class="hidden">
583
          <div class="alert alert-info">
583
          <div class="alert alert-info">
584
            <h2 class="transmission-title"><strong>Observations à transmettre : <span class="obs-nbre badge badge-info">0</span></strong></h2>
584
            <h2 class="transmission-title"><strong>Observations à transmettre : <span class="obs-nbre badge badge-info">0</span></strong></h2>
585
            <button id="transmettre-obs" class="btn btn-primary droite" disabled="disabled"
585
            <button id="transmettre-obs" class="btn btn-primary droite" disabled="disabled"
586
              title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques." type="button">
586
              title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques." type="button">
587
              Transmettre
587
              Transmettre
588
            </button>
588
            </button>
589
          </div>
589
          </div>
590
          <div id="liste-obs" ></div>
590
          <div id="liste-obs" ></div>
591
          <div class="row">
591
          <div class="row">
592
            <div class="zone-alerte">
592
            <div class="zone-alerte">
593
              <div id="dialogue-zero-obs" class="alert alert-block hidden">
593
              <div id="dialogue-zero-obs" class="alert alert-block hidden">
594
                <a class="close">×</a>
594
                <a class="close">×</a>
595
                <h4 class="alert-heading">Attention : aucune observation</h4>
595
                <h4 class="alert-heading">Attention : aucune observation</h4>
596
                <p>Veuillez saisir des observations pour les transmettre.</p>
596
                <p>Veuillez saisir des observations pour les transmettre.</p>
597
              </div>
597
              </div>
598
              <div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
598
              <div id="dialogue-obs-transaction-ok" class="alert alert-success alert-block hidden">
599
                <a class="close">×</a>
599
                <a class="close">×</a>
600
                <h4 class="alert-heading">Information : transmission des observations</h4>
600
                <h4 class="alert-heading">Information : transmission des observations</h4>
601
                <div class="alert-txt"></div>
601
                <div class="alert-txt"></div>
602
              </div>
602
              </div>
603
              <div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
603
              <div id="dialogue-obs-transaction-ko" class="alert alert-error alert-block hidden">
604
                <a class="close">×</a>
604
                <a class="close">×</a>
605
                <h4 class="alert-heading">Erreur : transmission des observations</h4>
605
                <h4 class="alert-heading">Erreur : transmission des observations</h4>
606
                <div class="alert-txt"></div>
606
                <div class="alert-txt"></div>
607
              </div>
607
              </div>
608
            </div>
608
            </div>
609
          </div>
609
          </div>
610
        </div>
610
        </div>
611
 
611
 
612
        <!-- Fenêtres modales -->
612
        <!-- Fenêtres modales -->
613
        <div id="chargement" class="modal-fenetre hidden">
613
        <div id="chargement" class="modal-fenetre hidden">
614
          <div id="chargement-centrage" class="modal-contenu">
614
          <div id="chargement-centrage" class="modal-contenu">
615
            <div class="progress progress-striped active">
615
            <div class="progress progress-striped active">
616
              <div id="barre-progression-upload" class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
616
              <div id="barre-progression-upload" class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="10" style="">
617
                  <span class="sr-only">0/10 observations transmises</span>
617
                  <span class="sr-only">0/10 observations transmises</span>
618
                </div>
618
                </div>
619
            </div>
619
            </div>
620
            <p id="chargement-txt" style="color:white;font-size:1.5em;">
620
            <p id="chargement-txt" style="color:white;font-size:1.5em;">
621
              Transfert des observations en cours...<br />
621
              Transfert des observations en cours...<br />
622
              Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
622
              Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre
623
              d'observations à transférer.
623
              d'observations à transférer.
624
            </p>
624
            </p>
625
          </div>
625
          </div>
626
        </div>
626
        </div>
627
 
627
 
628
        <!-- Templates HTML -->
628
        <!-- Templates HTML -->
629
        <div id="tpl-transmission-ok" class="hidden">
629
        <div id="tpl-transmission-ok" class="hidden">
630
          <p class="msg">
630
          <p class="msg">
631
            Vos observations ont bien été transmises.<br />
631
            Vos observations ont bien été transmises.<br />
632
            Elles sont désormais consultables à travers les différents outils de visualisation
632
            Elles sont désormais consultables à travers les différents outils de visualisation
633
            du réseau (<a href="https://www.tela-botanica.org/site:botanique">eFlore</a>,
633
            du réseau (<a href="https://www.tela-botanica.org/site:botanique">eFlore</a>,
634
            <a href="https://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>,
634
            <a href="https://www.tela-botanica.org/appli:pictoflora">galeries d'images</a>,
635
            <a href="https://www.tela-botanica.org/appli:identiplante">identiplante</a>,
635
            <a href="https://www.tela-botanica.org/appli:identiplante">identiplante</a>,
636
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br />
636
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint">cartographie (widget)</a>...)<br />
637
            Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
637
            Si vous souhaitez les modifier ou les supprimer, vous pouvez les retrouver en vous
638
            connectant à votre <a href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br />
638
            connectant à votre <a href="https://www.tela-botanica.org/appli:cel">Carnet en ligne</a>.<br />
639
            N'oubliez pas qu'il est nécessaire de
639
            N'oubliez pas qu'il est nécessaire de
640
            <a href="https://www.tela-botanica.org/page:inscription">s'inscrire à Tela Botanica</a>
640
            <a href="https://beta.tela-botanica.org/test/page:inscription">s'inscrire à Tela Botanica</a>
641
            au préalable, si ce n'est pas déjà fait.
641
            au préalable, si ce n'est pas déjà fait.
642
          </p>
642
          </p>
643
        </div>
643
        </div>
644
        <div id="tpl-transmission-ko" class="hidden">
644
        <div id="tpl-transmission-ko" class="hidden">
645
          <p class="msg">
645
          <p class="msg">
646
            Une erreur est survenue lors de la transmission d'une observation (indiquée en rouge).<br />
646
            Une erreur est survenue lors de la transmission d'une observation (indiquée en rouge).<br />
647
            Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
647
            Vous pouvez tenter de la retransmettre en cliquant à nouveau sur le bouton transmettre ou bien la supprimer
648
            et transmettre les suivantes.<br />
648
            et transmettre les suivantes.<br />
649
            Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br />
649
            Néanmoins, les observations n'apparaissant plus dans la liste "observations à transmettre", ont bien été transmises lors de votre précédente tentative. <br />
650
            Si le problème persiste, vous pouvez signaler le dysfonctionnement sur
650
            Si le problème persiste, vous pouvez signaler le dysfonctionnement sur
651
            <a href="<?= $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>" target="_blank"
651
            <a href="<?= $url_remarques; ?>?service=cel&pageSource=<?php echo urlencode( 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ); ?>" target="_blank"
652
              onclick="
652
              onclick="
653
                javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' );
653
                javascript: window.open( this.getAttribute( 'href' ), 'Tela Botanica - Remarques', config = 'height=700, width=640, scrollbars=yes, resizable=yes' );
654
                return false;
654
                return false;
655
              "
655
              "
656
            >le formulaire de signalement d'erreurs</a>.
656
            >le formulaire de signalement d'erreurs</a>.
657
          </p>
657
          </p>
658
        </div>
658
        </div>
659
 
659
 
660
        <footer>
660
        <footer>
661
          <div class="row centre component-tools-item-link">
661
          <div class="row centre component-tools-item-link">
662
            <a href="https://www.tela-botanica.org/appli:cel" target="" class="mr-1" style="color: #e16e37">
662
            <a href="https://www.tela-botanica.org/appli:cel" target="" class="mr-1" style="color: #e16e37">
663
              <span>Gestion</span>
663
              <span>Gestion</span>
664
            </a>
664
            </a>
665
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #918a6f">
665
            <a href="https://www.tela-botanica.org/widget:cel:cartoPoint?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #918a6f">
666
              <span>Carto</span>
666
              <span>Carto</span>
667
            </a>
667
            </a>
668
            <a href="https://www.tela-botanica.org/widget:cel:photo?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #964e75">
668
            <a href="https://www.tela-botanica.org/widget:cel:photo?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #964e75">
669
              <span>Photo</span>
669
              <span>Photo</span>
670
            </a>
670
            </a>
671
            <a href="https://www.tela-botanica.org/widget:cel:observation?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #b2cb43">
671
            <a href="https://www.tela-botanica.org/widget:cel:observation?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #b2cb43">
672
              <span>Observation</span>
672
              <span>Observation</span>
673
            </a>
673
            </a>
674
            <a href="https://www.tela-botanica.org/widget:cel:export?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #009fb8">
674
            <a href="https://www.tela-botanica.org/widget:cel:export?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #009fb8">
675
              <span>Export</span>
675
              <span>Export</span>
676
            </a>
676
            </a>
677
            <a href="https://www.tela-botanica.org/appli:pictoflora?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #927fa2">
677
            <a href="https://www.tela-botanica.org/appli:pictoflora?projet=<?= $widget['projet']; ?>" target="" class="mr-2" style="color: #927fa2">
678
              <span>PictoFlora</span>
678
              <span>PictoFlora</span>
679
            </a>
679
            </a>
680
            <a href="https://www.tela-botanica.org/appli:identiplante?projet=<?= $widget['projet']; ?>" target="" style="color: #f25a52">
680
            <a href="https://www.tela-botanica.org/appli:identiplante?projet=<?= $widget['projet']; ?>" target="" style="color: #f25a52">
681
              <span>IdentiPlante</span>
681
              <span>IdentiPlante</span>
682
            </a>
682
            </a>
683
          </div>
683
          </div>
684
        </footer>
684
        </footer>
685
      </div>
685
      </div>
686
    </div>
686
    </div>
687
    <!-- Jquery -->
687
    <!-- Jquery -->
688
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.1.js"></script>
688
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.1.js"></script>
689
 
689
 
690
    <!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
690
    <!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
691
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
691
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/jquery-ui.min.js"></script>
692
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script>
692
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/jquery-ui/1.11.0/js/datepicker-fr.js"></script>
693
    <!-- Jquery Plugins -->
693
    <!-- Jquery Plugins -->
694
    <!-- Jquery Validate : nécessaire pour la validation des formulaires -->
694
    <!-- Jquery Validate : nécessaire pour la validation des formulaires -->
695
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
695
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate.min.js"></script>
696
    <!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate-patched.min.js"></script> -->
696
    <!-- <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/jquery.validate-patched.min.js"></script> -->
697
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
697
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/additional-methods.min.js"></script>
698
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
698
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/validate/1.11.1/messages_fr.js"></script>
699
    <!-- Jquery Form :nécessaire pour l'upload des images -->
699
    <!-- Jquery Form :nécessaire pour l'upload des images -->
700
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
700
    <script type="text/javascript" src="https://resources.tela-botanica.org/jquery/form/3.51/jquery.form.min.js"></script>
701
    <!-- Bootstrap -->
701
    <!-- Bootstrap -->
702
    <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> -->
702
    <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> -->
703
    <!-- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> -->
703
    <!-- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> -->
704
    <script type="text/javascript" src="https://resources.tela-botanica.org/bootstrap/2.3.2/js/bootstrap.min.js"></script>
704
    <script type="text/javascript" src="https://resources.tela-botanica.org/bootstrap/2.3.2/js/bootstrap.min.js"></script>
705
    <!-- Authentification -->
705
    <!-- Authentification -->
706
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/auth.js"></script>
706
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/auth.js"></script>
707
    <!-- Connexion, bloc de prévisualisation, date -->
707
    <!-- Connexion, bloc de prévisualisation, date -->
708
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/WidgetSaisie.js"></script>
708
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/WidgetSaisie.js"></script>
709
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/champs-supp.js"></script>
709
    <script type="text/javascript" src="<?= $url_base; ?>modules/saisie2/squelettes/js/champs-supp.js"></script>
710
    <script type="text/javascript">
710
    <script type="text/javascript">
711
      //<![CDATA[
711
      //<![CDATA[
712
        $( document ).ready( function() {
712
        $( document ).ready( function() {
713
 
713
 
714
          // OMG un modèle objet !!
714
          // OMG un modèle objet !!
715
          var widget = new WidgetSaisie();
715
          var widget = new WidgetSaisie();
716
 
716
 
717
          //
717
          //
718
          //
718
          //
719
          //
719
          //
720
          // La présence du parametre 'debug' dans l'URL enclenche le débogage
720
          // La présence du parametre 'debug' dans l'URL enclenche le débogage
721
          widget.debug = <?= isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
721
          widget.debug = <?= isset( $_GET['debug'] ) ? 'true' : 'false'; ?>;
722
          // La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
722
          // La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
723
          widget.html5 = <?= isset($_GET['html5']) ? 'true' : 'false'; ?>;
723
          widget.html5 = <?= isset($_GET['html5']) ? 'true' : 'false'; ?>;
724
          // Mot-clé du widget/projet
724
          // Mot-clé du widget/projet
725
          widget.tagProjet = "WidgetSaisie";
725
          widget.tagProjet = "WidgetSaisie";
726
          // Mots-clés à ajouter aux images
726
          // Mots-clés à ajouter aux images
727
          widget.tagImg = "<?= isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
727
          widget.tagImg = "<?= isset($_GET['tag-img']) ? $_GET['tag-img'] : ''; ?>";
728
          widget.separationTagImg = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
728
          widget.separationTagImg = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : ''; ?>";
729
          widget.tagImg = <?= isset($_GET['motcle']) ? "'".$_GET['motcle']."' + widget.separationTagImg + widget.tagImg" : 'widget.tagImg'; ?>;
729
          widget.tagImg = <?= isset($_GET['motcle']) ? "'".$_GET['motcle']."' + widget.separationTagImg + widget.tagImg" : 'widget.tagImg'; ?>;
730
          // Mots-clés à ajouter aux observations
730
          // Mots-clés à ajouter aux observations
731
          widget.tagObs = "<?= isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
731
          widget.tagObs = "<?= isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''; ?>";
732
          widget.separationTagObs = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
732
          widget.separationTagObs = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : ''; ?>";
733
          widget.tagObs = <?= isset($_GET['projet']) ? "'".$_GET['projet']."' + widget.separationTagObs + widget.tagObs" : 'widget.tagObs'; ?>;
733
          widget.tagObs = <?= isset($_GET['projet']) ? "'".$_GET['projet']."' + widget.separationTagObs + widget.tagObs" : 'widget.tagObs'; ?>;
734
          // Précharger le formulaire avec les infos d'une observation
734
          // Précharger le formulaire avec les infos d'une observation
735
          widget.obsId = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>";
735
          widget.obsId = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>";
736
          // URL du web service réalisant l'insertion des données dans la base du CEL.
736
          // URL du web service réalisant l'insertion des données dans la base du CEL.
737
          widget.serviceSaisieUrl = "<?=$url_ws_saisie?>";
737
          widget.serviceSaisieUrl = "<?=$url_ws_saisie?>";
738
          // URL du web service permettant de récupérer les infos d'une observation du CEL.
738
          // URL du web service permettant de récupérer les infos d'une observation du CEL.
739
          widget.serviceObsUrl = "<?=$url_ws_obs?>";
739
          widget.serviceObsUrl = "<?=$url_ws_obs?>";
740
          //
740
          //
741
          //
741
          //
742
          //
742
          //
743
 
743
 
744
          // langue
744
          // langue
745
          widget.langue = "<?= $widget['langue']; ?>";
745
          widget.langue = "<?= $widget['langue']; ?>";
746
          // Squelette d'URL du web service de l'annuaire.
746
          // Squelette d'URL du web service de l'annuaire.
747
          widget.serviceAnnuaireIdUrl = "<?= $url_ws_annuaire; ?>";
747
          widget.serviceAnnuaireIdUrl = "<?= $url_ws_annuaire; ?>";
748
          // URL de l'icône du chargement en cours
748
          // URL de l'icône du chargement en cours
749
          widget.chargementIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement.gif";
749
          widget.chargementIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement.gif";
750
          // URL de l'icône du chargement en cours d'une image
750
          // URL de l'icône du chargement en cours d'une image
751
          widget.chargementImageIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement-image.gif";
751
          widget.chargementImageIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/chargement-image.gif";
752
          // URL de l'icône du calendrier
752
          // URL de l'icône du calendrier
753
          widget.calendrierIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/calendrier.png";
753
          widget.calendrierIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/calendrier.png";
754
          // URL de l'icône pour une photo manquante
754
          // URL de l'icône pour une photo manquante
755
          widget.pasDePhotoIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/pasdephoto.png";
755
          widget.pasDePhotoIconeUrl = "<?= $url_base?>modules/saisie/squelettes/defaut/img/icones/pasdephoto.png";
756
 
756
 
757
          // Code du référentiel utilisé pour les nom scientifiques.
757
          // Code du référentiel utilisé pour les nom scientifiques.
758
          widget.nomSciReferentiel = "<?= strtolower( $widget['referentiel'] ); ?>";
758
          widget.nomSciReferentiel = "<?= strtolower( $widget['referentiel'] ); ?>";
759
          // Indication de la présence d'une espèce imposée
759
          // Indication de la présence d'une espèce imposée
760
          widget.especeImposee = "<?= $espece_imposee; ?>";
760
          widget.especeImposee = "<?= $espece_imposee; ?>";
761
          // Tableau d'informations sur l'espèce imposée
761
          // Tableau d'informations sur l'espèce imposée
762
          widget.infosEspeceImposee = "<?= $infos_espece; ?>";
762
          widget.infosEspeceImposee = "<?= $infos_espece; ?>";
763
          // Nombre d'élément dans les listes d'auto-complétion
763
          // Nombre d'élément dans les listes d'auto-complétion
764
          widget.autocompletionElementsNbre = 20;
764
          widget.autocompletionElementsNbre = 20;
765
          // Indication de la présence d'un référentiel imposé
765
          // Indication de la présence d'un référentiel imposé
766
          widget.referentielImpose = "<?= $referentiel_impose; ?>";
766
          widget.referentielImpose = "<?= $referentiel_impose; ?>";
767
 
767
 
768
          // URL du web service permettant l'auto-complétion des noms scientifiques
768
          // URL du web service permettant l'auto-complétion des noms scientifiques
769
          widget.serviceAutocompletionNomSciUrl = "<?= $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
769
          widget.serviceAutocompletionNomSciUrl = "<?= $widget['especes']['url_ws_autocompletion_ns']; ?>?"+
770
            "masque={masque}&"+
770
            "masque={masque}&"+
771
            "recherche=etendue&"+
771
            "recherche=etendue&"+
772
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
772
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
773
            "ns.structure=au&"+
773
            "ns.structure=au&"+
774
            "navigation.limite=" + widget.autocompletionElementsNbre;
774
            "navigation.limite=" + widget.autocompletionElementsNbre;
775
          // Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
775
          // Squelette d'URL du web service permettant l'auto-complétion des noms scientifiques
776
          widget.serviceAutocompletionNomSciUrlTpl = "<?= $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
776
          widget.serviceAutocompletionNomSciUrlTpl = "<?= $widget['especes']['url_ws_autocompletion_ns_tpl']; ?>?"+
777
            "masque={masque}&"+
777
            "masque={masque}&"+
778
            "recherche=etendue&"+
778
            "recherche=etendue&"+
779
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
779
            "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
780
            "retour.tri=alpharet&"+ // tri "à la CeL"
780
            "retour.tri=alpharet&"+ // tri "à la CeL"
781
            "ns.structure=au&"+
781
            "ns.structure=au&"+
782
            "navigation.limite=" + widget.autocompletionElementsNbre;
782
            "navigation.limite=" + widget.autocompletionElementsNbre;
783
          // Nombre d'observations max autorisé avant transmission
783
          // Nombre d'observations max autorisé avant transmission
784
          widget.obsMaxNbre = 10;
784
          widget.obsMaxNbre = 10;
785
          // Durée d'affichage en milliseconde des messages d'informations
785
          // Durée d'affichage en milliseconde des messages d'informations
786
          widget.dureeMessage = 30000;
786
          widget.dureeMessage = 30000;
787
          //
787
          //
788
          //
788
          //
789
          //
789
          //
790
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes.
790
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes.
791
          widget.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
791
          widget.serviceNomCommuneUrl = "https://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
792
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
792
          // Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
793
          widget.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
793
          widget.serviceNomCommuneUrlAlt = "https://api.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
794
          // URL du marqueur à utiliser dans la carte Google Map
794
          // URL du marqueur à utiliser dans la carte Google Map
795
          widget.googleMapMarqueurUrl = "<?=$url_base?>modules/saisie/squelettes/defaut/img/marqueurs/epingle.png";
795
          widget.googleMapMarqueurUrl = "<?=$url_base?>modules/saisie/squelettes/defaut/img/marqueurs/epingle.png";
796
          //
796
          //
797
          //
797
          //
798
          //
798
          //
799
 
799
 
800
          // Initialisation du bousin
800
          // Initialisation du bousin
801
          widget.init();
801
          widget.init();
802
        });
802
        });
803
      //]]>
803
      //]]>
804
    </script>
804
    </script>
805
 
805
 
806
    <!-- Barre de navigation -->
806
    <!-- Barre de navigation -->
807
    <?php if ( $bar ): ?>
807
    <?php if ( $bar ): ?>
808
      <script src="<?= $url_script_navigation; ?>"></script>
808
      <script src="<?= $url_script_navigation; ?>"></script>
809
    <?php endif; ?>
809
    <?php endif; ?>
810
  </body>
810
  </body>
811
</html>
811
</html>