Line 13... |
Line 13... |
13 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
13 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
|
14 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
|
14 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
|
15 |
* @version $Id$
|
15 |
* @version $Id$
|
16 |
*/
|
16 |
*/
|
17 |
class Utilisateur extends JRestService {
|
17 |
class Utilisateur extends JRestService {
|
18 |
|
18 |
|
19 |
private $donnees = null;
|
19 |
private $donnees = null;
|
20 |
private $idAnnuaire = null;
|
20 |
private $idAnnuaire = null;
|
21 |
private $utilisateurId = null;
|
21 |
private $utilisateurId = null;
|
22 |
private $metadonneeModele = null;
|
22 |
private $metadonneeModele = null;
|
23 |
private $annuaireModele = null;
|
23 |
private $annuaireModele = null;
|
24 |
private $messagerieModele = null;
|
24 |
private $messagerieModele = null;
|
25 |
|
25 |
|
26 |
public function getElement($ressources){
|
26 |
public function getElement($ressources){
|
27 |
$this->ressources = $ressources;
|
27 |
$this->ressources = $ressources;
|
28 |
$this->idAnnuaire = Config::get('annuaire_defaut');
|
28 |
$this->idAnnuaire = Config::get('annuaire_defaut');
|
29 |
$infos = null;
|
29 |
$infos = null;
|
30 |
|
30 |
|
31 |
if (isset($this->ressources[0])) {
|
31 |
if (isset($this->ressources[0])) {
|
32 |
$methode_demande = array_shift($this->ressources);
|
32 |
$methode_demande = array_shift($this->ressources);
|
33 |
$methode = $this->traiterNomMethodeGet($methode_demande);
|
33 |
$methode = $this->traiterNomMethodeGet($methode_demande);
|
34 |
if (method_exists($this, $methode)) {
|
34 |
if (method_exists($this, $methode)) {
|
35 |
$infos = $this->$methode();
|
35 |
$infos = $this->$methode();
|
Line 45... |
Line 45... |
45 |
} else {
|
45 |
} else {
|
46 |
$info = 'Un problème est survenu : '.print_r($this->messages, true);
|
46 |
$info = 'Un problème est survenu : '.print_r($this->messages, true);
|
47 |
$this->envoyerTxt($info);
|
47 |
$this->envoyerTxt($info);
|
48 |
}
|
48 |
}
|
49 |
}
|
49 |
}
|
50 |
|
50 |
|
51 |
/**
|
51 |
/**
|
52 |
* Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource.
|
52 |
* Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource.
|
53 |
* RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...]
|
53 |
* RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...]
|
54 |
* PARAMÊTRES : aucun
|
54 |
* PARAMÊTRES : aucun
|
55 |
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
|
55 |
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
|
56 |
* - id : identifiant numérique de l'utilisateur
|
56 |
* - id : identifiant numérique de l'utilisateur
|
57 |
* - prenom : prénom
|
57 |
* - prenom : prénom
|
58 |
* - nom : nom de famille.
|
58 |
* - nom : nom de famille.
|
59 |
*/
|
59 |
*/
|
60 |
public function getPrenomNomParCourriel() {
|
60 |
public function getPrenomNomParCourriel() {
|
61 |
$courriels = explode(',', $this->ressources[0]);
|
61 |
$courriels = explode(',', $this->ressources[0]);
|
62 |
$infos = $this->getAnnuaire()->obtenirPrenomNomParCourriel($this->idAnnuaire, $courriels);
|
62 |
$infos = $this->getAnnuaire()->obtenirPrenomNomParCourriel($this->idAnnuaire, $courriels);
|
63 |
return $infos;
|
63 |
return $infos;
|
64 |
}
|
64 |
}
|
65 |
|
65 |
|
66 |
/**
|
66 |
/**
|
67 |
* Permet d'obtenir les identités des utilisateurs indiqués dans la ressource.
|
67 |
* Permet d'obtenir les identités des utilisateurs indiqués dans la ressource.
|
68 |
* RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...]
|
68 |
* RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...]
|
69 |
* PARAMÊTRES : aucun
|
69 |
* PARAMÊTRES : aucun
|
70 |
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
|
70 |
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
|
71 |
* - id : identifiant numérique de l'utilisateur
|
71 |
* - id : identifiant numérique de l'utilisateur
|
72 |
* - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
|
72 |
* - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
|
73 |
* - pseudo : pseudo de l'utilisateur.
|
73 |
* - pseudo : pseudo de l'utilisateur.
|
74 |
* - prenom : prénom
|
74 |
* - prenom : prénom
|
Line 84... |
Line 84... |
84 |
$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
|
84 |
$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
|
85 |
$infos_utilisateurs[strtolower($courriel)] = $utilisateur;
|
85 |
$infos_utilisateurs[strtolower($courriel)] = $utilisateur;
|
86 |
}
|
86 |
}
|
87 |
return $infos_utilisateurs;
|
87 |
return $infos_utilisateurs;
|
88 |
}
|
88 |
}
|
89 |
|
89 |
|
90 |
private function getAnnuaire() {
|
90 |
private function getAnnuaire() {
|
91 |
if (!isset($this->annuaireModele)) {
|
91 |
if (!isset($this->annuaireModele)) {
|
92 |
$this->annuaireModele = new AnnuaireModele();
|
92 |
$this->annuaireModele = new AnnuaireModele();
|
93 |
}
|
93 |
}
|
94 |
return $this->annuaireModele;
|
94 |
return $this->annuaireModele;
|
95 |
}
|
95 |
}
|
96 |
|
96 |
|
97 |
private function getMeta() {
|
97 |
private function getMeta() {
|
98 |
if (!isset($this->metadonneeModele)) {
|
98 |
if (!isset($this->metadonneeModele)) {
|
99 |
$this->metadonneeModele = new MetadonneeModele();
|
99 |
$this->metadonneeModele = new MetadonneeModele();
|
100 |
}
|
100 |
}
|
101 |
return $this->metadonneeModele;
|
101 |
return $this->metadonneeModele;
|
102 |
}
|
102 |
}
|
103 |
|
103 |
|
104 |
private function obtenirPseudo($id_utilisateur) {
|
104 |
private function obtenirPseudo($id_utilisateur) {
|
105 |
$pseudo = '';
|
105 |
$pseudo = '';
|
106 |
$id_champ_pseudo = $this->getMeta()->renvoyerIdChampMetadonneeParAbreviation($this->idAnnuaire, 'pseudo');
|
106 |
$id_champ_pseudo = $this->getMeta()->renvoyerIdChampMetadonneeParAbreviation($this->idAnnuaire, 'pseudo');
|
107 |
if ($this->getMeta()->valeurExiste($id_champ_pseudo, $id_utilisateur)) {
|
107 |
if ($this->getMeta()->valeurExiste($id_champ_pseudo, $id_utilisateur)) {
|
108 |
$pseudo = $this->getMeta()->obtenirValeurMetadonnee($id_champ_pseudo, $id_utilisateur);
|
108 |
$pseudo = $this->getMeta()->obtenirValeurMetadonnee($id_champ_pseudo, $id_utilisateur);
|
109 |
}
|
109 |
}
|
110 |
return $pseudo;
|
110 |
return $pseudo;
|
111 |
}
|
111 |
}
|
112 |
|
112 |
|
113 |
private function obtenirPseudoUtilise($id_utilisateur) {
|
113 |
private function obtenirPseudoUtilise($id_utilisateur) {
|
114 |
$pseudo_utilise = false;
|
114 |
$pseudo_utilise = false;
|
115 |
$id_champ_utilise_pseudo = $this->getMeta()->renvoyerIdChampMetadonneeParAbreviation($this->idAnnuaire, 'utilise_pseudo');
|
115 |
$id_champ_utilise_pseudo = $this->getMeta()->renvoyerIdChampMetadonneeParAbreviation($this->idAnnuaire, 'utilise_pseudo');
|
116 |
if ($this->getMeta()->valeurExiste($id_champ_utilise_pseudo, $id_utilisateur)) {
|
116 |
if ($this->getMeta()->valeurExiste($id_champ_utilise_pseudo, $id_utilisateur)) {
|
117 |
$booleen = $this->getMeta()->obtenirValeurMetadonnee($id_champ_utilise_pseudo, $id_utilisateur);
|
117 |
$booleen = $this->getMeta()->obtenirValeurMetadonnee($id_champ_utilise_pseudo, $id_utilisateur);
|
118 |
$pseudo_utilise = ($booleen == 0) ? false : true;
|
118 |
$pseudo_utilise = ($booleen == 0) ? false : true;
|
119 |
}
|
119 |
}
|
120 |
return $pseudo_utilise;
|
120 |
return $pseudo_utilise;
|
121 |
}
|
121 |
}
|
122 |
|
122 |
|
123 |
private function formaterIntitule($utilisateur) {
|
123 |
private function formaterIntitule($utilisateur) {
|
124 |
$intitule = '';
|
124 |
$intitule = '';
|
125 |
if ($utilisateur['pseudoUtilise'] && trim($utilisateur['pseudo']) != '') {
|
125 |
if ($utilisateur['pseudoUtilise'] && trim($utilisateur['pseudo']) != '') {
|
126 |
$intitule = $utilisateur['pseudo'];
|
126 |
$intitule = $utilisateur['pseudo'];
|
127 |
} else {
|
127 |
} else {
|
128 |
$intitule = $utilisateur['prenom'].' '.$utilisateur['nom'];
|
128 |
$intitule = $utilisateur['prenom'].' '.$utilisateur['nom'];
|
129 |
}
|
129 |
}
|
130 |
return $intitule;
|
130 |
return $intitule;
|
131 |
}
|
131 |
}
|
132 |
|
132 |
|
133 |
public function updateElement($ressources, $donnees) {
|
133 |
public function updateElement($ressources, $donnees) {
|
134 |
$this->ressources = $ressources;
|
134 |
$this->ressources = $ressources;
|
135 |
$this->donnees = $donnees;
|
135 |
$this->donnees = $donnees;
|
136 |
$this->idAnnuaire = Config::get('annuaire_defaut');
|
136 |
$this->idAnnuaire = Config::get('annuaire_defaut');
|
137 |
|
137 |
|
138 |
$infos = null;
|
138 |
$infos = null;
|
139 |
if (isset($this->ressources[0])) {
|
139 |
if (isset($this->ressources[0])) {
|
140 |
$this->utilisateurId = array_shift($this->ressources);
|
140 |
$this->utilisateurId = array_shift($this->ressources);
|
141 |
if (isset($this->ressources[0])) {
|
141 |
if (isset($this->ressources[0])) {
|
142 |
$methode_demande = array_shift($this->ressources);
|
142 |
$methode_demande = array_shift($this->ressources);
|
Line 158... |
Line 158... |
158 |
} else {
|
158 |
} else {
|
159 |
$info = 'Un problème est survenu : '.print_r($this->messages, true);
|
159 |
$info = 'Un problème est survenu : '.print_r($this->messages, true);
|
160 |
$this->envoyerTxt($info);
|
160 |
$this->envoyerTxt($info);
|
161 |
}
|
161 |
}
|
162 |
}
|
162 |
}
|
163 |
|
163 |
|
164 |
/**
|
164 |
/**
|
165 |
* Permet d'envoyer un message à un utilisateur.
|
165 |
* Permet d'envoyer un message à un utilisateur.
|
166 |
* RESSOURCE : /utilisateur/[id]/message
|
166 |
* RESSOURCE : /utilisateur/[id]/message
|
167 |
* POST :
|
167 |
* POST :
|
168 |
* - sujet : contient le sujet du message à envoyer.
|
168 |
* - sujet : contient le sujet du message à envoyer.
|
169 |
* - message : contient le contenu du message à envoyer.
|
169 |
* - message : contient le contenu du message à envoyer.
|
170 |
* - utilisateur_courriel : contient le courriel de l'utilisateur qui envoie le message (Il doit être
|
170 |
* - utilisateur_courriel : contient le courriel de l'utilisateur qui envoie le message (Il doit être
|
171 |
* inscrit dans l'annuaire par défaut de Tela Botanica).
|
171 |
* inscrit dans l'annuaire par défaut de Tela Botanica).
|
172 |
* - copies : peut contenir une liste de courriels séparés par des virguels auxquels une copie du
|
172 |
* - copies : peut contenir une liste de courriels séparés par des virguels auxquels une copie du
|
173 |
* message sera envoyée.
|
173 |
* message sera envoyée.
|
174 |
* RÉPONSE :
|
174 |
* RÉPONSE :
|
175 |
* - message : contient le message d'information concernant l'envoie.
|
175 |
* - message : contient le message d'information concernant l'envoie.
|
176 |
*/
|
176 |
*/
|
177 |
private function updateMessage() {
|
177 |
private function updateMessage() {
|
178 |
$destinataireId = $this->utilisateurId;//$this->donnees['destinataire_id'];
|
178 |
$destinataireId = $this->utilisateurId;//$this->donnees['destinataire_id'];
|
179 |
$sujet = stripslashes($this->donnees['sujet']);
|
179 |
$sujet = stripslashes($this->donnees['sujet']);
|
180 |
$contenu = stripslashes($this->donnees['message']);
|
180 |
$contenu = stripslashes($this->donnees['message']);
|
181 |
$envoyeur = $this->donnees['utilisateur_courriel'];
|
181 |
$envoyeur = $this->donnees['utilisateur_courriel'];
|
182 |
$copies = array_key_exists('copies', $this->donnees) ? explode(',', $this->donnees['copies']) : null;
|
182 |
$copies = array_key_exists('copies', $this->donnees) ? explode(',', $this->donnees['copies']) : null;
|
183 |
$format = isset($this->donnees['format']) ? $this->donnees['format'] : 'text';
|
183 |
$format = isset($this->donnees['format']) ? $this->donnees['format'] : 'text';
|
184 |
|
184 |
|
185 |
$info = null;
|
185 |
$info = null;
|
186 |
if ($this->estAutoriseMessagerie($envoyeur) || $this->getAnnuaire()->utilisateurExisteParMail($this->idAnnuaire, $envoyeur)) {
|
186 |
if ($this->estAutoriseMessagerie($envoyeur) || $this->getAnnuaire()->utilisateurExisteParMail($this->idAnnuaire, $envoyeur)) {
|
187 |
$destinataire = $this->getAnnuaire()->obtenirMailParId($this->idAnnuaire, $destinataireId);
|
187 |
$destinataire = $this->getAnnuaire()->obtenirMailParId($this->idAnnuaire, $destinataireId);
|
188 |
if ($destinataire) {
|
188 |
if ($destinataire) {
|
189 |
if($format == 'html') {
|
189 |
if($format == 'html') {
|
Line 208... |
Line 208... |
208 |
$info['message'] = "Vous n'êtes pas inscrit à Tela Botanica avec le courriel : $envoyeur.\n".
|
208 |
$info['message'] = "Vous n'êtes pas inscrit à Tela Botanica avec le courriel : $envoyeur.\n".
|
209 |
"Veuillez saisir votre courriel d'inscription ou vous inscrire à Tela Botanica.";
|
209 |
"Veuillez saisir votre courriel d'inscription ou vous inscrire à Tela Botanica.";
|
210 |
}
|
210 |
}
|
211 |
return $info;
|
211 |
return $info;
|
212 |
}
|
212 |
}
|
213 |
|
213 |
|
214 |
private function getMessagerie() {
|
214 |
private function getMessagerie() {
|
215 |
if (!isset($this->messagerieModele)) {
|
215 |
if (!isset($this->messagerieModele)) {
|
216 |
$this->messagerieModele = new MessageControleur();
|
216 |
$this->messagerieModele = new MessageControleur();
|
217 |
}
|
217 |
}
|
218 |
return $this->messagerieModele;
|
218 |
return $this->messagerieModele;
|
219 |
}
|
219 |
}
|
220 |
|
220 |
|
221 |
}
|
221 |
}
|
222 |
?>
|
222 |
?>
|
223 |
|
223 |
|