Exemplo n.º 1
0
 /**
  * Verifica se um usuário tem permissão para cadastrar baseado em um
  * identificador de processo.
  *
  * @param int $int_processo_ap Identificador de processo
  * @param int $int_idpes_usuario Identificador do usuário
  * @param int $int_soma_nivel_acesso
  * @param string $str_pagina_redirecionar Caminho para o qual a requisição será
  *   encaminhada caso o usuário não tenha privilégios suficientes para a
  *   operação de cadastro
  * @param bool $super_usuario TRUE para verificar se o usuário é super usuário
  * @param bool $int_verifica_usuario_biblioteca TRUE para verificar se o
  *   usuário possui cadastro em alguma biblioteca
  * @return bool|void
  */
 function permissao_excluir($int_processo_ap, $int_idpes_usuario, $int_soma_nivel_acesso, $str_pagina_redirecionar = NULL, $super_usuario = NULL, $int_verifica_usuario_biblioteca = FALSE)
 {
     $obj_usuario = new clsFuncionario($int_idpes_usuario);
     $detalhe_usuario = $obj_usuario->detalhe();
     // Verifica se é super usuário
     if ($super_usuario != NULL && $detalhe_usuario['ativo']) {
         $obj_menu_funcionario = new clsMenuFuncionario($int_idpes_usuario, FALSE, FALSE, 0);
         $detalhe_super_usuario = $obj_menu_funcionario->detalhe();
     }
     if (!$detalhe_super_usuario) {
         $obj_menu_funcionario = new clsMenuFuncionario($int_idpes_usuario, FALSE, FALSE, $int_processo_ap);
         $detalhe = $obj_menu_funcionario->detalhe();
     }
     $nivel = $this->nivel_acesso($int_idpes_usuario);
     $ok = FALSE;
     if ($super_usuario && $detalhe_super_usuario || $nivel & $int_soma_nivel_acesso) {
         $ok = TRUE;
     }
     if (!$detalhe['exclui'] && !$detalhe_super_usuario) {
         $ok = FALSE;
     }
     /*
      * Se for usuario tipo biblioteca ou escola
      * ($int_verifica_usuario_biblioteca = true), verifica se possui cadastro na
      * tabela usuario biblioteca
      */
     if (($nivel == 8 || $nivel == 4 && $int_verifica_usuario_biblioteca == TRUE) && $int_soma_nivel_acesso > 3 && !$detalhe_super_usuario) {
         $ok = $this->getBiblioteca($int_idpes_usuario) == 0 ? FALSE : TRUE;
         if (!$ok && $nivel == 8) {
             header("Location: index.php?negado=1");
             die;
         }
     }
     if (!$ok) {
         if ($str_pagina_redirecionar) {
             header("Location: {$str_pagina_redirecionar}");
             die;
         } else {
             return FALSE;
         }
     }
     return TRUE;
 }
Exemplo n.º 2
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Usuário - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->addCabecalhos(array("Usuário", "Tipo Usuário", "Nível de Acesso"));
     $objPermissao = new clsPermissoes();
     // Filtros de Foreign Keys
     $opcoes = array("" => "Pesquise o funcionário clicando na lupa ao lado");
     if ($this->cod_usuario) {
         $objTemp = new clsFuncionario($this->cod_usuario);
         $detalhe = $objTemp->detalhe();
         $detalhe = $detalhe["idpes"]->detalhe();
         $opcoes["{$detalhe["idpes"]}"] = $detalhe["nome"];
     }
     $parametros = new clsParametrosPesquisas();
     $parametros->setSubmit(0);
     $parametros->adicionaCampoSelect("cod_usuario", "ref_cod_pessoa_fj", "nome");
     $this->campoListaPesq("cod_usuario", "Usuário", $opcoes, $this->cod_usuario, "pesquisa_funcionario_lst.php", "", false, "", "", null, null, "", false, $parametros->serializaCampos());
     $opcoes = array("" => "Selecione");
     if (class_exists("clsPmieducarTipoUsuario")) {
         $objTemp = new clsPmieducarTipoUsuario();
         $objTemp->setOrderby('nm_tipo ASC');
         $lista = $objTemp->lista();
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes["{$registro['cod_tipo_usuario']}"] = "{$registro['nm_tipo']}";
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarTipoUsuario n&atilde;o encontrada\n-->";
         $opcoes = array("" => "Erro na gera&ccedil;&atilde;o");
     }
     $this->campoLista("ref_cod_tipo_usuario", "Tipo Usu&aacute;rio", $opcoes, $this->ref_cod_tipo_usuario, null, null, null, null, null, false);
     // filtro de nivel de acesso
     $obj_tipo_usuario = new clsPmieducarTipoUsuario($this->pessoa_logada);
     $tipo_usuario = $obj_tipo_usuario->detalhe();
     $obj_super_usuario = new clsMenuFuncionario($this->pessoa_logada, false, false, 0);
     $super_usuario_det = $obj_super_usuario->detalhe();
     if ($super_usuario_det) {
         $opcoes = array("" => "Selecione", "1" => "Poli-Institucional", "2" => "Institucional", "4" => "Escolar", "8" => "Biblioteca");
     } elseif ($tipo_usuario["nivel"] == 1) {
         $opcoes = array("" => "Selecione", "2" => "Institucional", "4" => "Escolar", "8" => "Biblioteca");
     } elseif ($tipo_usuario["nivel"] == 2) {
         $opcoes = array("" => "Selecione", "4" => "Escolar", "8" => "Biblioteca");
     } elseif ($tipo_usuario["nivel"] == 4) {
         $opcoes = array("" => "Selecione", "8" => "Biblioteca");
     }
     $this->campoLista("ref_cod_nivel_usuario", "N&iacute;vel de Acesso", $opcoes, $this->ref_cod_nivel_usuario, null, null, null, null, null, false);
     if ($super_usuario_det) {
         $get_escola = true;
         include "include/pmieducar/educar_campo_lista.php";
     }
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_usuario = new clsPmieducarUsuario();
     $obj_usuario->setOrderby("nivel ASC");
     $obj_usuario->setLimite($this->limite, $this->offset);
     $lista = $obj_usuario->lista($this->cod_usuario, $this->ref_cod_escola, $this->ref_cod_instituicao, null, null, $this->ref_cod_tipo_usuario, null, null, null, null, 1, $this->ref_cod_nivel_usuario);
     $total = $obj_usuario->_total;
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // pega detalhes de foreign_keys
             if (class_exists("clsPessoa_")) {
                 $obj_cod_usuario = new clsPessoa_($registro["cod_usuario"]);
                 $obj_usuario_det = $obj_cod_usuario->detalhe();
                 $nome_usuario = $obj_usuario_det['nome'];
             } else {
                 $nome_usuario = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPessoa_\n-->";
             }
             if (class_exists("clsPmieducarTipoUsuario")) {
                 $obj_tipo_usuario = new clsPmieducarTipoUsuario($registro["ref_cod_tipo_usuario"]);
                 $obj_tipo_usuario_det = $obj_tipo_usuario->detalhe();
                 $nm_tipo_usuario = $obj_tipo_usuario_det["nm_tipo"];
                 $registro["ref_cod_nivel_usuario"] = $obj_tipo_usuario_det["nivel"];
                 if ($registro["ref_cod_nivel_usuario"] == 1) {
                     $nivel = "Poli-Institucional";
                 } elseif ($registro["ref_cod_nivel_usuario"] == 2) {
                     $nivel = "Institucional";
                 } elseif ($registro["ref_cod_nivel_usuario"] == 4) {
                     $nivel = "Escolar";
                 } elseif ($registro["ref_cod_nivel_usuario"] == 8) {
                     $nivel = "Biblioteca";
                 }
             } else {
                 $registro["ref_cod_tipo_usuario"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarTipoUsuario\n-->";
             }
             $this->addLinhas(array("<a href=\"educar_usuario_det.php?cod_usuario={$registro["cod_usuario"]}\">{$nome_usuario}</a>", "<a href=\"educar_usuario_det.php?cod_usuario={$registro["cod_usuario"]}\">{$nm_tipo_usuario}</a>", "<a href=\"educar_usuario_det.php?cod_usuario={$registro["cod_usuario"]}\">{$nivel}</a>"));
         }
     }
     $this->addPaginador2("educar_usuario_lst.php", $total, $_GET, $this->nome, $this->limite);
     $objPermissao = new clsPermissoes();
     if ($objPermissao->permissao_cadastra(555, $this->pessoa_logada, 7, null, true)) {
         $this->acao = "go(\"educar_usuario_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
 }
Exemplo n.º 3
0
 function Excluir()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj = new clsPmieducarUsuario($this->cod_usuario, null, null, null, $this->pessoa_logada, null, null, null, 0);
     $excluiu = $obj->excluir();
     if ($excluiu) {
         // cadastra os menus que o usuario tem acesso
         $obj_menu_func = new clsMenuFuncionario($this->cod_usuario);
         $obj_menu_func->exclui_todos(55);
         $obj_menu_func->exclui_todos(57);
         $obj_usuario_bib = new clsPmieducarBibliotecaUsuario();
         $lista_bibliotecas_usuario = $obj_usuario_bib->lista(null, $this->cod_usuario);
         if ($lista_bibliotecas_usuario) {
             foreach ($lista_bibliotecas_usuario as $usuario) {
                 $obj_usuario_bib = new clsPmieducarBibliotecaUsuario($usuario['ref_cod_biblioteca'], $this->pessoa_logada);
                 if (!$obj_usuario_bib->excluir()) {
                     echo "<!--\nErro ao excluir usuarios biblioteca\n-->";
                     return false;
                 }
             }
         }
         $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";
         header("Location: educar_usuario_lst.php");
         die;
         return true;
     }
     $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";
     echo "<!--\nErro ao excluir clsPmieducarUsuario\nvalores obrigat&oacute;rios\nif( is_numeric( {$this->cod_usuario} ) && is_numeric( {$this->pessoa_logada} ) )\n-->";
     return false;
 }