| 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 |
|