Rev 1239 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Affiche un formulaire de contact d'utilisateur.** @category php 5.2* @package eFlore-consultation* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @copyright Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL* @version $Id$*/class PopupContact extends aControleur {private $conteneur = null;private $imagesApi = null;private $utilisateur = null;private $appUrls = null;private $id_destinataire = '';private $id_image = '';private $urlWsCelTpl = '';private $urlWsAnnuaireUtilisateurTpl = '';public function initialiser() {$this->capturerParametres();$this->conteneur = new Conteneur();$this->imagesApi = $this->conteneur->getApiImages();$this->utilisateur = $this->conteneur->getUtilisateur();$this->appUrls = $this->conteneur->getAppUrls();$this->urlWsAnnuaireUtilisateurTpl = $this->conteneur->getParametre('baseUrlServicesAnnuaireTpl');$this->urlWsCelTpl = $this->conteneur->getParametre('baseUrlServicesCelTpl');}private function capturerParametres() {if (isset($_GET['id_destinataire'])) {$this->id_destinataire = $_GET['id_destinataire'];}if (isset($_GET['id_img'])) {$this->id_image = $_GET['id_img'];}}public function executerActionParDefaut() {$this->executerForm();}public function executerForm() {if ($this->utilisateur->etreIdentifie()) {$this->afficherFormContact();} else {$this->afficherFormIdentification();}}private function afficherFormContact() {$this->setSortie(self::META_TITRE, 'Contactez un membre du réseau');$entete = array();$entete['formType'] = 'contact';$entete['urlWsMessageCel'] = sprintf($this->urlWsCelTpl, 'celMessage/image');$entete['urlWsUtilisateur'] = sprintf($this->urlWsAnnuaireUtilisateurTpl, 'utilisateur');$this->setSortie(self::ENTETE, $this->getVue('contact_entete', $entete));$infos = array();// cas d'une obs saisie par une personne non inscrite// le message doit être envoyé au cel qui fournira le courriel de l'auteurif(trim($this->id_destinataire) == "") {$infos['idDestinataire'] = $this->id_image;$infos['typeEnvoi'] = 'non-inscrit';} else {$infos['idDestinataire'] = $this->id_destinataire;$infos['typeEnvoi'] = 'inscrit';}$infos['idImage'] = $this->id_image;$infos['utilisateurCourriel'] = $this->utilisateur->getCourriel();$infos['urlPopUp'] = $this->appUrls->obtenirUrlPopUpContact($this->id_destinataire, $this->id_image);$this->imagesApi->setProjet('cel');// prêt à passer à API_DEL// TODO: voir pourquoi la forme service:del:images/#id_image ne fonctionne pas// et s'il est vraiment utile d'appeler DEL ici$imageInfos = $this->imagesApi->setApi(Eflore::API_EFLORE)->getInfosImageParIdImage($this->id_image);$idObs = $imageInfos['observation.id'];$nomSci = $imageInfos['determination.nom_sci'];$date = $imageInfos['date'];$lieu = $imageInfos['station.libelle'];$infos['sujet'] = "Observation #$idObs de $nomSci";$infos['message'] = "\n\n\n\n\n\n\n\n--\nConcerne l'observation de $nomSci du $date au lieu $lieu";$this->setSortie(self::RENDU_CORPS, $this->getVue('form_contact', $infos));}private function afficherFormIdentification() {$this->setSortie(self::META_TITRE, 'Identification');$entete = array();$entete['formType'] = 'identification';$entete['urlWsUtilisateur'] = sprintf($this->urlWsAnnuaireUtilisateurTpl, 'utilisateur');$this->setSortie(self::ENTETE, $this->getVue('contact_entete', $entete));$infos = array();$infos['urlPopUp'] = $this->appUrls->obtenirUrlPopUpContact($this->id_destinataire, $this->id_image);$this->setSortie(self::RENDU_CORPS, $this->getVue('form_identification', $infos));}}?>