Subversion Repositories eFlore/Applications.del

Rev

Rev 1826 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
// declare(encoding='UTF-8');
/**
 * Permet de connecter un utilisateur à DEL.
 *
 * @category   DEL
 * @package    Services
 * @subpackage Utilisateurs
 * @version    0.1
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
 */
class Connecter extends GestionUtilisateur {

        /**
         * Méthode principale de la classe.
         * Lance la récupération des images dans la base et les place dans un objet ResultatService
         * pour l'afficher.
         * @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
         * @param array $parametres les paramètres situés après le ? dans l'url
         * */
        public function consulter($ressources, $parametres) {
                $login = $ressources[0];
                $motDePasse = $ressources[1];

                $utilisateur = $this->identifierUtilisateur($login, $motDePasse);
                $this->verifierUtilisateur($utilisateur);
                $utilisateur = $this->completerInfosUtilisateur($utilisateur);
                $this->poserCookieUtilisateur($utilisateur);
                
                $this->ajouterEvenements($utilisateur);

                // Mettre en forme le résultat et l'envoyer pour affichage
                $resultat = new ResultatService();
                $resultat->corps = $utilisateur;
                return $resultat;
        }

        private function verifierUtilisateur($utilisateur) {
                if ($utilisateur == false) {
                        $msg = "Accès non autorisé";
                        throw new Exception($msg, RestServeur::HTTP_CODE_ACCES_NON_AUTORISE);
                }
        }
}