Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1915 → Rev 1916

/trunk/widget/modules/saisie/squelettes/florileges/florileges.tpl.html
20,7 → 20,8
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
<!-- Jquery -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery-ui-1.10.2.custom.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery.ui.datepicker-fr.min.js"></script>
33,7 → 34,7
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/3.32/jquery.form.min.js"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.2/js/bootstrap.min.js"></script>
<!-- Javascript : appli saisie -->
<script src="<?=$url_base?>saisie?projet=sauvages&amp;service=taxons" type="text/javascript"></script>
55,9 → 56,9
var SEPARATION_TAG_OBS = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : '' ?>";
TAG_OBS = <?=isset($_GET['projet']) ? "'".$_GET['projet']."' + SEPARATION_TAG_OBS + TAG_OBS" : 'TAG_OBS' ?>;
// URL du web service réalisant l'insertion des données dans la base du CEL.
// Précharger le formulaire avec les infos d'une observation
var OBS_ID = "<?=isset($_GET['id-obs']) ? $_GET['id-obs'] : ''?>";
// URL du web service réalisant l'insertion des données dans la base du CEL.
var SERVICE_SAISIE_URL = "<?=$url_ws_saisie?>";
// URL du web service permettant de récupérer les infos d'une observation du CEL.
var SERVICE_OBS_URL = "<?=$url_ws_obs?>";
104,9 → 105,9
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
var SERVICE_NOM_COMMUNE_URL_ALT = "http://www.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
// URL du marqueur à utiliser dans la carte Google Map
var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png";
var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/florileges/img/marqueurs/debut.png";
// URL de l'icône de fin de rue
var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png";
var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/florileges/img/marqueurs/fin.png";
// URL de l'icône du chargement en cours
var CHARGEMENT_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/florileges/img/icones/chargement.gif";
// URL de l'icône du chargement en cours d'une image
121,8 → 122,8
<!-- CSS -->
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/saisie/squelettes/florileges/css/<?=isset($_GET['style']) ? $_GET['style'] : 'florileges'?>.css" rel="stylesheet" type="text/css" media="screen" />
</head>
 
1019,7 → 1020,7
<div id="chargement" class="modal-fenetre" style="display:none;">
<div id="chargement-centrage" class="modal-contenu">
<img id="chargement-img"
src="<?=$url_base?>modules/saisie/squelettes/sauvages/images/chargement_arbre.gif"
src="<?=$url_base?>modules/saisie/squelettes/florileges/img/chargement_arbre.gif"
alt="Transfert en cours..."/>
<p id="chargement-txt" style="color:white;font-size:1.5em;">
Transfert des observations en cours...<br />
/trunk/widget/modules/saisie/squelettes/florileges/img/icones/epingle.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/florileges/img/marqueurs/debut.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/florileges/img/marqueurs/debut.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/florileges/img/marqueurs/fin.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/florileges/img/marqueurs/fin.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/florileges/img/chargement_arbre.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/florileges/img/chargement_arbre.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/images/logos/sdmr.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/fleur.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/classic.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/relief.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/marqueurs/panneau.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/chargement_arbre.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/images/favicon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/supprimer.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/images/icones/aide.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/images/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/sauvages.tpl.html
1,24 → 1,19
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<html lang="fr">
<head>
<title>Sauvages de ma rue</title>
<meta charset="utf-8">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="author" content="Jean-Pascal MILCENT, Aurélien PERONNET, Céline VIDAL" />
<meta name="keywords" content="Sauvages de ma rue, CEL, Tela Botanica, Natural Solutions, MNHN" />
<meta name="description" content="Widget de saisie pour le projet Sauvages de ma rue" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Céline VIDAL, Jean-Pascal MILCENT" />
<meta name="keywords" content="Tela Botanica, Natural Solutions, MNHN, Sauvages de ma rue, CEL" />
<meta name="description" content="Widget de saisie simplifié pour le projet Sauvages de ma rue" />
 
<!-- Viewport Mobile -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="<?=$url_base?>/modules/saisie/squelettes/sauvages/images/favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="<?=$url_base?>/modules/saisie/squelettes/sauvages/img/favicon.ico" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!-- Javascript : bibliothèques -->
<!-- Google Map v3 -->
<!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>-->
27,16 → 22,22
<!-- Jquery -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/js/jquery.ui.datepicker-fr.js"></script>
<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery-ui-1.10.2.custom.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery.ui.datepicker-fr.min.js"></script>
<!-- Jquery Plugins -->
<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/additional-methods.min.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/messages_fr.js"></script>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/2.95/jquery.form.min.js"></script>
<!-- Jquery Form :nécessaire pour l'upload des images -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/3.32/jquery.form.min.js"></script>
<script src="<?=$url_base?>saisie?projet=sauvages&amp;service=taxons" type="text/javascript"></script>
<!-- Bootstrap -->
<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.2/js/bootstrap.min.js"></script>
<!-- Javascript : appli saisie -->
<script src="<?=$url_base?>saisie?projet=sauvages&amp;service=taxons" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
// La présence du parametre 'debug' dans l'URL enclenche le dégogage
43,67 → 44,169
var DEBUG = <?=isset($_GET['debug']) ? 'true' : 'false'?>;
// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
var HTML5 = <?=isset($_GET['html5']) ? 'true' : 'false'?>;
// La présence du parametre 'ville' dans l'URL géolocalise
var VILLE = "<?=isset($_GET['ville']) ? $_GET['ville'] : ''?>";
VILLE = <?= isset($_GET['commune']) ? "'".$_GET['commune']."'" : 'VILLE' ?>;
// Mot-clé du widget/projet
var TAG_PROJET = "WidgetSauvages,Sauvages";
// Mots-clés à ajouter aux images
var TAG_IMG = "<?=isset($_GET['tag-img']) ? $_GET['tag-img'] : ''?>";
var SEPARATION_TAG_IMG = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : '' ?>";
TAG_IMG = <?=isset($_GET['motcle']) ? "'".$_GET['motcle']."' + SEPARATION_TAG_IMG + TAG_IMG" : 'TAG_IMG' ?>;
// Mots-clés à ajouter aux observations
var TAG_OBS = "<?=isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''?>";
var SEPARATION_TAG_OBS = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : '' ?>";
TAG_OBS = <?=isset($_GET['projet']) ? "'".$_GET['projet']."' + SEPARATION_TAG_OBS + TAG_OBS" : 'TAG_OBS' ?>;
// URL du web service réalisant l'insertion des données dans la base du CEL.
var SERVICE_SAISIE_URL = "<?=$url_ws_saisie?>";
// URL du web service permettant de récupérer les infos d'une observation du CEL.
var SERVICE_OBS_URL = "<?=$url_ws_obs?>";
// Code du référentiel utilisé pour les nom scientifiques (de la forme nom:code).
var NOM_SCI_REFERENTIEL = "<?=$ns_referentiel?>";
// Nom du référentiel utilisé pour les nom scientifiques.
var NOM_SCI_PROJET = "<?=$ns_projet?>";
// Code de la version du référentiel utilisé pour les nom scientifiques.
var NOM_SCI_VERSION = "<?=$ns_version?>";
// Indication de la présence d'une espèce imposée
var ESPECE_IMPOSEE = "<?=$espece_imposee; ?>";
// Tableau d'informations sur l'espèce imposée
var INFOS_ESPECE_IMPOSEE = <?=$infos_espece; ?>;
// Nombre d'élément dans les listes d'auto-complétion
var AUTOCOMPLETION_ELEMENTS_NBRE = 20;
// Indication de la présence d'un référentiel imposé
var REFERENTIEL_IMPOSE = "<?=$referentiel_impose; ?>";
// Indication des version utilisées de chaque référentiel
var PROJETS_VERSIONS = <?=json_encode($projets_versions)?>;
// URL du web service permettant l'auto-complétion des noms scientifiques.
var SERVICE_AUTOCOMPLETION_NOM_SCI_URL = "<?=$url_ws_autocompletion_ns?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
//"version.projet="+NOM_SCI_VERSION+"&"+
"ns.structure=au"+"&"+
"navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE;
// URL du web service permettant l'auto-complétion des noms scientifiques.
var SERVICE_AUTOCOMPLETION_NOM_SCI_URL_TPL = "<?=$url_ws_autocompletion_ns_tpl?>?"+
"masque={masque}&"+
"recherche=etendue&"+
"retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
//"version.projet="+NOM_SCI_VERSION+"&"+
"ns.structure=au"+"&"+
"navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE;
// Nombre d'observations max autorisé avant transmission
var OBS_MAX_NBRE = 10;
// Durée d'affichage en milliseconde des messages d'informations
var DUREE_MESSAGE = 15000;
// Squelette d'URL du web service de l'annuaire.
var SERVICE_ANNUAIRE_ID_URL = "<?=$url_ws_annuaire?>";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
var SERVICE_NOM_COMMUNE_URL = "http://www.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
var SERVICE_NOM_COMMUNE_URL_ALT = "http://www.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
// URL du marqueur à utiliser dans la carte Google Map
var MARQUEUR_ICONE_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/debut.png";
var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/marqueurs/debut.png";
// URL de l'icône de fin de rue
var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/marqueurs/fin.png";
// URL de l'icône du chargement en cours
var CHARGEMENT_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/chargement.gif";
// URL de l'icône du chargement en cours d'une image
var CHARGEMENT_IMAGE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/chargement-image.gif";
// URL de l'icône du calendrier
var CALENDRIER_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/calendrier.png";
// URL de l'icône du calendrier
var PAS_DE_PHOTO_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/pas_de_photo.png";
// URL de l'icône du bouton supprimer
var SUPPRIMER_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/icones/supprimer.png";
// URL de l'icône du chargement en cours
var CHARGEMENT_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/icones/chargement.gif";
// URL de l'icône de fin de rue
var MARQUEUR_ICONE_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/images/marqueurs/fin.png";
var SUPPRIMER_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/icones/supprimer.png";
//]]>
</script>
<script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/sauvages/js/sauvages.js"></script>
<!-- CSS -->
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.17/css/ui-darkness/jquery-ui-1.8.17.custom.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<link href="<?=$url_base?>modules/saisie/squelettes/sauvages/css/<?=isset($_GET['style']) ? $_GET['style'] : 'sauvages'?>.css" rel="stylesheet" type="text/css" media="screen" />
</head>
 
<body>
<div id="zone-appli">
<?php if($titre == 'defaut' ) { ?>
<h1 id="widget-titre"><img src="<?=$url_base?>/modules/saisie/squelettes/sauvages/images/logos/sdmr.png" alt="Sauvages de ma rue : Saisie des observations"/></h1>
<?php } else { ?>
<body data-spy="scroll">
<div id="zone-appli" class="container">
<?php if ($titre == 'defaut' ) : ?>
<h1 id="widget-titre"><img src="<?=$url_base?>/modules/saisie/squelettes/sauvages/img/logos/sdmr.png" alt="Sauvages de ma rue : Saisie des observations"/></h1>
<?php else: ?>
<h1 id="widget-titre"><?= $titre ?></h1>
<?php } ?>
<?php endif; ?>
<form id="saisie-obs" action="#" enctype="multipart/form-data" autocomplete="on">
<h2>Observateur</h2>
<form id="form-observateur" action="#" autocomplete="on">
<fieldset id="partie-identification">
<legend>Observateur</legend>
<ul>
<li>
<label for="prenom">Prénom</label>
<input id="prenom" name="prenom" type="text" value=""/>
</li>
<li>
<label for="nom">Nom</label>
<input id="nom" name="nom" type="text" value=""/>
</li>
<li>
<label for="courriel" class="oblig"
title="Saisissez votre adresse email. Elle vous permettra de retrouver vos données, et ne sera pas utilisée à des fins commerciales.">
<strong class="obligatoire">*</strong> Courriel
<div class="row-fluid">
<div class="span6 control-group has-tooltip" data-placement="bottom"
title="Saisissez le courriel avec lequel vous être inscrit à Tela Botanica.
Si vous n'êtes pas inscrit, ce n'est pas grave, vous pourrez le faire
ultérieurement. Des informations complémentaires vont vous être
demandées : prénom et nom.">
<label class="control-label" for="courriel">
<strong class="obligatoire">*</strong>
Courriel
</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">
<i class="icon-envelope"></i>
</span>
<input id="courriel" name="courriel" class="span11" type="text"/>
<input id="id_utilisateur" name="id_utilisateur" type="hidden"/>
</div>
</div>
</div>
<div id="zone-courriel-confirmation" class="span6 hidden control-group has-tooltip"
data-placement="bottom"
title="Saisissez à nouveau votre courriel afin de le confirmer. Le
copier/coller est désactivé pour éviter les erreurs.">
<label class="control-label" for="courriel_confirmation">
<strong class="obligatoire">*</strong>
Courriel (confirmation)
</label>
<input id="courriel" name="courriel" type="text" value=""/>
</li>
<li>
<label for="courriel_confirmation" class="oblig" title="Saisissez à nouveau votre adresse email pour la confirmer">
<strong class="obligatoire">*</strong> Courriel (confirmation)
<div class="controls">
<div class="input-prepend">
<span class="add-on">
<i class="icon-envelope"></i>
</span>
<input id="courriel_confirmation" name="courriel_confirmation"
class="span11" type="text"/>
</div>
</div>
</div>
</div>
<div id="zone-prenom-nom" class="row-fluid hidden">
<div class="span6 control-group">
<label for="prenom" class="control-label">
<strong class="obligatoire">*</strong>
Prénom
</label>
<input id="courriel_confirmation" name="courriel_confirmation" type="text" value=""/>
</li>
</ul>
<input id="prenom" name="prenom" class="span12" type="text"/>
</div>
<div class="span6 control-group">
<label for="nom" class="control-label">
<strong class="obligatoire">*</strong>
Nom
</label>
<div class="controls">
<input id="nom" name="nom" class="span12" type="text"/>
</div>
</div>
</div>
</fieldset>
</form>
<form id="form-obs" action="#" autocomplete="on">
<h2>Fiche de terrain</h2>
<div id="zone-fiche-terrain">
<fieldset id="partie-date">
299,7 → 402,7
<div id="chargement" style="position:fixed;z-index:1000;top:0;left:0;height:100%;width:100%;background:#777;background:rgba(90,86,93,0.7);text-align:center;display:none;">
<div id="chargement-centrage" style="position:relative;width:30%;margin:0 auto;top:30%;">
<img id="chargement-img" src="<?=$url_base?>modules/saisie/squelettes/sauvages/images/chargement_arbre.gif" alt="Transfert en cours..."/>
<img id="chargement-img" src="<?=$url_base?>modules/saisie/squelettes/sauvages/img/chargement_arbre.gif" alt="Transfert en cours..."/>
<p id="chargement-txt" style="color:white;font-size:1.5em;">
Transfert des observations en cours...<br />
Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre d'observation à transférer.
/trunk/widget/modules/saisie/squelettes/sauvages/img/logos/sdmr.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/img/logos/sdmr.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/marqueurs/fin.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/img/marqueurs/fin.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/marqueurs/debut.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/img/marqueurs/debut.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/chargement_arbre.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/img/chargement_arbre.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/favicon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/img/favicon.ico
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/pas_de_photo.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/pas_de_photo.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/supprimer.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/supprimer.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/calendrier.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/calendrier.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/chargement.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/widget/modules/saisie/squelettes/sauvages/img/icones/chargement.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/widget/modules/saisie/squelettes/sauvages/js/sauvages.js
1,5 → 1,14
//+---------------------------------------------------------------------------------------------------------+
// GÉNÉRAL
// GÉNÉRAL => OK
$(document).ready(function() {
if (DEBUG == false) {
$(window).on('beforeunload', function(event) {
return 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.';
});
}
});
//+----------------------------------------------------------------------------------------------------------+
// FONCTIONS GÉNÉRIQUES => OK
/**
* Stope l'évènement courrant quand on clique sur un lien.
* Utile pour Chrome, Safari...
10,23 → 19,110
if (evenement.stopPropagation) {
evenement.stopPropagation();
}
if (evenement.preventDefault) {
evenement.preventDefault();
}
return false;
}
 
// TODO : voir si cette fonction est bien utile. Résoud le pb d'un warning sous chrome.
(function(){
// remove layerX and layerY
var all = $.event.props,
len = all.length,
res = [];
while (len--) {
var el = all[len];
if (el != 'layerX' && el != 'layerY') res.push(el);
function extraireEnteteDebug(jqXHR) {
var msgDebug = '';
if (jqXHR.getResponseHeader('X-DebugJrest-Data') != '') {
var debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader('X-DebugJrest-Data'));
if (debugInfos != null) {
$.each(debugInfos, function (cle, valeur) {
msgDebug += valeur + "\n";
});
}
}
$.event.props = res;
}());
return msgDebug;
}
 
function afficherPanneau(selecteur) {
$(selecteur).fadeIn('slow').delay(DUREE_MESSAGE).fadeOut('slow');
}
 
//+----------------------------------------------------------------------------------------------------------+
//FORM IDENTITE : gestion de l'observateur => OK
 
$(document).ready(function() {
$('#courriel').on('blur', requeterIdentite);
$('#courriel').on('keypress', testerLancementRequeteIdentite);
});
 
function testerLancementRequeteIdentite(event) {
if (event.which == 13) {
requeterIdentite();
event.preventDefault();
event.stopPropagation();
}
}
 
function requeterIdentite() {
var courriel = $('#courriel').val();
//TODO: mettre ceci en paramètre de config
var urlAnnuaire = SERVICE_ANNUAIRE_ID_URL + courriel;
$.ajax({
url: urlAnnuaire,
type: 'GET',
success: function(data, textStatus, jqXHR) {
if (data != undefined && data[courriel] != undefined) {
var infos = data[courriel];
$('#id_utilisateur').val(infos.id);
$('#prenom').val(infos.prenom);
$('#nom').val(infos.nom);
$('#courriel_confirmation').val(courriel);
$('#prenom, #nom, #courriel_confirmation').attr('disabled', 'disabled');
$('#structure').focus();
} else {
surErreurCompletionCourriel();
}
},
error: function(jqXHR, textStatus, errorThrown) {
surErreurCompletionCourriel();
},
complete: function(jqXHR, textStatus) {
$('#zone-prenom-nom').removeClass('hidden');
$('#zone-courriel-confirmation').removeClass('hidden');
}
});
}
 
function surErreurCompletionCourriel() {
$('#prenom, #nom, #courriel_confirmation').val('');
$('#prenom, #nom, #courriel_confirmation').removeAttr('disabled');
afficherPanneau('#dialogue-courriel-introuvable');
}
 
function formaterNom() {
$(this).val($(this).val().toUpperCase());
}
 
function formaterPrenom() {
var prenom = new Array(),
mots = $(this).val().split(' ');
for (var i = 0; i < mots.length; i++) {
var mot = mots[i];
if (mot.indexOf('-') >= 0) {
var prenomCompose = new Array(),
motsComposes = mot.split('-');
for (var j = 0; j < motsComposes.length; j++) {
var motSimple = motsComposes[j],
motMajuscule = motSimple.charAt(0).toUpperCase() + motSimple.slice(1);
prenomCompose.push(motMajuscule);
}
prenom.push(prenomCompose.join('-'));
} else {
var motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1);
prenom.push(motMajuscule);
}
}
$(this).val(prenom.join(' '));
}
 
 
 
//+----------------------------------------------------------------------------------------------------------+
//UPLOAD PHOTO : Traitement de l'image
$(document).ready(function() {
$('#effacer-miniature').click(function () {
221,7 → 317,7
map: map,
draggable: true,
title: 'Début de la portion de rue étudiée',
icon: MARQUEUR_ICONE_DEBUT_URL,
icon: GOOGLE_MAP_MARQUEUR_DEBUT_URL,
position: latLng
});
337,7 → 433,7
map: map,
draggable: true,
title: 'Fin de la portion de rue étudiée',
icon: MARQUEUR_ICONE_FIN_URL,
icon: GOOGLE_MAP_MARQUEUR_FIN_URL,
position: latLngFin
});
462,10 → 558,28
}
 
//+---------------------------------------------------------------------------------------------------------+
// FORMULAIRE
//FORMULAIRE : traitements génériques
 
$(document).ready(function() {
$('#date').datepicker($.datepicker.regional['fr']);
$('#prenom').on('change', formaterPrenom);
$('#nom').on('change', formaterNom);
 
configurerDatePicker('#date');
$('#taxon-liste').on('change', surChangementTaxonListe);
$('.alert .close').on('click', fermerPanneauAlert);
$('.has-tooltip').tooltip('enable');
$('#btn-aide').on('click', basculerAffichageAide);
ajouterAutocompletionNoms();
configurerFormValidator();
definirReglesFormValidator();
//-------------------------------------------------------------------------------------------------------
// A NETTOYER :
 
$.validator.addMethod(
'dateCel',
function (value, element) {
473,31 → 587,6
},
'Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.');
$('form#saisie-obs').validate({
rules: {
courriel: {
required: true,
email: true},
courriel_confirmation: {
required: true,
equalTo: '#courriel'
},
rue_cote: 'required',
'milieu[]': {
required: true,
minlength: 1
},
latitude: {
required: true,
range: [-90, 90]},
longitude: {
required: true,
range: [-180, 180]},
date: {
required: true,
dateCel: true},
taxon: 'required'
},
messages: {
'milieu[]': 'Vous devez sélectionner au moins un milieu'
}
678,6 → 767,112
});
});
 
function configurerFormValidator() {
$.validator.addMethod(
'dateCel',
function (value, element) {
return value == '' || (/^[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}$/.test(value));
},
'Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.');
$.extend($.validator.defaults, {
ignore: [],// Forcer Jquery Validate à examiner les éléments avec en display:none;
highlight: function(element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function(element) {
element.text('OK!').addClass('valid');
element.closest('.control-group').removeClass('error').addClass('success');
if (element.attr('id') == 'taxon' && $('#taxon').val() != '') {
// Si le taxon n'est pas lié au référentiel, on vide le data associé
if ($('#taxon').data('value') != $('#taxon').val()) {
$('#taxon').data('numNomSel', '');
$('#taxon').data('nomRet', '');
$('#taxon').data('numNomRet', '');
$('#taxon').data('nt', '');
$('#taxon').data('famille', '');
}
}
}
});
}
 
function definirReglesFormValidator() {
$('#form-observateur').validate({
rules: {
courriel: {
required: true,
email: true},
courriel_confirmation: {
required: true,
equalTo: '#courriel'},
prenom: {
required: true},
nom: {
required: true}
}
});
$('#form-obs').validate({
rules: {
station: {
required: true},
latitude : {
required: true,
range: [-90, 90]},
longitude: {
required: true,
range: [-180, 180]},
date: {
required: true,
'dateCel' : true},
rue_cote: {
required: true},
'taxon-liste': {
required: true},
'milieux[]': {
required: true,
minlength: 1}
},
errorPlacement: function(error, element) {
if (element.attr('name') == 'date') {
element.parent('.input-prepend').after(error);
} else if (element.attr('name') == 'milieux[]') {
error.insertAfter('#milieux-controls');
} else {
error.insertAfter(element);
}
},
messages: {
'milieu[]': 'Vous devez sélectionner au moins un milieu'
}
});
}
 
function surChangementTaxonListe() {
if ($('#taxon-liste').val() === '?') {
$('#taxon-input-groupe').removeClass('hidden');
} else {
$('#taxon-input-groupe').addClass('hidden');
}
}
 
function configurerDatePicker(selector) {
$.datepicker.setDefaults($.datepicker.regional['fr']);
$(selector).datepicker({
dateFormat: 'dd/mm/yy',
showOn: 'button',
buttonImageOnly: true,
buttonImage: CALENDRIER_ICONE_URL,
buttonText: 'Afficher le calendrier pour saisir la date.',
showButtonPanel: true,
onSelect: function(date) {
$(this).valid();
}
});
$(selector + ' + img.ui-datepicker-trigger').appendTo(selector + '-icone.add-on');
}
 
function getB64ImgOriginal() {
var b64 = '';
if ($("#miniature-img").hasClass('b64')) {
/trunk/widget/modules/saisie/Saisie.php
117,7 → 117,7
$widget['donnees']['titre'] = ($widget['donnees']['titre'] == '0') ? '' : $widget['donnees']['titre'];
 
// cas du projet par défaut ou bien d'un projet n'ayant pas de squelette spécifique
if ($this->projet == 'defaut' || $this->projet == 'florileges' || !$this->projetASquelette()) {
if ($this->projet == 'defaut' || $this->projet == 'florileges' || $this->projet == 'sauvages' || !$this->projetASquelette()) {
$urlWsNsTpl = $this->config['chemins']['baseURLServicesEfloreTpl'];
$urlWsNs = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, $this->NS_PROJET, self::WS_NOM);
$urlWsNsSansRef = sprintf($urlWsNsTpl, self::EFLORE_API_VERSION, '{referentiel}', self::WS_NOM);
273,7 → 273,7
$infos = json_decode(file_get_contents($url_service_infos));
// trop de champs injectés dans les infos espèces peut
// faire planter javascript
$champs_a_garder = array('id', 'nom_sci','nom_sci_complet',
$champs_a_garder = array('id', 'nom_sci','nom_sci_complet',
'famille','nom_retenu.id', 'nom_retenu.libelle', 'num_taxonomique');
$resultat = array();
if (isset($infos) && !empty($infos)) {
281,7 → 281,7
if(isset($infos['nom_sci']) && $infos['nom_sci'] != '') {
$resultat = array_intersect_key($infos, array_flip($champs_a_garder));
$resultat['retenu'] = ($infos['id'] == $infos['nom_retenu.id']) ? "true" : "false";
}
}
}
return $resultat;
}