1 |
aurelien |
1 |
<?
|
|
|
2 |
$evenements = $_POST['evenements'];
|
|
|
3 |
|
|
|
4 |
//annee en cours
|
|
|
5 |
$anneeEnCours = date('Y');
|
|
|
6 |
|
|
|
7 |
if (sizeof($evenements)>0) {
|
|
|
8 |
|
|
|
9 |
$nbCases = 0;
|
|
|
10 |
$nbDatesNulles = 0;
|
|
|
11 |
foreach ($evenements as $numind => $individu) {
|
|
|
12 |
if (is_array($individu)) {
|
|
|
13 |
foreach ($individu as $numev => $datev) {
|
|
|
14 |
//foreach ($evenements as $numev => $datev) {
|
|
|
15 |
if (is_numeric($numev)) {
|
|
|
16 |
if (!estDate($datev[0],$datev[1],$datev[2]) && !estDateEnAttente($datev[0],$datev[1],$datev[2]))
|
|
|
17 |
$erreurs[0] = "Certains évènements n'ont pas de date correcte.";
|
|
|
18 |
else if (estDateEnAttente($datev[0],$datev[1],$datev[2]))
|
|
|
19 |
$nbsDatesNulles++;
|
|
|
20 |
$nbCases++;
|
|
|
21 |
}
|
|
|
22 |
}
|
|
|
23 |
}
|
|
|
24 |
}
|
|
|
25 |
/* if ($nbCases == $nbsDatesNulles)
|
|
|
26 |
$erreurs[] = "Il faut entrer au moins une date.";
|
|
|
27 |
*/}
|
|
|
28 |
|
|
|
29 |
//on traite le formu
|
|
|
30 |
if (isset($_POST['valid_modif']) && sizeof($erreurs)==0) {
|
|
|
31 |
|
|
|
32 |
foreach ($evenements as $numind => $individu) {
|
|
|
33 |
if (is_array($individu)) {
|
|
|
34 |
foreach ($individu as $numev => $datev) {
|
|
|
35 |
if (is_numeric($numev)) {
|
|
|
36 |
//doit-on mettre à jour une date ou en ajouter une une ?
|
|
|
37 |
$requete_verif = mysql_query("select MESURE_ID from MESURE where SEQUENCE_ID=".$_POST['sequence_id']." and EVENEMENT_ID=".$numind." and MESURE_INDIVIDU=$numev".
|
|
|
38 |
" AND MESURE_DATE!='0000-00-00' and MESURE_DATE>'".($anneeEnCours - 2)."-01-01'".
|
|
|
39 |
" and MESURE_DATE<'".($anneeEnCours+1)."-01-01'");
|
|
|
40 |
if ($verif = mysql_fetch_row($requete_verif)) {
|
|
|
41 |
//une obs à cette date pour cet individu existait déjà
|
|
|
42 |
if (estDate($datev[0],$datev[1],$datev[2])) {
|
|
|
43 |
//Cas de la maj
|
|
|
44 |
$requete_insert = "update MESURE set MESURE_DATE='".$datev[2]."-".$datev[1]."-".$datev[0]."' where MESURE_ID=".$verif[0];
|
|
|
45 |
} else if (estDateEnAttente($datev[0],$datev[1],$datev[2])) {
|
|
|
46 |
//Cas de la suppr
|
|
|
47 |
$requete_insert = "delete from MESURE where MESURE_ID=".$verif[0];
|
|
|
48 |
}
|
|
|
49 |
}
|
|
|
50 |
else if (estDate($datev[0],$datev[1],$datev[2])) {
|
|
|
51 |
//cas de l'insertion
|
|
|
52 |
$requete_insert = "insert into MESURE (SEQUENCE_ID, EVENEMENT_ID, MESURE_DATE, MESURE_INDIVIDU) values (".$_POST['sequence_id'].", $numind, '".$datev[2]."-".$datev[1]."-".$datev[0]."', $numev)";
|
|
|
53 |
}
|
|
|
54 |
|
|
|
55 |
if ($requete_insert && !mysql_query($requete_insert))
|
|
|
56 |
$erreurs[] = "La prise en compte de vos observations échoué, merci de réessayer.";
|
|
|
57 |
else if ($nbCases==$nbsDatesNulles) {
|
|
|
58 |
$requete_suppr = "delete from SEQUENCE where SEQUENCE_ID=".$_POST['sequence_id'];
|
|
|
59 |
if (!mysql_query($requete_suppr))
|
|
|
60 |
$erreurs[] = "Vos observations ont bien été supprimées mais il reste un problème.";
|
|
|
61 |
}
|
|
|
62 |
unset($requete_insert);
|
|
|
63 |
}
|
|
|
64 |
}
|
|
|
65 |
}
|
|
|
66 |
}
|
|
|
67 |
if (sizeof($erreurs)==0) {
|
|
|
68 |
$_SESSION['obsOK'] = 'ok';
|
|
|
69 |
|
|
|
70 |
// FIXME : ne fonctionne pas car des headers ont deja été envoyés, mais ou ?
|
|
|
71 |
//header("Location: article.php3?id_article=2");
|
|
|
72 |
redirect("article.php3?id_article=2");
|
|
|
73 |
}
|
|
|
74 |
afficherErreurs($erreurs);
|
|
|
75 |
|
|
|
76 |
}
|
|
|
77 |
|
|
|
78 |
else {
|
|
|
79 |
afficherErreurs($erreurs);
|
|
|
80 |
|
|
|
81 |
//on récupère les évènements observables sur l'espèce choisie
|
|
|
82 |
$requete_ev_txt = "select distinct ESPECE_EVENEMENT.EVENEMENT_ID, EVENEMENT_NOM FROM ESPECE_EVENEMENT, ESPECE, EVENEMENT, SEQUENCE where ESPECE_EVENEMENT.EVENEMENT_ID=EVENEMENT.EVENEMENT_ID and ESPECE_EVENEMENT.ESPECE_ID=ESPECE.ESPECE_ID and SEQUENCE.ESPECE_ID=ESPECE.ESPECE_ID and SEQUENCE_ID=$numseq and EVENEMENT_ACTIVE=1 order by EVENEMENT_ID";
|
|
|
83 |
|
|
|
84 |
$requete_ev = mysql_query($requete_ev_txt);
|
|
|
85 |
|
|
|
86 |
//on récupère les évènements déjà observés sur cette espèce
|
|
|
87 |
$requete_obs_annee = mysql_query("select MESURE_ID, EVENEMENT.EVENEMENT_ID, EVENEMENT_NOM, DATE_FORMAT(MESURE_DATE,'%d/%m/%Y'), MESURE_INDIVIDU from MESURE,EVENEMENT ".
|
|
|
88 |
"where EVENEMENT.EVENEMENT_ID=MESURE.EVENEMENT_ID".
|
|
|
89 |
" and MESURE.SEQUENCE_ID=$numseq".
|
|
|
90 |
" AND MESURE_DATE!='0000-00-00' and MESURE_DATE>'".($anneeEnCours - 2)."-01-01'".
|
|
|
91 |
" and MESURE_DATE<'".($anneeEnCours+1)."-01-01'".
|
|
|
92 |
" order by EVENEMENT.EVENEMENT_ID, MESURE_INDIVIDU");
|
|
|
93 |
|
|
|
94 |
|
|
|
95 |
while ($obs_annee = mysql_fetch_row($requete_obs_annee)) {
|
|
|
96 |
$observations[$obs_annee[1]][$obs_annee[4]] = $obs_annee;
|
|
|
97 |
}
|
|
|
98 |
|
|
|
99 |
?>
|
|
|
100 |
<form name="form_modif" method="post" action="<?= $url_page ?>">
|
|
|
101 |
|
|
|
102 |
<table class="spip">
|
|
|
103 |
<tr class="row_even" style="font-weight: bold; font-size: 11px;">
|
|
|
104 |
<td>Evènement</td>
|
|
|
105 |
<td>1er individu</td>
|
|
|
106 |
<td>2ème individu</td>
|
|
|
107 |
<td>3ème individu</td>
|
|
|
108 |
<td>4ème individu</td>
|
|
|
109 |
<td>5ème individu</td>
|
|
|
110 |
</tr>
|
|
|
111 |
Pour chaque évènement entrez la date moyenne d'observation :<br><br>
|
|
|
112 |
<?
|
|
|
113 |
$numligne=0;
|
|
|
114 |
$lignes = array("odd","even");
|
|
|
115 |
while ($ev = mysql_fetch_row($requete_ev)) {
|
|
|
116 |
?>
|
|
|
117 |
<tr class="row_<?= $lignes[$numligne] ?>"><td><?= $ev[1] ?></td>
|
|
|
118 |
<?
|
|
|
119 |
|
|
|
120 |
for ($i=0; $i<5; $i++) {
|
|
|
121 |
//valeurs par défaut, çàd si l'évènement n'a pas été observé
|
|
|
122 |
$jour ='jj';
|
|
|
123 |
$mois = 'mm';
|
|
|
124 |
$annee = $anneeEnCours;
|
|
|
125 |
$obs_courante = "";
|
|
|
126 |
|
|
|
127 |
if (is_array($observations[$ev[0]][$i+1]))
|
|
|
128 |
//cet individu a été observé
|
|
|
129 |
$obs_courante = $observations[$ev[0]][$i+1];
|
|
|
130 |
|
|
|
131 |
|
|
|
132 |
if (strlen($obs_courante[3])>0) {
|
|
|
133 |
$jour = substr($obs_courante[3],0,2);
|
|
|
134 |
$mois = substr($obs_courante[3],3,2);
|
|
|
135 |
$annee = substr($obs_courante[3],6,4);
|
|
|
136 |
}
|
|
|
137 |
|
|
|
138 |
if (isset($_POST['evenements'][$ev[0]][$i+1][0])) {
|
|
|
139 |
$jour = $_POST['evenements'][$ev[0]][$i+1][0];
|
|
|
140 |
}
|
|
|
141 |
if (isset($_POST['evenements'][$ev[0]][$i+1][1])) {
|
|
|
142 |
$mois = $_POST['evenements'][$ev[0]][$i+1][1];
|
|
|
143 |
}
|
|
|
144 |
if (isset($_POST['evenements'][$ev[0]][$i+1][2])) {
|
|
|
145 |
$annee = $_POST['evenements'][$ev[0]][$i+1][2];
|
|
|
146 |
}
|
|
|
147 |
|
|
|
148 |
?>
|
|
|
149 |
<td>
|
|
|
150 |
<input type="text" name="evenements[<?= $ev[0] ?>][<?= $i+1 ?>][0]" size="2" value="<?= $jour ?>">
|
|
|
151 |
<input type="text" name="evenements[<?= $ev[0] ?>][<?= $i+1 ?>][1]" size="2" value="<?= $mois ?>">
|
|
|
152 |
<input type="text" name="evenements[<?= $ev[0] ?>][<?= $i+1 ?>][2]" size="4" value="<?= $annee ?>">
|
|
|
153 |
</td>
|
|
|
154 |
|
|
|
155 |
<?
|
|
|
156 |
}
|
|
|
157 |
$numligne++;
|
|
|
158 |
if ($numligne==2)
|
|
|
159 |
$numligne = 0;
|
|
|
160 |
echo "</tr>";
|
|
|
161 |
}
|
|
|
162 |
?>
|
|
|
163 |
</table>
|
|
|
164 |
<input type="hidden" name="sequence_id" value="<?= $numseq ?>">
|
|
|
165 |
<input type="submit" class="submit" name="valid_modif" value="Valider">
|
|
|
166 |
<input type="hidden" name="etape" value="1">
|
|
|
167 |
</form>
|
|
|
168 |
<form name="retour" method="post" action"<?= $url_page ?>">
|
|
|
169 |
<input type="submit" class="submit" name="annul_modif" value="Annuler">
|
|
|
170 |
</form>
|
|
|
171 |
<? } ?>
|