Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1490 → Rev 1492

/trunk/jrest/services/CelMessage.php/CelMessageObs.php
1,12 → 1,16
<?php
class CelMessageObs extends Cel {
class CelMessage extends Cel {
private $mode = 'obs';
/**
* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
* Envoi un message à l'utilisateur ayant saisi l'observation
*
* @param int $uid[0] identifiant observation
* @param int $uid[0] mode interrogation (obs ou image)
* @param int $uid[1] identifiant observation ou image suivant le mode
* @param pairs array tableau contenant les valeurs du formulaire de messagerie
* (même format que le web service messagerie utilisateur de l'annuaire)
*/
public function updateElement($uid,$pairs)
{
14,18 → 18,29
if(isset($pairs['type_envoi'])) {
unset($pairs['type_envoi']);
}
$id_obs = $uid[0];
$courriel_utilisateur = $this->obtenirCourrielUtilisateurPourIdObs($id_obs);
if($courriel_utilisateur !== false) {
$resultat = $this->envoyerRequeteMessage($courriel_utilisateur, $pairs);
$this->envoyerJson($resultat);
exit;
} else {
if($uid[0] != 'obs' && $uid[0] != 'image') {
$info = array();
$info = 'Impossible de trouver le courriel associé à cette observation ';
$info = 'Aucun mode n\'a été indiqué ';
$this->envoyer($info, 'text/html', 'utf-8', false);
exit;
} else {
$this->mode = $uid[0];
$id = $uid[1];
$methode = 'obtenirCourrielUtilisateurPourId'.ucwords($this->mode);
$courriel_utilisateur = $this->$methode($id);
if($courriel_utilisateur !== false) {
$resultat = $this->envoyerRequeteMessage($courriel_utilisateur, $pairs);
$this->envoyerJson($resultat);
exit;
} else {
$info = array();
$info = 'Impossible de trouver le courriel associé à cet identifiant ';
$this->envoyer($info, 'text/html', 'utf-8', false);
exit;
}
}
}
42,8 → 57,8
$params_obligatoires = array('sujet', 'message', 'utilisateur_courriel', 'destinataire_id');
$info = array();
if(!isset($uid[0]) || !is_numeric($uid[0])) {
$info .= 'l\' identifiant d\'observation doit être un entier ';
if(!isset($uid[1]) || !is_numeric($uid[1])) {
$info .= 'l\' identifiant doit être un entier ';
}
foreach($params_obligatoires as $param) {
59,18 → 74,13
}
private function obtenirCourrielUtilisateurPourIdObs($id_obs) {
$requete = 'SELECT courriel_utilisateur FROM cel_obs WHERE '.
'id_observation = '.$this->proteger($id_obs);
$utilisateur_courriel = $this->executerRequete($requete);
$retour = false;
if(!empty($utilisateur_courriel) && isset($utilisateur_courriel[0]['courriel_utilisateur'])) {
$retour = $utilisateur_courriel[0]['courriel_utilisateur'];
}
return $retour;
$rechercheObservation = new RechercheObservation($this->config);
return $rechercheObservation->obtenirCourrielUtilisateurPourIdObs($id_obs);
}
private function obtenirCourrielUtilisateurPourIdImage($id_image) {
$rechercheImage = new RechercheImage($this->config);
return $rechercheImage->obtenirCourrielUtilisateurPourIdImage($id_image);
}
}
?>