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 <?php 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 class clsIndexBase extends clsBase 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 class indice extends clsCadastro 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 $pagina = new clsIndexBase(); 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 </script> 374 </script>
397 \ No newline at end of file 375 \ No newline at end of file
ieducar/intranet/educar_tipo_usuario_det.php
1 <?php 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 class clsIndexBase extends clsBase 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 class indice extends clsDetalhe 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 $pagina = new clsIndexBase(); 191 $pagina = new clsIndexBase();
197 -// cria o conteudo 192 +
  193 +// Instancia objeto de conteúdo
198 $miolo = new indice(); 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 $pagina->MakeAll(); 200 $pagina->MakeAll();
203 ?> 201 ?>
204 202
205 -<script> 203 +<script type="text/javascript">
206 function trocaDisplay(id) 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 </script> 209 </script>
212 \ No newline at end of file 210 \ No newline at end of file