New file |
0,0 → 1,108 |
<?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'auteur |
if(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)); |
} |
} |
?> |