Commit 30fc70a3eb4ab6ea5b13c18abac4d83d00b158ef

Authored by Eriksen Costa Paixão
1 parent f0f3023e
Exists in master

--no commit message

ieducar/intranet/educar_tipo_usuario_cad.php
1 1 <?php
2   -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3   - * *
4   - * @author Prefeitura Municipal de Itajaí *
5   - * @updated 29/03/2007 *
6   - * Pacote: i-PLB Software Público Livre e Brasileiro *
7   - * *
8   - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí *
9   - * ctima@itajai.sc.gov.br *
10   - * *
11   - * Este programa é software livre, você pode redistribuí-lo e/ou *
12   - * modificá-lo sob os termos da Licença Pública Geral GNU, conforme *
13   - * publicada pela Free Software Foundation, tanto a versão 2 da *
14   - * Licença como (a seu critério) qualquer versão mais nova. *
15   - * *
16   - * Este programa é distribuído na expectativa de ser útil, mas SEM *
17   - * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI- *
18   - * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con- *
19   - * sulte a Licença Pública Geral GNU para obter mais detalhes. *
20   - * *
21   - * Você deve ter recebido uma cópia da Licença Pública Geral GNU *
22   - * junto com este programa. Se não, escreva para a Free Software *
23   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *
24   - * 02111-1307, USA. *
25   - * *
26   - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27   -require_once ("include/clsBase.inc.php");
28   -require_once ("include/clsCadastro.inc.php");
29   -require_once ("include/clsBanco.inc.php");
30   -require_once( "include/pmieducar/geral.inc.php" );
  2 +
  3 +/**
  4 + * i-Educar - Sistema de gestão escolar
  5 + *
  6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
  8 + *
  9 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  10 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  11 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  12 + * qualquer versão posterior.
  13 + *
  14 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  15 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  16 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  17 + * do GNU para mais detalhes.
  18 + *
  19 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  20 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  21 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  22 + *
  23 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  24 + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  25 + * @package Core
  26 + * @subpackage pmieducar
  27 + * @subpackage Administrativo
  28 + * @subpackage TipoUsuario
  29 + * @since Arquivo disponível desde a versão 1.0.0
  30 + * @version $Id$
  31 + */
  32 +
  33 +require_once 'include/clsBase.inc.php';
  34 +require_once 'include/clsCadastro.inc.php';
  35 +require_once 'include/clsBanco.inc.php';
  36 +require_once 'include/pmieducar/geral.inc.php';
31 37  
32 38 class clsIndexBase extends clsBase
33 39 {
34   - function Formular()
35   - {
36   - $this->SetTitulo( "{$this->_instituicao} i-Educar - Tipo Usuario" );
37   - $this->processoAp = "554";
38   - }
  40 + function Formular() {
  41 + $this->SetTitulo($this->_instituicao . ' i-Educar - Tipo Usuário');
  42 + $this->processoAp = '554';
  43 + }
39 44 }
40 45  
41 46 class indice extends clsCadastro
42 47 {
43   - /**
44   - * Referencia pega da session para o idpes do usuario atual
45   - *
46   - * @var int
47   - */
48   - var $pessoa_logada;
49   -
50   - var $cod_tipo_usuario;
51   - var $ref_funcionario_cad;
52   - var $ref_funcionario_exc;
53   - var $nm_tipo;
54   - var $descricao;
55   - var $nivel;
56   - var $data_cadastro;
57   - var $data_exclusao;
58   - var $ativo;
59   - var $permissoes;
60   -
61   -
62   - function Inicializar()
63   - {
64   - $retorno = "Novo";
65   - @session_start();
66   - $this->pessoa_logada = $_SESSION['id_pessoa'];
67   - @session_write_close();
68   -
69   - //** Verificacao de permissao para cadastro
70   - $obj_permissao = new clsPermissoes();
71   -
72   - $obj_permissao->permissao_cadastra(554, $this->pessoa_logada,1,"educar_tipo_usuario_lst.php",true);
73   - //**
74   -
75   - $this->cod_tipo_usuario=$_GET["cod_tipo_usuario"];
76   -
77   - if( is_numeric( $this->cod_tipo_usuario ) )
78   - {
79   -
80   - $obj = new clsPmieducarTipoUsuario( $this->cod_tipo_usuario );
81   -
82   - if(!$registro = $obj->detalhe()){
83   - header("location: educar_tipo_usuario_lst.php");
84   - }
85   -
86   - if( $registro )
87   - {
88   - foreach( $registro AS $campo => $val ) // passa todos os valores obtidos no registro para atributos do objeto
89   - $this->$campo = $val;
90   -
91   -
92   - //** verificao de permissao para exclusao
93   - $this->fexcluir = $obj_permissao->permissao_excluir(554,$this->pessoa_logada,1,null,true);
94   - //**
95   -
96   -
97   - $retorno = "Editar";
98   - }
99   - }
100   - $this->url_cancelar = ($retorno == "Editar") ? "educar_tipo_usuario_det.php?cod_tipo_usuario={$registro["cod_tipo_usuario"]}" : "educar_tipo_usuario_lst.php";
101   - $this->nome_url_cancelar = "Cancelar";
102   -
103   - return $retorno;
104   - }
105   -
106   - function Gerar()
107   - {
108   - // primary keys
109   - $this->campoOculto( "cod_tipo_usuario", $this->cod_tipo_usuario );
110   -
111   - // text
112   - $this->campoTexto( "nm_tipo", "Tipo de Usuário", $this->nm_tipo, 40, 255, true );
113   -
114   - $array_nivel = array( "8" => "Biblioteca",'4' => "Escola", '2' => "Institucional", "1" => "Poli-institucional");
115   -
116   - $this->campoLista( "nivel", "N&iacute;vel",$array_nivel, $this->nivel);
117   -
118   - $this->campoMemo( "descricao", "Descri&ccedil;&atilde;o", $this->descricao, 37, 5, false );
119   - //$this->campoRotulo("listagem_menu","<b>Permiss&otilde;es de acesso aos menus</b>","");
120   - //$this->campoQuebra();
121   - $this->campoRotulo("listagem_menu","<b>Permiss&otilde;es de acesso aos menus</b>","");
122   - //$this->campoQuebra();
123   - if( class_exists( "clsBanco" ) )
124   - {
125   - $objTemp = new clsBanco();
126   - $objTemp->Consulta("SELECT sub.cod_menu_submenu
127   - ,sub.nm_submenu
128   - ,m.nm_menu
129   - FROM menu_submenu sub
130   - ,menu_menu m
131   - WHERE sub.ref_cod_menu_menu = m.cod_menu_menu
132   - AND (m.cod_menu_menu = 55 OR m.ref_cod_menu_pai = 55)
133   - ORDER BY cod_menu_menu
134   - ,upper(sub.nm_submenu)
135   - ");
136   - while($objTemp->ProximoRegistro())
137   - {
138   - list ($codigo, $nome,$menu_pai) = $objTemp->Tupla();
139   - $opcoes[$menu_pai][$codigo] = $nome;
140   - }
141   -
142   - }
143   - else
144   - {
145   - echo "<!--\nErro\nClasse clsMenuSubmenu nao encontrada\n-->";
146   - $opcoes = array( "" => "Erro na geracao" );
147   - }
148   -
149   - $array_opcoes = array('' => "Selecione", 'M' => 'Marcar', 'U' => 'Desmarcar');
150   - $array_opcoes_ = array('' => "Selecione", 'M' => 'Marcar Todos', 'U' => 'Desmarcar Todos');
151   -
152   - $this->campoLista("todos","Op&ccedil;&otilde;es",$array_opcoes_,"","selAction('-','-',this)",false,"","",false,false);
153   - $script = "menu = new Array();\n";
154   -
155   - foreach ($opcoes as $id_pai => $menu)
156   - {
157   - $this->campoQuebra();
158   - $this->campoRotulo("$id_pai","<b>$id_pai</b>","");
159   -
160   - $this->campoLista("$id_pai 1","Op&ccedil;&otilde;es",$array_opcoes,"","selAction('$id_pai','visualiza',this)",true,"","",false,false);
161   - $this->campoLista("$id_pai 2","Op&ccedil;&otilde;es",$array_opcoes,"","selAction('$id_pai','cadastra',this)",true,"","",false,false);
162   - $this->campoLista("$id_pai 3","Op&ccedil;&otilde;es",$array_opcoes,"","selAction('$id_pai','exclui',this)",false,"","",false,false);
163   -
164   - $script .= "menu['$id_pai'] = new Array();\n";
165   -
166   - foreach ($menu as $id => $submenu)
167   - {
168   - $obj_menu_tipo_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$id);
169   - $obj_menu_tipo_usuario->setCamposLista("cadastra","visualiza","exclui");
170   - $obj_det = $obj_menu_tipo_usuario->detalhe();
171   - if($this->tipoacao == "Novo")
172   - $obj_det["visualiza"] = $obj_det["cadastra"] = $obj_det["exclui"] = 1;
173   -
174   - $script .= "menu['$id_pai'][menu['$id_pai'].length] = $id; \n";
175   -
176   - $this->campoCheck("permissoes[{$id}][visualiza]", $submenu, $obj_det["visualiza"],"Visualizar",true,false);
177   - $this->campoCheck("permissoes[{$id}][cadastra]", $submenu, $obj_det["cadastra"],"Cadastrar",true);
178   - $this->campoCheck("permissoes[{$id}][exclui]", $submenu, $obj_det["exclui"],"Excluir",false);
179   -
180   - $this->campoOculto("permissoes[{$id}][id]",$id);
181   - }
182   -
183   - }
184   - echo "<script>{$script}</script>";
185   -
186   - }
187   -
188   - function Novo()
189   - {
190   - @session_start();
191   - $this->pessoa_logada = $_SESSION['id_pessoa'];
192   - @session_write_close();
193   -//echo "{$this->cod_tipo_usuario}, {$this->pessoa_logada}, null, {$this->nm_tipo}, {$this->descricao}, {$this->nivel}, null, null, 1";
194   - $obj = new clsPmieducarTipoUsuario( $this->cod_tipo_usuario, $this->pessoa_logada, null, $this->nm_tipo, $this->descricao, $this->nivel, null, null, 1 );
195   - $cadastrou = $obj->cadastra();
196   - if( $cadastrou )
197   - {
198   - $this->cod_tipo_usuario = $cadastrou;
199   - //**
200   - //echo "<pre>";
201   - //print_r($this->permissoes);die;
202   - if($this->permissoes)
203   - {
204   - /**
205   - * LIMPA A TABELA
206   - */
207   - $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$key,$valor['cadastra'],$valor['visualiza'],$valor['exclui']);
208   - $obj_menu_usuario->excluirTudo();
209   - /**
210   - *
211   - */
212   -
213   - foreach ($this->permissoes as $key => $valor)
214   - {
215   - $valor['cadastra'] = $valor['cadastra'] == "on" ? 1 : 0;
216   - $valor['visualiza'] = $valor['visualiza'] == "on" ? 1 : 0;
217   - $valor['exclui'] = $valor['exclui'] == "on" ? 1 : 0;
218   -
219   - if($valor['cadastra'] || $valor['visualiza'] || $valor['exclui'])
220   - {
221   - $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$key,$valor['cadastra'],$valor['visualiza'],$valor['exclui']);
222   -
223   - /* if($obj_menu_usuario->detalhe())
224   - {
225   - $editou = $obj_menu_usuario->edita();
226   - if(!$editou){
227   - $this->mensagem .= "Erro ao editar acessos aos menus.<br>";
228   - return false;
229   - }
230   - }
231   - else
232   - {*/
233   - if(!$obj_menu_usuario->cadastra())
234   - {
235   - $this->mensagem .= "Erro ao cadastrar acessos aos menus.<br>";
236   - return false;
237   - }
238   - //}
239   - }
240   - }
241   - }
242   - //**
243   -
244   - $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
245   - header( "Location: educar_tipo_usuario_lst.php" );
246   - die();
247   - return true;
248   - }
249   -
250   - $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
251   - echo "<!--\nErro ao cadastrar clsPmieducarTipoUsuario\nvalores obrigatorios\nis_numeric( $ref_funcionario_cad ) && is_string( $nm_tipo ) && is_numeric( $nivel ) && is_string( $data_cadastro ) && is_numeric( $ativo )\n-->";
252   - return false;
253   - }
254   -
255   - function Editar()
256   - {
257   - @session_start();
258   - $this->pessoa_logada = $_SESSION['id_pessoa'];
259   - @session_write_close();
260   -
261   - $obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario,null, $this->pessoa_logada, $this->nm_tipo, $this->descricao, $this->nivel, null, null, 1);
262   - $editou = $obj->edita();
263   - if( $editou )
264   - {
265   - //**
266   - //echo "<pre>";
267   - //print_r($this->permissoes);die;
268   - if($this->permissoes)
269   - {
270   - /**
271   - * LIMPA A TABELA
272   - */
273   - $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$key,$valor['cadastra'],$valor['visualiza'],$valor['exclui']);
274   - $obj_menu_usuario->excluirTudo();
275   - /**
276   - *
277   - */
278   - foreach ($this->permissoes as $key => $valor)
279   - {
280   - $valor['cadastra'] = $valor['cadastra'] == "on" ? 1 : 0;
281   - $valor['visualiza'] = $valor['visualiza'] == "on" ? 1 : 0;
282   - $valor['exclui'] = $valor['exclui'] == "on" ? 1 : 0;
283   - if($valor['cadastra'] || $valor['visualiza'] || $valor['exclui'])
284   - {
285   - $this->cod_tipo_usuario = $this->cod_tipo_usuario == false ? "0" : $this->cod_tipo_usuario;
286   - $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$key,$valor['cadastra'],$valor['visualiza'],$valor['exclui']);
287   -
288   - /*if($obj_menu_usuario->detalhe())
289   - {
290   - $editou = $obj_menu_usuario->edita();
291   - if(!$editou){
292   - $this->mensagem .= "Erro ao editar acessos aos menus.<br>";
293   - return false;
294   - }
295   - }
296   - else
297   - {*/
298   - if(!$obj_menu_usuario->cadastra())
299   - {
300   - $this->mensagem .= "Erro ao cadastrar acessos aos menus.<br>";
301   - return false;
302   - }
303   - //}
304   - }
305   - }
306   - }
307   - //**
308   -
309   - $this->mensagem .= "Edi&ccedil;&atilde;o efetuada com sucesso.<br>";
310   - header( "Location: educar_tipo_usuario_lst.php" );
311   - die();
312   - return true;
313   - }
314   -
315   - $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada.<br>";
316   - echo "<!--\nErro ao editar clsPmieducarTipoUsuario\nvalores obrigatorios\nif( is_numeric( $this->cod_tipo_usuario ) && is_numeric( $this->ref_funcionario_exc ) )\n-->";
317   - return false;
318   - }
319   -
320   - function Excluir()
321   - {
322   - @session_start();
323   - $this->pessoa_logada = $_SESSION['id_pessoa'];
324   - @session_write_close();
325   -
326   - $obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario, null, $this->pessoa_logada, $this->nm_tipo, $this->descricao, $this->nivel, null, null, 0);
327   -
328   - $excluiu = $obj->excluir();
329   - if( $excluiu )
330   - {
331   - $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";
332   -
333   -
334   - $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$key,$valor['cadastra'],$valor['visualiza'],$valor['exclui']);
335   - $obj_menu_usuario->excluirTudo();
336   -
337   -
338   -
339   - header( "Location: educar_tipo_usuario_lst.php" );
340   - die();
341   - return true;
342   - }
343   -
344   - $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";
345   - echo "<!--\nErro ao excluir clsPmieducarTipoUsuario\nvalores obrigatorios\nif( is_numeric( $this->cod_tipo_usuario ) && is_numeric( $this->ref_funcionario_exc ) )\n-->";
346   - return false;
347   - }
  48 + /**
  49 + * Referência a usuário da sessão.
  50 + * @var int
  51 + */
  52 + var $pessoa_logada;
  53 +
  54 + var $cod_tipo_usuario;
  55 + var $ref_funcionario_cad;
  56 + var $ref_funcionario_exc;
  57 + var $nm_tipo;
  58 + var $descricao;
  59 + var $nivel;
  60 + var $data_cadastro;
  61 + var $data_exclusao;
  62 + var $ativo;
  63 + var $permissoes;
  64 +
  65 + function Inicializar()
  66 + {
  67 + $retorno = 'Novo';
  68 +
  69 + session_start();
  70 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  71 + session_write_close();
  72 +
  73 + // Verifica se o usuário tem permissão para realizar o cadastro
  74 + $obj_permissao = new clsPermissoes();
  75 + $obj_permissao->permissao_cadastra(554, $this->pessoa_logada, 1,
  76 + 'educar_tipo_usuario_lst.php', TRUE);
  77 +
  78 + $this->cod_tipo_usuario = $_GET['cod_tipo_usuario'];
  79 +
  80 + if (is_numeric($this->cod_tipo_usuario)) {
  81 + $obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario);
  82 +
  83 + if (! $registro = $obj->detalhe()){
  84 + header('Location: educar_tipo_usuario_lst.php');
  85 + }
  86 +
  87 + if ($registro) {
  88 + foreach ($registro as $campo => $val) {
  89 + $this->$campo = $val;
  90 + }
  91 +
  92 + $this->fexcluir = $obj_permissao->permissao_excluir(554,$this->pessoa_logada,1,null,true);
  93 +
  94 + $retorno = "Editar";
  95 + }
  96 + }
  97 +
  98 + $this->url_cancelar = ($retorno == 'Editar') ?
  99 + 'educar_tipo_usuario_det.php?cod_tipo_usuario=' . $registro['cod_tipo_usuario'] :
  100 + 'educar_tipo_usuario_lst.php';
  101 +
  102 + $this->nome_url_cancelar = 'Cancelar';
  103 +
  104 + return $retorno;
  105 + }
  106 +
  107 + function Gerar()
  108 + {
  109 + // Primary key
  110 + $this->campoOculto('cod_tipo_usuario', $this->cod_tipo_usuario);
  111 +
  112 + $this->campoTexto('nm_tipo', 'Tipo de Usuário', $this->nm_tipo, 40, 255, TRUE);
  113 +
  114 + $array_nivel = array(
  115 + '8' => 'Biblioteca',
  116 + '4' => 'Escola',
  117 + '2' => 'Institucional',
  118 + '1' => 'Poli-institucional'
  119 + );
  120 +
  121 + $this->campoLista('nivel', 'N&iacute;vel', $array_nivel, $this->nivel);
  122 +
  123 + $this->campoMemo('descricao', 'Descri&ccedil;&atilde;o', $this->descricao, 37, 5, FALSE);
  124 + $this->campoRotulo('listagem_menu', '<b>Permiss&otilde;es de acesso aos menus</b>', '');
  125 + $objTemp = new clsBanco();
  126 +
  127 + $objTemp->Consulta('
  128 + SELECT
  129 + sub.cod_menu_submenu,
  130 + sub.nm_submenu,
  131 + m.nm_menu
  132 + FROM
  133 + menu_submenu sub,
  134 + menu_menu m
  135 + WHERE
  136 + sub.ref_cod_menu_menu = m.cod_menu_menu
  137 + AND ((m.cod_menu_menu = 55 OR m.ref_cod_menu_pai = 55) OR
  138 + (m.cod_menu_menu = 57 OR m.ref_cod_menu_pai = 57))
  139 + ORDER BY
  140 + cod_menu_menu, upper(sub.nm_submenu)
  141 + ');
  142 +
  143 + while ($objTemp->ProximoRegistro()) {
  144 + list($codigo, $nome,$menu_pai) = $objTemp->Tupla();
  145 + $opcoes[$menu_pai][$codigo] = $nome;
  146 + }
  147 +
  148 + $array_opcoes = array(
  149 + '' => 'Selecione',
  150 + 'M' => 'Marcar',
  151 + 'U' => 'Desmarcar'
  152 + );
  153 +
  154 + $array_opcoes_ = array(
  155 + '' => 'Selecione',
  156 + 'M' => 'Marcar Todos',
  157 + 'U' => 'Desmarcar Todos'
  158 + );
  159 +
  160 + $this->campoLista('todos', 'Op&ccedil;&otilde;es', $array_opcoes_, '',
  161 + "selAction('-', '-', this)", FALSE, '', '', FALSE, FALSE);
  162 + $script = "menu = [];\n";
  163 +
  164 + foreach ($opcoes as $id_pai => $menu) {
  165 + $this->campoQuebra();
  166 + $this->campoRotulo($id_pai,'<b>' . $id_pai . '-</b>', '');
  167 +
  168 + $this->campoLista($id_pai . ' 1', 'Op&ccedil;&otilde;es', $array_opcoes,
  169 + '', "selAction('$id_pai', 'visualiza', this)", TRUE, '', '', FALSE, FALSE);
  170 +
  171 + $this->campoLista($id_pai . ' 2', 'Op&ccedil;&otilde;es', $array_opcoes,
  172 + '', "selAction('$id_pai', 'cadastra', this)", TRUE, '', '', FALSE, FALSE);
  173 +
  174 + $this->campoLista($id_pai . ' 3', 'Op&ccedil;&otilde;es', $array_opcoes,
  175 + '', "selAction('$id_pai', 'exclui', this)", FALSE, '', '', FALSE, FALSE);
  176 +
  177 + $script .= "menu['$id_pai'] = [];\n";
  178 +
  179 + foreach ($menu as $id => $submenu) {
  180 + $obj_menu_tipo_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario, $id);
  181 + $obj_menu_tipo_usuario->setCamposLista('cadastra', 'visualiza', 'exclui');
  182 + $obj_det = $obj_menu_tipo_usuario->detalhe();
  183 +
  184 + if($this->tipoacao == 'Novo') {
  185 + $obj_det['visualiza'] = $obj_det['cadastra'] = $obj_det['exclui'] = 1;
  186 + }
  187 +
  188 + $script .= "menu['$id_pai'][menu['$id_pai'].length] = $id; \n";
  189 +
  190 + $this->campoCheck("permissoes[{$id}][visualiza]", $submenu,
  191 + $obj_det['visualiza'], 'Visualizar', TRUE, FALSE);
  192 +
  193 + $this->campoCheck("permissoes[{$id}][cadastra]", $submenu,
  194 + $obj_det["cadastra"], 'Cadastrar', TRUE);
  195 +
  196 + $this->campoCheck("permissoes[{$id}][exclui]", $submenu,
  197 + $obj_det['exclui'], 'Excluir', FALSE);
  198 +
  199 + $this->campoOculto("permissoes[{$id}][id]",$id);
  200 + }
  201 +
  202 + }
  203 + echo '<script type="text/javascript">'. $script . '</script>';
  204 + }
  205 +
  206 + function Novo()
  207 + {
  208 + session_start();
  209 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  210 + session_write_close();
  211 +
  212 + $obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario, $this->pessoa_logada,
  213 + NULL, $this->nm_tipo, $this->descricao, $this->nivel, NULL, NULL, 1);
  214 +
  215 + $cadastrou = $obj->cadastra();
  216 + if ($cadastrou) {
  217 + $this->cod_tipo_usuario = $cadastrou;
  218 +
  219 + if ($this->permissoes) {
  220 + // Apaga todos as permissões (itens de menu) cadastradaos a este usuário.
  221 + $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,
  222 + $key, $valor['cadastra'], $valor['visualiza'], $valor['exclui']);
  223 + $obj_menu_usuario->excluirTudo();
  224 +
  225 + foreach ($this->permissoes as $key => $valor) {
  226 + $valor['cadastra'] = $valor['cadastra'] == 'on' ? 1 : 0;
  227 + $valor['visualiza'] = $valor['visualiza'] == 'on' ? 1 : 0;
  228 + $valor['exclui'] = $valor['exclui'] == 'on' ? 1 : 0;
  229 +
  230 + if ($valor['cadastra'] || $valor['visualiza'] || $valor['exclui']) {
  231 + // Instancia novo objeto clsPmieducarMenuTipoUsuario.
  232 + $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,
  233 + $key,$valor['cadastra'], $valor['visualiza'], $valor['exclui']);
  234 +
  235 + if (! $obj_menu_usuario->cadastra()) {
  236 + $this->mensagem .= 'Erro ao cadastrar acessos aos menus.<br>';
  237 + return FALSE;
  238 + }
  239 + }
  240 + }
  241 + }
  242 +
  243 + $this->mensagem .= 'Cadastro efetuado com sucesso.<br>';
  244 + header('Location: educar_tipo_usuario_lst.php');
  245 + die();
  246 + }
  247 +
  248 + $this->mensagem = 'Cadastro n&atilde;o realizado.<br>';
  249 + return FALSE;
  250 + }
  251 +
  252 + function Editar()
  253 + {
  254 + session_start();
  255 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  256 + session_write_close();
  257 +
  258 + $obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario, NULL, $this->pessoa_logada,
  259 + $this->nm_tipo, $this->descricao, $this->nivel, NULL, NULL, 1);
  260 +
  261 + $editou = $obj->edita();
  262 + if ($editou) {
  263 + if($this->permissoes) {
  264 + $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,$key,$valor['cadastra'],$valor['visualiza'],$valor['exclui']);
  265 + $obj_menu_usuario->excluirTudo();
  266 +
  267 + foreach ($this->permissoes as $key => $valor) {
  268 + $valor['cadastra'] = $valor['cadastra'] == 'on' ? 1 : 0;
  269 + $valor['visualiza'] = $valor['visualiza'] == 'on' ? 1 : 0;
  270 + $valor['exclui'] = $valor['exclui'] == 'on' ? 1 : 0;
  271 +
  272 + if ($valor['cadastra'] || $valor['visualiza'] || $valor['exclui']) {
  273 + $this->cod_tipo_usuario = $this->cod_tipo_usuario == FALSE ? '0' : $this->cod_tipo_usuario;
  274 + $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,
  275 + $key, $valor['cadastra'], $valor['visualiza'], $valor['exclui']);
  276 +
  277 + if (! $obj_menu_usuario->cadastra()) {
  278 + $this->mensagem .= "Erro ao cadastrar acessos aos menus.<br>";
  279 + return FALSE;
  280 + }
  281 + }
  282 + }
  283 + }
  284 +
  285 + $this->mensagem .= 'Edi&ccedil;&atilde;o efetuada com sucesso.<br>';
  286 + header('Location: educar_tipo_usuario_lst.php');
  287 + die();
  288 + }
  289 +
  290 + $this->mensagem = 'Edi&ccedil;&atilde;o n&atilde;o realizada.<br>';
  291 + return FALSE;
  292 + }
  293 +
  294 + function Excluir()
  295 + {
  296 + session_start();
  297 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  298 + session_write_close();
  299 +
  300 + $obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario, NULL, $this->pessoa_logada,
  301 + $this->nm_tipo, $this->descricao, $this->nivel, NULL, NULL, 0);
  302 +
  303 + $excluiu = $obj->excluir();
  304 + if ($excluiu) {
  305 + $this->mensagem .= 'Exclus&atilde;o efetuada com sucesso.<br>';
  306 +
  307 + $obj_menu_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario,
  308 + $key, $valor['cadastra'], $valor['visualiza'], $valor['exclui']);
  309 + $obj_menu_usuario->excluirTudo();
  310 +
  311 + header('Location: educar_tipo_usuario_lst.php');
  312 + die();
  313 + }
  314 +
  315 + $this->mensagem = 'Exclus&atilde;o n&atilde;o realizada.<br>';
  316 + return FALSE;
  317 + }
348 318 }
349 319  
350   -// cria uma extensao da classe base
  320 +// Instancia objeto de página
351 321 $pagina = new clsIndexBase();
352   -// cria o conteudo
353   -$miolo = new indice();
354   -// adiciona o conteudo na clsBase
355   -$pagina->addForm( $miolo );
356   -// gera o html
357   -$pagina->MakeAll();
358   -?>
359   -<script>
360   -function selAction(menu_pai,tipo,acao){
361   -
362   - var element = document.getElementsByTagName('input');
363   - var state;
364   -
365   - switch(acao.value){
366   - case "M":
367   - state = true;
368   - break;
369   - case "U":
370   - state = false;
371   - break
372   - default:
373   - return false;
374   - }
375   -
376   - acao.selectedIndex = 0;
377   -
378   - if(menu_pai == "-" && tipo == "-"){
379   - for(var ct=0;ct< element.length;ct++){
380 322  
381   - if(element[ct].getAttribute('type')=='checkbox')
382   - element[ct].checked = state;
383   -
384   - }
385   - return;
386   - }
387   -
388   -
389   - for(var ct=0;ct< menu[menu_pai].length;ct++){
390   -
391   - document.getElementsByName('permissoes[' + menu[menu_pai][ct] + '][' + tipo + ']')[0].checked = state;
  323 +// Instancia objeto de conteúdo
  324 +$miolo = new indice();
392 325  
393   - }
  326 +// Atribui o conteúdo à página
  327 +$pagina->addForm($miolo);
394 328  
  329 +// Gera o código HTML
  330 +$pagina->MakeAll();
  331 +?>
  332 +<script type="text/javascript">
  333 +/**
  334 + * Marca/desmarca todas as opções de submenu (operações de sistema) de um dados
  335 + * menu pai.
  336 + *
  337 + * @param int menu_pai
  338 + * @param string tipo
  339 + * @param string acao
  340 + */
  341 +function selAction(menu_pai, tipo, acao)
  342 +{
  343 + console.log(menu_pai + ' | ' + tipo + ' | ' + acao);
  344 + var element = document.getElementsByTagName('input');
  345 + var state;
  346 +
  347 + switch (acao.value) {
  348 + case 'M':
  349 + state = true;
  350 + break;
  351 + case 'U':
  352 + state = false;
  353 + break
  354 + default:
  355 + return false;
  356 + }
  357 +
  358 + acao.selectedIndex = 0;
  359 +
  360 + if(menu_pai == '-' && tipo == '-') {
  361 + for (var ct = 0; ct < element.length; ct++) {
  362 + if(element[ct].getAttribute('type') == 'checkbox') {
  363 + element[ct].checked = state;
  364 + }
  365 + }
  366 +
  367 + return;
  368 + }
  369 +
  370 + for (var ct=0; ct < menu[menu_pai].length; ct++){
  371 + document.getElementsByName('permissoes[' + menu[menu_pai][ct] + '][' + tipo + ']')[0].checked = state;
  372 + }
395 373 }
396 374 </script>
397 375 \ No newline at end of file
... ...
ieducar/intranet/educar_tipo_usuario_det.php
1 1 <?php
2   -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3   - * *
4   - * @author Prefeitura Municipal de Itajaí *
5   - * @updated 29/03/2007 *
6   - * Pacote: i-PLB Software Público Livre e Brasileiro *
7   - * *
8   - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí *
9   - * ctima@itajai.sc.gov.br *
10   - * *
11   - * Este programa é software livre, você pode redistribuí-lo e/ou *
12   - * modificá-lo sob os termos da Licença Pública Geral GNU, conforme *
13   - * publicada pela Free Software Foundation, tanto a versão 2 da *
14   - * Licença como (a seu critério) qualquer versão mais nova. *
15   - * *
16   - * Este programa é distribuído na expectativa de ser útil, mas SEM *
17   - * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI- *
18   - * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con- *
19   - * sulte a Licença Pública Geral GNU para obter mais detalhes. *
20   - * *
21   - * Você deve ter recebido uma cópia da Licença Pública Geral GNU *
22   - * junto com este programa. Se não, escreva para a Free Software *
23   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *
24   - * 02111-1307, USA. *
25   - * *
26   - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27   -require_once ("include/clsBase.inc.php");
28   -require_once ("include/clsDetalhe.inc.php");
29   -require_once ("include/clsBanco.inc.php");
30   -require_once( "include/pmieducar/geral.inc.php" );
  2 +
  3 +/**
  4 + * i-Educar - Sistema de gestão escolar
  5 + *
  6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
  8 + *
  9 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  10 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  11 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  12 + * qualquer versão posterior.
  13 + *
  14 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  15 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  16 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  17 + * do GNU para mais detalhes.
  18 + *
  19 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  20 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  21 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  22 + *
  23 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  24 + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  25 + * @package Core
  26 + * @subpackage pmieducar
  27 + * @subpackage Administrativo
  28 + * @subpackage TipoUsuario
  29 + * @since Arquivo disponível desde a versão 1.0.0
  30 + * @version $Id$
  31 + */
  32 +
  33 +require_once 'include/clsBase.inc.php';
  34 +require_once 'include/clsDetalhe.inc.php';
  35 +require_once 'include/clsBanco.inc.php';
  36 +require_once 'include/pmieducar/geral.inc.php';
31 37  
32 38 class clsIndexBase extends clsBase
33 39 {
34   - function Formular()
35   - {
36   - $this->SetTitulo( "{$this->_instituicao} i-Educar - Tipo Usuario" );
37   - $this->processoAp = "554";
38   - }
  40 + function Formular()
  41 + {
  42 + $this->SetTitulo($this->_instituicao . ' i-Educar - Tipo Usuário');
  43 + $this->processoAp = '554';
  44 + }
39 45 }
40 46  
41 47 class indice extends clsDetalhe
42 48 {
43   - /**
44   - * Titulo no topo da pagina
45   - *
46   - * @var int
47   - */
48   - var $titulo;
49   -
50   - var $cod_tipo_usuario;
51   - var $ref_funcionario_cad;
52   - var $ref_funcionario_exc;
53   - var $nm_tipo;
54   - var $descricao;
55   - var $nivel;
56   - var $data_cadastro;
57   - var $data_exclusao;
58   - var $ativo;
59   -
60   - function Gerar()
61   - {
62   -
63   - @session_start();
64   - $this->pessoa_logada = $_SESSION['id_pessoa'];
65   - @session_write_close();
66   -
67   - $this->titulo = "Tipo Usuario - Detalhe";
68   - $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" );
69   -
70   - $this->cod_tipo_usuario=$_GET["cod_tipo_usuario"];
71   -
72   - $tmp_obj = new clsPmieducarTipoUsuario( $this->cod_tipo_usuario,null,null,null,null,null,null,null,1);
73   - if(!$registro = $tmp_obj->detalhe()){
74   - header("location: educar_tipo_usuario_lst.php");
75   - }
76   -
77   - if($registro["cod_tipo_usuario"])
78   - $this->addDetalhe( array( "C&oacute;digo Tipo Usu&aacute;rio", "{$registro["cod_tipo_usuario"]}") );
79   -
80   - if($registro["nm_tipo"])
81   - $this->addDetalhe( array( "Tipo de Usu&aacute;rio", "{$registro["nm_tipo"]}") );
82   -
83   - $array_nivel = array( "8" => "Biblioteca", '4' => "Escola", '2' => "Institucional", "1" => "Poli-institucional");
84   -
85   - if($array_nivel[$registro["nivel"]])
86   - $this->addDetalhe( array( "N&iacute;vel", "{$array_nivel[$registro["nivel"]]}") );
87   -
88   - if($registro["descricao"])
89   - $this->addDetalhe( array( "Descri&ccedil;&atilde;o", "{$registro["descricao"]}") );
90   -
91   - //** listagem de permissoes aos menus
92   - if( class_exists( "clsBanco" ) )
93   - {
94   - $objTemp = new clsBanco();
95   - $objTemp->Consulta("SELECT m.cod_menu_menu
96   - ,m.nm_menu
97   - ,sub.cod_menu_submenu
98   - ,sub.nm_submenu
99   - ,u.visualiza
100   - ,u.cadastra
101   - ,u.exclui
102   - FROM menu_submenu sub
103   - ,menu_menu m
104   - ,pmieducar.menu_tipo_usuario u
105   - WHERE sub.cod_menu_submenu = u.ref_cod_menu_submenu
106   - AND sub.ref_cod_menu_menu = m.cod_menu_menu
107   - AND (m.cod_menu_menu = 55 OR m.ref_cod_menu_pai = 55)
108   - AND u.ref_cod_tipo_usuario = {$this->cod_tipo_usuario}
109   - ORDER BY cod_menu_menu
110   - ,upper(sub.nm_submenu)
111   - ");
112   - while($objTemp->ProximoRegistro())
113   - {
114   - list ($menu_pai,$nm_menu_pai,$codigo, $nome,$visualiza,$cadastra,$exclui) = $objTemp->Tupla();
115   - $opcoes[$menu_pai]["nome_menu_pai"] = $nm_menu_pai;
116   - $opcoes[$menu_pai][$codigo]["nm_submenu"] = $nome;
117   - $opcoes[$menu_pai][$codigo]["cadastra"] = $cadastra;
118   - $opcoes[$menu_pai][$codigo]["visualiza"] = $visualiza;
119   - $opcoes[$menu_pai][$codigo]["exclui"] = $exclui;
120   - }
121   -
122   - }
123   - else
124   - {
125   - echo "<!--\nErro\nClasse clsMenuSubmenu nao encontrada\n-->";
126   - $opcoes = array( "" => "Erro na geracao" );
127   - }
128   -
129   - if($opcoes)
130   - {
131   -
132   - $det_menus = $this->lista_menus($opcoes);
133   - if($det_menus){
134   -
135   - $this->addDetalhe(array("Permiss&otilde;es de acesso aos menus</b>", "<a href='javascript:void(0);' onclick='trocaDisplay(\"det_pree\")'>Mostrar detalhe</a><div id='det_pree' name='det_pree' style='display:inline;'>".$det_menus."</div>"));
136   - }
137   - }
138   -
139   -
140   - //** Verificacao de permissao para cadastro
141   - $obj_permissao = new clsPermissoes();
142   -
143   - if($obj_permissao->permissao_cadastra(554, $this->pessoa_logada,1,null,true))
144   - {
145   - $this->url_novo = "educar_tipo_usuario_cad.php";
146   - $this->url_editar = "educar_tipo_usuario_cad.php?cod_tipo_usuario={$registro["cod_tipo_usuario"]}";
147   - }
148   - //**
149   -
150   -
151   - $this->url_cancelar = "educar_tipo_usuario_lst.php";
152   - $this->largura = "100%";
153   -
154   - }
155   -
156   - //***
157   - // Inicio detalhe do preenchimento da CP
158   - //***
159   - function lista_menus($opcoes)
160   - {
161   - //echo "<pre>";
162   - //print_r($opcoes);die;
163   -
164   - $existe = true;
165   - $tabela .= "<table cellpadding=\"2\" cellspacing=\"2\" border=\"0\" align=\"left\" width='80%'>";
166   -// $tabela .= "<table cellpadding=\"2\" cellspacing=\"2\" border=\"0\" align=\"left\" width='80%'>";
167   - $tabela .= "<tr bgcolor='#A1B3BD'><th width='400'>Menu - submenus</th><th>Visualizar</th><th>Cadastrar</th><th width='70'>Excluir</th></tr>";
168   -
169   - foreach ($opcoes as $key => $menu){
170   -
171   - $menu_pai = array_shift($menu);
172   - $cor = "#a1b3bd";
173   - $tabela .= "<tr bgcolor='$cor' align='center'><td colspan='4' align='left' width='400'><b>{$menu_pai}</b></td></tr>";
174   - $cor = "#E4E9ED";
175   - foreach ($menu as $cod_sub =>$sub_menu){
176   - $cor = $cor == "#FFFFFF" ? "#E4E9ED" : "#FFFFFF";
177   - $sub_menu['visualiza'] = $sub_menu['visualiza'] == 0 ? "N&atilde;o" : "Sim";
178   - $sub_menu['cadastra'] = $sub_menu['cadastra'] == 0 ? "N&atilde;o" : "Sim";
179   - $sub_menu['exclui'] = $sub_menu['exclui'] == 0 ? "N&atilde;o" : "Sim";
180   -
181   -
182   - $tabela .= "<tr bgcolor='$cor' align='center'><td style='padding-left:20px' align='left' width='400'><img src=\"imagens/noticia.jpg\" border='0'>{$sub_menu['nm_submenu']}</td><td>{$sub_menu['visualiza']}</td><td>{$sub_menu['cadastra']}</td><td>{$sub_menu['exclui']}</td></tr>";
183   - }
184   - }
185   - $tabela .= "</tr>";
186   -
187   - $tabela .="</table>";
188   - return $existe == true ? $tabela : false;
189   - }
190   - //***
191   - // Fim detalhe
192   - //***
  49 + /**
  50 + * Título no topo da página.
  51 + * @var int
  52 + */
  53 + var $titulo;
  54 +
  55 + var $cod_tipo_usuario;
  56 + var $ref_funcionario_cad;
  57 + var $ref_funcionario_exc;
  58 + var $nm_tipo;
  59 + var $descricao;
  60 + var $nivel;
  61 + var $data_cadastro;
  62 + var $data_exclusao;
  63 + var $ativo;
  64 +
  65 + function Gerar()
  66 + {
  67 + session_start();
  68 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  69 + session_write_close();
  70 +
  71 + $this->titulo = 'Tipo Usuário - Detalhe';
  72 + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
  73 +
  74 + $this->cod_tipo_usuario = $_GET['cod_tipo_usuario'];
  75 +
  76 + $tmp_obj = new clsPmieducarTipoUsuario($this->cod_tipo_usuario, NULL, NULL,
  77 + NULL, NULL, NULL, NULL, NULL, 1);
  78 +
  79 + if (! $registro = $tmp_obj->detalhe()){
  80 + header('Location: educar_tipo_usuario_lst.php');
  81 + }
  82 +
  83 + if ($registro['cod_tipo_usuario']) {
  84 + $this->addDetalhe(array('C&oacute;digo Tipo Usu&aacute;rio', $registro['cod_tipo_usuario']));
  85 + }
  86 +
  87 + if ($registro['nm_tipo']) {
  88 + $this->addDetalhe(array('Tipo de Usu&aacute;rio', $registro['nm_tipo']));
  89 + }
  90 +
  91 + $array_nivel = array(
  92 + '8' => 'Biblioteca',
  93 + '4' => 'Escola',
  94 + '2' => 'Institucional',
  95 + '1' => 'Poli-institucional'
  96 + );
  97 +
  98 + if ($array_nivel[$registro['nivel']]) {
  99 + $this->addDetalhe(array('N&iacute;vel', $array_nivel[$registro['nivel']]));
  100 + }
  101 +
  102 + if ($registro['descricao']) {
  103 + $this->addDetalhe(array('Descri&ccedil;&atilde;o', $registro['descricao']));
  104 + }
  105 +
  106 + // Listagem de permissães
  107 + $objTemp = new clsBanco();
  108 + $objTemp->Consulta(sprintf('
  109 + SELECT
  110 + m.cod_menu_menu,
  111 + m.nm_menu,
  112 + sub.cod_menu_submenu,
  113 + sub.nm_submenu,
  114 + u.visualiza,
  115 + u.cadastra,
  116 + u.exclui
  117 + FROM
  118 + menu_submenu sub,
  119 + menu_menu m,
  120 + pmieducar.menu_tipo_usuario u
  121 + WHERE
  122 + sub.cod_menu_submenu = u.ref_cod_menu_submenu
  123 + AND sub.ref_cod_menu_menu = m.cod_menu_menu
  124 + AND ((m.cod_menu_menu = 55 OR m.ref_cod_menu_pai = 55) OR
  125 + (m.cod_menu_menu = 57 OR m.ref_cod_menu_pai = 57))
  126 + AND u.ref_cod_tipo_usuario = %d
  127 + ORDER BY
  128 + cod_menu_menu,
  129 + upper(sub.nm_submenu)
  130 + ', $this->cod_tipo_usuario));
  131 +
  132 + while ($objTemp->ProximoRegistro()) {
  133 + list($menu_pai,$nm_menu_pai,$codigo, $nome,$visualiza,$cadastra,$exclui) = $objTemp->Tupla();
  134 + $opcoes[$menu_pai]['nome_menu_pai'] = $nm_menu_pai;
  135 + $opcoes[$menu_pai][$codigo]['nm_submenu'] = $nome;
  136 + $opcoes[$menu_pai][$codigo]['cadastra'] = $cadastra;
  137 + $opcoes[$menu_pai][$codigo]['visualiza'] = $visualiza;
  138 + $opcoes[$menu_pai][$codigo]['exclui'] = $exclui;
  139 + }
  140 +
  141 + if ($opcoes) {
  142 + $det_menus = $this->lista_menus($opcoes);
  143 + if ($det_menus) {
  144 + $this->addDetalhe(array(
  145 + 'Permiss&otilde;es de acesso aos menus</b>',
  146 + "<a href='javascript:void(0);' onclick='trocaDisplay(\"det_pree\")'>Mostrar detalhe</a><div id='det_pree' name='det_pree' style='display:inline;'>".$det_menus."</div>"));
  147 + }
  148 + }
  149 +
  150 + // Verificação de permissão para cadastro
  151 + $obj_permissao = new clsPermissoes();
  152 +
  153 + if ($obj_permissao->permissao_cadastra(554, $this->pessoa_logada, 1, NULL, TRUE)) {
  154 + $this->url_novo = 'educar_tipo_usuario_cad.php';
  155 + $this->url_editar = 'educar_tipo_usuario_cad.php?cod_tipo_usuario=' . $registro['cod_tipo_usuario'];
  156 + }
  157 +
  158 + $this->url_cancelar = 'educar_tipo_usuario_lst.php';
  159 + $this->largura = '100%';
  160 + }
  161 +
  162 + function lista_menus($opcoes)
  163 + {
  164 + $existe = true;
  165 + $tabela .= "<table cellpadding=\"2\" cellspacing=\"2\" border=\"0\" align=\"left\" width='80%'>";
  166 + $tabela .= "<tr bgcolor='#A1B3BD'><th width='400'>Menu - submenus</th><th>Visualizar</th><th>Cadastrar</th><th width='70'>Excluir</th></tr>";
  167 +
  168 + foreach ($opcoes as $key => $menu) {
  169 + $menu_pai = array_shift($menu);
  170 + $cor = "#a1b3bd";
  171 + $tabela .= "<tr bgcolor='$cor' align='center'><td colspan='4' align='left' width='400'><b>{$menu_pai}</b></td></tr>";
  172 + $cor = "#E4E9ED";
  173 +
  174 + foreach ($menu as $cod_sub =>$sub_menu) {
  175 + $cor = $cor == "#FFFFFF" ? "#E4E9ED" : "#FFFFFF";
  176 + $sub_menu['visualiza'] = $sub_menu['visualiza'] == 0 ? "N&atilde;o" : "Sim";
  177 + $sub_menu['cadastra'] = $sub_menu['cadastra'] == 0 ? "N&atilde;o" : "Sim";
  178 + $sub_menu['exclui'] = $sub_menu['exclui'] == 0 ? "N&atilde;o" : "Sim";
  179 +
  180 + $tabela .= "<tr bgcolor='$cor' align='center'><td style='padding-left:20px' align='left' width='400'><img src=\"imagens/noticia.jpg\" border='0'>{$sub_menu['nm_submenu']}</td><td>{$sub_menu['visualiza']}</td><td>{$sub_menu['cadastra']}</td><td>{$sub_menu['exclui']}</td></tr>";
  181 + }
  182 + }
  183 + $tabela .= "</tr>";
  184 + $tabela .="</table>";
  185 +
  186 + return $existe == TRUE ? $tabela : FALSE;
  187 + }
193 188 }
194 189  
195   -// cria uma extensao da classe base
  190 +// Instancia objeto de página
196 191 $pagina = new clsIndexBase();
197   -// cria o conteudo
  192 +
  193 +// Instancia objeto de conteúdo
198 194 $miolo = new indice();
199   -// adiciona o conteudo na clsBase
200   -$pagina->addForm( $miolo );
201   -// gera o html
  195 +
  196 +// Atribui o conteúdo à página
  197 +$pagina->addForm($miolo);
  198 +
  199 +// Gera o código HTML
202 200 $pagina->MakeAll();
203 201 ?>
204 202  
205   -<script>
  203 +<script type="text/javascript">
206 204 function trocaDisplay(id)
207 205 {
208   - var element = document.getElementById(id);
209   - element.style.display = (element.style.display == "none") ? "inline" : "none";
  206 + var element = document.getElementById(id);
  207 + element.style.display = (element.style.display == 'none') ? 'inline' : 'none';
210 208 }
211 209 </script>
212 210 \ No newline at end of file
... ...