<?php
include "conecta.php";

function exclui_usuario() {

    remover('user', $_POST[id]);

    unset($_POST[id]);
    index();
    exit;
}

function modifica_usuario() {
    global $a_mod;

    $a_mod = carregar('user', $_POST[id]);

    layout_usuario();
    exit;

}

function cadastra_usuario() {
    //exit;
    global $CACTUX_CONF;

    // VERIFICA SE ESTA ALTERANDO A ENTIDADE
    // if ( intval($_POST[entidade]) > 0 ) {

    // $a_ent = carregar('entidade',$_POST[entidade]);

    $campos = array(user_tx_login, user_tx_nivel, user_tx_status, user_tx_nome, user_nb_impressora);
    $valores = array($_POST[login], $_POST[nivel], 'ativo', $_POST[nome], $_POST[impressora]);

    // } else {

    //     $campos = array(user_tx_login,user_tx_nivel,user_tx_status);
    //     $valores = array($_POST[login],$_POST[nivel],'ativo');
    // }

    if (!$_POST[id]) {

        $sql = selecionar('user', 'user_tx_login,user_tx_status', "$_POST[login],ativo", '');
        if (num_linhas($sql) > 0) {
            set_status("ERRO: Nome de usuário já existente!");
            layout_usuario();
            exit;
        } // verifica se o login jah existe na base de dados

        if ($_POST[senha] == '' && $_POST[senha2] == '') {
            set_status("ERRO: Preencha o campo de senha!");
            layout_usuario();
            exit;
        } // verificar se a senha foi preenchida

    } // se for a opcao de cadastrar

    if ($_POST[senha] != $_POST[senha2]) {
        set_status('ERRO: Senhas não conferem!');
        if ($_POST[id]) {
            modifica_usuario();
        } else {
            layout_usuario();
        }

        exit;
    } // testa se as senhas forem diferentes

    if ($_POST[senha]) {
        $campos[] = 'user_tx_senha';
        $valores[] = md5($_POST[senha]);
    } // se entou com a senha, entao adiciona ao arrau

    if ($_POST[id]) {
        atualizar('user', $campos, $valores);
    } else {
        inserir('user', $campos, $valores);
        $_POST[id] = ultimo_reg('user');
    } // cadastra as informacoes na tabela usuario

    unset($_POST[id]);
    index();
    exit;
}

function layout_usuario() {
    global $a_mod;

    cabecalho('Cadastro de Usuários', 2);

    // if( $a_mod[user_tx_nivel] == 'Profissional' || $a_mod[user_tx_nivel] == 'Coordenador' )
    //     $estilo_inicial = 'inline';
    // else
    //     $estilo_inicial = 'none';

    // if( $a_mod[user_nb_profissao] )
    //     $a_profissao = carregar('profissao', $a_mod[user_nb_profissao]);

    cactux::abre_form('upload');

    // $c[] = cactux::campo('* Nome Completo:','nome',$a_mod[user_tx_nome],4);

    if ($_SESSION[user_tx_nivel] == 'Administrador' || $_SESSION[user_tx_nivel] == 'Gerente') {
        // $c[] = cactux::combo_net('Nome Completo:','entidade',$a_mod[user_nb_entidade],$a_mod[user_tx_nome],4,array('busca_div.php?c=funcionario','busca_net.php?c=funcionario'));
        $c[] = cactux::campo('* Nome Completo:', 'nome', $a_mod[user_tx_nome], 4);

        $c[] = cactux::combo('Nível:', 'nivel', array('Administrador', 'Gerente', 'Administrativo', 'Operador', 'Vendedor', 'Contas Pagar', 'Contas Receber'), $a_mod[user_tx_nivel], 2, "onChange=abre_nivel()");
        $c[] = cactux::combo_bd('!Impressora:', 'impressora', $a_mod[user_nb_impressora], $a_mod[user_nb_impressora], 2, 'impressora');
        // $c[] = cactux::combo_bd("!<span id=espec_titulo style='display: $estilo_inicial;''>Profissão:</span>",'profissao',$a_profissao[prof_nb_id],$a_profissao[prof_tx_nome],4,'profissao',"id=espec style='display: $estilo_inicial;'");
        $c1[] = cactux::campo('* Nome de Usuário:', 'login', $a_mod[user_tx_login], 4);

    } else {
        $c[] = cactux::texto('Nome Completo:', $a_mod[user_tx_nome], 4);
        $c[] = cactux::texto('Nível:', $_SESSION[user_tx_nivel], 2);
        $c[] = cactux::combo_bd('!Impressora:', 'impressora', $a_mod[user_nb_impressora], $a_mod[user_nb_impressora], 2, 'impressora');
        // $c[] = cactux::combo_bd("!<span id=espec_titulo style='display: $estilo_inicial;''>Profissão:</span>",'profissao',$a_profissao[prof_nb_id],$a_profissao[prof_tx_nome],4,'profissao',"id=espec style='display: $estilo_inicial;'");
        // $c[] = cactux::texto('Profissão:',$a_profissao[prof_tx_nome],2);
        $c1[] = cactux::texto('Nome de Usuário:', $_SESSION[user_tx_login], 2);
    }

    $c1[] = cactux::campo_senha('Senha:', 'senha', 2);
    $c1[] = cactux::campo_senha('Confirmar Senha:', 'senha2', 2);

    $volta = cactux::botao('Voltar', 2, 'voltar');
    $botao = cactux::botao_submit('Gravar', 2, 'cadastra_usuario', 'id', "$_POST[id]");
    $status = cactux::msg_status();

    cactux::abre_fieldset('Informações do Usuário');
    cactux::linha_fieldset($c[0], $c[1], $c[2], $c[3]);
    cactux::linha_fieldset($c1[0], $c1[1], $c1[2]);
    cactux::fecha_fieldset();
    if ($_SESSION[user_tx_nivel] == 'Administrador' || $_SESSION[user_tx_nivel] == 'Gerente') {
        cactux::linha_fieldset($volta, $botao, $status);
    } else {
        cactux::linha_fieldset($botao, $status);
    }

    if ($_SESSION[user_tx_nivel] != 'Administrador' && $_SESSION[user_tx_nivel] != 'Gerente') {
        campo_hidden('nivel', $_SESSION[user_tx_nivel]);
        campo_hidden('login', $_SESSION[user_tx_login]);
        // campo_hidden('profissao',$_SESSION[user_nb_profissao]);
    }

    cactux::fecha_form();

    cactux::acao_botao('voltar');

    javascript("

		function abre_nivel() {

			// var nivel = window.document.cadastro.nivel.value;

			// if( nivel == 'Profissional' || nivel == 'Coordenador' ){
			// 	window.document.getElementById('espec').style.display='inline';
			// 	window.document.getElementById('espec_titulo').style.display='inline';
			// }else{
			// 	window.document.getElementById('espec').style.display='none';
			// 	window.document.getElementById('espec_titulo').style.display='none';
			// }


		}

		");

    rodape();

}

function bloquear_usuario() {

    $a = carregar('user', $_POST[id]);

    if ($a[user_tx_bloqueio] == 'Bloqueado') {
        atualizar('user', 'user_tx_bloqueio', '', $_POST[id]);
        set_status("Usuário Desbloqueado!");
    } else {
        atualizar('user', 'user_tx_bloqueio', 'Bloqueado', $_POST[id]);
        set_status("Usuário Bloqueado!");
    }

    busca_usuario();
    exit;
}

function busca_usuario() {

    cabecalho('Cadastro de Usuários', 2);

    $c[] = cactux::campo('Código:', 'busca_codigo', '', 2);
    $c[] = cactux::campo('Nome:', 'busca_nome', '', 4);
    $c[] = cactux::campo('Login:', 'busca_login', '', 2);
    $c[] = cactux::combo('Nível:', 'busca_nivel', array('', 'Gerente', 'Administrativo', 'Operador', 'Vendedor', 'Técnico', 'Contas Pagar', 'Contas Receber'), '', 2);

    $botao = cactux::botao_submit_busca("Buscar", 2, 'busca_usuario');
    $insere = cactux::botao("Inserir", 2, 'inserir');
    $status = cactux::msg_status();

    cactux::abre_form();

    cactux::abre_fieldset('Filtro de Busca');
    cactux::linha_fieldset($c[0], $c[1], $c[2], $c[3]);
    cactux::linha_fieldset($botao, $insere, $status);
    cactux::fecha_fieldset();

    cactux::fecha_form();

    acao_botao('inserir', 'layout_usuario');

    $sql = selecionar('user', 'user_tx_status,user_nb_id,user_tx_login,user_tx_nome,user_tx_nivel',
        "ativo,@$_POST[busca_codigo],@$_POST[busca_login],@$_POST[busca_nome],@$_POST[busca_nivel]", " AND user_nb_id > 1 " . grid::order_by('user_tx_login'), 1);
    $BUSCA = grid::gerar_paginacao($sql);

    // inicio do grid

    $cabeca[] = array('CÓD', 'NOME', 'LOGIN', 'NÍVEL', '', '', '');
    $cabeca[] = 'c,e,e,e,c';
    $cabeca[] = '5%,,30%,30%,3%,3%,3%';

    while ($a = carrega_array($BUSCA[0])) {

        if ($_SESSION[user_tx_nivel] == 'Administrador') {
            if ($a[user_tx_bloqueio] != 'Bloqueado') {
                $bloquear = ".icone_modificar($a[0],'bloquear_usuario','','','','','','fa fa-unlock')";
            } else {
                $bloquear = ".icone_modificar($a[0],'bloquear_usuario','','','','','','fa fa-lock')";
            }

        } else {
            $bloquear = '';
        }

        $v = array($a[user_nb_id], $a[user_tx_nome], $a[user_tx_login], $a[user_tx_nivel], $bloquear, ".icone_modificar($a[0],'modifica_usuario')");

        if ($_SESSION[user_tx_nivel] == 'Administrador' || $_SESSION[user_tx_nivel] == 'Gerente') {
            $v[] = ".icone_excluir($a[0],'exclui_usuario')";
        }

        $valores[] = $v;
    }

    grid::gerar($cabeca, $valores);
    grid::Paginar($BUSCA);
}

function index() {

    if ($_SESSION[user_tx_nivel] == 'Administrador' || $_SESSION[user_tx_nivel] == 'Gerente') {
        busca_usuario();
    } else {
        $_POST[id] = $_SESSION[user_nb_id];
        modifica_usuario();
    }

    exit;
}

CONTROLE();

?>