Arreglo de URL de formulario de registro (mayúsculas / minúsculas)

git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_PROFIND_Web/trunk@9 3fe1ab16-cfe0-e34b-8c9f-7d8c168d430d
This commit is contained in:
roberto 2012-09-21 19:21:20 +00:00
parent 2d40f3a5c8
commit 69f97dc7ed

View File

@ -7,20 +7,26 @@ class RegistroUsuarioController extends Controller {
public $defaultAction = 'registrar'; public $defaultAction = 'registrar';
public function init(){ public function init() {
$this->layout = '/layouts/mensajes'; $this->layout = '/layouts/mensajes';
} }
public function accessRules() public function filters() {
{ return array('accessControl');
}
public function accessRules() {
return array( return array(
array('allow', array('allow',
'actions'=>array('registrar', 'activar'), 'actions' => array('registrar', 'activar'),
'users' => array('*') 'users' => array('*')
),
array('allow',
'users' => array('@')
), ),
array('deny'), array('deny'),
); );
} }
/** /**
* Realiza el registro de un usuario a partir de los datos introducidos * Realiza el registro de un usuario a partir de los datos introducidos
@ -51,7 +57,7 @@ class RegistroUsuarioController extends Controller {
$nuevo_usuario->password = $nuevo_usuario->encrypt($formulario->password); $nuevo_usuario->password = $nuevo_usuario->encrypt($formulario->password);
$nuevo_usuario->estado = Usuario::ESTADO_NOACTIVO; $nuevo_usuario->estado = Usuario::ESTADO_NOACTIVO;
$nuevo_usuario->clave_seguridad = $nuevo_usuario->encrypt(microtime() . $nuevo_usuario->password); $nuevo_usuario->clave_seguridad = $nuevo_usuario->encrypt(microtime() . $nuevo_usuario->password);
if (!$nuevo_usuario->save()) { if (!$nuevo_usuario->save()) {
foreach ($nuevo_usuario->getErrors() as $campo => $error) { foreach ($nuevo_usuario->getErrors() as $campo => $error) {
$resultado[$campo] = $error; $resultado[$campo] = $error;
@ -59,7 +65,7 @@ class RegistroUsuarioController extends Controller {
echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado);
Yii::app()->end(); Yii::app()->end();
} }
$nueva_empresa = new Empresa('registrar'); $nueva_empresa = new Empresa('registrar');
if (!$nueva_empresa->save()) { if (!$nueva_empresa->save()) {
foreach ($nueva_empresa->getErrors() as $campo => $error) { foreach ($nueva_empresa->getErrors() as $campo => $error) {
@ -68,7 +74,7 @@ class RegistroUsuarioController extends Controller {
echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado);
Yii::app()->end(); Yii::app()->end();
} }
$nuevo_usuario->id_empresa = $nueva_empresa->id; $nuevo_usuario->id_empresa = $nueva_empresa->id;
if (!$nuevo_usuario->save()) { if (!$nuevo_usuario->save()) {
foreach ($nuevo_usuario->getErrors() as $campo => $error) { foreach ($nuevo_usuario->getErrors() as $campo => $error) {
@ -77,7 +83,7 @@ class RegistroUsuarioController extends Controller {
echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado); echo function_exists('json_encode') ? json_encode($resultado) : CJSON::encode($resultado);
Yii::app()->end(); Yii::app()->end();
} }
$this->enviarMailRegistro($nuevo_usuario); $this->enviarMailRegistro($nuevo_usuario);
$resultado['status'] = '200'; $resultado['status'] = '200';
@ -96,36 +102,35 @@ class RegistroUsuarioController extends Controller {
public function actionActivar() { public function actionActivar() {
$email = $_GET['email']; $email = $_GET['email'];
$clave_seguridad = $_GET['key']; $clave_seguridad = $_GET['key'];
if ($email && $clave_seguridad) { if ($email && $clave_seguridad) {
$usuario = Usuario::model()->findByAttributes(array('email' => $email)); $usuario = Usuario::model()->findByAttributes(array('email' => $email));
// Comprobamos si se ha encontrado un usuario con ese email // Comprobamos si se ha encontrado un usuario con ese email
if (!isset($usuario)) if (!isset($usuario))
//$this->render('/user/message', array('title' => Yii::t("User activation"), 'content' => Yii::t("Incorrect activation URL."))); //$this->render('/user/message', array('title' => Yii::t("User activation"), 'content' => Yii::t("Incorrect activation URL.")));
Yii::log ("Incorrect activation URL. 3"); Yii::log("Incorrect activation URL. 3");
elseif ($usuario->estado == Usuario::ESTADO_ACTIVO) elseif ($usuario->estado == Usuario::ESTADO_ACTIVO)
//$this->render('/user/message', array('title' => Yii::t("User activation"), 'content' => Yii::t("You account is active."))); //$this->render('/user/message', array('title' => Yii::t("User activation"), 'content' => Yii::t("You account is active.")));
Yii::log ("You account is active."); Yii::log("You account is active.");
elseif ($usuario->estado == Usuario::ESTADO_DENEGADO) elseif ($usuario->estado == Usuario::ESTADO_DENEGADO)
//$this->render('/user/message', array('title' => Yii::t("User activation"), 'content' => Yii::t("You account is banned."))); //$this->render('/user/message', array('title' => Yii::t("User activation"), 'content' => Yii::t("You account is banned.")));
Yii::log ("You account is banned."); Yii::log("You account is banned.");
elseif (isset($usuario->clave_seguridad) && ($usuario->clave_seguridad == $clave_seguridad)) { elseif (isset($usuario->clave_seguridad) && ($usuario->clave_seguridad == $clave_seguridad)) {
// Hay que activar el usuario // Hay que activar el usuario
$usuario->estado = Usuario::ESTADO_ACTIVO; $usuario->estado = Usuario::ESTADO_ACTIVO;
$usuario->clave_seguridad = $usuario->encrypt(microtime()); $usuario->clave_seguridad = $usuario->encrypt(microtime());
$usuario->save(); $usuario->save();
$this->enviarMailConfirmacionActivacion($usuario); $this->enviarMailConfirmacionActivacion($usuario);
$this->render('confirmacion_usuario'); $this->render('confirmacion_usuario');
Yii::log ("You account is activated."); Yii::log("You account is activated.");
} else { } else {
$this->render('error_confirmacion'); $this->render('error_confirmacion');
Yii::log ("Incorrect activation URL. 2 "); Yii::log("Incorrect activation URL. 2 ");
} }
} } else {
else {
$this->render('error_confirmacion'); $this->render('error_confirmacion');
Yii::log ("Incorrect activation URL. 1"); Yii::log("Incorrect activation URL. 1");
} }
} }
@ -137,20 +142,19 @@ class RegistroUsuarioController extends Controller {
private function enviarMailRegistro($usuario) { private function enviarMailRegistro($usuario) {
Yii::import('ext.yii-mail.YiiMailMessage'); Yii::import('ext.yii-mail.YiiMailMessage');
$url_activacion = $this->createAbsoluteUrl('registrousuario/activar', array("key" => $usuario->clave_seguridad, "email" => $usuario->email)); $url_activacion = $this->createAbsoluteUrl('registroUsuario/activar', array("key" => $usuario->clave_seguridad, "email" => $usuario->email));
$mensaje = new YiiMailMessage; $mensaje = new YiiMailMessage;
$mensaje->from = Yii::app()->params['email_remitente']; $mensaje->from = Yii::app()->params['email_remitente'];
$mensaje->setTo($usuario->email); $mensaje->setTo($usuario->email);
$mensaje->subject = Yii::t('profind', 'Complete su registro en PROFIND'); $mensaje->subject = Yii::t('profind', 'Complete su registro en PROFIND');
$mensaje->view ='registro_usuario'; $mensaje->view = 'registro_usuario';
$mensaje->setBody( $mensaje->setBody(
array( array(
'url' => $url_activacion, 'url' => $url_activacion,
'email' => $usuario->email 'email' => $usuario->email
), ), 'text/html'
'text/html' );
);
Yii::app()->mail->send($mensaje); Yii::app()->mail->send($mensaje);
} }
@ -167,11 +171,10 @@ class RegistroUsuarioController extends Controller {
$mensaje->from = Yii::app()->params['email_remitente']; $mensaje->from = Yii::app()->params['email_remitente'];
$mensaje->setTo($usuario->email); $mensaje->setTo($usuario->email);
$mensaje->subject = Yii::t('profind', 'Gracias por registrarse en PROFIND.'); $mensaje->subject = Yii::t('profind', 'Gracias por registrarse en PROFIND.');
$mensaje->view ='confirmacion_usuario'; $mensaje->view = 'confirmacion_usuario';
$mensaje->setBody(array(), 'text/html'); $mensaje->setBody(array(), 'text/html');
Yii::app()->mail->send($mensaje); Yii::app()->mail->send($mensaje);
} }
} }