Esempio n. 1
0
 private function makeLogin($user, $pass)
 {
     $OU = UsuarisPeer::getUserLogin($user, $pass, null);
     $OK = false;
     if ($OU instanceof Usuaris) {
         $this->getUser()->setAuthenticated(true);
         $this->getUser()->setSessionPar('idU', $OU->getUsuariid());
         $this->getUser()->setSessionPar('username', $OU->getNomComplet());
         $this->getUser()->setSessionPar('compres', array());
         $OK = true;
     } else {
         $this->getUser()->setAuthenticated(false);
         $this->getUser()->setSessionPar('idU', 0);
         $this->getUser()->setSessionPar('username', '');
         $this->getUser()->setSessionPar('compres', array());
         $OK = false;
     }
     return $OK;
 }
Esempio n. 2
0
 /**
  * Executem el login del modul administrador
  **/
 public function executeULogin(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->accio = $request->getParameter('accio', '');
     $this->IDS = $this->getUser()->ParReqSesForm($request, 'idS', 1);
     //Per defecte entro al IDS = 1 que és la Casa de Cultura de Girona.
     $this->FLogin = new LoginForm(array('site' => $this->IDS, 'nick' => "", 'password' => ''));
     $this->ERROR = "";
     $this->FB = myUser::f_FbAuth(false, $this->getController()->genUrl('@fb_login', true));
     //Retorna l'usuari que s'ha autentificat amb facebook
     if ($request->hasParameter('BLOGIN')) {
         $this->accio = "LOGIN";
     }
     if ($request->hasParameter('BNEWUSER')) {
         $this->accio = "NEW_USER";
     }
     if ($request->hasParameter('BSAVENEWUSER')) {
         $this->accio = "SAVE_NEW_USER";
     }
     if ($request->hasParameter('BREMEMBER')) {
         $this->accio = "REMEMBER";
     }
     switch ($this->accio) {
         case 'LOGOUT':
             $this->getUser()->setSessionPar('idU', 0);
             $this->getUser()->setSessionPar('idS', 0);
             $this->getUser()->setSessionPar('idN', NivellsPeer::CAP);
             $this->getUser()->setAuthenticated(false);
             $this->getUser()->clearCredentials();
             $this->redirect('gestio/uLogin');
             break;
             //Fem un login via facebook
         //Fem un login via facebook
         case 'FB_LOGIN':
             $FB = myUser::f_FbAuth(false);
             $USUARI = UsuarisPeer::getUserFromFacebook($FB['user']['id']);
             if ($USUARI instanceof Usuaris) {
                 $this->getUser()->setSessionPar('idS', $this->IDS);
                 $this->makeLogin($USUARI, $this->IDS);
             } else {
                 $this->getUser()->addLogAction('error', 'fb_login', $FB);
                 $this->ERROR = "No s'ha trobat cap usuari vinculat amb el seu compte de facebook.<br />Per vincular-lo ha d'accedir i fer-ho des del seu administrador o bé crear un compte nou.";
             }
             break;
             //Fem un LOGIN
         //Fem un LOGIN
         case 'LOGIN':
             $L = $request->getParameter('login');
             $this->FLogin->bind($L);
             if ($this->FLogin->isValid()) {
                 //Consultem l'usuari. Només miraré els permisos si és un "administrador"
                 $USUARI = UsuarisPeer::getUserLogin($L['nick'], $L['password'], null);
                 if ($USUARI instanceof Usuaris) {
                     $this->IDS = $L['site'];
                     if (is_numeric($this->IDS)) {
                         $_SESSION[$USUARI->getNomComplet()] = $USUARI->getNomComplet();
                         $this->getUser()->setSessionPar('idS', $this->IDS);
                         $this->makeLogin($USUARI, $this->IDS);
                     } else {
                         $this->getUser()->addLogAction('error', 'login', $L);
                         $this->ERROR = "Hi ha hagut algun problema amb el SITE.<br />Contacti amb la Casa de Cultura si us plau.";
                     }
                 } else {
                     $this->getUser()->addLogAction('error', 'login', $L);
                     $this->ERROR = "L'usuari o la contrasenya són incorrectes";
                 }
             } else {
                 $this->getUser()->addLogAction('error', 'login', $L);
                 $this->ERROR = "El DNI o la contrasenya són incorrectes";
             }
             break;
             //Creem un nou usuari
         //Creem un nou usuari
         case 'NEW_USER':
             $this->FUSUARI = UsuarisPeer::initialize(0, $this->IDS, false, true);
             break;
         case 'SAVE_NEW_USER':
             $PR = $request->getParameter('usuaris');
             $this->FUSUARI = UsuarisPeer::initialize(0, $this->IDS, false, true);
             $this->FUSUARI->bind($PR);
             if ($this->FUSUARI->isValid()) {
                 $this->FUSUARI->save();
                 $OU = $this->FUSUARI->getObject();
                 UsuarisPeer::addSite($OU->getUsuariId(), $this->IDS);
                 $this->makeLogin($OU, $this->IDS);
             } else {
                 $this->MISSATGE = array('Hi ha hagut algun problema enviant la sol·licitud.');
             }
             break;
             //Si fem um remember de contrassenya
         //Si fem um remember de contrassenya
         case 'REMEMBER':
             $this->redirect('gestio/uRemember');
             break;
         default:
             if ($this->getUser()->isAuthenticated() && $this->getUser()->getSessionPar('idU') > 0) {
                 $USUARI = UsuarisPeer::retrieveByPK($this->getUser()->getSessionPar('idU'));
                 $this->makeLogin($USUARI, $this->IDS);
             }
     }
 }
Esempio n. 3
0
 public function executeLogin(sfWebRequest $request)
 {
     $this->setLayout('hospici');
     $this->setTemplate('index');
     $OU = UsuarisPeer::getUserLogin($request->getParameter('login'), $request->getParameter('pass'), null);
     if ($OU instanceof Usuaris) {
         $this->getUser()->setAuthenticated(true);
         $this->getUser()->setSessionPar('idU', $OU->getUsuariid());
         $this->getUser()->setSessionPar('username', $OU->getNomComplet());
         $this->getUser()->setSessionPar('compres', array());
         $this->redirect('@hospici_usuaris');
     } else {
         $this->getUser()->setAuthenticated(false);
         $this->getUser()->setSessionPar('idU', 0);
         $this->getUser()->setSessionPar('username', '');
         $this->getUser()->setSessionPar('compres', array());
         $this->redirect('@hospici_cercador_activitats');
     }
 }