Subversion Repositories eFlore/Applications.cel

Rev

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

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