Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1246 Rev 1275
Line 45... Line 45...
45
		$requete =  "SELECT * ".
45
		$requete =  "SELECT * ".
46
					"FROM del_obs_image doi ".
46
					"FROM del_obs_image doi ".
47
					"INNER JOIN del_observation do ".
47
					"INNER JOIN del_observation do ".
48
					"ON doi.id_observation = do.id_observation ".
48
					"ON doi.id_observation = do.id_observation ".
49
					"LEFT JOIN del_utilisateur du ".
49
					"LEFT JOIN del_utilisateur du ".
50
					"ON do.ce_utilisateur = du.id_utilisateur ".
50
					"ON do.ce_utilisateur = du.id_utilisateur AND do.ce_utilisateur != 0 ".
51
					'WHERE (do.mots_cles_texte LIKE "%aDeterminer%" OR nom_sel IS NULL OR nom_ret IS NULL) AND '.
51
					'WHERE (do.mots_cles_texte LIKE "%aDeterminer%" OR nom_sel IS NULL OR nom_ret IS NULL) AND '.
52
					'(do.date_transmission > DATE_SUB(CURDATE(), INTERVAL 1 DAY) OR '.
52
					'(do.date_transmission > DATE_SUB(CURDATE(), INTERVAL 1 DAY) OR '.
53
					'do.date_creation > DATE_SUB(CURDATE(), INTERVAL 1 DAY) OR '.
53
					'do.date_creation > DATE_SUB(CURDATE(), INTERVAL 1 DAY) OR '.
54
					'do.date_modification > DATE_SUB(CURDATE(), INTERVAL 1 DAY)) '.
54
					'do.date_modification > DATE_SUB(CURDATE(), INTERVAL 1 DAY)) '.
55
					"ORDER BY do.id_observation";
55
					"ORDER BY do.id_observation";
Line 68... Line 68...
68
		}
68
		}
69
	}
69
	}
Line 70... Line 70...
70
	
70
	
71
	protected function formaterListeObservationsEtEnvoyerMessage($liste_obs) {
71
	protected function formaterListeObservationsEtEnvoyerMessage($liste_obs) {
72
		$message = $this->formaterMessagePourListeObs($liste_obs);
72
		$message = $this->formaterMessagePourListeObs($liste_obs);
-
 
73
		$this->envoyerMessageListeDetermination($message);
-
 
74
		
-
 
75
		$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
-
 
76
		foreach ($utilisateurs as $utilisateur) {
-
 
77
			$this->envoyerMessage($message, $utilisateur['id_utilisateur']);
73
		$this->envoyerMessage($message);
78
		}
Line 74... Line 79...
74
	}
79
	}
75
	
80
	
76
	private function formaterMessagePourListeObs($liste_obs) {
81
	private function formaterMessagePourListeObs($liste_obs) {
Line 101... Line 106...
101
	
106
	
102
	private function obtenirLienFicheObs($id_obs) {
107
	private function obtenirLienFicheObs($id_obs) {
103
		return  $this->conteneur->formaterUrl(Config::get('url_fiche_observation'), array('id' => $id_obs));		
108
		return  $this->conteneur->formaterUrl(Config::get('url_fiche_observation'), array('id' => $id_obs));		
Line -... Line 109...
-
 
109
	}
-
 
110
	
-
 
111
	private function obtenirDestinatairesMailsRecapitulatif() {
-
 
112
		$requete = "SELECT id_utilisateur ".
-
 
113
					"	FROM del_utilisateur_infos ".
-
 
114
					"	WHERE preferences LIKE ".$this->conteneur->getBdd()->proteger('%"mail_notification_toutes_obs":"1"%');
-
 
115
		$utilisateurs = $this->conteneur->getBdd()->recupererTous($requete);
-
 
116
		
-
 
117
		return $utilisateurs;
-
 
118
	}
-
 
119
	
-
 
120
	/**
-
 
121
	 * Appelle le web service message de l'annuaire afin d'envoyer un mail à l'utilisateur dont l'identifiant est donné
-
 
122
	 * en paramètre
-
 
123
	 * Enter description here ...
-
 
124
	 * @param string $message
-
 
125
	 * @param int $id_destinataire
-
 
126
	 */
-
 
127
	protected function envoyerMessage($message, $id_destinataire) {
-
 
128
	
104
	}
129
		$url_requete = $this->conteneur->formaterUrl(Config::get('url_service_messagerie'), array('id' => $id_destinataire));
-
 
130
		$post = array(
-
 
131
				'sujet' => 'Récapitulatif des derniers observations à déterminer',
-
 
132
				'message' => $message,
-
 
133
				'utilisateur_courriel' => Config::get('adresse_expediteur_recapitulatif'),
-
 
134
				'format' => 'html'
-
 
135
		);
-
 
136
	
-
 
137
		$ch = curl_init();
-
 
138
		$options = array(CURLOPT_URL => $url_requete,
-
 
139
		CURLOPT_HEADER => false,
-
 
140
		CURLOPT_POST => 1,
-
 
141
		CURLOPT_POSTFIELDS => $post,
-
 
142
		CURLOPT_RETURNTRANSFER => true
-
 
143
		);
-
 
144
		curl_setopt_array($ch, $options);
-
 
145
		$envoi = curl_exec($ch);
-
 
146
		curl_close($ch);
-
 
147
	}
105
	
148
	
106
	/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
149
	/** La liste détermination n'étant pas un membre de tela botanica,
107
	* à l'adresse donnée en paramètre
150
	* on lui envoie un message directement 
108
	* @param string $sujet sujet du mail
151
	* @param string $message contenu du mail
109
	* @return boolean true ou false suivant le succès ou non de l'envoi
152
	* @return boolean true ou false suivant le succès ou non de l'envoi
Line 110... Line 153...
110
	*/
153
	*/
Line 111... Line 154...
111
	public function envoyerMessage($message) {
154
	public function envoyerMessageListeDetermination($message) {
112
		
155