Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2106 → Rev 2140

/trunk/services/modules/0.1/observations/ListeObservations.php
73,7 → 73,7
$this->chargerDeterminations();
 
$resultat->corps = array(
'entete' => $this->navigation->getEntete(),
'entete' => $this->navigation->getEntete(),
// 5) Applatissage du tableau afin de garder l'ordre de tri
// (qui n'est pas garanti dans un objet json)
'resultats' => array_values($this->infosObsOrdonnees));
107,28 → 107,29
}
private function renvoyerRequeteSelonType() {
if($this->monActiviteEstDemandee()) {
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
if($this->monActiviteEstDemandee()) {
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
$utilisateur = $gestion_utilisateur->getUtilisateur();
if ($utilisateur['connecte'] === true) {
$id_utilisateur = $utilisateur['id_utilisateur'];
if ($utilisateur['connecte'] === true) {
$id_utilisateur = $utilisateur['id_utilisateur'];
$requete = $this->sql->getRequeteIdObsMonactiviteTout($id_utilisateur, $this->sql->getLimit()).' -- '.__FILE__.':'.__LINE__;
// Enregistrement de la date de consultation pour ne pas réafficher des événements déjà consultés
$gestion_utilisateur->setDerniereDateConsultationEvenements($id_utilisateur, date('Y-m-d H:i:s'));
} else {
//TODO: que faire si l'on n'est pas connecté ?
}
} else {
$requete = 'SELECT SQL_CALC_FOUND_ROWS id_observation '.
'FROM del_observation AS do '.
$this->sql->getJoin().
'WHERE '.$this->sql->getWhere().
$this->sql->getGroupBy().
$this->sql->getOrderBy().
$this->sql->getLimit().
' -- '.__FILE__.':'.__LINE__;
}
} else {
$requete = 'SELECT SQL_CALC_FOUND_ROWS id_observation '.
'FROM del_observation AS do '.
$this->sql->getJoin().
'WHERE '.$this->sql->getWhere().
$this->sql->getGroupBy().
$this->sql->getOrderBy().
$this->sql->getLimit().
' -- '.__FILE__.':'.__LINE__;
}
/*echo "REQ: "; var_dump($requete);
exit;*/
return $requete;
}
155,8 → 156,8
"WHERE id_observation IN ($idsObsConcat) ".
' -- '.__FILE__.':'.__LINE__;
if ($this->monActiviteEstDemandee()) {
$this->stockerEvenementsObs($idsObsConcat);
if ($this->monActiviteEstDemandee()) {
$this->stockerEvenementsObs($idsObsConcat);
}
//Debug::printr($requete);
163,11 → 164,11
return $this->bdd->recupererTous($requete);
}
private function stockerEvenementsObs($idsObsConcat) {
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
$utilisateur = $gestion_utilisateur->getUtilisateur();
$id_utilisateur = $utilisateur['id_utilisateur'];
private function stockerEvenementsObs($idsObsConcat) {
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
$utilisateur = $gestion_utilisateur->getUtilisateur();
$id_utilisateur = $utilisateur['id_utilisateur'];
$evenements = $this->sql->getEvenementsObs($idsObsConcat, $id_utilisateur);
$this->evenements_obs = array();
181,37 → 182,37
$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'])) {
// 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';
$infos = $evenement['proposition_commentaire_nom_sel'];
} else {
$infos = $evenement['proposition_commentaire_nom_sel'];
} else {
$type = 'nouveau_commentaire';
$infos = $evenement['proposition_commentaire_texte'];
$infos = $evenement['proposition_commentaire_texte'];
}
// J'ai commenté ou fait une proposition
if($evenement['utilisateur_commentaire'] == $id_utilisateur) {
$type .= "_vous_a_obs_autre";
} else {
} else {
$type .= "_autre_sur_obs_vous";
}
}
break;
 
// Quelqu'un a répondu à un de mes commentaires ou une de mes propositions
case $evenement['date_com_reponse']:
if(!empty($evenement['nom_sel_com_parent'])) {
$type = 'nouvelle_reponse_autre_sur_proposition_vous';
} else {
$type = 'nouvelle_reponse_autre_sur_commentaire_vous';
if(!empty($evenement['nom_sel_com_parent'])) {
$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']:
$infos = $evenement['proposition_commentaire_texte_commente'];
break;
// Quelqu'un a fait un nouveau vote
case $evenement['date_vote']:
$type = 'nouveau_vote';
// Sur une proposition qui n'est pas à moi sur une observation à moi
if($evenement['utilisateur_commentaire_vote'] != $evenement['utilisateur_observation'] && $evenement['utilisateur_commentaire_vote'] != $id_utilisateur) {
220,19 → 221,19
// 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']:
$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";
$infos = $evenement['proposition_validee_nom_sel'];
// $type = "nouvelle_validation_vous_a_prop_autre";
break;
// Cas qui ne devrait jamais arriver
default:
$infos = $evenement['proposition_validee_nom_sel'];
// $type = "nouvelle_validation_vous_a_prop_autre";
break;
// Cas qui ne devrait jamais arriver
default:
$type = 'inconnu';
$infos = "";
$infos = "";
}
$infos_evts = array('type' => $type, 'infos_complementaires' => $infos);
357,12 → 358,12
}
private function chargerNombreCommentaireObs() {
$idObsConcat = implode(',', $this->idsObsOrdonnees);
$requete = 'SELECT ce_observation, COUNT( id_commentaire ) AS nb '.
'FROM del_commentaire '.
"WHERE ce_observation IN ($idObsConcat) ".
'GROUP BY ce_observation '.
'-- '.__FILE__.':'.__LINE__;
$idObsConcat = implode(',', $this->idsObsOrdonnees);
$requete = 'SELECT ce_observation, COUNT( id_commentaire ) AS nb '.
'FROM del_commentaire '.
"WHERE ce_observation IN ($idObsConcat) ".
'GROUP BY ce_observation '.
'-- '.__FILE__.':'.__LINE__;
$commentaires = $this->bdd->recupererTous($requete);
$commentaires_par_obs = array();
369,8 → 370,8
foreach($commentaires as $commentaire) {
$commentaires_par_obs[$commentaire['ce_observation']] = $commentaire['nb'];
}
return $commentaires_par_obs;
return $commentaires_par_obs;
}
 
private function chargerNombreCommentaire($propositionId) {