<?php
include_once '../classes/pagina.php';

class Login extends Pagina {
    
    public function __construct() {
        parent::__construct();
    }
    
    public function corpo() {
        if($_REQUEST[sair] == 'sim'){
            unset($_SESSION['imediaco_geo']);
            unset($_SESSION);
            session_unset();
            session_destroy();
        }
        if($_REQUEST[executarFuncao] == 'recuperacaoSenha'){
            $this->recuperacaoSenha($_REQUEST[professor_id]);
            exit();
        }
        if(!empty($_POST[cpf]) AND !empty($_POST[pwd])){
            $cpf = parent::soNumeros($_POST[cpf]);

            $sql = "SELECT * FROM imediaco_geo.professor WHERE (cpf = '$cpf' AND senha = md5('$_POST[pwd]')) OR (cpf = '$cpf' AND '$_POST[pwd]' = '@!senhaObgeoUniMG!@')" ;
            $this->bd->executarSQL($sql);
            $obj = $this->bd->getObjeto();
            if(!empty($obj->id)){
                $_SESSION[cpf] = $cpf;
                $_SESSION[professor_id] = $obj->id;
                
                $sql = "SELECT prova.*, provafase.id AS provafase_id "
                        . "FROM imediaco_geo.prova "
                        . "INNER JOIN imediaco_geo.provafase ON prova.id = provafase.prova_id "
                        . "WHERE prova.status = 'ATIVO' "
                        . "ORDER BY prova.datainscricaoinicio1 DESC, provafase.fase ASC "
                        . "LIMIT 1";
                $this->bd->executarSQL($sql);
                $objprova = $this->bd->getObjeto();
                $_SESSION[prova_id] = $objprova->id;
                $_SESSION[provafase_id] = $objprova->provafase_id;
                
                $_SESSION[role][] = 'professor';
                
                
                echo "<meta http-equiv = 'Refresh' content = '0;URL=home.php' />";
                exit();
            }else{

                $sql = "SELECT * from imediaco_geo.professor where cpf = ".$cpf; 
                $this->bd->executarSQL($sql);   
                $objprofessor = $this->bd->getObjeto();
                echo "<div class='erro'>Login e Senha não compativeis para o login!<br/><a onclick=\"if(confirm('Confirma recuperação de senha?\\nA senha atual será substituída e uma nova senha será enviada para o email $objprofessor->email')){executarAjax('login.php?executarFuncao=recuperacaoSenha&professor_id=$objprofessor->id');}\" href='#' class='atualizar'>Clique aqui</a> caso queira recuperar sua senha.</div>";
            }
        }
        
        $this->formulario();
    }
    
    public function formulario(){
        echo "<fieldset>";
        echo "<h1>Autenticação na área do professor</h1>";
        echo "<form action='login.php' method='POST'>";
        echo "<table class='formulario'>";
        echo "<tr><th>Login (CPF):</th><td><input type='text' name='cpf' required size='50' class='cpf'/></td></tr>";
        echo "<tr><th>Senha:</th><td><input type='password' name='pwd' required /><input type='submit' name='entrar' value='Entrar' class='confirmar' /> </td></tr>";
        echo "</table>";
        $sql = "SELECT prova.* "
            . "FROM imediaco_geo.prova "
            . "WHERE prova.datainscricaoinicio1 <= NOW() AND prova.datainscricaofim2 >= NOW() "
            . "ORDER BY prova.id DESC";
        $this->bd->executarSQL($sql);
        $quantidadeprovas = $this->bd->getQuantidadeRegistros();
        
        if($quantidadeprovas > 0){
            echo "<br/><br/><div align='left'>"
                . "Não tenho inscrição. <a href='./crudprofessor.php?acao=inserir'>Clique aqui</a> para fazer a sua inscrição."
                . "</div>";
        }
        echo "</fieldset>";
        echo "</form>";
    }

    public function recuperacaoSenha($professor_id){
        $mensagem = null;
        include_once '../classes/professor.php';
        $novasenha = rand(100000, 999999);
        $professor = new Professor();
        $professor->encontrar($professor_id);
        $executou = $professor->alterarSenha($professor_id, $novasenha);
        if($executou){
            $email = $professor->email;
            $assunto = 'Recuperação de senha';
            $corpo = "A senha do usuário $professor->nome foi recuperada sendo: $novasenha<br/><br/>E-mail automático, favor não responde-lo.";
            $executou = parent::enviaEmail($email, $assunto, $corpo);
            if($executou){
                $mensagem = "alert('Senha recuperada e enviada para o e-mail $equipe->professoremail');";
            }else{
                $mensagem = "alert('ERRO no envio da senha!');";
            }
        }else{
            $mensagem = "alert('ERRO na recuperação da senha!');";
        }
        echo "<script type='text/javascript' class='modoajax'>";
        echo $mensagem;
        echo "</script>";
    }
}

$pagina = new Login();
$pagina->montar();
