<?php

class InicioController extends Controller{

	public $layout = "main";
	/**
	 * @return array action filters
	 */
	public function filters(){
		return array(
			'accessControl', // perform access control for CRUD operations
			'postOnly + delete', // we only allow deletion via POST request
		);
	}

	public function accessRules(){
		return array(
			array(
				'allow',
				'actions' => array('index', 'logout', 'error', 'resetPassword', 'resetPasswordSistema', 'unir_pdf'),
				'users' => array('*'),
			),
			array(
				'allow',
				'actions' => array('restablecer'),
				'expression' => array($this, 'permitirRestablecer')
			),
			array(
				'allow',
				'actions' => array('nueva_clave'),
				'expression' => array($this, 'permitirNuevaClave')
			),
			array(
				'allow',
				'actions' => array('nueva_clave_sistema'),
				'expression' => array($this, 'permitirNuevaClaveSistema')
			),
			[
				'allow',
				'actions' => ['sistema', 'restablecer_usuario_sistema'],
				'expression' => [$this, 'permitirSistema']
			],
			array('deny',  // deny all users
				'users'=>array('*'),
			),
		);
	}

	/**
	 * Declares class-based actions.
	 */
	public function actions(){
		return array(
			// captcha action renders the CAPTCHA image displayed on the contact page
			'captcha'=>array(
				'class'=>'CCaptchaAction',
				'backColor'=>0xFFFFFF,
			),
			// page action renders "static" pages stored under 'protected/views/site/pages'
			// They can be accessed via: index.php?r=site/page&view=FileName
			'page'=>array(
				'class'=>'CViewAction',
			),
		);
	}

	/**
	 * This is the default 'index' action that is invoked
	 * when an action is not explicitly requested by users.
	 */
	public function actionIndex(){		
		//Se borran las cookies de nuevaClave
		unset(Yii::app()->request->cookies['cambio_contrasena']);
		unset(Yii::app()->request->cookies['id_usuario']);

		// Si existe las siguientes varibles de sesiones que las elimine
		if(Yii::app()->user->hasState('tipo') && Yii::app()->user->hasState('documento')){
			Yii::app()->user->setState('tipo', null);
			Yii::app()->user->setState('documento', null);
		}

		if(Yii::app()->user->isGuest){
			// Código para iniciar sesión
			$model = new LoginForm;

			if(isset($_POST['ajax']) && $_POST['ajax'] === 'login-form'){
				echo CActiveForm::validate($model);
				Yii::app()->end();
			}

			if(isset($_POST['LoginForm'])){
				$model->attributes = $_POST['LoginForm'];
				$model->token = "sa";
				

				// Verificar reCAPTCHA
				/*$recaptcha = new ReCaptcha('6LcH4CgrAAAAAGodLslb9fuYiRmypbuR9A5thGuX');
				$resp = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
				if ($resp->isSuccess()) {*/
					// reCAPTCHA verificado con éxito
					// Procesa el formulario



				if($model->token != null && $model->token != ""){				
					if($model->validate()){
						Yii::import('application.controllers.FuncionesController');

						//$captcha = FuncionesController::reCaptcha($model->token);

						//if($captcha->success && isset($captcha->score) && $captcha->score >= 0.7){
							if($model->login()){
								
								$this->verificarAlicuotasDespuesLogin();
								// Verificar alícuotas después del login exitoso
								
								$this->redirect(Yii::app()->homeUrl. "nueva_clave");
							}else{
								$model->addError('clave', "¡Ups! Intente de nuevo.");
							}
						//}else{
						  	//$model->addError('clave', "Error en validación reCaptcha, por favor vuelva a intentar.");
						//}
					}
				}else{
					$model->addError('clave', "Error en validación reCaptcha, por favor espera que la página cargue correctamente y vuelva a intentar.");
				}

			  // }
			}
			// FIN - "Código para iniciar sesión"

			// Código para comenzar el registro
			$model2 = new ValidarFormInicio;

			if(isset($_POST['ajax']) && $_POST['ajax'] === 'registro-form'){
				echo CActiveForm::validate($model2);
				Yii::app()->end();
			}

			if(isset($_POST['ValidarFormInicio'])){
				$model2->attributes = $_POST['ValidarFormInicio'];
				if($model2->validate()){
					Yii::app()->user->setState('tipo', $model2->tipo_documento_r); // Tipo de documento
					Yii::app()->user->setState('documento', $model2->documento_r); // Número de documento
					Yii::app()->user->setState('enviar', 'ok'); // Sesion que me permite ingresar a la página de enviar el código al correo

					$this->redirect(Yii::app()->homeUrl.'registro/enviar');
				}
			}
			// FIN - "Código para comenzar el registro"

			$this->render('index', array('model' => $model, 'model2' => $model2));
		}else{
			Yii::import('application.controllers.FuncionesController');

			 // Verificación de datos completos para usuarios autenticados
       

		
			 if (Yii::app()->user->hasState('nivel_acceso')) {
				if (Yii::app()->user->getState('nivel_acceso') == 2) {
					if (FuncionesController::permitirPerfil([1])) {
						
						// 👉 Ejecutar verificación para todos los aportantes
						/*try {
							$resultado = SidcaiAporAlicuota::model()->verificarAlicuotasTodos();
							Yii::log("ADMIN ingresó. Se verificaron alícuotas: $resultado registros actualizados", 'info', 'alicuotas');
						} catch (Exception $e) {
							Yii::log("Error verificando alícuotas al ingresar admin: " . $e->getMessage(), 'error', 'alicuotas');
						}*/
			
						// Redirigir al home de admin
						$this->redirect(Yii::app()->homeUrl . 'admin');
					} else {
						$this->redirect(Yii::app()->homeUrl . 'analista');
					}
				}
			}
			


		// Obtener la instancia de la caché
       // Obtener la instancia de la caché
	  /*git  $cache = Yii::app()->cache;

	   // Clave para almacenar la fecha de la última ejecución
	   $cacheKey = 'lastExecutionDate';

	   // Obtener la fecha actual
	   $currentDate = date('Y-m-d');

	   // Verificar si la consulta ya se ejecutó hoy
	   $lastExecutionDate = $cache->get($cacheKey);
	   if ($lastExecutionDate !== $currentDate) {
		   // Ejecutar la consulta
		   $this->ejecutarConsultaDiaria();

		   // Almacenar la fecha actual en la caché
		   $cache->set($cacheKey, $currentDate, 86400); // 86400 segundos = 24 horas
	   }*/



			$this->layout = "//layouts/panel-usuario";

			$this->render('panel');
		}

		$this->limpiarVariablesSesionesRegistro();
	}

	

	private function verificarAlicuotasDespuesLogin()
{
    // Obtener el código del aportante que hizo login
    $codAportante = Yii::app()->user->id;
    
    if (!$codAportante) {
        // Alternativa: obtener del modelo de usuario
        $userModel = SidcaiAportante::model()->findByPk(Yii::app()->user->id);
        if ($userModel && isset($userModel->apor_codigo_pk)) {
            $codAportante = $userModel->apor_codigo_pk;
        }
    }

    if ($codAportante) {
        try {
            // 👇 CORREGIDO: usar model() en lugar de new
            $resultado = SidcaiAporAlicuota::model()->verificarAlicuotasPorAportante($codAportante);

            Yii::log("Alícuotas verificadas para $codAportante: $resultado registros actualizados", 'info', 'alicuotas');
            
        } catch (Exception $e) {
            Yii::log("Error verificando alícuotas al login: " . $e->getMessage(), 'error', 'alicuotas');
        }
    } else {
        Yii::log("No se pudo obtener cod_aportante para verificar alícuotas", 'warning', 'alicuotas');
    }
}


	// Página de error
	public function actionError(){
		if($error=Yii::app()->errorHandler->error){
			if(Yii::app()->request->isAjaxRequest)
    			echo $error['message'];
    		else{
    			$this->layout = "//layouts/main-error";
    			$this->render('error', $error);
    		}
		}else{
			$this->redirect(Yii::app()->homeUrl);
		}
	}

	public function actionRestablecer(){
		$model = new ValidarRestablecerClave('empresa');

		if(isset($_POST['ajax']) && $_POST['ajax']==="restablecer-form"){
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}

		if(isset($_POST['ValidarRestablecerClave'])){
			$model->attributes = $_POST['ValidarRestablecerClave'];

			if($model->validate()){
				Yii::import('application.controllers.FuncionesController');

				$token = FuncionesController::generarCodigo(30, 3);
				$correo = mb_strtoupper($model->correo_restablecer."@GMAIL.COM");

				$empresa = SidcaiAportante::model()->find('apor_correoelectronico = :apor_correoelectronico', [':apor_correoelectronico' => $correo]);

				$empresa->token = $token;
					// Se inicia la transacción
					$transaction = $empresa->dbConnection->beginTransaction();

					if($empresa->save()){				
						$titulo = "Restablecer Clave";
						$nombre = $empresa->apor_razonsocial;

						$mensaje = $this->mensaje_restablecer($empresa);

						if(FuncionesController::enviarCorreo([$correo], [$nombre], $titulo, $mensaje)){
							Yii::app()->user->setFlash("success", 'Se ha enviado un mensaje al correo electrónico <b>'.$correo.'</b>, revise su bandeja de entrada.');
							$model->correo_restablecer = "";
						    $transaction->commit();
						}else{
							Yii::app()->user->setFlash("error", '<b>¡Ups!</b> No se logró enviar el mensaje al correo electrónico, por favor intente de nuevo.');
							$transaction->rollBack();
						}
					}else{
						Yii::app()->user->setFlash("error", '<b>¡Ups!</b> Hubo un error, por favor intente de nuevo.');
						$transaction->rollBack();
					}
			}
		}

		$url_cancelar = Yii::app()->homeUrl;

		$this->render("restablecer", array(
			'model' => $model,
			'url_cancelar' => $url_cancelar
		));
	}

	/**
	 * Logs out the current user and redirect to homepage.
	 */
	/*public function actionLogout(){
		if(Yii::app()->user->hasState('nivel_acceso')){
			Yii::app()->user->logout();
			$this->redirect(Yii::app()->homeUrl.'sistema');
		}else{
			Yii::app()->user->logout();
			$this->redirect(Yii::app()->homeUrl);
		}
	}
*/
public function actionLogout() {
    $userId = Yii::app()->user->id;

    // Actualizar sesion_activa a falso usando 'f' para PostgreSQL boolean
	/*
    Yii::app()->db->createCommand()->update('sidcai_usuario', [
        'sesion_activa' => 'f',
    ], 'usua_codigo_pk = :id', [':id' => $userId]);*/

    Yii::app()->user->logout();

    // Redirigir después de logout
    if (Yii::app()->user->hasState('nivel_acceso')) {
        $this->redirect(Yii::app()->homeUrl . 'sistema');
    } else {
        $this->redirect(Yii::app()->homeUrl);
    }
}

	

	public function actionResetPassword(){
		$correo = $_GET['correo'] ?? "";
		$token = $_GET['token'] ?? "";

		if($correo != "" && $token != ""){
			$empresa = SidcaiAportante::model()->find('apor_correoelectronico = :apor_correoelectronico AND token = :token', [':apor_correoelectronico' => $correo, ':token' => $token]);

			if($empresa != null){
				$empresa->scenario = "resetPassword";
				$empresa->token = "";

				if(isset($_POST['SidcaiAportante'])){
					$empresa->attributes = $_POST['SidcaiAportante'];
					$empresa->apor_cambiocontrasena = 0;

					if($empresa->validate()){

						$empresa->apor_contrasena = password_hash($empresa->contrasena_nueva, PASSWORD_DEFAULT);

						if($empresa->save()){
							Yii::app()->user->setFlash('success','<center><h1>'.TbHtml::icon(TbHtml::ICON_OK).'</h1><h2><b>¡El cambio de clave fue exitoso!</b></h2> Usted será redireccionado al inicio en 5 segundos, si no es redireccionado haga clic <a href="'.Yii::app()->homeUrl.'">aqui</a>.<center>');
						}else{
							ii::app()->user->setFlash('error', "¡Ups! Hubo un error al intentar cambiar la contraseña. Por favor, intente de nuevo.");
						}
					}else{
						Yii::app()->user->setFlash("error", '¡Ups! No logró validar correctamente los datos, por favor intente de nuevo.');
					}

				}
				$this->render("reset_password", array('model' => $empresa));
			}else{
				$this->redirect(Yii::app()->homeUrl);
			}
		}else{
			$this->redirect(Yii::app()->homeUrl);
		}

	}

	public function actionNueva_clave(){	
		// Comprobamos si la empresa tiene $apor_cambiocontrasena en true o en false cuando esté ingresando por primera vez
		$cambiar_contrasena = Yii::app()->request->cookies['cambio_contrasena']->value ?? false;
		
		if($cambiar_contrasena) { 
			$id_empresa = Yii::app()->request->cookies['id_empresa']->value;
			//Desconectamos para que no pueda ingresar a otra página
			Yii::app()->user->logout();

			$empresa = SidcaiAportante::model()->findByPk($id_empresa);

			if($empresa != NULL && $empresa->apor_cambiocontrasena == true){
				$model = new SidcaiAportante('cambioClave');

				if(isset($_POST['ajax']) && $_POST['ajax'] == 'cambio-clave-form'){
					echo CActiveForm::validate($model);
					Yii::app()->end();
				}

				if(isset($_POST['SidcaiAportante'])){
					$model->attributes = $_POST['SidcaiAportante'];

					$model_guardar = SidcaiAportante::model()->findByPk($empresa->apor_codigo_pk);

					$model_guardar->apor_contrasena = password_hash($model->contrasena_nueva, PASSWORD_DEFAULT);
					$model_guardar->apor_cambiocontrasena = 0;


					if($model_guardar->validate()){
						if($model_guardar->save()){
							Yii::app()->request->cookies->clear();
							Yii::app()->user->setFlash('success','<center><h1>'.TbHtml::icon(TbHtml::ICON_OK).'</h1><h2><b>¡El cambio de clave fue exitoso!</b></h2> Usted será redireccionado al inicio en 5 segundos, si no es redireccionado haga clic <a href="'.Yii::app()->homeUrl.'">aqui</a>.<center>');
						}else{
							$model->contrasena_actual 	= "";
							$model->contrasena_nueva 	= "";
							$model->repetir_contrasena 	= "";
							Yii::app()->user->setFlash('error', "Hubo un error al intentar cambiar la contraseña. Por favor, intente de nuevo.");
						}
					}
				}

				$this->render("nueva_clave", array('model' => $model));
			}else{
				$this->redirect(Yii::app()->homeUrl);
			}
		}else{
			$this->redirect(Yii::app()->homeUrl);
		}
	}

	// Acceso al sistema del personal de FONACIT
	/*public function actionSistema(){
		$model = new LoginPersonal;

		if(isset($_POST['ajax']) && $_POST['ajax'] === 'login-form'){
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}

		if(isset($_POST['LoginPersonal'])){
			$model->attributes = $_POST['LoginPersonal'];
			$model->token = "vcfsasa";

			if($model->token != null && $model->token != ""){				
				if($model->validate()){
					Yii::import('application.controllers.FuncionesController');

					//$captcha = FuncionesController::reCaptcha($model->token);

					//if($captcha->success && $captcha->score >= 0.7){
						if($model->login()){
							$this->redirect(Yii::app()->homeUrl. "nueva_clave_sistema");
						}else{
							$model->addError('clave', "¡Ups! Intente de nuevo.");
						}
					//}else{
						//$model->addError('clave', "Error en validación reCaptcha, por favor vuelva a intentar.");
					//}
				}
			}else{
			 	$model->addError('clave', "Error en validación reCaptcha, por favor espera que la página cargue correctamente y vuelva a intentar.");
			}
		}

		$this->render('sistema', ['model' => $model]);
	}*/

	public function actionSistema(){
		$model = new LoginPersonal;
	
		if(isset($_POST['ajax']) && $_POST['ajax'] === 'login-form'){
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}
	
		if(isset($_POST['LoginPersonal'])){
			$model->attributes = $_POST['LoginPersonal'];
			//print_r($model->attributes);die();
			$model->token = "vcfsasa";
	
			if(!empty($model->token)){
				if($model->validate()){
					// Verificamos si ya tiene una sesión activa
					$usuario = SidcaiUsuario::model()->findByAttributes(['usua_documento' => $model->tipo_documento.$model->documento]);
				//	if ($usuario && $usuario->sesion_activa) {
					//	$model->addError('clave', 'Este usuario ya tiene una sesión activa.');
				//	} else {
						if($model->login()){
							// Activamos la sesión
							/*Yii::app()->db->createCommand()->update('sidcai_usuario', [
								'sesion_activa' => false,
							], 'usua_codigo_pk = :id', [':id' => $usuario->usua_codigo_pk]);*/

	
							// Guardamos hora de último acceso
							Yii::app()->user->setState('ultimo_acceso', time());
	
							$this->redirect(Yii::app()->homeUrl . "nueva_clave_sistema");
						} else {
							$model->addError('clave', "¡Ups! Intente de nuevo.");
						}
					//}
				}
			} else {
				$model->addError('clave', "Error en validación reCaptcha, por favor espera que la página cargue correctamente y vuelva a intentar.");
			}
		}
	
		$this->render('sistema', ['model' => $model]);
	}
	

	public function actionNueva_clave_sistema(){	
		// Comprobamos si la empresa tiene $apor_cambiocontrasena en true o en false cuando esté ingresando por primera vez
		$cambiar_contrasena = Yii::app()->request->cookies['cambio_contrasena_sistema']->value ?? false;
		$id_usuario 		= Yii::app()->request->cookies['id_usuario']->value ?? false;

		if($cambiar_contrasena && $id_usuario){ 
			//Desconectamos para que no pueda ingresar a otra página
			Yii::app()->user->logout();

			$usuario = SidcaiUsuario::model()->findByPk($id_usuario);

			if($usuario != NULL && $usuario->usua_cambiocontrasena == true){
				$model = new SidcaiUsuario('cambioClave');

				if(isset($_POST['ajax']) && $_POST['ajax'] == 'cambio-clave-form'){
					echo CActiveForm::validate($model);
					Yii::app()->end();
				}

				if(isset($_POST['SidcaiUsuario'])){
					$model->attributes = $_POST['SidcaiUsuario'];

					$model_guardar = SidcaiUsuario::model()->findByPk($usuario->usua_codigo_pk);

					$model_guardar->usua_contrasena = password_hash($model->contrasena_nueva, PASSWORD_DEFAULT);
					$model_guardar->usua_cambiocontrasena = 0;


					if($model_guardar->validate()){
						if($model_guardar->save()){
							Yii::app()->request->cookies->clear();
							Yii::app()->user->setFlash('success','<center><h1>'.TbHtml::icon(TbHtml::ICON_OK).'</h1><h2><b>¡El cambio de clave fue exitoso!</b></h2> Usted será redireccionado al inicio en 5 segundos, si no es redireccionado haga clic <a href="'.Yii::app()->homeUrl.'sistema">aqui</a>.<center>');
						}else{
							$model->contrasena_actual 	= "";
							$model->contrasena_nueva 	= "";
							$model->repetir_contrasena 	= "";
							Yii::app()->user->setFlash('error', "Hubo un error al intentar cambiar la contraseña. Por favor, intente de nuevo.");
						}
					}else{
						print_r($model_guardar->errors);
					}
				}

				$this->render("nueva_clave", array('model' => $model));
			}else{
				$this->redirect(Yii::app()->homeUrl);
			}
		}else{
			$this->redirect(Yii::app()->homeUrl);
		}
	}

	public function actionRestablecer_usuario_sistema(){
		$model = new ValidarRestablecerClave('usuario');

		if(isset($_POST['ajax']) && $_POST['ajax']==="restablecer-form"){
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}

		if(isset($_POST['ValidarRestablecerClave'])){
			$model->attributes = $_POST['ValidarRestablecerClave'];

			if($model->validate()){
				Yii::import('application.controllers.FuncionesController');

				$token = FuncionesController::generarCodigo(30, 3);
				$correo = mb_strtoupper($model->correo_restablecer."@GMAIL.COM");

				$usuario = SidcaiUsuario::model()->find('usua_correoelectronico = :usua_correoelectronico', [':usua_correoelectronico' => $correo]);

				$usuario->token = $token;
				$usuario->usua_cambiocontrasena = 0;

					// Se inicia la transacción
					$transaction = $usuario->dbConnection->beginTransaction();

					if($usuario->save()){				
						$titulo = "Restablecer Clave";
						$nombre = $usuario->usua_nombre." ".$usuario->usua_apellido;

						$mensaje = $this->mensaje_restablecer($usuario, false);

						if(FuncionesController::enviarCorreo([$correo], [$nombre], $titulo, $mensaje)){
							Yii::app()->user->setFlash("success", 'Se ha enviado un mensaje al correo electrónico <b>'.$correo.'</b>, revise su bandeja de entrada.');
							$model->correo_restablecer = "";
						    $transaction->commit();
						}else{
							Yii::app()->user->setFlash("error", '<b>¡Ups!</b> No se logró enviar el mensaje al correo electrónico, por favor intente de nuevo.');
							$transaction->rollBack();
						}
					}else{
						Yii::app()->user->setFlash("error", '<b>¡Ups!</b> Hubo un error, por favor intente de nuevo.');
						$transaction->rollBack();
					}
			}
		}

		$url_cancelar = Yii::app()->homeUrl."sistema";

		$this->render("restablecer", array(
			'model' => $model,
			'url_cancelar' => $url_cancelar
		));
	}

	public function actionResetPasswordSistema(){
		$correo = $_GET['correo'] ?? "";
		$token  = $_GET['token'] ?? "";

		if($correo != "" && $token != ""){

			$usuario = SidcaiUsuario::model()->find('usua_correoelectronico = :usua_correoelectronico AND token = :token', [':usua_correoelectronico' => $correo, ':token' => $token]);

			if($usuario != null){
				$usuario->scenario = "resetPassword";
				$usuario->token = "";

				if(isset($_POST['SidcaiUsuario'])){
					$usuario->attributes = $_POST['SidcaiUsuario'];

					if($usuario->validate()){

						$usuario->usua_contrasena = password_hash($usuario->contrasena_nueva, PASSWORD_DEFAULT);
						$usuario->usua_cambiocontrasena = 0;

						if($usuario->save()){
							Yii::app()->user->setFlash('success','<center><h1>'.TbHtml::icon(TbHtml::ICON_OK).'</h1><h2><b>¡El cambio de clave fue exitoso!</b></h2> Usted será redireccionado al inicio en 5 segundos, si no es redireccionado haga clic <a href="'.Yii::app()->homeUrl.'sistema">aqui</a>.<center>');
						}else{
							ii::app()->user->setFlash('error', "¡Ups! Hubo un error al intentar cambiar la contraseña. Por favor, intente de nuevo.");
						}
					}else{
						Yii::app()->user->setFlash("error", '¡Ups! No logró validar correctamente los datos, por favor intente de nuevo.');
					}
				}
				$this->render("reset_password", array('model' => $usuario));
			}else{
				$this->redirect(Yii::app()->homeUrl."sistema");
			}
		}else{
			$this->redirect(Yii::app()->homeUrl."sistema");
		}

	}

	/**
	 * PDF unir -PDF
	 */
	public function actionUnir_pdf(){
		$mPDF = Yii::app()->ePdf->mpdf('', 'Letter');
        $mPDF->SetTitle("Unir PDF");
        $htmlHeader = "<div><img src='images/cintillo.jpg' height='100%'></div>";
        $mPDF->SetHtmlHeader($htmlHeader);
        $mPDF->setAutoTopMargin = true;
        $texto = $this->renderPartial('_unir-pdf', ['a'=>'a'], true);
        $mPDF->WriteHTML($texto);
    	$mPDF->Output('SIDCAI - UNIR PDF', 'I');
	}

	// Limpiamos variables de sesiones de registro para que no se pueda devolver a la página de registro.
	private function limpiarVariablesSesionesRegistro(){
		Yii::app()->user->setState('enviar', null);
		Yii::app()->user->setState('codigo', null);
		Yii::app()->user->setState('permitir_registro', null);
	}

	/**
	 * Restablecer contraseña
	 */
	private function mensaje_restablecer($datos, $empresa = true) : string{
		$mensaje = "Ha solicitado un cambio de contraseña, ingrese al siguiente link para restablecer la contraseña<br>";
		
		if($empresa)
			$link = Yii::app()->getBaseUrl(true)."/resetPassword?correo=$datos->apor_correoelectronico&token=$datos->token";
		else
			$link = Yii::app()->getBaseUrl(true)."/resetPasswordSistema?correo=$datos->usua_correoelectronico&token=$datos->token";

		$mensaje .= "<a href=$link target='_blank'>$link</a>";

		return $mensaje;
	}


	public function permitirNuevaClave(){
		if(empty(Yii::app()->request->cookies['cambio_contrasena']->value))
			$this->redirect(Yii::app()->homeUrl);
		else
			return true;
	}

	public function permitirNuevaClaveSistema(){
		if(empty(Yii::app()->request->cookies['cambio_contrasena_sistema']->value))
			$this->redirect(Yii::app()->homeUrl);
		else
			return true;
	}

	// Permite ingresar mientras que no esten logeado.
	public function permitirRestablecer(){
		if(Yii::app()->user->isGuest)
			return true;

		$this->redirect(Yii::app()->homeUrl);
	}

	// Permite la entrada al personal de FONACIT
	public function permitirSistema(){
		if(Yii::app()->user->isGuest)
			return true;

		$this->redirect(Yii::app()->homeUrl);
	}

	/*private function ejecutarConsultaDiaria()
    {
        // Ejecutar la consulta SQL
        Yii::app()->db->createCommand("
            UPDATE sidcai_recaudo
            SET renovar = true
            WHERE reca_direccion LIKE '%renovar%'
        ")->execute();
    }*/
}