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

class CRUDProfessor extends Pagina {
    
    public function __construct() {
        parent::__construct();
    }
    
    public function corpo() {
       
       
        if(empty($_REQUEST[acao]) AND empty($_REQUEST[executarAcao])) echo "<div><a href='../professor/home.php' class='voltar'>Voltar para a tela inicial</a></div><br/>";
        

        if($_REQUEST[executarAcao] == 'inserir' OR $_REQUEST[executarAcao] == 'editar'){
            $this->salvar($_REQUEST[executarAcao]);
        }elseif($_REQUEST[acao] == 'inserir' OR $_REQUEST[acao] == 'editar'){
            $this->formulario($_REQUEST[acao], $_SESSION[professor_id]);
        }
    }
    
    public function formulario($acao, $id=null){

        if(!empty($id)){
            if($id != $_SESSION[professor_id]){
                echo 'Não foi identificado o professor logado, sua sessão pode ter expirado. Por favor faça o login novamente';
                exit();
            }
            $professor = new Professor();
            $objprofessor = $professor->encontrar($_SESSION[professor_id]);
        }
        
        echo "<fieldset><legend>Professor Responsável</legend>";
        echo "<form action='crudprofessor.php' method='POST'>";
        echo "<input type='hidden' name='executarAcao' value='$acao' />";
        echo "<input type='hidden' name='id' value='$id' />";
        echo "<table class='formulario'>";
        echo "<tr><th>CPF:</th><td><input type='text' name='cpf'
               class='cpf' value='$objprofessor->cpf' required onchange=\"if(this.value!=''){executarAjax('crudprofessor.php?executarFuncao=dadosCPF&cpf='+this.value);}\" /></td></tr>";
        echo "<tr><th>Senha:</th><td><input type='password' name='senha' id='senha' value='$objprofessor->senha' size='60' required /></td></tr>";   
        echo "<tr><th>Nome Completo:</th><td><input type='text' name='nome' id='nome' value='$objprofessor->nome' size='60' required placeholder='nome completo do professor responsável' /></td></tr>";
        echo "<tr><th>Gênero:</th><td>";parent::montaSelect('sexo', array('FEMININO', 'MASCULINO', 'OUTRO', 'PREFIRO NÃO ESPECIFICAR'), $objprofessor->sexo, true);echo "</td></tr>";
        echo "<tr><th>Cor ou Raça:</th><td>";parent::montaSelect('cor', array('BRANCA', 'PRETA', 'PARDA', 'AMARELA', 'INDÍGENA'), $objprofessor->cor, true);echo "</td></tr>";
        echo "<tr><th>Categorias:</th><td>";$this->selecionaCategorias("categorias[]", $objprofessor->categorias);echo "</td></tr>";
        echo "<tr><th>E-mail:</th><td><input type='email' name='email' id='email' value='$objprofessor->email' class='email' required size='60' placeholder='e-mail do professor; será utilizado para recuperação de senha e contato do sistema' /></td></tr>";
        echo "<tr><th>Celular:</th><td><input type='text' name='celular' id='celular' value='$objprofessor->celular' class='celular' placeholder='(00) 00000-0000' /> &nbsp; ";
        echo "<b>Telefone:</b><input type='text' name='telefone' id='telefone' value='$objprofessor->telefone' class='telefoneddd' placeholder='(00) 0000-0000' /></td></tr>";
        echo "</table>";
        echo "</fieldset>";
       
       $onclickcancelar = (parent::temPermissao(array('professor')) OR $_REQUEST[fechar] == 'sim')? "window.location.href='home.php';" : "window.location='login.php'";
        echo "<br/><div align='center'>";
        
        
        echo "<input type='submit' value='Salvar' class='confirmar' /> &nbsp;&nbsp; ";
        echo "<input type='button' value='Voltar' class='cancelar' onclick=\"$onclickcancelar\" />";
        echo "</div>";
        echo "</form>";
    }
    
    /*
    ==============isso eu jogaria para a classe pagina, alias acho que ja tem algo la
    */
    public function selecionaCategorias($name, $defaultcategorias=null){
        $valores = array('indígenas', 'comunidade riberinha', 'população negra', 'quilombolas', 'pessoa com deficiência', 'outras comunidades tradicionais');
        $arraydefault = explode(',', $defaultcategorias);
        foreach($valores as $valor){
            $checked = (in_array($valor, $arraydefault))? 'checked' : null;
            echo "<nobr>[<input type='checkbox' name='$name' value='$valor' $checked />$valor]</nobr> &nbsp; ";
        }
    }

    public function salvar($acao){
      $professor = new Professor();
       
      if(!empty($_SESSION[professor_id])) $professor->encontrar($_SESSION[professor_id]);
        

        $professor->nome = parent::acertarNome($_POST[nome]);
        $professor->cpf = parent::soNumeros($_POST[cpf]);
        $professor->senha = ($_POST[senha] == $professor->senha)? $professor->senha : md5($_POST[senha]);
        $professor->sexo = parent::acertarString($_POST[sexo]);
        $professor->cor = parent::acertarString($_POST[cor]);
        $professor->categorias = implode(',', $_POST[categorias]);
        $professor->email = parent::acertarString(strtolower($_POST[email]));
        $professor->telefone = parent::acertarString($_POST[telefone]);
        $professor->celular = parent::acertarString($_POST[celular]);
        
        switch($acao){
            case 'inserir':
                $auxprofessor = new Professor();
                $auxprofessor->encontrarPorCpf($professor->cpf);
                if(!empty($auxprofessor->cpf)){
                    echo "<script type='text/javascript'>alert('Já existe cadastro nesse cpf');window.location.href = 'login.php';</script>";
                    exit();
                }
                $executou = $professor->inserir();
                break;
            case 'editar':
                $executou = $professor->editar();
        }
        if($acao == 'editar')
            echo "<script type='text/javascript'>window.location.href = 'home.php'; window.close();</script>";
        else
            echo "<script type='text/javascript'>window.location.href = 'login.php'; alert('Cadastrado com sucesso!');window.close();</script>";
    }


    /**
     * ==========ja existe na classe pagina algo parecido, nao vejo necessidad aqui
     */
    public function removerCaracterEspecialSimples($str){
        $str = str_replace('"', '`', $str);
        $str = str_replace('&', '*', $str);
        $str = str_replace('\\', '*', $str);
        $str = str_replace("'", '`', $str);
        $str = str_replace('?', '*', $str);
        $str = str_replace('/', '*', $str);
        $str = str_replace('<', '*', $str);
        $str = str_replace('>', '*', $str);
        
        return $str;
    }    
}

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