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

class CRUDCategoria extends Pagina {
    
    public function __construct() {
        parent::checarPermissao(array('administrador'));
        parent::__construct();
    }
    
    public function corpo() {
        if(empty($_REQUEST[acao]) AND empty($_REQUEST[executarAcao])) echo "<div><a href='home.php' class='voltar'>Voltar para a tela inicial</a></div><br/>";
        
        if($_REQUEST[executarAcao] == 'inserir' OR $_REQUEST[executarAcao] == 'editar' OR $_REQUEST[executarAcao] == 'excluir'){
            $this->salvar($_REQUEST[executarAcao]);
        }elseif($_REQUEST[acao] == 'inserir' OR $_REQUEST[acao] == 'editar' OR $_REQUEST[acao] == 'excluir'){
            $this->formulario($_REQUEST[acao], $_REQUEST[id]);
        }else{
            $this->lista();
        }
    }
    
    public function lista(){
        echo "<div align='center'><a href='crudcategoria.php?acao=inserir' target='_blank' class='adicionar'>Inserir Nova Categoria</a></div><br/>";
        
        echo "<form action='crudcategoria.php' method='POST'>";
        echo "<fieldset><legend>Filtro</legend>";
        echo "Descrição: <input type='text' name='descricao' value='$_REQUEST[descricao]' size='30' />";
        echo "<div align='center'><input type='submit' value='Filtrar' class='pesquisar' /></div>";
        echo "</fieldset>";
        echo "</form>";
        echo "<br/>";
        
        $where[] = '1=1';
        if(!empty($_REQUEST[descricao])) $where[] = "categoria.descricao LIKE '%$_REQUEST[descricao]%'";
        $where = implode(' AND ', $where);
        
        $atributos[select] = 'categoria.descricao, categoria.peso';
        $atributos[from] = 'imediaco_geo.categoria';
        $atributos[where] = $where;
        $atributos[orderBy] = 'categoria.descricao';
        $atributos[chave] = 'categoria.id';
        $atributos[limit] = 200;
        
        $links[] = array('endereco'=>'crudcategoria.php', 'acao'=>'editar', 'imagem'=>"../imagens/editar.png", 'target'=>'_blank');
        $links[] = array('endereco'=>'crudcategoria.php', 'acao'=>'excluir', 'imagem'=>"../imagens/excluir.png", 'target'=>'_blank');
        
        parent::tabela($atributos, $links);
    }

    public function formulario($acao, $id=null){
        if(!empty($id)){
            $categoria = new Categoria();
            $obj = $categoria->encontrar($id);
        }
        
        echo "<h1>Cadastro de Categorias de Questões</h1>";
        
        echo "<form action='crudcategoria.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>Categoria:</th><td><input type='text' name='descricao' value='$obj->descricao' size='60' required /></td></tr>";
        echo "<tr><th>Peso:</th><td><input type='text' name='peso' value='".parent::numericParaNumero($obj->peso)."' size='3' class='real' required /></td></tr>";
        
        echo "</table>";
        
        echo "<br/>";
        echo "<div align='center'>";
        echo "<input type='submit' name='cadastrar' value='".ucwords($acao)."' class='confirmar'/> &nbsp;&nbsp; ";
        echo "<input type='button' name='cancelar' value='Cancelar' onclick=\"window.close();\" class='cancelar' />";
        echo "</div>";
        
        echo "</form>";
    }
    
    public function salvar($acao){
        $categoria = new Categoria();
        
        if(!empty($_POST[id])) $categoria->encontrar($_POST[id]);
        
        $categoria->descricao = parent::acertarString($_POST[descricao]);
        $categoria->peso = parent::numeroParaNumeric($_POST[peso]);
        
        switch($acao){
            case 'inserir':
                $executou = $categoria->inserir();
                break;
            case 'editar':
                $executou = $categoria->editar();
                break;
            case 'excluir':
                $executou = $categoria->excluir();
                break;
        }
        
        echo "<script type='text/javascript'>window.opener.location.reload(); window.close();</script>";
    }
}

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