array('login'), 'users' => array('*') ), array('allow', 'users' => array('@') ), array('deny'), ); } /** * This is the default 'index' action that is invoked * when an action is not explicitly requested by users. */ public function actionIndex() { // renders the view file 'protected/views/site/index.php' // using the default layout 'protected/views/layouts/main.php' $this->render('index'); } /** * This is the action to handle external exceptions. */ public function actionError() { if($error=Yii::app()->errorHandler->error) { if(Yii::app()->request->isAjaxRequest) echo $error['message']; else $this->render('error', $error); } } /** * Displays the login page */ public function actionLogin() { $formulario = new FormularioLogin; $resultado = array(); // if it is ajax validation request if(isset($_POST['ajax']) && $_POST['ajax']==='login-form') { $formulario->email = $_POST['FormularioLogin_email']; $formulario->password = $_POST['FormularioLogin_password']; if(!$formulario->validate()) { foreach($formulario->getErrors() as $campo => $error) { $resultado[$campo] = $error; } echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); Yii::app()->end(); } $identificacion = new IdentificacionUsuario($formulario->email, $formulario->password); $identificacion->authenticate(); if ($identificacion->errorCode != IdentificacionUsuario::ERROR_NONE) { $resultado['password'] = Yii::t('profind', 'Email o contraseƱa incorrectos'); echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); Yii::app()->end(); } $duracion = 0; Yii::app()->user->login($identificacion, $duracion); Yii::app()->user->setReturnUrl($this->createUrl('usuario/modificar', array('id' => $identificacion->id))); $resultado['status'] = '200'; $resultado['redirect'] = Yii::app()->user->returnUrl; echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); Yii::app()->end(); } $this->redirect(Yii::app()->params['frontpage']); } /** * Logs out the current user and redirect to homepage. */ public function actionLogout() { Yii::app()->user->logout(); $this->redirect(Yii::app()->homeUrl); } }