Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1274 → Rev 1275

/trunk/scripts/modules/adeterminer/AlerteMailADeterminer.php
47,7 → 47,7
"INNER JOIN del_observation do ".
"ON doi.id_observation = do.id_observation ".
"LEFT JOIN del_utilisateur du ".
"ON do.ce_utilisateur = du.id_utilisateur ".
"ON do.ce_utilisateur = du.id_utilisateur AND do.ce_utilisateur != 0 ".
'WHERE (do.mots_cles_texte LIKE "%aDeterminer%" OR nom_sel IS NULL OR nom_ret IS NULL) AND '.
'(do.date_transmission > DATE_SUB(CURDATE(), INTERVAL 1 DAY) OR '.
'do.date_creation > DATE_SUB(CURDATE(), INTERVAL 1 DAY) OR '.
70,7 → 70,12
protected function formaterListeObservationsEtEnvoyerMessage($liste_obs) {
$message = $this->formaterMessagePourListeObs($liste_obs);
$this->envoyerMessage($message);
$this->envoyerMessageListeDetermination($message);
$utilisateurs = $this->obtenirDestinatairesMailsRecapitulatif();
foreach ($utilisateurs as $utilisateur) {
$this->envoyerMessage($message, $utilisateur['id_utilisateur']);
}
}
private function formaterMessagePourListeObs($liste_obs) {
103,12 → 108,50
return $this->conteneur->formaterUrl(Config::get('url_fiche_observation'), array('id' => $id_obs));
}
/** Envoie un mail avec l'adresse de l'utilisateur donné en paramètre,
* à l'adresse donnée en paramètre
* @param string $sujet sujet du mail
private function obtenirDestinatairesMailsRecapitulatif() {
$requete = "SELECT id_utilisateur ".
" FROM del_utilisateur_infos ".
" WHERE preferences LIKE ".$this->conteneur->getBdd()->proteger('%"mail_notification_toutes_obs":"1"%');
$utilisateurs = $this->conteneur->getBdd()->recupererTous($requete);
return $utilisateurs;
}
/**
* Appelle le web service message de l'annuaire afin d'envoyer un mail à l'utilisateur dont l'identifiant est donné
* en paramètre
* Enter description here ...
* @param string $message
* @param int $id_destinataire
*/
protected function envoyerMessage($message, $id_destinataire) {
$url_requete = $this->conteneur->formaterUrl(Config::get('url_service_messagerie'), array('id' => $id_destinataire));
$post = array(
'sujet' => 'Récapitulatif des derniers observations à déterminer',
'message' => $message,
'utilisateur_courriel' => Config::get('adresse_expediteur_recapitulatif'),
'format' => 'html'
);
$ch = curl_init();
$options = array(CURLOPT_URL => $url_requete,
CURLOPT_HEADER => false,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $post,
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $options);
$envoi = curl_exec($ch);
curl_close($ch);
}
/** La liste détermination n'étant pas un membre de tela botanica,
* on lui envoie un message directement
* @param string $message contenu du mail
* @return boolean true ou false suivant le succès ou non de l'envoi
*/
public function envoyerMessage($message) {
public function envoyerMessageListeDetermination($message) {
$sujet = 'Récapitulatif des derniers observations à déterminer';