Rev 1492 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpclass 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] 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){$this->verifierParametresObligatoires($uid, $pairs);if(isset($pairs['type_envoi'])) {unset($pairs['type_envoi']);}if($uid[0] != 'obs' && $uid[0] != 'image') {$info = array();$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;}}}private function envoyerRequeteMessage($courriel_utilisateur, $pairs) {$base_url = $this->config['settings']['baseURLServicesAnnuaireTpl'];$rest_client = $this->getRestClient();$url_messagerie = str_replace('%s', "utilisateur/".urlencode($courriel_utilisateur)."/message", $base_url);$resultat_json = $rest_client->modifier($url_messagerie, $pairs);$resultat = json_decode($resultat_json);return $resultat;}private function verifierParametresObligatoires($uid ,$params) {$params_obligatoires = array('sujet', 'message', 'utilisateur_courriel', 'destinataire_id');$info = array();if(!isset($uid[1]) || !is_numeric($uid[1])) {$info .= 'l\' identifiant doit être un entier ';}foreach($params_obligatoires as $param) {if(!isset($params[$param]) || trim($params[$param]) == "") {$info = 'le paramètre '.$param.' doit exister et ne peut pas être vide ';}}if(!empty($info)) {$this->envoyer($info, 'text/html', 'utf-8', false);exit;}}private function obtenirCourrielUtilisateurPourIdObs($id_obs) {$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);}}?>