Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 43 | Rev 63 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 43 Rev 44
Line 54... Line 54...
54
    	
54
    	
55
    	$individus = $station->getIndividusStationPourEspece($id_station,$id_espece);
55
    	$individus = $station->getIndividusStationPourEspece($id_station,$id_espece);
Line 56... Line 56...
56
    	foreach($individus as &$individu) {
56
    	foreach($individus as &$individu) {
57
    		
57
    		
58
    		$observation = new Observation();
58
    		$observation = new Observation();
-
 
59
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id_individu']);
59
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id']);
60
    		$individu['url'] = aControleur::getUrlConsultationFicheIndividu($id_station,$id_espece, $individu['id_individu']);
Line 60... Line 61...
60
    		$individu['url'] = aControleur::getUrlConsultationFicheIndividu($individu['id'],$individu['id']);
61
    		
-
 
62
    	}
61
    	}
63
    	
62
 
64
    	$donnees['evenements'] = $evenements;
63
    	$donnees['evenements'] = $evenements;
65
    	$donnees['stades'] = $this->aplatirListeEvenementHierachiseeEnListeParStades($evenements);
-
 
66
    	$donnees['individus'] = $individus;
-
 
67
    	$donnees['id_station'] = $_GET['id_station'];
-
 
68
    	$donnees['id_espece'] = $_GET['id_espece'];
-
 
69
    	
-
 
70
    	if(isset($_GET['annee'])) {
-
 
71
    		$donnees['annee'] = $_GET['annee'];
-
 
72
    	} else {
64
    	$donnees['individus'] = $individus;
73
    		$donnees['annee'] = date('Y');
Line 65... Line 74...
65
    	$donnees['id_station'] = $_GET['id_station'];
74
    	}
66
    	$donnees['id_espece'] = $_GET['id_espece'];
75
    	
Line 85... Line 94...
85
    	
94
    	
Line 86... Line 95...
86
    	$valeurs_verifiees = array();
95
    	$valeurs_verifiees = array();
87
    	
96
    	
-
 
97
    	$observation_dao = new ObservationDao();
88
    	$observation_dao = new ObservationDao();
98
    	$observation_dao->ajouterObservation($valeurs_verifiees);
Line 89... Line 99...
89
    	$observation_dao->ajouterObservation($valeurs_verifiees);
99
    	
Line -... Line 100...
-
 
100
    }
-
 
101
    
-
 
102
    public function validerFormulaireModificationObservation() {
-
 
103
    	    	
-
 
104
    	$valeurs_verifiees = $this->collecterValeursFormulaireModificationObservation();
90
    }
105
    	
-
 
106
    	$observation_dao = new ObservationDao();
-
 
107
    	$observation_dao->modifierObservation($valeurs_verifiees['id_individu'], $valeurs_verifiees);
-
 
108
    	
-
 
109
    	$individu = new Individu();
Line 91... Line 110...
91
    
110
    	
92
    public function validerFormulaireModificationObservation() {
-
 
Line 93... Line 111...
93
    	
111
    	$this->setSortie(self::RENDU_CORPS, $individu->getListeIndividu());
Line 94... Line 112...
94
    	$valeurs_formulaires = $_POST;
112
    	
-
 
113
    }
95
    	
114
    
Line -... Line 115...
-
 
115
	private function collecterValeursFormulaireModificationObservation() {
-
 
116
		
-
 
117
		$valeurs_verifiees = array();
-
 
118
		
-
 
119
		foreach($_POST as $nom_champ => $valeur) {
-
 
120
			
-
 
121
			$id_si_est_champ_observation = $this->renvoyerIdEvenementSiChampDeFormulaireObservation($nom_champ);
-
 
122
			
-
 
123
			if($id_si_est_champ_observation && trim($valeur) != '') {
-
 
124
				$valeurs_verifiees[$nom_champ] = $valeur;
-
 
125
			}
-
 
126
		}
-
 
127
		
-
 
128
    	$valeurs_verifiees['id_individu'] = $_POST['id_individu'];
-
 
129
	    $valeurs_verifiees['annee_en_cours'] =  $_POST['annee_en_cours'];
-
 
130
	    
-
 
131
	    //TODO: verifier valeurs plus complètement
-
 
132
	    
-
 
133
	    return $valeurs_verifiees;
-
 
134
    	
-
 
135
    }
-
 
136
    
-
 
137
    private function renvoyerIdEvenementSiChampDeFormulaireObservation($champ) {
96
    	Debug::printr($valeurs_formulaires);
138
    	    	
Line 97... Line 139...
97
    	exit;
139
    	$tab_champ = split('observation_',$champ);
98
    	
140
    	
99
    	$valeurs_verifiees = array();
141
    	if(count($tab_champ) > 1 && is_numeric($tab_champ[1])) {
Line 110... Line 152...
110
    	$observation_dao = new ObservationDao();
152
    	$observation_dao = new ObservationDao();
111
    	$observations_pour_individu = $observation_dao->getListeObservationsPourIndividu($id_individu, $annee);
153
    	$observations_pour_individu = $observation_dao->getListeObservationsPourIndividu($id_individu, $annee);
Line 112... Line 154...
112
    	
154
    	
113
    	return $observations_pour_individu;
155
    	return $observations_pour_individu;
-
 
156
    }
-
 
157
    
-
 
158
        
-
 
159
    private function aplatirListeEvenementHierachiseeEnListeParStades($liste_evenements_hierarchisee) {
-
 
160
    	
-
 
161
    	$liste_evenements_plate_par_stade = array();
-
 
162
    	
-
 
163
    	foreach($liste_evenements_hierarchisee as $evenement_hierarchise) {
-
 
164
    		foreach($evenement_hierarchise['stades'] as $id_stade => $stade) {
-
 
165
    			$liste_evenements_plate_par_stade[$id_stade] = $stade;
-
 
166
    		}
-
 
167
    	}
-
 
168
    	
-
 
169
    	return $liste_evenements_plate_par_stade;
-
 
170
    }
-
 
171
    
-
 
172
    // +---------------------------------------------------------------------------------------------------------------+
-
 
173
    // METHODES UTILITAIRES STATIQUES (UTILES POUR LES FORMULAIRES)
-
 
174
    public static function individuAObservationValidePourStade($individu, $annee, $evenement, $id_stade) {
-
 
175
    	
-
 
176
    	return (isset($individu['observations'][$annee][$evenement][$id_stade]) && trim($individu['observations'][$annee][$evenement][$id_stade]) != '');
-
 
177
    }
-
 
178
    
-
 
179
    public static function renvoyerObservationStadePourIndividu($individu, $annee, $evenement, $id_stade) {
-
 
180
    	    	
-
 
181
    	if(self::individuAObservationValidePourStade($individu, $annee, $evenement, $id_stade)) {
-
 
182
    		return $individu['observations'][$annee][$evenement][$id_stade];
-
 
183
    	}
-
 
184
    	
-
 
185
    	return '';
114
    }
186
    } 
115
} 
187
}