Subversion Repositories Sites.obs-saisons.fr

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
<? } ?>