private function displayInfoMessage()
 {
     $message = '';
     if ($this->app->user()->hasFlash()) {
         switch ($this->app->user()->getFlash()) {
             case 'announce-created':
                 $message = 'Votre nouvelle annonce a été créée !';
                 $message = MessageBox::Success($message);
                 break;
             case 'draft-created':
                 $message = 'Votre nouvelle annonce a été créée et enregistrée dans vos brouillons !';
                 $message = MessageBox::Success($message);
                 break;
             case 'draft-incomplete':
                 $message = 'Votre brouillon d\'annonce a bien été enregistré mais reste incomplet pour une publication !';
                 $message = MessageBox::Warning($message);
                 break;
             case 'announce-updated':
                 $message = 'Votre annonce a été mise à jour !';
                 $message = MessageBox::Success($message);
                 break;
             case 'draft-updated':
                 $message = 'Votre brouillon d\'annonce a été mise à jour !';
                 $message = MessageBox::Success($message);
                 break;
             case 'announce-deleted':
                 $message = 'Votre annonce a été supprimée !';
                 $message = MessageBox::Success($message);
                 break;
             case 'announce-incomplete':
                 $message = 'Votre annonce a bien été enregistré en tant que brouillon car incomplète pour une publication !';
                 $message = MessageBox::Warning($message);
                 break;
             case 'announce-unsave':
                 $message = 'Votre annonce n\'a pas été enregistré car elle est incomplète !';
                 $message = MessageBox::Error($message);
                 break;
             case 'announce-published':
                 $message = 'Votre annonce vient d\'être publiée !';
                 $message = MessageBox::Success($message);
                 break;
             case 'announce-unpublished':
                 $message = 'Votre annonce vient d\'être dépubliée !';
                 $message = MessageBox::Success($message);
                 break;
             case 'announce-archived':
                 $message = 'Votre annonce a été archivée !';
                 $message = MessageBox::Success($message);
                 break;
             default:
                 break;
         }
     }
     $this->page->smarty()->assign('message', $message);
 }
    private function displayInfoMessage()
    {
        $message = '';
        if ($this->app->user()->hasFlash()) {
            switch ($this->app->user()->getFlash()) {
                case 'profil-created':
                    $message = 'Bienvenue sur votre profil !';
                    $message = MessageBox::Success($message);
                    break;
                case 'profil-updated':
                    $message = 'Votre profil a été modifié avec succés !';
                    $message = MessageBox::Success($message);
                    break;
                case 'avatar-updated':
                    $message = 'Votre photo a été modifié avec succés !';
                    $message = MessageBox::Success($message);
                    break;
                case 'avatar-error':
                    $message = 'Une erreur s\'est produite pendant l\'envoie de votre image !
							<br /><br />
							Veuillez vérifier que vous avez bien envoyé un fichier au format image dont la taille ne dépasse pas 8Mo.';
                    $message = MessageBox::Error($message);
                    break;
                case 'bad-password':
                    $message = 'L\'ancien mot de passe que vous avez spécifié est incorrect.
							<br /><br />
							La modification de votre mot de passe ne s\'est pas effectuée.';
                    $message = MessageBox::Error($message);
                    break;
                case 'no-match-password':
                    $message = 'Le nouveau mot de passe et la confirmation de celui-ci ne correspondent pas.
							<br /><br />
							La modification de votre mot de passe ne s\'est pas effectuée.';
                    $message = MessageBox::Error($message);
                    break;
                case 'password-changed':
                    $message = 'Votre nouveau mot de passe a été mis à jour avec succès.';
                    $message = MessageBox::Success($message);
                    break;
                case 'no-match-mail':
                    $message = 'Le nouvel email et la confirmation de celui-ci ne correspondent pas.
							<br /><br />
							La modification de votre email ne s\'est pas effectuée.';
                    $message = MessageBox::Error($message);
                    break;
                case 'mail-exist':
                    $message = 'Le nouvel email que vous avez choisi est déjà utilisé.
							<br /><br />
							La modification de votre email ne s\'est pas effectuée.';
                    $message = MessageBox::Error($message);
                    break;
                case 'mail-changed':
                    $message = 'Votre adresse email a été mise à jour.';
                    $message = MessageBox::Success($message);
                    break;
                case 'mail-verified':
                    $message = 'Votre adresse email a été vérifiée avec succès.';
                    $message = MessageBox::Success($message);
                    break;
                case 'verification-mail-sent':
                    $message = 'Un mail vous permettant de valider votre compte vient de vous être envoyé.';
                    $message = MessageBox::Success($message);
                    break;
                case 'disable-account':
                    $message = 'Un message vient d\'être envoyé à l\'administrateur lui notifiant votre demande de suppression.';
                    $message = MessageBox::Warning($message);
                    break;
                default:
                    break;
            }
        }
        $this->page->smarty()->assign('message', $message);
    }
 public function executeFacebookConnect(HTTPRequest $request)
 {
     $this->init();
     $message = '';
     $this->page->smarty()->assign('usernameExist', 'false');
     if ($request->postExists('mailfb')) {
         $username = htmlspecialchars($request->postData('usernamefb'));
         $mail = htmlspecialchars($request->postData('mailfb'));
         $this->page->smarty()->assign('username', $username);
         $this->page->smarty()->assign('mail', $mail);
         $this->_user = $this->_userManager->getByMail($mail);
         if (!is_null($this->_user)) {
             if ($this->_user->getRoleId() >= Role::ROLE_MEMBER && $this->_user->getIsActive()) {
                 $this->app->user()->setAuthenticated(true);
                 $this->app->user()->setAttribute('id', $this->_user->id());
                 $this->authenticationRedirection();
             } else {
                 $this->app->user()->setFlash('profile-disabled');
                 $this->app->httpResponse()->redirect('/login');
                 exit;
             }
         } else {
             if ($this->_userManager->isUsernameOrMailExist($username, $mail)) {
                 $message = 'Le nom d\'utilisateur <strong>' . $username . '</strong> existe déjà ! Veuillez en choisir un autre.';
                 $message = MessageBox::Warning($message);
                 $this->page->smarty()->assign('usernameExist', 'true');
                 $this->page->smarty()->assign('mail', $mail);
             }
         }
     } else {
         $this->app->httpResponse()->redirect('/');
         exit;
     }
     if ($request->postExists('register')) {
         $username = htmlspecialchars($request->postData('username'));
         $mail = htmlspecialchars($request->postData('mailfb'));
         $role = htmlspecialchars($request->postData('role'));
         if ($role == 'member-pro') {
             $role = Role::ROLE_MEMBER_PRO;
         } else {
             $role = Role::ROLE_MEMBER;
         }
         // Vu qu'on récupère le mail précdement on ne teste finalement que le username
         if (!$this->_userManager->isUsernameOrMailExist($username, $mail)) {
             // Si ni le nom d'utilisateur ni l'email existe on crée l'utilistateur
             $this->_user = new Users();
             $newPassword = Users::CreateNewPassword();
             $this->_user->setUsername($username);
             $this->_user->setMail($mail);
             $this->_user->setIsMailVerified(true);
             $this->_user->setActivationKey('');
             $this->_user->setRoleId($role);
             $this->_user->setPassword($newPassword, Tipkin\Config::get('secret-key'));
             if ($role == Role::ROLE_MEMBER) {
                 $this->_user->setIsActive(1);
                 $this->_userManager->save($this->_user);
                 $messageMail = new Mail();
                 $messageMail->sendRegistrationInfo($this->_user, $newPassword);
                 $this->app->user()->setAuthenticated(true);
                 $this->app->user()->setAttribute('id', $this->_user->id());
                 $this->app->httpResponse()->redirect('/profile');
                 exit;
             } else {
                 $this->_user->setIsActive(false);
                 $this->_userManager->save($this->_user);
                 //Envoi mail recapitularif
                 $messageMail = new Mail();
                 $messageMail->sendRegistrationProInfo($this->_user, $newPassword);
                 $this->app->user()->setFlash('pro-created');
                 $this->app->httpResponse()->redirect('/login');
             }
         } else {
             $message = 'Le nom d\'utilisateur <strong>' . $username . '</strong> existe déjà ! Veuillez en choisir un autre.';
             $message = MessageBox::Warning($message);
             $this->page->smarty()->assign('usernameExist', 'true');
             $this->page->smarty()->assign('mail', $mail);
             // Sinon on redirige vers la page de registration où il redéfinira son nom d'utilisateur pour se connecter
         }
     }
     $this->page->smarty()->assign('connexionMessage', $message);
 }
 private function displayInfoMessage()
 {
     $message = '';
     if ($this->app->user()->hasFlash()) {
         switch ($this->app->user()->getFlash()) {
             case 'announce-refused':
                 $message = 'Cette annonce a été refusé par l\'équipe d\'administration !';
                 $message = MessageBox::Error($message);
                 break;
             case 'announce-pending':
                 $message = 'Cette annonce est en cours de validation par l\'équipe d\'administration !';
                 $message = MessageBox::Warning($message);
                 break;
             case 'announce-archived':
                 $message = 'Cette annonce est archivée !';
                 $message = MessageBox::Warning($message);
                 break;
             case 'announce-draft':
                 $message = 'Cette annonce est au statut de brouillon !';
                 $message = MessageBox::Warning($message);
                 break;
             default:
                 break;
         }
     }
     $this->page->smarty()->assign('message', $message);
 }