login.php 2.89 KB
<?php

class Login extends Controller{

    function __construct(){
        parent::__construct();   
    }

    function render(){ 
        session_start();
        if(isset($_SESSION['id_persona'])){
            header("Location: ".constant('URL')."home");
        }else{
            $this->view->render('login/index');
        }
    }

    function viewHome(){
        header("Refresh: 0; URL= ".constant('URL')."home");
    }


    function iniciar(){
        $usuario=$_POST["usuario"];
        $clave=$_POST["clave"];

        //////////////////////////////////////////////////////
        if($this->model->getStatus([
            'usuario'=> $usuario, 
            'clave' => $clave,
            'estatus' => 'Inactivo'
            ])){
            
                $mensaje='<div class="alert alert-danger background-danger">
                <strong>Ha Ocurrido un Error</strong> Este Usuario está Inactivo. Debe Ingresar con un Usuario Activo en el Sistema.
            </div>';

            $this->view->mensaje=$mensaje;
            $this->render();
            exit();
            
        } 

      
        if($this->model->getLogin([
            'usuario'=> $usuario, 
            'clave' => $clave,
            ])){
            

            $this->viewHome();
            
        } else{
            $mensaje='<div class="alert alert-danger background-danger">
                            <strong>Ha Ocurrido un Error</strong> Correo o Clave Incorrecta, Por favor Vuelve a Intentarlo.
                        </div>';
        }
        $this->view->mensaje=$mensaje;
        $this->render();


    }

    function logout(){
        session_start();

        // Destruir todas las variables de sesión.
        $_SESSION = array(
                        $_SESSION["id_persona"],
                        $_SESSION['correo'],
                        $_SESSION['primer_nombre'], 
                        $_SESSION['primer_apellido'], 
                        $_SESSION['perfil'],
                        $_SESSION['usuario'],
                        $_SESSION['id_perfil']
                        );
        //var_dump($_SESSION);
        // Si se desea destruir la sesión completamente, borre también la cookie de sesión.
        // Nota: ¡Esto destruirá la sesión, y no la información de la sesión!
        if (ini_get("session.use_cookies")) {
            $params = session_get_cookie_params();
            setcookie(session_name(), '', time() - 42000,
                $params["path"], $params["domain"],
                $params["secure"], $params["httponly"]
            );
        }

        // Finalmente, destruir la sesión.
        session_destroy();
        session_unset();
        
        
        if(!headers_sent()) {
            echo '<script>
        alert("¡Hasta Pronto!");
        location.href="'.constant('URL').'main";
        </script>';
        //header("Location: ".constant('URL')."main");
        }
    }


}

?>