public function executeControlpanel(sfWebRequest $request) { //if que pregunte si la sesion esta iniciada, si no lo esta revisa el request que le llega, si lo esta recupera la info de la sesion. if ($this->getUser()->isAuthenticated()) { $usuario = Doctrine::getTable('Usuario')->findOneById($this->getUser()->getAttribute('num')); $this->usu = $usuario; /** *@todo falta agregar codigo para recuperar informacion relativa al usuario */ } else { /** * Se crea un objeto tipo inicio de sesion y se compara con el que se recive, si no coincide, se deberia regresar al template anterior para que muestre los errores. */ $formu = new InicioSesionForm(); $formu->bind($request->getParameter($formu->getName()), $request->getFiles($formu->getName())); if ($formu->isValid()) { $usu = $request->getParameter('iniciosesion'); $usuario = Doctrine::getTable('Usuario')->findOneByEmailAndClave($usu['email'], sha1($usu['clave'])); /** * Se pregunta si el usuario existe, si no existe regresa a la pagina de registro y le informa */ if ($usuario == null) { $this->getUser()->setFlash('nousuario', 'Ha ingresado mal sus datos de acceso o no esta registrado,intente de nuevo o registrese por favor'); $this->redirect('user/noregistrado'); } else { $this->usu = $usuario; $this->getUser()->setAuthenticated(true); /*$query = Doctrine_Query::create() ->from('Usuario u') ->select('u.id as id, u.tipo as tipo') ->where('u.email = ?', $usuario->getEmail()); $id = $query->fetchArray();*/ $this->getUser()->setAttribute('num', $usuario->getId()); /*Agrega credencial normal*/ $this->getUser()->addCredential('normal'); /** *@todo falta agregar aqui para recuperar informacion del usuario */ } } else { $sss = $request->getParameter('usuario'); $this->getUser()->setFlash('nousuario', 'Ha ingresado mal sus datos de acceso o no esta registrado,intente de nuevo o registrese por favor'); //$this->setTemplate('noregistrado'); $this->redirect('user/noregistrado'); } } }
public function actionIniciarSesion() { $this->layout = 'sitio'; $inicioSesionForm = new InicioSesionForm(); if (isset($_POST['InicioSesionForm'])) { $inicioSesionForm->attributes = $_POST['InicioSesionForm']; if ($inicioSesionForm->validate()) { $cliente = Cliente::model()->find("cliente_email = '" . $_POST['InicioSesionForm']['email'] . "' and cliente_password = '******'InicioSesionForm']['password'] . "'"); if (isset($cliente)) { $_SESSION['Cliente']['cliente_id'] = $cliente->cliente_id; $_SESSION['Cliente']['cliente_nombre'] = $cliente->cliente_nombre; $_SESSION['Cliente']['cliente_ape_paterno'] = $cliente->cliente_ape_paterno; $_SESSION['Cliente']['cliente_ape_materno'] = $cliente->cliente_ape_materno; $_SESSION['Cliente']['cliente_email'] = $cliente->cliente_email; $_SESSION['Cliente']['cliente_telefono'] = $cliente->cliente_telefono; $_SESSION['Cliente']['cliente_telefono_movil'] = $cliente->cliente_telefono_movil; $this->redirect('panelControlCliente'); } else { Yii::app()->user->setFlash('error', "Los datos ingresados no son correctos."); } } } $this->render('iniciarSesion', array('inicioSesionForm' => $inicioSesionForm)); }