/trunk/widget/modules/saisie/squelettes/biodiversite34/css/biodiversite34.css |
---|
New file |
0,0 → 1,88 |
@CHARSET "UTF-8"; |
html { |
overflow:hidden; |
} |
body { |
overflow:hidden; |
padding:0; |
margin:0; |
width:100%; |
height:100%; |
font-family:Arial; |
font-size:12px; |
background-color:#4A4B4C; |
color:#CCC; |
} |
h1 { |
font-size:1.6em; |
} |
h2 { |
font-size:1.4em; |
} |
a, a:active, a:visited { |
border-bottom:1px dotted #666; |
color:#CCC; |
text-decoration:none; |
} |
a:active { |
outline:none; |
} |
a:focus { |
outline:thin dotted; |
} |
a:hover { |
color:#56B80E; |
border-bottom:1px dotted #56B80E; |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Présentation des listes de définitions */ |
dl { |
width:100%; |
} |
dt { |
float:left; |
font-weight:bold; |
text-align:top left; |
margin-right:0.3em; |
} |
dd { |
width:auto; |
margin:0.5em 0; |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Tableau : */ |
table { |
border:1px solid gray; |
border-collapse:collapse; |
} |
table thead, table tfoot, table tbody { |
background-color:Gainsboro; |
border:1px solid gray; |
color:black; |
} |
table tbody { |
background-color:#FFF; |
} |
table th { |
font-family:monospace; |
border:1px dotted gray; |
padding:5px; |
background-color:Gainsboro; |
} |
table td { |
font-family:arial; |
border:1px dotted gray; |
padding:5px; |
text-align:left; |
} |
table caption { |
font-family:sans-serif; |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Générique */ |
.nettoyage{ |
clear:both; |
} |
hr.nettoyage{ |
visibility:hidden; |
} |
/trunk/widget/modules/saisie/squelettes/biodiversite34/js/biodiversite34.js |
---|
New file |
0,0 → 1,42 |
$(function() { |
$("#date").datepicker($.datepicker.regional['fr']); |
$("#courriel-confirmation").bind('paste', function(e) { |
$("#dialogue-bloquer-copier-coller").dialog(); |
return false; |
}); |
var obsNumero = 0; |
$("#ajouter-obs").click(function(e) { |
obsNumero = obsNumero + 1; |
$("#liste-obs tbody").append( |
'<tr id="obs-'+obsNumero+'">'+ |
'<td>'+obsNumero+'</td>'+ |
'<td>'+$("#date").val()+'</td>'+ |
'<td>'+$("#taxon option:selected").text()+'</td>'+ |
'<td>'+$("#notes").val()+'</td>'+ |
'<td><button class="supprimer-obs" value="'+obsNumero+'">Supprimer</button></td>'+ |
'</tr>'); |
$("#liste-obs").data('obs-id:'+obsNumero, {'date' : $("#date").val(), 'taxon' : $("#taxon").val()}); |
}); |
$(".supprimer-obs").live('click', function() { |
var obsId = $(this).val(); |
$('#obs-'+obsId).remove(); |
$("#liste-obs").removeData('obs-id:'+obsId) |
}); |
$( "#tramsmettre-obs").click(function(e) { |
var observations = $("#liste-obs").data(); |
if (observations == undefined) { |
$("#dialogue-zero-obs").dialog(); |
} else { |
$.each(observations, function (obsId, value) { |
$.each(value, function (key, value) { |
alert(obsId+' : '+key + '=' + value); |
}); |
}); |
} |
}); |
}); |
/trunk/widget/modules/saisie/squelettes/biodiversite34/biodiversite34.tpl.html |
---|
New file |
0,0 → 1,119 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<title>Biodiversité 34</title> |
<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="revisit-after" content="15 days" /> |
<meta name="robots" content="index,follow" /> |
<meta name="author" content="Delphine CAUQUIL, Jean-Pascal MILCENT" /> |
<meta name="keywords" content="Tela Botanica, Biodiversité34, CG34, CEL" /> |
<meta name="description" content="Widget de saisie simplifié pour le projet Biodiversité 34" /> |
<!-- Favicones --> |
<link rel="icon" type="image/png" href="http://www.tela-botanica.org/sites/commun/generique/images/favicones/tela_botanica.png" /> |
<link rel="shortcut icon" type="image/x-icon" href="http://www.tela-botanica.org/sites/commun/generique/images/favicones/tela_botanica.ico" /> |
<!-- Javascript : bibliothèques --> |
<!-- Google Map v3 --> |
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.3&sensor=true"></script> |
<!-- Jquery --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.6/jquery-1.6.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.13/js/jquery-ui-1.8.13.custom.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.13/js/jquery.ui.datepicker-fr.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.js"></script> |
<script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/biodiversite34/js/biodiversite34.js"></script> |
<!-- CSS --> |
<link href="<?=$url_base?>modules/saisie/squelettes/biodiversite34/css/biodiversite34.css" rel="stylesheet" type="text/css" media="screen" /> |
<link rel="stylesheet" href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.13/css/ui-darkness/jquery-ui-1.8.13.custom.css" type="text/css" media="screen" /> |
<link rel="stylesheet" href="http://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" /> |
<!-- Stats : Google Analytics --> |
<script type="text/javascript"> |
//<![CDATA[ |
var _gaq = _gaq || []; |
_gaq.push(['_setAccount', 'UA-20092557-1']); |
_gaq.push(['_trackPageview']); |
(function() { |
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; |
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
})(); |
//]]> |
</script> |
</head> |
<body> |
<h1>Biodiversité 34</h1> |
<h2>Saisie des observations</h2> |
<form action="#"> |
<fieldset> |
<legend>Identification</legend> |
<label for="prenom">Prénom</label> |
<input id="prenom" name="prenom" type="text" value="" /> |
<label for="nom">NOM</label> |
<input id="nom" name="nom" type="text" value="" /> |
<label for="courriel">Courriel</label> |
<input id="courriel" name="courriel" type="text" value="" /> |
<label for="courriel-confirmation">Courriel (confirmation)</label> |
<input id="courriel-confirmation" name="courriel-confirmation" type="text" value="" /> |
</fieldset> |
<fieldset> |
<legend>Station / Localisation</legend> |
<label for="milieu">Milieu</label> |
<select id="milieu" name="milieu"> |
<option value="Trottoir">Trottoir</option> |
</select> |
<label for="latitude">Latitude</label> |
<input id="latitude" name="latitude" type="text" value="" /> |
<label for="longitude">Longitude</label> |
<input id="longitude" name="longitude" type="text" value="" /> |
<button type="button">Repérer la localisation sur une carte Google Map</button> |
</fieldset> |
<fieldset> |
<legend>Observation</legend> |
<label for="date">Date</label> |
<input id="date" name="date" type="text" value="" /> |
<label for="taxon">Espèce</label> |
<select id="taxon" name="taxon"> |
<?php foreach ($taxons as $taxon) : ?> |
<option value="<?=$taxon['num_nom_sel']?>"><?=$taxon['nom_fr']?></option> |
<?php endforeach; ?> |
</select> |
<label for="notes">Notes</label> |
<textarea id="notes" name="notes"></textarea> |
<button id="ajouter-obs" type="button">Ajouter</button> |
</fieldset> |
</form> |
<h2>Liste des observations à transmettre</h2> |
<form action="#"> |
<table id="liste-obs"> |
<thead><tr><th>Numéro</th><th>Date</th><th>Nom</th><th>Notes</th><th>Suppression</th></tr></thead> |
<tbody></tbody> |
</table> |
<button id="tramsmettre-obs" type="button">Transmettre</button> |
</form> |
<div id="dialogue-bloquer-copier-coller" style="display: none;" title="Information copier/coller"> |
<p> |
Merci de ne pas copier/coller votre courriel.<br/> |
La double saisie permet de vérifier l'absence d'erreurs. |
</p> |
</div> |
<div id="dialogue-zero-obs" style="display: none;" title="Information aucune observation"> |
<p> |
Veuillez saisir des observations pour les transmettres. |
</p> |
</div> |
</body> |
</html> |
/trunk/widget/modules/saisie/Saisie.php |
---|
New file |
0,0 → 1,87 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Widget fournissant des interfaces de saisies simplifiée pour différent projets. |
* Encodage en entrée : utf8 |
* Encodage en sortie : utf8 |
* |
* Cas d'utilisation et documentation : |
* @link http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=AideCELWidgetSaisie |
* |
* Paramètres : |
* ===> projet = chaine [par défaut : Biodiversite34] |
* Indique quel projet nous voulons charger |
* |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @version $Id$ |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
*/ |
class Saisie extends WidgetCommun { |
const DS = DIRECTORY_SEPARATOR; |
const PROJET_DEFAUT = 'biodiversite34'; |
/** |
* Méthode appelée par défaut pour charger ce widget. |
*/ |
public function executer() { |
$retour = null; |
extract($this->parametres); |
if (!isset($projet)) { |
$projet = self::PROJET_DEFAUT; |
} |
$methode = $this->traiterNomMethodeExecuter($projet); |
if (method_exists($this, $methode)) { |
$retour = $this->$methode(); |
} else { |
$this->messages[] = "Ce type de service '$methode' n'est pas disponible."; |
} |
if (is_null($retour)) { |
$contenu = 'Un problème est survenu : '.print_r($this->messages, true); |
} else { |
$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$projet.self::DS.$retour['squelette'].'.tpl.html'; |
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']); |
} |
$this->envoyer($contenu); |
} |
public function executerBiodiversite34() { |
$widget['squelette'] = 'biodiversite34'; |
$widget['donnees'] = array(); |
$widget['donnees']['url_base'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], ''); |
$widget['donnees']['taxons'] = $this->recupererListeTaxonBiodiversite34(); |
return $widget; |
} |
private function recupererListeTaxonBiodiversite34() { |
$taxons = null; |
$fichier_tsv = dirname(__FILE__).self::DS.'configurations'.self::DS.'biodiversite34_taxons.tsv'; |
if (file_exists($fichier_tsv) && is_readable($fichier_tsv)) { |
$taxons = $this->decomposerFichierTsv($fichier_tsv); |
} else { |
$this->debug[] = "Impossible d'ouvrir le fichier '$fichier_tsv'."; |
} |
return $taxons; |
} |
private function decomposerFichierTsv($fichier, $delimiter = "\t"){ |
$header = NULL; |
$data = array(); |
if (($handle = fopen($fichier, 'r')) !== FALSE) { |
while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) { |
if (!$header) { |
$header = $row; |
} else { |
$data[] = array_combine($header, $row); |
} |
} |
fclose($handle); |
} |
return $data; |
} |
} |
/trunk/widget/modules/saisie/configurations/CG34_ObsBiodiv_Flore_recap definitif 22 04 2011.xls |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/widget/modules/saisie/configurations/CG34_ObsBiodiv_Flore_recap definitif 22 04 2011.xls |
---|
New file |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/widget/modules/saisie/configurations/biodiversite34_taxons.tsv |
---|
New file |
0,0 → 1,4 |
nom_sel num_nom_sel nom_ret num_nom_ret num_taxon famille nom_fr |
Pancratium maritimum L. 47379 Pancratium maritimum L. 47379 5834 Amaryllidaceae Lis de mer |
Echinophora spinosa L. 23444 Echinophora spinosa L. 23444 166 Apiaceae Panais épineux |
Calystegia soldanella (L.) Roem. & Schult. 12352 Calystegia soldanella (L.) Roem. & Schult. 12352 2450 Convolvulaceae Liserons de mer |