2012-09-20 19:38:42 +00:00
|
|
|
<?php
|
|
|
|
|
|
2012-09-24 11:50:39 +00:00
|
|
|
class SiteController extends Controller {
|
2012-09-20 19:38:42 +00:00
|
|
|
|
2012-09-24 11:50:39 +00:00
|
|
|
public function filters() {
|
|
|
|
|
return array('accessControl');
|
|
|
|
|
}
|
2012-09-20 19:38:42 +00:00
|
|
|
|
2012-09-24 11:50:39 +00:00
|
|
|
public function accessRules() {
|
|
|
|
|
return array(
|
|
|
|
|
array('allow',
|
2012-09-28 18:30:16 +00:00
|
|
|
'actions' => array('login', 'callback'),
|
2012-09-24 11:50:39 +00:00
|
|
|
'users' => array('*')
|
|
|
|
|
),
|
|
|
|
|
array('allow',
|
|
|
|
|
'users' => array('@')
|
|
|
|
|
),
|
|
|
|
|
array('deny'),
|
|
|
|
|
);
|
|
|
|
|
}
|
2012-09-20 19:38:42 +00:00
|
|
|
|
2012-09-24 11:50:39 +00:00
|
|
|
/**
|
|
|
|
|
* This is the default 'index' action that is invoked
|
|
|
|
|
* when an action is not explicitly requested by users.
|
|
|
|
|
*/
|
|
|
|
|
public function actionIndex() {
|
|
|
|
|
$this->render('index');
|
|
|
|
|
}
|
2012-09-20 19:38:42 +00:00
|
|
|
|
2012-09-24 11:50:39 +00:00
|
|
|
/**
|
|
|
|
|
* This is the action to handle external exceptions.
|
|
|
|
|
*/
|
|
|
|
|
public function actionError() {
|
2012-09-28 18:30:16 +00:00
|
|
|
$error = Yii::app()->errorHandler->error;
|
|
|
|
|
if ($error) {
|
2012-09-24 11:50:39 +00:00
|
|
|
if (Yii::app()->request->isAjaxRequest)
|
|
|
|
|
echo $error['message'];
|
|
|
|
|
else {
|
|
|
|
|
$this->layout = '/layouts/error';
|
|
|
|
|
$this->render('error_sistema', $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);
|
|
|
|
|
}
|
2012-09-20 19:38:42 +00:00
|
|
|
|
2012-09-28 18:30:16 +00:00
|
|
|
public function actionCallback() {
|
|
|
|
|
Yii::app()->socialConnect->callback();
|
|
|
|
|
}
|
|
|
|
|
|
2012-09-20 19:38:42 +00:00
|
|
|
}
|