Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1490 Rev 1492
Line 1... Line 1...
1
<?php
1
<?php
2
class CelMessageObs extends Cel {
2
class CelMessage extends Cel {
-
 
3
	
-
 
4
	private $mode = 'obs';
Line 3... Line 5...
3
	
5
	
4
	/**
6
	/**
5
	* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
7
	* Méthode appelée avec une requête de type POST avec un identifiant d'obs.
6
	* Envoi un message à l'utilisateur ayant saisi l'observation
8
	* Envoi un message à l'utilisateur ayant saisi l'observation
-
 
9
	*
7
	*
10
	* @param int $uid[0] mode interrogation (obs ou image)
8
	* @param int $uid[0] identifiant observation
11
	* @param int $uid[1] identifiant observation ou image suivant le mode
-
 
12
	* @param pairs array tableau contenant les valeurs du formulaire de messagerie
9
	* @param pairs array tableau contenant les valeurs du formulaire de messagerie
13
	* (même format que le web service messagerie utilisateur de l'annuaire)
10
	*/
14
	*/
11
	public function updateElement($uid,$pairs)
15
	public function updateElement($uid,$pairs)
12
	{
16
	{
13
		$this->verifierParametresObligatoires($uid, $pairs);
17
		$this->verifierParametresObligatoires($uid, $pairs);
14
		if(isset($pairs['type_envoi'])) {
18
		if(isset($pairs['type_envoi'])) {
15
			unset($pairs['type_envoi']);
19
			unset($pairs['type_envoi']);
16
		}
-
 
17
		$id_obs = $uid[0];
-
 
Line 18... Line 20...
18
		$courriel_utilisateur = $this->obtenirCourrielUtilisateurPourIdObs($id_obs);
20
		}
19
		
-
 
20
		if($courriel_utilisateur !== false) {
-
 
21
			$resultat = $this->envoyerRequeteMessage($courriel_utilisateur, $pairs);
-
 
22
			$this->envoyerJson($resultat);
-
 
23
			exit;
21
		
24
		} else {
22
		if($uid[0] != 'obs' && $uid[0] != 'image') {
25
			$info = array();
23
			$info = array();
26
			$info = 'Impossible de trouver le courriel associé à cette observation ';
24
			$info = 'Aucun mode n\'a été indiqué ';
-
 
25
			$this->envoyer($info, 'text/html', 'utf-8', false);
-
 
26
			exit;
-
 
27
		} else {
-
 
28
			$this->mode = $uid[0];
-
 
29
			$id = $uid[1];
-
 
30
			
-
 
31
			$methode = 'obtenirCourrielUtilisateurPourId'.ucwords($this->mode);
-
 
32
			$courriel_utilisateur = $this->$methode($id);
-
 
33
			
-
 
34
			if($courriel_utilisateur !== false) {
-
 
35
				$resultat = $this->envoyerRequeteMessage($courriel_utilisateur, $pairs);
-
 
36
				$this->envoyerJson($resultat);
-
 
37
				exit;
-
 
38
			} else {
-
 
39
				$info = array();
-
 
40
				$info = 'Impossible de trouver le courriel associé à cet identifiant ';
-
 
41
				$this->envoyer($info, 'text/html', 'utf-8', false);
27
			$this->envoyer($info, 'text/html', 'utf-8', false);
42
				exit;
28
			exit;
43
			}
Line 29... Line 44...
29
		}
44
		}
30
	}
45
	}
Line 40... Line 55...
40
	
55
	
41
	private function verifierParametresObligatoires($uid ,$params) {
56
	private function verifierParametresObligatoires($uid ,$params) {
42
		$params_obligatoires = array('sujet', 'message', 'utilisateur_courriel', 'destinataire_id');
57
		$params_obligatoires = array('sujet', 'message', 'utilisateur_courriel', 'destinataire_id');
Line 43... Line 58...
43
		$info = array();
58
		$info = array();
44
		
59
		
45
		if(!isset($uid[0]) || !is_numeric($uid[0])) {
60
		if(!isset($uid[1]) || !is_numeric($uid[1])) {
Line 46... Line 61...
46
			$info .= 'l\' identifiant d\'observation doit être un entier ';
61
			$info .= 'l\' identifiant doit être un entier ';
47
		}
62
		}
48
		
63
		
Line 57... Line 72...
57
			exit;
72
			exit;
58
		}
73
		}
59
	}
74
	}
Line 60... Line 75...
60
	
75
	
61
	private function obtenirCourrielUtilisateurPourIdObs($id_obs) {
-
 
62
		$requete = 'SELECT courriel_utilisateur FROM cel_obs WHERE '.
76
	private function obtenirCourrielUtilisateurPourIdObs($id_obs) {
63
		         'id_observation = '.$this->proteger($id_obs);  
-
 
64
		
-
 
65
		$utilisateur_courriel = $this->executerRequete($requete);
-
 
66
		
-
 
67
		$retour = false;
-
 
68
		if(!empty($utilisateur_courriel) && isset($utilisateur_courriel[0]['courriel_utilisateur'])) {
77
		$rechercheObservation = new RechercheObservation($this->config);
69
			$retour = $utilisateur_courriel[0]['courriel_utilisateur'];
-
 
70
		}
-
 
71
		
-
 
72
		return $retour;
78
		return $rechercheObservation->obtenirCourrielUtilisateurPourIdObs($id_obs);
Line -... Line 79...
-
 
79
	}
-
 
80
	
-
 
81
	private function obtenirCourrielUtilisateurPourIdImage($id_image) {
-
 
82
		$rechercheImage = new RechercheImage($this->config);
73
	}
83
		return $rechercheImage->obtenirCourrielUtilisateurPourIdImage($id_image);
74
	
84
	}
75
}
85
}