Subversion Repositories eFlore/Applications.del

Rev

Rev 1649 | Rev 1683 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1649 Rev 1678
Line 41... Line 41...
41
			$this->traiterErreur($e->getMessage());
41
			$this->traiterErreur($e->getMessage());
42
		}
42
		}
43
	}
43
	}
Line 44... Line 44...
44
 
44
 
45
	protected function chargerCommentairesAjourdhui() {
-
 
46
		$preferences = $this->conteneur->getBdd()->proteger('%"mail_notification_mes_obs":"0"%');
45
	protected function chargerCommentairesAjourdhui() {
47
		// TODO: optimiser la requête si beaucoup de mails sont envoyés
46
		// TODO: optimiser la requête si beaucoup de mails sont envoyés
48
		$requete = "SELECT * ".
47
		$requete = "SELECT * ".
-
 
48
			"FROM del_commentaire AS dc ".
49
			"FROM del_commentaire AS dc ".
49
			// commentaires qui ont été fait sur une observation
50
			"WHERE dc.ce_observation != '0' ".
50
			"WHERE dc.ce_observation != '0' ".
-
 
51
			"AND dc.id_commentaire NOT IN ".
51
			"AND dc.id_commentaire NOT IN ".
52
			// commentaires qui ne sont pas la proposition initiale
52
			"( ".
53
			"( ".
53
			"	SELECT dc.id_commentaire ".
54
			"	SELECT dc.id_commentaire ".
54
			"	FROM del_commentaire AS dc, del_observation AS dob".
55
			"	FROM del_commentaire AS dc, del_observation AS dob".
55
			"	WHERE dc.nom_sel = dob.nom_sel ".
56
			"	WHERE dc.nom_sel = dob.nom_sel ".
56
			"		AND dc.ce_utilisateur = dob.ce_utilisateur ".
57
			"		AND dc.ce_utilisateur = dob.ce_utilisateur ".
57
			"		AND dc.ce_observation = dob.id_observation ".
58
			"		AND dc.ce_observation = dob.id_observation ".
58
			") ".
-
 
59
			"AND dc.ce_utilisateur NOT IN ".
-
 
60
			"( ".
-
 
61
			"	SELECT id_utilisateur ".
-
 
62
			"	FROM del_utilisateur_infos ".
59
			") ".
63
			"	WHERE preferences LIKE $preferences ".
-
 
64
			") ".
60
			// et qui ont été fait dans la journée
65
			"AND TO_DAYS(NOW()) - TO_DAYS(dc.date) <= 1 ".
61
			"AND TO_DAYS(NOW()) - TO_DAYS(dc.date) <= 1 ".
66
			"ORDER BY dc.ce_observation";
62
			"ORDER BY dc.ce_observation";
67
		$commentaires = $this->conteneur->getBdd()->recupererTous($requete);
63
		$commentaires = $this->conteneur->getBdd()->recupererTous($requete);
68
		return $commentaires;
64
		return $commentaires;
Line 73... Line 69...
73
		$preferences = $this->conteneur->getBdd()->proteger('%"mail_notification_mes_obs":"0"%');
69
		$preferences = $this->conteneur->getBdd()->proteger('%"mail_notification_mes_obs":"0"%');
74
		//TODO: optimiser la requête si beaucoup de mails sont envoyés
70
		//TODO: optimiser la requête si beaucoup de mails sont envoyés
75
		$requete = "SELECT * FROM del_observation AS do ".
71
		$requete = "SELECT * FROM del_observation AS do ".
76
			"WHERE do.id_observation IN ".
72
			"WHERE do.id_observation IN ".
77
				"( ".
73
				"( ".
-
 
74
					//TODO: essayer de factoriser cette sous requete entre ici et la fonction du dessus
78
					"SELECT dc.ce_observation ".
75
					"SELECT dc.ce_observation ".
79
					"FROM del_commentaire AS dc ".
76
					"FROM del_commentaire AS dc ".
80
					"WHERE dc.ce_observation != '0' ".
77
					"WHERE dc.ce_observation != '0' ".
81
					"AND dc.id_commentaire NOT IN ".
78
					"AND dc.id_commentaire NOT IN ".
82
					"( ".
79
					"( ".