Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2066 → Rev 2067

/trunk/services/modules/0.1/observations/ListeObservations.php
172,21 → 172,25
$this->evenements_obs = array();
foreach($evenements as &$evenement) {
$this->affecterTypeEvenement($evenement, $id_utilisateur);
$this->evenementsObs[$evenement['id_observation']][] = $evenement['type'];
$this->affecterTypeEvenement($evenement, $id_utilisateur, $evenement['id_observation']);
}
}
 
private function affecterTypeEvenement(&$evenement, $id_utilisateur) {
private function affecterTypeEvenement(&$evenement, $id_utilisateur, $id_observation) {
 
$type = "";
$infos = "";
// La date maximale détermine le type d'évènement
switch($evenement['date_max']) {
// Quelqu'un a fait un nouveau commentaire ou proposition
case $evenement['date_com']:
if(!empty($evenement['nom_sel_com'])) {
$type = 'nouvelle_proposition';
$type = 'nouvelle_proposition';
$infos = $evenement['proposition_commentaire_nom_sel'];
} else {
$type = 'nouveau_commentaire';
$type = 'nouveau_commentaire';
$infos = $evenement['proposition_commentaire_texte'];
}
// J'ai commenté ou fait une proposition
203,7 → 207,8
$type = 'nouvelle_reponse_autre_sur_proposition_vous';
} else {
$type = 'nouvelle_reponse_autre_sur_commentaire_vous';
}
}
$infos = $evenement['proposition_commentaire_texte_commente'];
break;
// Quelqu'un a fait un nouveau vote
case $evenement['date_vote']:
214,19 → 219,32
} else {
// Sur une proposition qui est à moi sur une observation (à moi ou non)
$type .= "_autre_sur_com_vous";
}
}
$infos = $evenement['proposition_commentaire_nom_sel_votee'];
break;
// Quelqu'un a validé une proposition
case $evenement['date_validation']:
$type = "nouvelle_validation_autre_sur_prop_vous";
$type = "nouvelle_validation_autre_sur_prop_vous";
$infos = $evenement['proposition_validee_nom_sel'];
// $type = "nouvelle_validation_vous_a_prop_autre";
break;
// Cas qui ne devrait jamais arriver
default:
$type = 'inconnu';
$type = 'inconnu';
$infos = "";
}
$evenement['type'] = $type;
$infos_evts = array('type' => $type, 'infos_complementaires' => $infos);
// La requête est un peu trop complexe et certains évènements sortent en doublons
// donc on dédoublonne ici (mais ça n'est pas une solution pérenne)
// TODO: optimiser et simplifier ceci
if(empty($this->evenementsObs[$id_observation])) {
$this->evenementsObs[$id_observation] = array();
}
if(array_search($infos_evts, $this->evenementsObs[$id_observation]) === false) {
$this->evenementsObs[$id_observation][] = $infos_evts;
}
}
 
/**