/**
  * Récupère les données d'un utilisateur et les place dans le profil
  * passé en paramètre.
  *
  * @param uapvBasicProfile $profile   Profil à remplir
  * @param string           $id        Identifiant de l'utilisateur
  *
  * @return void
  */
 public static function buildProfile(&$profile, $id)
 {
     $bd = new uapvDB();
     if (($result = $bd->getUser($id)) !== null) {
         $profile->add($result);
     }
 }
Example #2
0
 public function executeLogin(sfWebRequest $request)
 {
     $this->form = new uapvLoginForm();
     if ($request->isMethod('post')) {
         $form_info = $request->getParameter('login');
         $this->form->bind($form_info);
         if ($this->form->isValid()) {
             // Quel type d'authentification a été choisit lors de l'installation?
             $auth_type = sfConfig::get('app_authentication_type');
             if ($auth_type == 'bdd') {
                 $bd = new uapvDB();
                 $resp = $bd->checkPassword($form_info['username'], $form_info['password']);
                 if ($resp) {
                     $this->getContext()->getUser()->signIn($form_info['username']);
                     $this->getContext()->getUser()->addCredentials('member');
                     $this->redirect($request->getReferer());
                 } else {
                     $this->getContext()->getUser()->setFlash('error', 'Identifiant ou mot de passe erroné.');
                 }
             } else {
                 if ($auth_type == 'ldap') {
                     $ldap = new uapvLdap();
                     $this->getContext()->set('ldap', $ldap);
                     // "uid=..." à changer, pour utiliser les paramètres de configuration
                     // pour que ça marche avec un LDAP qui n'a pas des uid mais des trululuid.
                     $resp = $ldap->checkPassword(sfConfig::get('app_profile_var_translation_uid', 'uid') . "=" . $form_info['username'], $form_info['password']);
                     if ($resp) {
                         // Si l'utilisateur a entré le bon login et le bon mdp, on l'autorise
                         // à accéder à l'appli.
                         $this->getContext()->getUser()->signIn($form_info['username']);
                         $this->getContext()->getUser()->addCredentials('member');
                         $this->redirect($request->getReferer());
                     } else {
                         $this->getContext()->getUser()->setFlash('error', 'Identifiant ou mot de passe erroné.');
                     }
                 }
             }
         }
     }
 }