79,8 → 79,7 |
|
$date_observation_formatee = date($this->config['appli']['format_date'], strtotime($observation_individu['oo_date'])); |
|
$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade] = $date_observation_formatee; |
$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade] = $date_observation_formatee; |
$liste_observation_individu_formatees[$annee_obs][$titre_stade][$numero_stade][$observation_individu['oo_id_observation']] = $date_observation_formatee; |
} |
|
} |
99,7 → 98,7 |
*/ |
public function updateElement($uid, $params) { |
|
$elements_requis = array('id_participant','id_individu'); |
$elements_requis = array('id_participant','id_individu', 'id_evenement', 'date_evenement'); |
$erreurs = array(); |
|
foreach($elements_requis as $requis) { |
116,39 → 115,51 |
|
if(!empty($erreurs)) { |
$this->envoyer($erreurs); |
exit; |
} |
|
$id_participant = $params['id_participant']; |
unset($params['id_participant']); |
$id_individu = $params['id_individu']; |
unset($params['id_individu']); |
|
$requete_obs_deja_saisies_cette_annee = 'SELECT * FROM ods_observations WHERE oo_ce_individu = '.$this->proteger($id_individu).' '. |
'AND oo_ce_participant = '.$this->proteger($id_participant).' '. |
'AND YEAR(oo_date) = '.$this->proteger($annee_en_cours); |
$a_modifier_ou_inserer = !empty($params['id_observation']) ? $params['id_observation'] : false; |
$retour = array(); |
|
$obs_deja_saisies_cette_annee = $this->executerRequete($requete_obs_deja_saisies_cette_annee); |
$date_evenement = $this->formaterDateObservationPourBdd($params['date_evenement']); |
|
foreach($params as $cle => $valeur) { |
if($est_une_valeur_obs = $this->renvoyerIdEvenementSiChampDeFormulaireObservation($cle)) { |
// dans le cas des ajouts ou modifications on vérifie que l'on insère pas une date |
// déjà existante, car ça n'a pas de sens pour un même individu et stade |
if (strpos($date_evenement, '00-00') === false) { |
$requete_existe_avec_cette_date = 'SELECT * FROM ods_observations '. |
'WHERE oo_ce_participant = '.$this->proteger($id_participant).' AND '. |
'oo_ce_individu = '.$this->proteger($id_individu).' AND '. |
'oo_ce_evenement = '.$this->proteger($params['id_evenement']).' AND '. |
'oo_date = '.$this->proteger($date_evenement); |
$resultat_requete_existe_avec_cette_date = $this->executerRequete($requete_existe_avec_cette_date); |
|
$valeur = $this->formaterDateObservationPourBdd($valeur); |
if(!empty($resultat_requete_existe_avec_cette_date)) { |
$this->envoyer([ |
'erreurs' => [ |
'date' => 'Une observation à cette date existe déjà pour ce stade et cet individu' |
] |
]); |
exit; |
} |
} |
|
$obs_a_traiter = array('date_evenement' => $valeur, |
'id_evenement' => $est_une_valeur_obs, |
'id_individu' => $id_individu, |
$obs_a_traiter = array( |
'date_evenement' => $date_evenement, |
'id_evenement' => $params['id_evenement'], |
'id_individu' => $params['id_individu'], |
'commentaire' => ''); |
|
if($a_modifier_ou_inserer = $this->renvoyerIdObservationSiEvenementDejaObserveCetteAnnee($est_une_valeur_obs,$obs_deja_saisies_cette_annee)) { |
if($a_modifier_ou_inserer) { |
$obs_a_traiter['id_observation'] = $a_modifier_ou_inserer; |
$this->modifierObservation($id_participant, $obs_a_traiter); |
} else { |
$this->insererObservation($id_participant, $obs_a_traiter); |
$retour = ['id_observation' => $this->insererObservation($id_participant, $obs_a_traiter)]; |
} |
} |
} |
|
$this->envoyer(); |
$this->envoyer($retour); |
} |
|
private function insererObservation($id_participant, $donnees_obs_a_inserer) { |
178,7 → 189,8 |
'NOW()'. |
')'; |
|
return $this->executerRequeteSimple($requete_nouvelle_observation); |
$this->executerRequeteSimple($requete_nouvelle_observation); |
return $this->renvoyerDernierIdInsere(); |
} |
|
private function modifierObservation($id_participant, $donnees_obs_a_inserer) { |
236,14 → 248,9 |
if($this->estUneDateInvalide($date_tab[1],$date_tab[0],$date_tab[2])) { |
$date_a_renvoyer = $date_tab[2].'-'.$date_tab[1].'-'.$date_tab[0]; |
} else { |
|
if(!ereg($pattern_date_simple, $date)) { |
$time = strtotime($date); |
$date_a_renvoyer = date('Y-m-d', $time); |
} |
|
$date_a_renvoyer = date('Y-m-d h:i:s', $time); |
} |
|
return $date_a_renvoyer; |
} |
|