/** * 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); } }
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é.'); } } } } } }