Commit c08cdee3801fe13da781c00d7ef6eb6a0c9f5290

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

Refactoring para coding standards

ieducar/intranet/educar_dispensa_disciplina_cad.php
1 <?php 1 <?php
  2 +
2 /** 3 /**
  4 + * i-Educar - Sistema de gestão escolar
3 * 5 *
4 - * @version SVN: $Id$  
5 - * @author Prefeitura Municipal de Itajaí  
6 - * @updated 29/03/2007  
7 - * Pacote: i-PLB Software Público Livre e Brasileiro  
8 - *  
9 - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí  
10 - * ctima@itajai.sc.gov.br 6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
11 * 8 *
12 - * Este programa é software livre, você pode redistribuí-lo e/ou  
13 - * modificá-lo sob os termos da Licença Pública Geral GNU, conforme  
14 - * publicada pela Free Software Foundation, tanto a versão 2 da  
15 - * Licença como (a seu critério) qualquer versão mais nova. 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.
16 * 13 *
17 - * Este programa é distribuído na expectativa de ser útil, mas SEM  
18 - * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-  
19 - * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-  
20 - * sulte a Licença Pública Geral GNU para obter mais detalhes. 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.
21 * 18 *
22 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU  
23 - * junto com este programa. Se não, escreva para a Free Software  
24 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  
25 - * 02111-1307, USA. 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.
26 * 22 *
  23 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  24 + * @category i-Educar
  25 + * @license @@license@@
  26 + * @package iEd_Pmieducar
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
27 */ 29 */
28 30
29 -require_once('include/clsBase.inc.php');  
30 -require_once('include/clsCadastro.inc.php');  
31 -require_once('include/clsBanco.inc.php');  
32 -require_once('include/pmieducar/geral.inc.php'); 31 +require_once 'include/clsBase.inc.php';
  32 +require_once 'include/clsCadastro.inc.php';
  33 +require_once 'include/clsBanco.inc.php';
  34 +require_once 'include/pmieducar/geral.inc.php';
33 35
  36 +/**
  37 + * clsIndexBase class.
  38 + *
  39 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  40 + * @category i-Educar
  41 + * @license @@license@@
  42 + * @package iEd_Pmieducar
  43 + * @since Classe disponível desde a versão 1.0.0
  44 + * @version @@package_version@@
  45 + */
34 class clsIndexBase extends clsBase 46 class clsIndexBase extends clsBase
35 { 47 {
36 - function Formular()  
37 - {  
38 - $this->SetTitulo( "{$this->_instituicao} i-Educar - Dispensa Disciplina" );  
39 - $this->processoAp = "578";  
40 - } 48 + function Formular()
  49 + {
  50 + $this->SetTitulo($this->_instituicao . ' i-Educar - Dispensa Disciplina');
  51 + $this->processoAp = 578;
  52 + }
41 } 53 }
42 54
  55 +/**
  56 + * indice class.
  57 + *
  58 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  59 + * @category i-Educar
  60 + * @license @@license@@
  61 + * @package iEd_Pmieducar
  62 + * @since Classe disponível desde a versão 1.0.0
  63 + * @version @@package_version@@
  64 + */
43 class indice extends clsCadastro 65 class indice extends clsCadastro
44 { 66 {
45 - /**  
46 - * Referencia pega da session para o idpes do usuario atual  
47 - *  
48 - * @var int  
49 - */  
50 - var $pessoa_logada;  
51 -  
52 - /*var $ref_ref_cod_turma;  
53 - var $ref_ref_cod_matricula;*/  
54 -  
55 - /*var $disc_ref_ref_cod_turma;  
56 - var $disc_ref_ref_cod_serie;  
57 - var $disc_ref_ref_cod_escola;  
58 - var $disc_ref_ref_cod_disciplina;  
59 - */  
60 - var $ref_usuario_exc;  
61 - var $ref_usuario_cad;  
62 - var $ref_cod_tipo_dispensa;  
63 - var $data_cadastro;  
64 - var $data_exclusao;  
65 - var $ativo;  
66 - var $observacao;  
67 -  
68 - var $ref_cod_matricula;  
69 - var $ref_cod_turma;  
70 - var $ref_cod_serie;  
71 - var $ref_cod_disciplina;  
72 - var $ref_sequencial;  
73 - var $ref_cod_instituicao;  
74 - var $ref_cod_escola;  
75 -  
76 - function Inicializar()  
77 - {  
78 - $retorno = "Novo";  
79 - @session_start();  
80 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
81 - @session_write_close();  
82 -  
83 - $this->ref_cod_disciplina = $_GET["ref_cod_disciplina"];  
84 - $this->ref_cod_matricula = $_GET['ref_cod_matricula'];  
85 -  
86 - $obj_permissoes = new clsPermissoes();  
87 - $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_dispensa_disciplina_lst.php?ref_ref_cod_matricula={$this->ref_cod_matricula}" );  
88 -  
89 - if (is_numeric($this->ref_cod_matricula))  
90 - {  
91 - $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula,null,null,null,null,null,null,null,null,null,1);  
92 - $det_matricula = $obj_matricula->detalhe();  
93 - if(!$det_matricula)  
94 - {  
95 - header("location: educar_matricula_lst.php");  
96 - die;  
97 - }  
98 -  
99 - $this->ref_cod_escola = $det_matricula['ref_ref_cod_escola'];  
100 - $this->ref_cod_serie = $det_matricula['ref_ref_cod_serie'];  
101 - }  
102 - else  
103 - {  
104 - header("location: educar_matricula_lst.php");  
105 - die;  
106 - }  
107 -  
108 - if (is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) )  
109 - {  
110 - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina );  
111 - $registro = $obj->detalhe();  
112 - if ($registro)  
113 - {  
114 - foreach ($registro as $campo => $val) // passa todos os valores obtidos no registro para atributos do objeto  
115 - { 67 + var $pessoa_logada;
  68 +
  69 + var $ref_usuario_exc;
  70 + var $ref_usuario_cad;
  71 + var $ref_cod_tipo_dispensa;
  72 + var $data_cadastro;
  73 + var $data_exclusao;
  74 + var $ativo;
  75 + var $observacao;
  76 +
  77 + var $ref_cod_matricula;
  78 + var $ref_cod_turma;
  79 + var $ref_cod_serie;
  80 + var $ref_cod_disciplina;
  81 + var $ref_sequencial;
  82 + var $ref_cod_instituicao;
  83 + var $ref_cod_escola;
  84 +
  85 + function Inicializar()
  86 + {
  87 + $retorno = 'Novo';
  88 + @session_start();
  89 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  90 + @session_write_close();
  91 +
  92 + $this->ref_cod_disciplina = $_GET['ref_cod_disciplina'];
  93 + $this->ref_cod_matricula = $_GET['ref_cod_matricula'];
  94 +
  95 + $obj_permissoes = new clsPermissoes();
  96 + $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7,
  97 + 'educar_dispensa_disciplina_lst.php?ref_ref_cod_matricula=' . $this->ref_cod_matricula);
  98 +
  99 + if (is_numeric($this->ref_cod_matricula)) {
  100 + $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula, NULL,
  101 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
  102 +
  103 + $det_matricula = $obj_matricula->detalhe();
  104 +
  105 + if (!$det_matricula) {
  106 + header('Location: educar_matricula_lst.php');
  107 + die();
  108 + }
  109 +
  110 + $this->ref_cod_escola = $det_matricula['ref_ref_cod_escola'];
  111 + $this->ref_cod_serie = $det_matricula['ref_ref_cod_serie'];
  112 + }
  113 + else {
  114 + header('Location: educar_matricula_lst.php');
  115 + die();
  116 + }
  117 +
  118 + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&
  119 + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina)
  120 + ) {
  121 + $obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula,
  122 + $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina);
  123 +
  124 + $registro = $obj->detalhe();
  125 +
  126 + if ($registro) {
  127 + // passa todos os valores obtidos no registro para atributos do objeto
  128 + foreach ($registro as $campo => $val) {
116 $this->$campo = $val; 129 $this->$campo = $val;
117 } 130 }
118 131
119 - $obj_permissoes = new clsPermissoes();  
120 - if ($obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7))  
121 - {  
122 - $this->fexcluir = true;  
123 - }  
124 -  
125 - $retorno = "Editar";  
126 - }  
127 - }  
128 -  
129 - $this->url_cancelar = ($retorno == "Editar") ? "educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}" : "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}";  
130 - $this->nome_url_cancelar = "Cancelar";  
131 - return $retorno;  
132 - }  
133 -  
134 - function Gerar()  
135 - {  
136 - /**  
137 - * Busca dados da matricula  
138 - */  
139 - if( class_exists( "clsPmieducarMatricula" ) )  
140 - {  
141 - $obj_ref_cod_matricula = new clsPmieducarMatricula();  
142 - $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista($this->ref_cod_matricula));  
143 - }  
144 - else  
145 - {  
146 - $registro["ref_cod_matricula"] = "Erro na geracao";  
147 - echo "<!--\nErro\nClasse nao existente: clsPmieducarMatricula\n-->";  
148 - }  
149 -  
150 -// echo "<pre>";print_r($detalhe_aluno);  
151 -  
152 - $obj_aluno = new clsPmieducarAluno();  
153 - $det_aluno = array_shift($det_aluno = $obj_aluno->lista($detalhe_aluno['ref_cod_aluno'],null,null,null,null,null,null,null,null,null,1));  
154 -  
155 - $obj_escola = new clsPmieducarEscola($this->ref_cod_escola,null,null,null,null,null,null,null,null,null,1);  
156 - $det_escola = $obj_escola->detalhe();  
157 - $this->ref_cod_instituicao = $det_escola["ref_cod_instituicao"];  
158 -  
159 -  
160 - $this->campoRotulo("nm_aluno","Nome do Aluno",$det_aluno['nome_aluno']);  
161 -  
162 -// echo $this->ref_cod_matricula;  
163 -// echo $this->ref_cod_turma;  
164 - $obj_matricula_turma = new clsPmieducarMatriculaTurma();  
165 - $lst_matricula_turma = $obj_matricula_turma->lista( $this->ref_cod_matricula,null,null,null,null,null,null,null,1,$this->ref_cod_serie,null,$this->ref_cod_escola );  
166 - if (is_array($lst_matricula_turma))  
167 - {  
168 - $det = array_shift($lst_matricula_turma);  
169 - $this->ref_cod_turma = $det["ref_cod_turma"];  
170 - $this->ref_sequencial = $det["sequencial"];  
171 -  
172 - }  
173 -// echo $this->ref_cod_turma;  
174 -// echo "seq".$this->ref_sequencial;  
175 -  
176 - /**  
177 - *  
178 - */  
179 -  
180 - // primary keys  
181 - //$this->campoOculto( "ref_cod_turma", $this->ref_ref_cod_turma );  
182 - $this->campoOculto( "ref_cod_matricula", $this->ref_cod_matricula );  
183 -// $this->campoOculto( "ref_cod_turma", $this->ref_cod_turma );  
184 - $this->campoOculto( "ref_cod_serie", $this->ref_cod_serie );  
185 - $this->campoOculto( "ref_cod_escola", $this->ref_cod_escola );  
186 -// $this->campoOculto( "ref_sequencial", $this->ref_sequencial );  
187 -  
188 - $opcoes = array( "" => "Selecione" );  
189 - if( class_exists( "clsPmieducarEscolaSerieDisciplina" ) )  
190 - {  
191 - $objTemp = new clsPmieducarEscolaSerieDisciplina();  
192 - $lista = $objTemp->lista( $this->ref_cod_serie,$this->ref_cod_escola,null,1 );  
193 - if ( is_array( $lista ) && count( $lista ) )  
194 - {  
195 - foreach ( $lista as $registro )  
196 - {  
197 - $obj_disciplina = new clsPmieducarDisciplina($registro['ref_cod_disciplina'],null,null,null,null,null,null,null,null,null,1);  
198 - $det_disciplina = $obj_disciplina->detalhe();  
199 - $opcoes["{$registro['ref_cod_disciplina']}"] = "{$det_disciplina['nm_disciplina']}";  
200 - }  
201 - }  
202 - }  
203 - else  
204 - {  
205 - echo "<!--\nErro\nClasse clsPmieducarTurmaDisciplina nao encontrada\n-->";  
206 - $opcoes = array( "" => "Erro na geracao" );  
207 - }  
208 - if ($this->ref_cod_disciplina)  
209 - {  
210 - $this->campoRotulo( "nm_disciplina", "Disciplina", $opcoes[$this->ref_cod_disciplina] );  
211 - $this->campoOculto( "ref_cod_disciplina", $this->ref_cod_disciplina );  
212 - }  
213 - else  
214 - $this->campoLista( "ref_cod_disciplina", "Disciplina", $opcoes, $this->ref_cod_disciplina );  
215 -  
216 - $opcoes = array( "" => "Selecione" );  
217 - if( class_exists( "clsPmieducarTipoDispensa" ) )  
218 - {  
219 - $objTemp = new clsPmieducarTipoDispensa();  
220 - if ($this->ref_cod_instituicao)  
221 - $lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,1,$this->ref_cod_instituicao );  
222 - else  
223 - $lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,1 );  
224 - if ( is_array( $lista ) && count( $lista ) )  
225 - {  
226 - foreach ( $lista as $registro )  
227 - {  
228 - $opcoes["{$registro['cod_tipo_dispensa']}"] = "{$registro['nm_tipo']}";  
229 - }  
230 - }  
231 - }  
232 - else  
233 - {  
234 - echo "<!--\nErro\nClasse clsPmieducarTipoDispensa nao encontrada\n-->";  
235 - $opcoes = array( "" => "Erro na geracao" );  
236 - }  
237 - $this->campoLista( "ref_cod_tipo_dispensa", "Tipo Dispensa", $opcoes, $this->ref_cod_tipo_dispensa );  
238 -  
239 - // text  
240 - $this->campoMemo( "observacao", "Observa&ccedil;&atilde;o", $this->observacao, 60, 10, false );  
241 -  
242 - // data  
243 -  
244 - }  
245 -  
246 - function Novo()  
247 - {  
248 - @session_start();  
249 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
250 - @session_write_close();  
251 -  
252 - $obj_permissoes = new clsPermissoes();  
253 - $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
254 -  
255 - $sql = "SELECT MAX(cod_dispensa) + 1 FROM pmieducar.dispensa_disciplina";  
256 - $db = new clsBanco();  
257 - $max_cod_dispensa = $db->CampoUnico($sql);  
258 -  
259 - // Caso não exista nenhuma dispensa, atribui o código 1, tabela não utiliza sequences  
260 - $max_cod_dispensa = $max_cod_dispensa > 0 ? $max_cod_dispensa : 1;  
261 -  
262 - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, null, $this->pessoa_logada, $this->ref_cod_tipo_dispensa, null, null, 1, $this->observacao, $max_cod_dispensa );  
263 - if($obj->existe())  
264 - {  
265 - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, null, null, 1, $this->observacao );  
266 - $obj->edita();  
267 - header( "Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
268 - die();  
269 - }  
270 -  
271 - $cadastrou = $obj->cadastra();  
272 - if( $cadastrou )  
273 - {  
274 - $this->mensagem .= "Cadastro efetuado com sucesso.<br>";  
275 - header( "Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
276 - die();  
277 - return true;  
278 - }  
279 -  
280 - $this->mensagem = "Cadastro n&atilde;o realizado.<br>";  
281 - echo "<!--\nErro ao cadastrar clsPmieducarDispensaDisciplina\nvalores obrigatorios\n is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->pessoa_logada ) && is_numeric( $this->ref_cod_tipo_dispensa )\n-->";  
282 - return false;  
283 - }  
284 -  
285 - function Editar()  
286 - {  
287 - @session_start();  
288 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
289 - @session_write_close();  
290 -  
291 - $obj_permissoes = new clsPermissoes();  
292 - $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
293 -  
294 - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, null, null, 1, $this->observacao);  
295 - $editou = $obj->edita();  
296 - if( $editou )  
297 - {  
298 - $this->mensagem .= "Edi&ccedil;&atilde;o efetuada com sucesso.<br>";  
299 - header( "Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
300 - die();  
301 - return true;  
302 - }  
303 -  
304 - $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada.<br>";  
305 - echo "<!--\nErro ao editar clsPmieducarDispensaDisciplina\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->pessoa_logada ) )\n-->";  
306 - return false;  
307 - }  
308 -  
309 - function Excluir()  
310 - {  
311 - @session_start();  
312 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
313 - @session_write_close();  
314 -  
315 - $obj_permissoes = new clsPermissoes();  
316 - $obj_permissoes->permissao_excluir( 578, $this->pessoa_logada, 7, "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
317 -  
318 -  
319 - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, null, null, 0, $this->observacao );  
320 - $excluiu = $obj->excluir();  
321 - if( $excluiu )  
322 - {  
323 - $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";  
324 - header( "Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
325 - die();  
326 - return true;  
327 - }  
328 -  
329 - $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";  
330 - echo "<!--\nErro ao excluir clsPmieducarDispensaDisciplina\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->pessoa_logada ) )\n-->";  
331 - return false;  
332 - } 132 + $obj_permissoes = new clsPermissoes();
  133 +
  134 + if ($obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7)) {
  135 + $this->fexcluir = TRUE;
  136 + }
  137 +
  138 + $retorno = 'Editar';
  139 + }
  140 + }
  141 +
  142 + $this->url_cancelar = $retorno == 'Editar' ?
  143 + sprintf('educar_dispensa_disciplina_det.php?ref_cod_matricula=%d&ref_cod_serie=%d&ref_cod_escola=%d&ref_cod_disciplina=%d',
  144 + $registro['ref_cod_matricula'], $registro['ref_cod_serie'],
  145 + $registro['ref_cod_escola'], $registro['ref_cod_disciplina']) :
  146 + 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula;
  147 +
  148 + $this->nome_url_cancelar = 'Cancelar';
  149 + return $retorno;
  150 + }
  151 +
  152 + function Gerar()
  153 + {
  154 + /**
  155 + * Busca dados da matricula
  156 + */
  157 + if (class_exists('clsPmieducarMatricula')) {
  158 + $obj_ref_cod_matricula = new clsPmieducarMatricula();
  159 + $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista(
  160 + $this->ref_cod_matricula)
  161 + );
  162 + }
  163 + else {
  164 + $registro['ref_cod_matricula'] = 'Erro na geracao';
  165 + echo "<!--\nErro\nClasse nao existente: clsPmieducarMatricula\n-->";
  166 + }
  167 +
  168 + $obj_aluno = new clsPmieducarAluno();
  169 + $det_aluno = array_shift($det_aluno = $obj_aluno->lista($detalhe_aluno['ref_cod_aluno'],
  170 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1));
  171 +
  172 + $obj_escola = new clsPmieducarEscola($this->ref_cod_escola, NULL, NULL, NULL,
  173 + NULL, NULL, NULL, NULL, NULL, NULL, 1);
  174 +
  175 + $det_escola = $obj_escola->detalhe();
  176 + $this->ref_cod_instituicao = $det_escola["ref_cod_instituicao"];
  177 +
  178 + $this->campoRotulo("nm_aluno", "Nome do Aluno", $det_aluno['nome_aluno']);
  179 +
  180 + $obj_matricula_turma = new clsPmieducarMatriculaTurma();
  181 + $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula,
  182 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, NULL,
  183 + $this->ref_cod_escola);
  184 +
  185 + if (is_array($lst_matricula_turma)) {
  186 + $det = array_shift($lst_matricula_turma);
  187 + $this->ref_cod_turma = $det['ref_cod_turma'];
  188 + $this->ref_sequencial = $det['sequencial'];
  189 + }
  190 +
  191 + // primary keys
  192 + $this->campoOculto('ref_cod_matricula', $this->ref_cod_matricula);
  193 + $this->campoOculto('ref_cod_serie', $this->ref_cod_serie);
  194 + $this->campoOculto('ref_cod_escola', $this->ref_cod_escola);
  195 +
  196 + $opcoes = array('' => 'Selecione');
  197 + if (class_exists('clsPmieducarEscolaSerieDisciplina')) {
  198 + $objTemp = new clsPmieducarEscolaSerieDisciplina();
  199 + $lista = $objTemp->lista($this->ref_cod_serie, $this->ref_cod_escola, NULL, 1);
  200 +
  201 + if (is_array($lista) && count($lista)) {
  202 + foreach ($lista as $registro) {
  203 + $obj_disciplina = new clsPmieducarDisciplina(
  204 + $registro['ref_cod_disciplina'], NULL, NULL, NULL, NULL, NULL, NULL,
  205 + NULL, NULL, NULL, 1);
  206 +
  207 + $det_disciplina = $obj_disciplina->detalhe();
  208 + $opcoes[$registro['ref_cod_disciplina']] = $det_disciplina['nm_disciplina'];
  209 + }
  210 + }
  211 + }
  212 + else {
  213 + echo "<!--\nErro\nClasse clsPmieducarTurmaDisciplina nao encontrada\n-->";
  214 + $opcoes = array('' => 'Erro na geracao');
  215 + }
  216 +
  217 + if ($this->ref_cod_disciplina) {
  218 + $this->campoRotulo('nm_disciplina', 'Disciplina', $opcoes[$this->ref_cod_disciplina]);
  219 + $this->campoOculto('ref_cod_disciplina', $this->ref_cod_disciplina );
  220 + }
  221 + else {
  222 + $this->campoLista('ref_cod_disciplina', 'Disciplina', $opcoes,
  223 + $this->ref_cod_disciplina);
  224 + }
  225 +
  226 + $opcoes = array('' => 'Selecione');
  227 +
  228 + if (class_exists('clsPmieducarTipoDispensa')) {
  229 + $objTemp = new clsPmieducarTipoDispensa();
  230 +
  231 + if ($this->ref_cod_instituicao) {
  232 + $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  233 + NULL, 1, $this->ref_cod_instituicao);
  234 + }
  235 + else {
  236 + $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
  237 + }
  238 +
  239 + if (is_array($lista) && count($lista)) {
  240 + foreach ($lista as $registro) {
  241 + $opcoes[$registro['cod_tipo_dispensa']] = $registro['nm_tipo'];
  242 + }
  243 + }
  244 + }
  245 + else {
  246 + echo "<!--\nErro\nClasse clsPmieducarTipoDispensa nao encontrada\n-->";
  247 + $opcoes = array('' => 'Erro na geracao');
  248 + }
  249 +
  250 + $this->campoLista('ref_cod_tipo_dispensa', 'Tipo Dispensa', $opcoes,
  251 + $this->ref_cod_tipo_dispensa);
  252 +
  253 + $this->campoMemo('observacao', 'Observação', $this->observacao, 60, 10, FALSE);
  254 + }
  255 +
  256 + function Novo()
  257 + {
  258 + @session_start();
  259 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  260 + @session_write_close();
  261 +
  262 + $obj_permissoes = new clsPermissoes();
  263 + $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7,
  264 + 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  265 +
  266 + $sql = 'SELECT MAX(cod_dispensa) + 1 FROM pmieducar.dispensa_disciplina';
  267 + $db = new clsBanco();
  268 + $max_cod_dispensa = $db->CampoUnico($sql);
  269 +
  270 + // Caso não exista nenhuma dispensa, atribui o código 1, tabela não utiliza sequences
  271 + $max_cod_dispensa = $max_cod_dispensa > 0 ? $max_cod_dispensa : 1;
  272 +
  273 + $obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula,
  274 + $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, NULL,
  275 + $this->pessoa_logada, $this->ref_cod_tipo_dispensa, NULL, NULL, 1,
  276 + $this->observacao, $max_cod_dispensa);
  277 +
  278 + if ($obj->existe()) {
  279 + $obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula,
  280 + $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina,
  281 + $this->pessoa_logada, NULL, $this->ref_cod_tipo_dispensa, NULL, NULL, 1,
  282 + $this->observacao);
  283 +
  284 + $obj->edita();
  285 + header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  286 + die();
  287 + }
  288 +
  289 + $cadastrou = $obj->cadastra();
  290 + if ($cadastrou) {
  291 + $this->mensagem .= 'Cadastro efetuado com sucesso.<br />';
  292 + header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  293 + die();
  294 + }
  295 +
  296 + $this->mensagem = 'Cadastro não realizado.<br />';
  297 + echo "<!--\nErro ao cadastrar clsPmieducarDispensaDisciplina\nvalores obrigatorios\n is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->pessoa_logada ) && is_numeric( $this->ref_cod_tipo_dispensa )\n-->";
  298 + return FALSE;
  299 + }
  300 +
  301 + function Editar()
  302 + {
  303 + @session_start();
  304 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  305 + @session_write_close();
  306 +
  307 + $obj_permissoes = new clsPermissoes();
  308 + $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7,
  309 + 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  310 +
  311 + $obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula,
  312 + $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina,
  313 + $this->pessoa_logada, NULL, $this->ref_cod_tipo_dispensa, NULL, NULL, 1,
  314 + $this->observacao);
  315 +
  316 + $editou = $obj->edita();
  317 + if ($editou) {
  318 + $this->mensagem .= 'Edição efetuada com sucesso.<br />';
  319 + header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  320 + die();
  321 + }
  322 +
  323 + $this->mensagem = 'Edição não realizada.<br />';
  324 + echo "<!--\nErro ao editar clsPmieducarDispensaDisciplina\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->pessoa_logada ) )\n-->";
  325 + return FALSE;
  326 + }
  327 +
  328 + function Excluir()
  329 + {
  330 + @session_start();
  331 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  332 + @session_write_close();
  333 +
  334 + $obj_permissoes = new clsPermissoes();
  335 + $obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7,
  336 + 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  337 +
  338 + $obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula,
  339 + $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina,
  340 + $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, NULL, NULL, 0,
  341 + $this->observacao);
  342 +
  343 + $excluiu = $obj->excluir();
  344 +
  345 + if ($excluiu) {
  346 + $this->mensagem .= 'Exclusão efetuada com sucesso.<br />';
  347 + header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  348 + die();
  349 + }
  350 +
  351 + $this->mensagem = 'Exclusão não realizada.<br />';
  352 + echo "<!--\nErro ao excluir clsPmieducarDispensaDisciplina\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->pessoa_logada ) )\n-->";
  353 + return FALSE;
  354 + }
333 } 355 }
334 356
335 -// cria uma extensao da classe base 357 +// Instancia objeto de página
336 $pagina = new clsIndexBase(); 358 $pagina = new clsIndexBase();
337 -// cria o conteudo 359 +
  360 +// Instancia objeto de conteúdo
338 $miolo = new indice(); 361 $miolo = new indice();
339 -// adiciona o conteudo na clsBase  
340 -$pagina->addForm( $miolo );  
341 -// gera o html  
342 -$pagina->MakeAll();  
343 -?>  
344 -<script>  
345 -var campoTurma = document.getElementById('ref_cod_turma');  
346 -var campoDisciplina = document.getElementById('ref_cod_disciplina');  
347 -campoTurma.onchange = function(){  
348 - campoDisciplina.options.length = 1;  
349 - for(var ct=0;ct<disciplina.length;ct++){  
350 - if((campoTurma.options[campoTurma.selectedIndex].value.split("-"))[0] == disciplina[ct][0])  
351 - campoDisciplina.options[campoDisciplina.length] = new Option(disciplina[ct][2],disciplina[ct][1],false,false);  
352 - }  
353 - };  
354 -</script> 362 +
  363 +// Atribui o conteúdo à página
  364 +$pagina->addForm($miolo);
  365 +
  366 +// Gera o código HTML
  367 +$pagina->MakeAll();
355 \ No newline at end of file 368 \ No newline at end of file
ieducar/intranet/educar_dispensa_disciplina_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" );  
31 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 + * @category i-Educar
  25 + * @license @@license@@
  26 + * @package iEd_Pmieducar
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
  29 + */
  30 +
  31 +require_once "include/clsBase.inc.php";
  32 +require_once "include/clsDetalhe.inc.php";
  33 +require_once "include/clsBanco.inc.php";
  34 +require_once "include/pmieducar/geral.inc.php";
  35 +
  36 +/**
  37 + * clsIndexBase class.
  38 + *
  39 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  40 + * @category i-Educar
  41 + * @license @@license@@
  42 + * @package iEd_Pmieducar
  43 + * @since Classe disponível desde a versão 1.0.0
  44 + * @version @@package_version@@
  45 + */
32 class clsIndexBase extends clsBase 46 class clsIndexBase extends clsBase
33 { 47 {
34 - function Formular()  
35 - {  
36 - $this->SetTitulo( "{$this->_instituicao} i-Educar - Dispensa Disciplina" );  
37 - $this->processoAp = "578";  
38 - } 48 + function Formular()
  49 + {
  50 + $this->SetTitulo($this->_instituicao . ' i-Educar - Dispensa Disciplina');
  51 + $this->processoAp = 578;
  52 + }
39 } 53 }
40 54
  55 +/**
  56 + * indice class.
  57 + *
  58 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  59 + * @category i-Educar
  60 + * @license @@license@@
  61 + * @package iEd_Pmieducar
  62 + * @since Classe disponível desde a versão 1.0.0
  63 + * @version @@package_version@@
  64 + */
41 class indice extends clsDetalhe 65 class indice extends clsDetalhe
42 { 66 {
43 - /**  
44 - * Titulo no topo da pagina  
45 - *  
46 - * @var int  
47 - */  
48 - var $titulo;  
49 -  
50 - var $ref_cod_matricula;  
51 - var $ref_cod_turma;  
52 - var $ref_cod_serie;  
53 - var $ref_cod_escola;  
54 - var $ref_cod_disciplina;  
55 - var $ref_usuario_exc;  
56 - var $ref_usuario_cad;  
57 - var $ref_cod_tipo_dispensa;  
58 - var $data_cadastro;  
59 - var $data_exclusao;  
60 - var $ativo;  
61 - var $observacao;  
62 - var $ref_sequencial;  
63 -  
64 - function Gerar()  
65 - {  
66 - @session_start();  
67 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
68 - session_write_close();  
69 -  
70 - $this->titulo = "Dispensa Disciplina - Detalhe";  
71 - $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" );  
72 -  
73 - $this->ref_cod_disciplina=$_GET["ref_cod_disciplina"];  
74 - $this->ref_cod_matricula=$_GET["ref_cod_matricula"];  
75 -// $this->ref_cod_turma=$_GET["ref_cod_turma"];  
76 - $this->ref_cod_serie=$_GET["ref_cod_serie"];  
77 - $this->ref_cod_disciplina=$_GET["ref_cod_disciplina"];  
78 - $this->ref_cod_escola=$_GET["ref_cod_escola"];  
79 -// $this->ref_sequencial=$_GET["ref_sequencial"];  
80 -  
81 -  
82 - $tmp_obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina );  
83 - $registro = $tmp_obj->detalhe();  
84 -  
85 - if( !$registro )  
86 - {  
87 - header( "location: educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" );  
88 - die();  
89 - }  
90 - //**  
91 -  
92 - if( class_exists( "clsPmieducarSerie" ) )  
93 - {  
94 - $obj_serie = new clsPmieducarSerie( $this->ref_cod_serie );  
95 - $det_serie = $obj_serie->detalhe();  
96 - $registro["ref_ref_cod_serie"] = $det_serie["nm_serie"];  
97 - }  
98 - else  
99 - {  
100 - $registro["ref_ref_cod_serie"] = "Erro na geracao";  
101 - echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->";  
102 - }  
103 - //**  
104 -// if( class_exists( "clsPmieducarMatriculaTurma" ) )  
105 -// {  
106 -// $obj_ref_ref_cod_turma = new clsPmieducarMatriculaTurma( $registro["ref_cod_matricula"], $registro["ref_cod_turma"],null,null,null,null,null,null,$this->ref_sequencial );  
107 -// $det_ref_ref_cod_turma = $obj_ref_ref_cod_turma->detalhe();  
108 -// $registro["ref_cod_turma"] = $det_ref_ref_cod_turma["ref_cod_turma"];  
109 -//  
110 -// $obj_turma = new clsPmieducarTurma($registro["ref_cod_turma"],null,null,null,null,null,null,null,null,null,null,null,1);  
111 -// $det_turma = $obj_turma->detalhe();  
112 -// $nm_turma = $det_turma['nm_turma'];  
113 -  
114 - /**  
115 - * Busca dados da matricula  
116 - */  
117 - if( class_exists( "clsPmieducarMatricula" ) )  
118 - {  
119 - $obj_ref_cod_matricula = new clsPmieducarMatricula();  
120 - $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista($this->ref_cod_matricula));  
121 - }  
122 - else  
123 - {  
124 - $registro["ref_cod_matricula"] = "Erro na geracao";  
125 - echo "<!--\nErro\nClasse nao existente: clsPmieducarMatricula\n-->";  
126 - }  
127 -  
128 -  
129 - $obj_aluno = new clsPmieducarAluno();  
130 - $det_aluno = array_shift($det_aluno = $obj_aluno->lista($detalhe_aluno['ref_cod_aluno'],null,null,null,null,null,null,null,null,null,1));  
131 -  
132 - $obj_escola = new clsPmieducarEscola($this->ref_cod_escola,null,null,null,null,null,null,null,null,null,1);  
133 - $det_escola = $obj_escola->detalhe();  
134 -  
135 -  
136 - $nm_aluno = $det_aluno['nome_aluno'];  
137 -  
138 - /**  
139 - *  
140 - */  
141 -  
142 -// }  
143 -// else  
144 -// {  
145 -// $registro["ref_ref_cod_turma"] = "Erro na geracao";  
146 -// echo "<!--\nErro\nClasse nao existente: clsPmieducarMatriculaTurma\n-->";  
147 -// }  
148 -  
149 - if( class_exists( "clsPmieducarCurso" ) )  
150 - {  
151 - $obj_ref_cod_curso = new clsPmieducarCurso( $detalhe_aluno["ref_cod_curso"] );  
152 - $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();  
153 - $registro["ref_cod_curso"] = $det_ref_cod_curso["nm_curso"];  
154 - }  
155 - else  
156 - {  
157 - $registro["ref_cod_curso"] = "Erro na geracao";  
158 - echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->";  
159 - }  
160 -  
161 - if( class_exists( "clsPmieducarTipoDispensa" ) )  
162 - {  
163 - $obj_ref_cod_tipo_dispensa = new clsPmieducarTipoDispensa( $registro["ref_cod_tipo_dispensa"] );  
164 - $det_ref_cod_tipo_dispensa = $obj_ref_cod_tipo_dispensa->detalhe();  
165 - $registro["ref_cod_tipo_dispensa"] = $det_ref_cod_tipo_dispensa["nm_tipo"];  
166 - }  
167 - else  
168 - {  
169 - $registro["ref_cod_tipo_dispensa"] = "Erro na geracao";  
170 - echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoDispensa\n-->";  
171 - }  
172 -  
173 -  
174 - if( $registro["ref_cod_matricula"] )  
175 - {  
176 - $this->addDetalhe( array( "Matricula", "{$registro["ref_cod_matricula"]}") );  
177 - }  
178 - if( $nm_aluno )  
179 - {  
180 - $this->addDetalhe( array( "Aluno", "{$nm_aluno}") );  
181 - }  
182 - if( $registro["ref_cod_curso"] )  
183 - {  
184 - $this->addDetalhe( array( "Curso", "{$registro["ref_cod_curso"] }") );  
185 - }  
186 - if( $registro["ref_ref_cod_serie"] )  
187 - {  
188 - $this->addDetalhe( array( "S&eacute;rie", "{$registro["ref_ref_cod_serie"]}") );  
189 - }  
190 -// if( $nm_turma )  
191 -// {  
192 -// $this->addDetalhe( array( "Turma", "{$nm_turma}") );  
193 -// }  
194 -  
195 - if( $registro["ref_cod_disciplina"] )  
196 - {  
197 - $obj_disciplina = new clsPmieducarDisciplina($registro['ref_cod_disciplina'],null,null,null,null,null,null,null,null,null,1);  
198 - $det_disciplina = $obj_disciplina->detalhe();  
199 - $this->addDetalhe( array( "Disciplina", "{$det_disciplina["nm_disciplina"]}") );  
200 - }  
201 - if( $registro["ref_cod_tipo_dispensa"] )  
202 - {  
203 - $this->addDetalhe( array( "Tipo Dispensa", "{$registro["ref_cod_tipo_dispensa"]}") );  
204 - }  
205 - if( $registro["observacao"] )  
206 - {  
207 - $this->addDetalhe( array( "Observa&ccedil;&atilde;o", "{$registro["observacao"]}") );  
208 - }  
209 -  
210 - $obj_permissoes = new clsPermissoes();  
211 - if( $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7 ) )  
212 - {  
213 - $this->url_novo = "educar_dispensa_disciplina_cad.php?ref_cod_matricula={$this->ref_cod_matricula}";  
214 - $this->url_editar = "educar_dispensa_disciplina_cad.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}";  
215 - }  
216 -  
217 - $this->url_cancelar = "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}";  
218 - $this->largura = "100%";  
219 - } 67 + var $titulo;
  68 +
  69 + var $ref_cod_matricula;
  70 + var $ref_cod_turma;
  71 + var $ref_cod_serie;
  72 + var $ref_cod_escola;
  73 + var $ref_cod_disciplina;
  74 + var $ref_usuario_exc;
  75 + var $ref_usuario_cad;
  76 + var $ref_cod_tipo_dispensa;
  77 + var $data_cadastro;
  78 + var $data_exclusao;
  79 + var $ativo;
  80 + var $observacao;
  81 + var $ref_sequencial;
  82 +
  83 + function Gerar()
  84 + {
  85 + @session_start();
  86 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  87 + session_write_close();
  88 +
  89 + $this->titulo = 'Dispensa Disciplina - Detalhe';
  90 + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg',
  91 + 'Intranet');
  92 +
  93 + $this->ref_cod_disciplina = $_GET['ref_cod_disciplina'];
  94 + $this->ref_cod_matricula = $_GET['ref_cod_matricula'];
  95 + $this->ref_cod_serie = $_GET['ref_cod_serie'];
  96 + $this->ref_cod_disciplina = $_GET['ref_cod_disciplina'];
  97 + $this->ref_cod_escola = $_GET['ref_cod_escola'];
  98 +
  99 + $tmp_obj = new clsPmieducarDispensaDisciplina($this->ref_cod_matricula,
  100 + $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina);
  101 +
  102 + $registro = $tmp_obj->detalhe();
  103 +
  104 + if (!$registro) {
  105 + header('Location: educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula);
  106 + die();
  107 + }
  108 +
  109 + if (class_exists('clsPmieducarSerie')) {
  110 + $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
  111 + $det_serie = $obj_serie->detalhe();
  112 + $registro['ref_ref_cod_serie'] = $det_serie['nm_serie'];
  113 + }
  114 + else {
  115 + $registro['ref_ref_cod_serie'] = 'Erro na geracao';
  116 + echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->";
  117 + }
  118 +
  119 + /**
  120 + * Busca dados da matrícula
  121 + */
  122 + if (class_exists('clsPmieducarMatricula')) {
  123 + $obj_ref_cod_matricula = new clsPmieducarMatricula();
  124 + $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista($this->ref_cod_matricula));
  125 + }
  126 + else {
  127 + $registro['ref_cod_matricula'] = 'Erro na geracao';
  128 + echo "<!--\nErro\nClasse nao existente: clsPmieducarMatricula\n-->";
  129 + }
  130 +
  131 + $obj_aluno = new clsPmieducarAluno();
  132 + $det_aluno = array_shift($obj_aluno->lista($detalhe_aluno['ref_cod_aluno'],
  133 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1));
  134 +
  135 + $obj_escola = new clsPmieducarEscola($this->ref_cod_escola, NULL, NULL,
  136 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
  137 + $det_escola = $obj_escola->detalhe();
  138 +
  139 + $nm_aluno = $det_aluno['nome_aluno'];
  140 +
  141 + if (class_exists('clsPmieducarCurso')) {
  142 + $obj_ref_cod_curso = new clsPmieducarCurso( $detalhe_aluno['ref_cod_curso'] );
  143 + $det_ref_cod_curso = $obj_ref_cod_curso->detalhe();
  144 + $registro['ref_cod_curso'] = $det_ref_cod_curso['nm_curso'];
  145 + }
  146 + else {
  147 + $registro['ref_cod_curso'] = 'Erro na geracao';
  148 + echo "<!--\nErro\nClasse nao existente: clsPmieducarCurso\n-->";
  149 + }
  150 +
  151 + if (class_exists('clsPmieducarTipoDispensa')) {
  152 + $obj_ref_cod_tipo_dispensa = new clsPmieducarTipoDispensa($registro['ref_cod_tipo_dispensa']);
  153 + $det_ref_cod_tipo_dispensa = $obj_ref_cod_tipo_dispensa->detalhe();
  154 + $registro['ref_cod_tipo_dispensa'] = $det_ref_cod_tipo_dispensa['nm_tipo'];
  155 + }
  156 + else {
  157 + $registro['ref_cod_tipo_dispensa'] = 'Erro na geracao';
  158 + echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoDispensa\n-->";
  159 + }
  160 +
  161 + if ($registro['ref_cod_matricula']) {
  162 + $this->addDetalhe(array('Matricula', $registro['ref_cod_matricula']));
  163 + }
  164 +
  165 + if ($nm_aluno) {
  166 + $this->addDetalhe(array('Aluno', $nm_aluno));
  167 + }
  168 +
  169 + if ($registro['ref_cod_curso']) {
  170 + $this->addDetalhe(array('Curso', $registro['ref_cod_curso']));
  171 + }
  172 +
  173 + if ($registro['ref_ref_cod_serie']) {
  174 + $this->addDetalhe(array('Série', $registro['ref_ref_cod_serie']));
  175 + }
  176 +
  177 + if ($registro['ref_cod_disciplina']) {
  178 + $obj_disciplina = new clsPmieducarDisciplina($registro['ref_cod_disciplina'],
  179 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
  180 +
  181 + $det_disciplina = $obj_disciplina->detalhe();
  182 + $this->addDetalhe(array('Disciplina', $det_disciplina['nm_disciplina']));
  183 + }
  184 +
  185 + if ($registro['ref_cod_tipo_dispensa']) {
  186 + $this->addDetalhe(array('Tipo Dispensa', $registro['ref_cod_tipo_dispensa']));
  187 + }
  188 +
  189 + if ($registro['observacao']) {
  190 + $this->addDetalhe(array('Observação', $registro['observacao']));
  191 + }
  192 +
  193 + $obj_permissoes = new clsPermissoes();
  194 +
  195 + if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) {
  196 + $this->url_novo = sprintf('educar_dispensa_disciplina_cad.php?ref_cod_matricula=%d',
  197 + $this->ref_cod_matricula);
  198 + $this->url_editar = sprintf('educar_dispensa_disciplina_cad.php?ref_cod_matricula=%d&ref_cod_disciplina=%d',
  199 + $registro['ref_cod_matricula'], $registro['ref_cod_disciplina']);
  200 + }
  201 +
  202 + $this->url_cancelar = 'educar_dispensa_disciplina_lst.php?ref_cod_matricula=' . $this->ref_cod_matricula;
  203 + $this->largura = '100%';
  204 + }
220 } 205 }
221 206
222 -// cria uma extensao da classe base 207 +// Instancia objeto de página
223 $pagina = new clsIndexBase(); 208 $pagina = new clsIndexBase();
224 -// cria o conteudo 209 +
  210 +// Instancia objeto de conteúdo
225 $miolo = new indice(); 211 $miolo = new indice();
226 -// adiciona o conteudo na clsBase  
227 -$pagina->addForm( $miolo );  
228 -// gera o html  
229 -$pagina->MakeAll();  
230 -?>  
231 \ No newline at end of file 212 \ No newline at end of file
  213 +
  214 +// Atribui o conteúdo à página
  215 +$pagina->addForm($miolo);
  216 +
  217 +// Gera o código HTML
  218 +$pagina->MakeAll();
232 \ No newline at end of file 219 \ No newline at end of file
ieducar/intranet/educar_dispensa_disciplina_lst.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/clsListagem.inc.php");  
29 -require_once ("include/clsBanco.inc.php");  
30 -require_once( "include/pmieducar/geral.inc.php" );  
31 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 + * @category i-Educar
  25 + * @license @@license@@
  26 + * @package iEd_Pmieducar
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
  29 + */
  30 +
  31 +require_once 'include/clsBase.inc.php';
  32 +require_once 'include/clsListagem.inc.php';
  33 +require_once 'include/clsBanco.inc.php';
  34 +require_once 'include/pmieducar/geral.inc.php';
  35 +
  36 +/**
  37 + * clsIndexBase class.
  38 + *
  39 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  40 + * @category i-Educar
  41 + * @license @@license@@
  42 + * @package iEd_Pmieducar
  43 + * @since Classe disponível desde a versão 1.0.0
  44 + * @version @@package_version@@
  45 + */
32 class clsIndexBase extends clsBase 46 class clsIndexBase extends clsBase
33 { 47 {
34 - function Formular()  
35 - {  
36 - $this->SetTitulo( "{$this->_instituicao} i-Educar - Dispensa Disciplina" );  
37 - $this->processoAp = "578";  
38 - } 48 + function Formular()
  49 + {
  50 + $this->SetTitulo($this->_instituicao . ' i-Educar - Dispensa Disciplina');
  51 + $this->processoAp = 578;
  52 + }
39 } 53 }
40 54
  55 +/**
  56 + * indice class.
  57 + *
  58 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  59 + * @category i-Educar
  60 + * @license @@license@@
  61 + * @package iEd_Pmieducar
  62 + * @since Classe disponível desde a versão 1.0.0
  63 + * @version @@package_version@@
  64 + */
41 class indice extends clsListagem 65 class indice extends clsListagem
42 { 66 {
43 - /**  
44 - * Referencia pega da session para o idpes do usuario atual  
45 - *  
46 - * @var int  
47 - */  
48 - var $pessoa_logada;  
49 -  
50 - /**  
51 - * Titulo no topo da pagina  
52 - *  
53 - * @var int  
54 - */  
55 - var $titulo;  
56 -  
57 - /**  
58 - * Quantidade de registros a ser apresentada em cada pagina  
59 - *  
60 - * @var int  
61 - */  
62 - var $limite;  
63 -  
64 - /**  
65 - * Inicio dos registros a serem exibidos (limit)  
66 - *  
67 - * @var int  
68 - */  
69 - var $offset;  
70 -  
71 - var $ref_cod_matricula;  
72 - var $ref_cod_serie;  
73 - var $ref_cod_escola;  
74 - var $ref_cod_disciplina;  
75 - var $ref_usuario_exc;  
76 - var $ref_usuario_cad;  
77 - var $ref_cod_tipo_dispensa;  
78 - var $data_cadastro;  
79 - var $data_exclusao;  
80 - var $ativo;  
81 - var $observacao;  
82 - var $ref_sequencial;  
83 -  
84 - var $ref_cod_instituicao;  
85 - var $ref_cod_turma;  
86 -  
87 - function Gerar()  
88 - {  
89 - @session_start();  
90 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
91 - session_write_close();  
92 -  
93 - $this->titulo = "Dispensa Disciplina - Listagem";  
94 -  
95 - foreach( $_GET AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto  
96 - $this->$var = ( $val === "" ) ? null: $val;  
97 -  
98 -  
99 - if(!$_GET['ref_cod_matricula'])  
100 - {  
101 - header("location: educar_matricula_lst.php");  
102 - die;  
103 - }  
104 -  
105 - $this->ref_cod_matricula = $_GET['ref_cod_matricula'];  
106 -  
107 - $obj_matricula = new clsPmieducarMatricula();  
108 - $lst_matricula = $obj_matricula->lista( $this->ref_cod_matricula );  
109 - if (is_array($lst_matricula))  
110 - {  
111 - $det_matricula = array_shift($lst_matricula);  
112 - $this->ref_cod_instituicao = $det_matricula["ref_cod_instituicao"];  
113 - $this->ref_cod_escola = $det_matricula["ref_ref_cod_escola"];  
114 - $this->ref_cod_serie = $det_matricula["ref_ref_cod_serie"];  
115 -  
116 - $obj_matricula_turma = new clsPmieducarMatriculaTurma();  
117 - $lst_matricula_turma = $obj_matricula_turma->lista( $this->ref_cod_matricula,null,null,null,null,null,null,null,1,$this->ref_cod_serie,null,$this->ref_cod_escola );  
118 - if (is_array($lst_matricula_turma))  
119 - {  
120 - $det = array_shift($lst_matricula_turma);  
121 - $this->ref_cod_turma = $det["ref_cod_turma"];  
122 - $this->ref_sequencial = $det["sequencial"];  
123 -  
124 - }  
125 - }  
126 - $this->campoOculto( "ref_cod_turma", $this->ref_cod_turma );  
127 -  
128 - $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" );  
129 -  
130 - $this->addCabecalhos( array(  
131 - "Disciplina",  
132 - "Tipo Dispensa",  
133 - "Data Dispensa"  
134 - ) );  
135 -  
136 - // Filtros de Foreign Keys  
137 - $opcoes = array( "" => "Selecione" );  
138 - if( class_exists( "clsPmieducarTipoDispensa" ) )  
139 - {  
140 - $objTemp = new clsPmieducarTipoDispensa();  
141 - if ($this->ref_cod_instituicao)  
142 - $lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,1,$this->ref_cod_instituicao );  
143 - else  
144 - $lista = $objTemp->lista( null,null,null,null,null,null,null,null,null,1 );  
145 -  
146 - if ( is_array( $lista ) && count( $lista ) )  
147 - {  
148 - foreach ( $lista as $registro )  
149 - {  
150 - $opcoes["{$registro['cod_tipo_dispensa']}"] = "{$registro['nm_tipo']}";  
151 - }  
152 - }  
153 - }  
154 - else  
155 - {  
156 - echo "<!--\nErro\nClasse clsPmieducarTipoDispensa nao encontrada\n-->";  
157 - $opcoes = array( "" => "Erro na geracao" );  
158 - }  
159 - $this->campoLista( "ref_cod_tipo_dispensa", "Motivo", $opcoes, $this->ref_cod_tipo_dispensa,"",false,"","",false,false);  
160 -  
161 - $this->campoOculto("ref_cod_matricula",$this->ref_cod_matricula);  
162 -  
163 - // outros Filtros  
164 - $opcoes = array( "" => "Selecione" );  
165 - if( class_exists( "clsPmieducarEscolaSerieDisciplina" ) )  
166 - {  
167 - $objTemp = new clsPmieducarEscolaSerieDisciplina();  
168 - $lista = $objTemp->lista( $this->ref_cod_serie,$this->ref_cod_escola,null,1 );  
169 - if ( is_array( $lista ) && count( $lista ) )  
170 - {  
171 - foreach ( $lista as $registro )  
172 - {  
173 - $obj_disciplina = new clsPmieducarDisciplina($registro['ref_cod_disciplina'],null,null,null,null,null,null,null,null,null,1);  
174 - $det_disciplina = $obj_disciplina->detalhe();  
175 - $opcoes["{$registro['ref_cod_disciplina']}"] = "{$det_disciplina['nm_disciplina']}";  
176 - }  
177 - }  
178 - }  
179 - else  
180 - {  
181 - echo "<!--\nErro\nClasse clsPmieducarEscolaSerieDisciplina nao encontrada\n-->";  
182 - $opcoes = array( "" => "Erro na geracao" );  
183 - }  
184 -  
185 - $this->campoLista( "ref_cod_disciplina", "Disciplina", $opcoes, $this->ref_cod_disciplina,"",false,"","",false,false );  
186 -  
187 -  
188 - // Paginador  
189 - $this->limite = 20;  
190 - $this->offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->limite-$this->limite: 0;  
191 -  
192 - $obj_dispensa_disciplina = new clsPmieducarDispensaDisciplina();  
193 - $obj_dispensa_disciplina->setOrderby( "data_cadastro ASC" );  
194 - $obj_dispensa_disciplina->setLimite( $this->limite, $this->offset );  
195 -  
196 - $lista = $obj_dispensa_disciplina->lista(  
197 - $this->ref_cod_matricula,  
198 - null,  
199 - null,  
200 - $this->ref_cod_disciplina,  
201 - null,  
202 - null,  
203 - $this->ref_cod_tipo_dispensa,  
204 - null,  
205 - null,  
206 - null,  
207 - null,  
208 - 1  
209 - );  
210 -  
211 - $total = $obj_dispensa_disciplina->_total;  
212 -  
213 - // monta a lista  
214 - if( is_array( $lista ) && count( $lista ) )  
215 - {  
216 - foreach ( $lista AS $registro )  
217 - {  
218 - // muda os campos data  
219 - $registro["data_cadastro_time"] = strtotime( substr( $registro["data_cadastro"], 0, 16 ) );  
220 - $registro["data_cadastro_br"] = date( "d/m/Y", $registro["data_cadastro_time"] );  
221 -  
222 - if( class_exists( "clsPmieducarTipoDispensa" ) )  
223 - {  
224 - $obj_ref_cod_tipo_dispensa = new clsPmieducarTipoDispensa( $registro["ref_cod_tipo_dispensa"] );  
225 - $det_ref_cod_tipo_dispensa = $obj_ref_cod_tipo_dispensa->detalhe();  
226 - $registro["ref_cod_tipo_dispensa"] = $det_ref_cod_tipo_dispensa["nm_tipo"];  
227 - }  
228 - else  
229 - {  
230 - $registro["ref_cod_tipo_dispensa"] = "Erro na geracao";  
231 - echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoDispensa\n-->";  
232 - }  
233 -  
234 - $obj_disciplina = new clsPmieducarDisciplina($registro['ref_cod_disciplina'],null,null,null,null,null,null,null,null,null,1);  
235 - $det_disciplina = $obj_disciplina->detalhe();  
236 -  
237 - $this->addLinhas( array(  
238 - "<a href=\"educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}\">{$det_disciplina["nm_disciplina"]}</a>",  
239 - "<a href=\"educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}\">{$registro["ref_cod_tipo_dispensa"]}</a>",  
240 - "<a href=\"educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}\">{$registro["data_cadastro_br"]}</a>"  
241 - ) );  
242 - }  
243 - }  
244 - $this->addPaginador2( "educar_dispensa_disciplina_lst.php", $total, $_GET, $this->nome, $this->limite );  
245 - $obj_permissoes = new clsPermissoes();  
246 - if( $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7 ) )  
247 - {  
248 - $this->array_botao_url[] = "educar_dispensa_disciplina_cad.php?ref_cod_matricula={$this->ref_cod_matricula}";  
249 - $this->array_botao[] = "Novo";  
250 - }  
251 -  
252 - $this->array_botao_url[] = "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}";  
253 - $this->array_botao[] = "Voltar";  
254 -  
255 - $this->largura = "100%";  
256 - } 67 + var $pessoa_logada;
  68 + var $titulo;
  69 + var $limite;
  70 + var $offset;
  71 +
  72 + var $ref_cod_matricula;
  73 + var $ref_cod_serie;
  74 + var $ref_cod_escola;
  75 + var $ref_cod_disciplina;
  76 + var $ref_usuario_exc;
  77 + var $ref_usuario_cad;
  78 + var $ref_cod_tipo_dispensa;
  79 + var $data_cadastro;
  80 + var $data_exclusao;
  81 + var $ativo;
  82 + var $observacao;
  83 + var $ref_sequencial;
  84 +
  85 + var $ref_cod_instituicao;
  86 + var $ref_cod_turma;
  87 +
  88 + function Gerar()
  89 + {
  90 + @session_start();
  91 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  92 + session_write_close();
  93 +
  94 + $this->titulo = 'Dispensa Disciplina - Listagem';
  95 +
  96 + // passa todos os valores obtidos no GET para atributos do objeto
  97 + foreach ($_GET as $var => $val) {
  98 + $this->$var = ($val === '') ? NULL : $val;
  99 + }
  100 +
  101 + if (!$_GET['ref_cod_matricula']) {
  102 + header('Location: educar_matricula_lst.php');
  103 + die();
  104 + }
  105 +
  106 + $this->ref_cod_matricula = $_GET['ref_cod_matricula'];
  107 +
  108 + $obj_matricula = new clsPmieducarMatricula();
  109 + $lst_matricula = $obj_matricula->lista($this->ref_cod_matricula);
  110 +
  111 + if (is_array($lst_matricula)) {
  112 + $det_matricula = array_shift($lst_matricula);
  113 + $this->ref_cod_instituicao = $det_matricula['ref_cod_instituicao'];
  114 + $this->ref_cod_escola = $det_matricula['ref_ref_cod_escola'];
  115 + $this->ref_cod_serie = $det_matricula['ref_ref_cod_serie'];
  116 +
  117 + $obj_matricula_turma = new clsPmieducarMatriculaTurma();
  118 + $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula,
  119 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, NULL,
  120 + $this->ref_cod_escola);
  121 +
  122 + if (is_array($lst_matricula_turma)) {
  123 + $det = array_shift($lst_matricula_turma);
  124 + $this->ref_cod_turma = $det['ref_cod_turma'];
  125 + $this->ref_sequencial = $det['sequencial'];
  126 + }
  127 + }
  128 +
  129 + $this->campoOculto('ref_cod_turma', $this->ref_cod_turma);
  130 +
  131 + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg',
  132 + 'Intranet');
  133 +
  134 + $this->addCabecalhos(array(
  135 + 'Disciplina',
  136 + 'Tipo Dispensa',
  137 + 'Data Dispensa'
  138 + ));
  139 +
  140 + // Filtros de Foreign Keys
  141 + $opcoes = array('' => 'Selecione');
  142 + if (class_exists('clsPmieducarTipoDispensa')) {
  143 + $objTemp = new clsPmieducarTipoDispensa();
  144 +
  145 + if ($this->ref_cod_instituicao) {
  146 + $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  147 + NULL, 1, $this->ref_cod_instituicao);
  148 + }
  149 + else {
  150 + $lista = $objTemp->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
  151 + }
  152 +
  153 + if (is_array($lista) && count($lista)) {
  154 + foreach ($lista as $registro) {
  155 + $opcoes[$registro['cod_tipo_dispensa']] = $registro['nm_tipo'];
  156 + }
  157 + }
  158 + }
  159 + else {
  160 + echo "<!--\nErro\nClasse clsPmieducarTipoDispensa nao encontrada\n-->";
  161 + $opcoes = array('' => 'Erro na geração');
  162 + }
  163 +
  164 + $this->campoLista('ref_cod_tipo_dispensa', 'Motivo', $opcoes,
  165 + $this->ref_cod_tipo_dispensa, '', FALSE, '', '', FALSE, FALSE);
  166 +
  167 + $this->campoOculto('ref_cod_matricula', $this->ref_cod_matricula);
  168 +
  169 + // outros Filtros
  170 + $opcoes = array('' => 'Selecione');
  171 + if (class_exists('clsPmieducarEscolaSerieDisciplina')) {
  172 + $objTemp = new clsPmieducarEscolaSerieDisciplina();
  173 + $lista = $objTemp->lista($this->ref_cod_serie, $this->ref_cod_escola, NULL, 1);
  174 +
  175 + if (is_array($lista) && count($lista)) {
  176 + foreach ($lista as $registro) {
  177 + $obj_disciplina = new clsPmieducarDisciplina(
  178 + $registro['ref_cod_disciplina'], NULL, NULL, NULL, NULL, NULL, NULL,
  179 + NULL, NULL, NULL, 1);
  180 +
  181 + $det_disciplina = $obj_disciplina->detalhe();
  182 + $opcoes[$registro['ref_cod_disciplina']] = $det_disciplina['nm_disciplina'];
  183 + }
  184 + }
  185 + }
  186 + else {
  187 + echo "<!--\nErro\nClasse clsPmieducarEscolaSerieDisciplina nao encontrada\n-->";
  188 + $opcoes = array('' => 'Erro na geração');
  189 + }
  190 +
  191 + $this->campoLista('ref_cod_disciplina', 'Disciplina', $opcoes,
  192 + $this->ref_cod_disciplina, '', FALSE, '', '', FALSE, FALSE);
  193 +
  194 + // Paginador
  195 + $this->limite = 20;
  196 + $this->offset = $_GET['pagina_' . $this->nome] ?
  197 + $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0;
  198 +
  199 + $obj_dispensa_disciplina = new clsPmieducarDispensaDisciplina();
  200 + $obj_dispensa_disciplina->setOrderby('data_cadastro ASC');
  201 + $obj_dispensa_disciplina->setLimite($this->limite, $this->offset);
  202 +
  203 + $lista = $obj_dispensa_disciplina->lista(
  204 + $this->ref_cod_matricula,
  205 + NULL,
  206 + NULL,
  207 + $this->ref_cod_disciplina,
  208 + NULL,
  209 + NULL,
  210 + $this->ref_cod_tipo_dispensa,
  211 + NULL,
  212 + NULL,
  213 + NULL,
  214 + NULL,
  215 + 1
  216 + );
  217 +
  218 + $total = $obj_dispensa_disciplina->_total;
  219 +
  220 + // monta a lista
  221 + if (is_array($lista) && count($lista)) {
  222 + foreach ($lista as $registro) {
  223 + // muda os campos data
  224 + $registro['data_cadastro_time'] = strtotime(substr($registro['data_cadastro'], 0, 16));
  225 + $registro['data_cadastro_br'] = date('d/m/Y', $registro['data_cadastro_time']);
  226 +
  227 + if (class_exists('clsPmieducarTipoDispensa')) {
  228 + $obj_ref_cod_tipo_dispensa = new clsPmieducarTipoDispensa($registro['ref_cod_tipo_dispensa']);
  229 + $det_ref_cod_tipo_dispensa = $obj_ref_cod_tipo_dispensa->detalhe();
  230 + $registro['ref_cod_tipo_dispensa'] = $det_ref_cod_tipo_dispensa['nm_tipo'];
  231 + }
  232 + else {
  233 + $registro['ref_cod_tipo_dispensa'] = 'Erro na geracao';
  234 + echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoDispensa\n-->";
  235 + }
  236 +
  237 + $obj_disciplina = new clsPmieducarDisciplina($registro['ref_cod_disciplina'],
  238 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
  239 +
  240 + $det_disciplina = $obj_disciplina->detalhe();
  241 +
  242 + $this->addLinhas(array(
  243 + "<a href=\"educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}\">{$det_disciplina["nm_disciplina"]}</a>",
  244 + "<a href=\"educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}\">{$registro["ref_cod_tipo_dispensa"]}</a>",
  245 + "<a href=\"educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}\">{$registro["data_cadastro_br"]}</a>"
  246 + ));
  247 + }
  248 + }
  249 +
  250 + $this->addPaginador2('educar_dispensa_disciplina_lst.php', $total, $_GET,
  251 + $this->nome, $this->limite);
  252 +
  253 + $obj_permissoes = new clsPermissoes();
  254 +
  255 + if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) {
  256 + $this->array_botao_url[] = 'educar_dispensa_disciplina_cad.php?ref_cod_matricula=' . $this->ref_cod_matricula;
  257 + $this->array_botao[] = 'Novo';
  258 + }
  259 +
  260 + $this->array_botao_url[] = 'educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula;
  261 + $this->array_botao[] = 'Voltar';
  262 +
  263 + $this->largura = '100%';
  264 + }
257 } 265 }
258 -// cria uma extensao da classe base 266 +
  267 +// Instancia objeto de página
259 $pagina = new clsIndexBase(); 268 $pagina = new clsIndexBase();
260 -// cria o conteudo 269 +
  270 +// Instancia objeto de conteúdo
261 $miolo = new indice(); 271 $miolo = new indice();
262 -// adiciona o conteudo na clsBase  
263 -$pagina->addForm( $miolo );  
264 -// gera o html  
265 -$pagina->MakeAll();  
266 -?>  
267 -<script>  
268 -var campoTurma = document.getElementById('ref_cod_turma');  
269 -var campoDisciplina = document.getElementById('ref_cod_disciplina');  
270 -campoTurma.onchange = function(){  
271 - campoDisciplina.options.length = 1;  
272 - for(var ct=0;ct<disciplina.length;ct++){  
273 - if((campoTurma.options[campoTurma.selectedIndex].value.split("-"))[0] == disciplina[ct][0])  
274 - campoDisciplina.options[campoDisciplina.length] = new Option(disciplina[ct][2],disciplina[ct][1],false,false);  
275 - }  
276 - };  
277 -</script>  
278 \ No newline at end of file 272 \ No newline at end of file
  273 +
  274 +// Atribui o conteúdo à página
  275 +$pagina->addForm($miolo);
  276 +
  277 +// Gera o código HTML
  278 +$pagina->MakeAll();
279 \ No newline at end of file 279 \ No newline at end of file
ieducar/intranet/include/pmieducar/clsPmieducarDispensaDisciplina.inc.php
1 <?php 1 <?php
  2 +
2 /** 3 /**
  4 + * i-Educar - Sistema de gestão escolar
3 * 5 *
4 - * @version SVN: $Id$  
5 - * @author Prefeitura Municipal de Itajaí  
6 - * @updated 29/03/2007  
7 - * Pacote: i-PLB Software Público Livre e Brasileiro  
8 - *  
9 - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí  
10 - * ctima@itajai.sc.gov.br 6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
11 * 8 *
12 - * Este programa é software livre, você pode redistribuí-lo e/ou  
13 - * modificá-lo sob os termos da Licença Pública Geral GNU, conforme  
14 - * publicada pela Free Software Foundation, tanto a versão 2 da  
15 - * Licença como (a seu critério) qualquer versão mais nova. 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.
16 * 13 *
17 - * Este programa é distribuído na expectativa de ser útil, mas SEM  
18 - * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-  
19 - * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-  
20 - * sulte a Licença Pública Geral GNU para obter mais detalhes. 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.
21 * 18 *
22 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU  
23 - * junto com este programa. Se não, escreva para a Free Software  
24 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  
25 - * 02111-1307, USA. 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.
26 * 22 *
  23 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  24 + * @category i-Educar
  25 + * @license @@license@@
  26 + * @package iEd_Pmieducar
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
27 */ 29 */
28 30
29 -require_once('include/pmieducar/geral.inc.php'); 31 +require_once 'include/pmieducar/geral.inc.php';
30 32
  33 +/**
  34 + * clsPmieducarDispensaDisciplina class.
  35 + *
  36 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  37 + * @category i-Educar
  38 + * @license @@license@@
  39 + * @package iEd_Pmieducar
  40 + * @since Classe disponível desde a versão 1.0.0
  41 + * @version @@package_version@@
  42 + */
31 class clsPmieducarDispensaDisciplina 43 class clsPmieducarDispensaDisciplina
32 { 44 {
33 - var $ref_cod_matricula;  
34 - var $ref_cod_serie;  
35 - var $ref_cod_escola;  
36 - var $ref_cod_disciplina;  
37 - var $ref_usuario_exc;  
38 - var $ref_usuario_cad;  
39 - var $ref_cod_tipo_dispensa;  
40 - var $data_cadastro;  
41 - var $data_exclusao;  
42 - var $ativo;  
43 - var $observacao;  
44 - var $cod_dispensa;  
45 -  
46 - // propriedades padrao  
47 -  
48 - /**  
49 - * Armazena o total de resultados obtidos na ultima chamada ao metodo lista  
50 - *  
51 - * @var int  
52 - */  
53 - var $_total;  
54 -  
55 - /**  
56 - * Nome do schema  
57 - *  
58 - * @var string  
59 - */  
60 - var $_schema;  
61 -  
62 - /**  
63 - * Nome da tabela  
64 - *  
65 - * @var string  
66 - */  
67 - var $_tabela;  
68 -  
69 - /**  
70 - * Lista separada por virgula, com os campos que devem ser selecionados na proxima chamado ao metodo lista  
71 - *  
72 - * @var string  
73 - */  
74 - var $_campos_lista;  
75 -  
76 - /**  
77 - * Lista com todos os campos da tabela separados por virgula, padrao para selecao no metodo lista  
78 - *  
79 - * @var string  
80 - */  
81 - var $_todos_campos;  
82 -  
83 - /**  
84 - * Valor que define a quantidade de registros a ser retornada pelo metodo lista  
85 - *  
86 - * @var int  
87 - */  
88 - var $_limite_quantidade;  
89 -  
90 - /**  
91 - * Define o valor de offset no retorno dos registros no metodo lista  
92 - *  
93 - * @var int  
94 - */  
95 - var $_limite_offset;  
96 -  
97 - /**  
98 - * Define o campo padrao para ser usado como padrao de ordenacao no metodo lista  
99 - *  
100 - * @var string  
101 - */  
102 - var $_campo_order_by;  
103 -  
104 -  
105 - /**  
106 - * Construtor (PHP 4)  
107 - *  
108 - * @return object  
109 - */  
110 - function clsPmieducarDispensaDisciplina( $ref_cod_matricula = null, $ref_cod_serie = null, $ref_cod_escola = null, $ref_cod_disciplina = null, $ref_usuario_exc = null, $ref_usuario_cad = null, $ref_cod_tipo_dispensa = null, $data_cadastro = null, $data_exclusao = null, $ativo = null, $observacao = null, $cod_dispensa = null )  
111 - {  
112 - $db = new clsBanco();  
113 - $this->_schema = "pmieducar.";  
114 - $this->_tabela = "{$this->_schema}dispensa_disciplina";  
115 -  
116 - $this->_campos_lista = $this->_todos_campos = "ref_cod_matricula, ref_cod_serie, ref_cod_escola, ref_cod_disciplina, ref_usuario_exc, ref_usuario_cad, ref_cod_tipo_dispensa, data_cadastro, data_exclusao, ativo, observacao";  
117 -  
118 - if( is_numeric( $ref_usuario_exc ) )  
119 - {  
120 - if( class_exists( "clsPmieducarUsuario" ) )  
121 - {  
122 - $tmp_obj = new clsPmieducarUsuario( $ref_usuario_exc );  
123 - if( method_exists( $tmp_obj, "existe") )  
124 - {  
125 - if( $tmp_obj->existe() )  
126 - {  
127 - $this->ref_usuario_exc = $ref_usuario_exc;  
128 - }  
129 - }  
130 - else if( method_exists( $tmp_obj, "detalhe") )  
131 - {  
132 - if( $tmp_obj->detalhe() )  
133 - {  
134 - $this->ref_usuario_exc = $ref_usuario_exc;  
135 - }  
136 - }  
137 - }  
138 - else  
139 - {  
140 - if( $db->CampoUnico( "SELECT 1 FROM pmieducar.usuario WHERE cod_usuario = '{$ref_usuario_exc}'" ) )  
141 - {  
142 - $this->ref_usuario_exc = $ref_usuario_exc;  
143 - }  
144 - }  
145 - }  
146 - if( is_numeric( $ref_usuario_cad ) )  
147 - {  
148 - if( class_exists( "clsPmieducarUsuario" ) )  
149 - {  
150 - $tmp_obj = new clsPmieducarUsuario( $ref_usuario_cad );  
151 - if( method_exists( $tmp_obj, "existe") )  
152 - {  
153 - if( $tmp_obj->existe() )  
154 - {  
155 - $this->ref_usuario_cad = $ref_usuario_cad;  
156 - }  
157 - }  
158 - else if( method_exists( $tmp_obj, "detalhe") )  
159 - {  
160 - if( $tmp_obj->detalhe() )  
161 - {  
162 - $this->ref_usuario_cad = $ref_usuario_cad;  
163 - }  
164 - }  
165 - }  
166 - else  
167 - {  
168 - if( $db->CampoUnico( "SELECT 1 FROM pmieducar.usuario WHERE cod_usuario = '{$ref_usuario_cad}'" ) )  
169 - {  
170 - $this->ref_usuario_cad = $ref_usuario_cad;  
171 - }  
172 - }  
173 - }  
174 - if( is_numeric( $ref_cod_matricula ) )  
175 - {  
176 - if( class_exists( "clsPmieducarMatricula" ) )  
177 - {  
178 - $tmp_obj = new clsPmieducarMatricula( $ref_cod_matricula );  
179 - if( method_exists( $tmp_obj, "existe") )  
180 - {  
181 - if( $tmp_obj->existe() )  
182 - {  
183 - $this->ref_cod_matricula = $ref_cod_matricula;  
184 - }  
185 - }  
186 - else if( method_exists( $tmp_obj, "detalhe") )  
187 - {  
188 - if( $tmp_obj->detalhe() )  
189 - {  
190 - $this->ref_cod_matricula = $ref_cod_matricula;  
191 - }  
192 - }  
193 - }  
194 - else  
195 - {  
196 - if( $db->CampoUnico( "SELECT 1 FROM pmieducar.matricula WHERE ref_cod_matricula = '{$ref_cod_matricula}'" ) )  
197 - {  
198 - $this->ref_cod_matricula = $ref_cod_matricula;  
199 - }  
200 - }  
201 - }  
202 - if( is_numeric( $ref_cod_tipo_dispensa ) )  
203 - {  
204 - if( class_exists( "clsPmieducarTipoDispensa" ) )  
205 - {  
206 - $tmp_obj = new clsPmieducarTipoDispensa( $ref_cod_tipo_dispensa );  
207 - if( method_exists( $tmp_obj, "existe") )  
208 - {  
209 - if( $tmp_obj->existe() )  
210 - {  
211 - $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;  
212 - }  
213 - }  
214 - else if( method_exists( $tmp_obj, "detalhe") )  
215 - {  
216 - if( $tmp_obj->detalhe() )  
217 - {  
218 - $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;  
219 - }  
220 - }  
221 - }  
222 - else  
223 - {  
224 - if( $db->CampoUnico( "SELECT 1 FROM pmieducar.tipo_dispensa WHERE cod_tipo_dispensa = '{$ref_cod_tipo_dispensa}'" ) )  
225 - {  
226 - $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;  
227 - }  
228 - }  
229 - }  
230 - if( is_numeric( $ref_cod_disciplina ) && is_numeric( $ref_cod_escola ) && is_numeric( $ref_cod_serie ) )  
231 - {  
232 - if( class_exists( "clsPmieducarEscolaSerieDisciplina" ) )  
233 - {  
234 - $tmp_obj = new clsPmieducarEscolaSerieDisciplina( $ref_cod_serie, $ref_cod_escola, $ref_cod_disciplina );  
235 - if( method_exists( $tmp_obj, "existe") )  
236 - {  
237 - if( $tmp_obj->existe() )  
238 - {  
239 - $this->ref_cod_disciplina = $ref_cod_disciplina;  
240 - $this->ref_cod_escola = $ref_cod_escola;  
241 - $this->ref_cod_serie = $ref_cod_serie;  
242 - }  
243 - }  
244 - else if( method_exists( $tmp_obj, "detalhe") )  
245 - {  
246 - if( $tmp_obj->detalhe() )  
247 - {  
248 - $this->ref_cod_disciplina = $ref_cod_disciplina;  
249 - $this->ref_cod_escola = $ref_cod_escola;  
250 - $this->ref_cod_serie = $ref_cod_serie;  
251 - }  
252 - }  
253 - }  
254 - else  
255 - {  
256 - if( $db->CampoUnico( "SELECT 1 FROM pmieducar.escola_serie_disciplina WHERE ref_cod_disciplina = '{$ref_cod_disciplina}' AND ref_cod_escola = '{$ref_cod_escola}' AND ref_cod_serie = '{$ref_cod_serie}'" ) )  
257 - {  
258 - $this->ref_cod_disciplina = $ref_cod_disciplina;  
259 - $this->ref_cod_escola = $ref_cod_escola;  
260 - $this->ref_cod_serie = $ref_cod_serie;  
261 - }  
262 - }  
263 - }  
264 -  
265 -  
266 - if( is_string( $data_cadastro ) )  
267 - {  
268 - $this->data_cadastro = $data_cadastro;  
269 - }  
270 - if( is_string( $data_exclusao ) )  
271 - {  
272 - $this->data_exclusao = $data_exclusao;  
273 - }  
274 - if( is_numeric( $ativo ) )  
275 - {  
276 - $this->ativo = $ativo;  
277 - }  
278 - if( is_string( $observacao ) )  
279 - {  
280 - $this->observacao = $observacao;  
281 - }  
282 - if (is_numeric($cod_dispensa))  
283 - {  
284 - $this->cod_dispensa = $cod_dispensa;  
285 - }  
286 - }  
287 -  
288 - /**  
289 - * Cria um novo registro  
290 - *  
291 - * @return bool  
292 - */  
293 - function cadastra()  
294 - {  
295 - if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&  
296 - is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina) &&  
297 - is_numeric($this->ref_usuario_cad) && is_numeric($this->ref_cod_tipo_dispensa) &&  
298 - is_numeric($this->cod_dispensa))  
299 - {  
300 - $db = new clsBanco();  
301 -  
302 - $campos = "";  
303 - $valores = "";  
304 - $gruda = "";  
305 -  
306 - if( is_numeric( $this->ref_cod_matricula ) )  
307 - {  
308 - $campos .= "{$gruda}ref_cod_matricula";  
309 - $valores .= "{$gruda}'{$this->ref_cod_matricula}'";  
310 - $gruda = ", ";  
311 - }  
312 - if( is_numeric( $this->ref_cod_serie ) )  
313 - {  
314 - $campos .= "{$gruda}ref_cod_serie";  
315 - $valores .= "{$gruda}'{$this->ref_cod_serie}'";  
316 - $gruda = ", ";  
317 - }  
318 - if( is_numeric( $this->ref_cod_escola ) )  
319 - {  
320 - $campos .= "{$gruda}ref_cod_escola";  
321 - $valores .= "{$gruda}'{$this->ref_cod_escola}'";  
322 - $gruda = ", ";  
323 - }  
324 - if( is_numeric( $this->ref_cod_disciplina ) )  
325 - {  
326 - $campos .= "{$gruda}ref_cod_disciplina";  
327 - $valores .= "{$gruda}'{$this->ref_cod_disciplina}'";  
328 - $gruda = ", ";  
329 - }  
330 - if( is_numeric( $this->ref_usuario_cad ) )  
331 - {  
332 - $campos .= "{$gruda}ref_usuario_cad";  
333 - $valores .= "{$gruda}'{$this->ref_usuario_cad}'";  
334 - $gruda = ", ";  
335 - }  
336 - if( is_numeric( $this->ref_cod_tipo_dispensa ) )  
337 - {  
338 - $campos .= "{$gruda}ref_cod_tipo_dispensa";  
339 - $valores .= "{$gruda}'{$this->ref_cod_tipo_dispensa}'";  
340 - $gruda = ", ";  
341 - }  
342 -  
343 - $campos .= "{$gruda}data_cadastro";  
344 - $valores .= "{$gruda}NOW()";  
345 - $gruda = ", ";  
346 - $campos .= "{$gruda}ativo";  
347 - $valores .= "{$gruda}'1'";  
348 - $gruda = ", ";  
349 - if( is_string( $this->observacao ) )  
350 - {  
351 - $campos .= "{$gruda}observacao";  
352 - $valores .= "{$gruda}'{$this->observacao}'";  
353 - $gruda = ", ";  
354 - }  
355 -  
356 - if( is_numeric( $this->cod_dispensa ) )  
357 - {  
358 - $campos .= "{$gruda}cod_dispensa";  
359 - $valores .= "{$gruda}'{$this->cod_dispensa}'";  
360 - $gruda = ", ";  
361 - }  
362 -  
363 - $sql = "INSERT INTO {$this->_tabela} ($campos) VALUES($valores)";  
364 - $db->Consulta($sql);  
365 - return true;  
366 - }  
367 - return false;  
368 - }  
369 -  
370 - /**  
371 - * Edita os dados de um registro  
372 - *  
373 - * @return bool  
374 - */  
375 - function edita()  
376 - {  
377 - if( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->ref_usuario_exc ) )  
378 - {  
379 -  
380 - $db = new clsBanco();  
381 - $set = "";  
382 -  
383 - if( is_numeric( $this->ref_usuario_exc ) )  
384 - {  
385 - $set .= "{$gruda}ref_usuario_exc = '{$this->ref_usuario_exc}'";  
386 - $gruda = ", ";  
387 - }  
388 - if( is_numeric( $this->ref_usuario_cad ) )  
389 - {  
390 - $set .= "{$gruda}ref_usuario_cad = '{$this->ref_usuario_cad}'";  
391 - $gruda = ", ";  
392 - }  
393 - if( is_numeric( $this->ref_cod_tipo_dispensa ) )  
394 - {  
395 - $set .= "{$gruda}ref_cod_tipo_dispensa = '{$this->ref_cod_tipo_dispensa}'";  
396 - $gruda = ", ";  
397 - }  
398 - if( is_string( $this->data_cadastro ) )  
399 - {  
400 - $set .= "{$gruda}data_cadastro = '{$this->data_cadastro}'";  
401 - $gruda = ", ";  
402 - }  
403 - $set .= "{$gruda}data_exclusao = NOW()";  
404 - $gruda = ", ";  
405 - if( is_numeric( $this->ativo ) )  
406 - {  
407 - $set .= "{$gruda}ativo = '{$this->ativo}'";  
408 - $gruda = ", ";  
409 - }  
410 - if( is_string( $this->observacao ) )  
411 - {  
412 - $set .= "{$gruda}observacao = '{$this->observacao}'";  
413 - $gruda = ", ";  
414 - }  
415 -  
416 - if( $set )  
417 - {  
418 - $db->Consulta( "UPDATE {$this->_tabela} SET $set WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'" );  
419 - return true;  
420 - }  
421 - }  
422 - return false;  
423 - }  
424 -  
425 - /**  
426 - * Retorna uma lista filtrados de acordo com os parametros  
427 - *  
428 - * @return array  
429 - */  
430 - function lista( $int_ref_cod_matricula = null, $int_ref_cod_serie = null, $int_ref_cod_escola = null, $int_ref_cod_disciplina = null, $int_ref_usuario_exc = null, $int_ref_usuario_cad = null, $int_ref_cod_tipo_dispensa = null, $date_data_cadastro_ini = null, $date_data_cadastro_fim = null, $date_data_exclusao_ini = null, $date_data_exclusao_fim = null, $int_ativo = null, $str_observacao = null )  
431 - {  
432 - $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}";  
433 - $filtros = "";  
434 -  
435 - $whereAnd = " WHERE ";  
436 -  
437 - if( is_numeric( $int_ref_cod_matricula ) )  
438 - {  
439 - $filtros .= "{$whereAnd} ref_cod_matricula = '{$int_ref_cod_matricula}'";  
440 - $whereAnd = " AND ";  
441 - }  
442 - if( is_numeric( $int_ref_cod_serie ) )  
443 - {  
444 - $filtros .= "{$whereAnd} ref_cod_serie = '{$int_ref_cod_serie}'";  
445 - $whereAnd = " AND ";  
446 - }  
447 - if( is_numeric( $int_ref_cod_escola ) )  
448 - {  
449 - $filtros .= "{$whereAnd} ref_cod_escola = '{$int_ref_cod_escola}'";  
450 - $whereAnd = " AND ";  
451 - }  
452 - if( is_numeric( $int_ref_cod_disciplina ) )  
453 - {  
454 - $filtros .= "{$whereAnd} ref_cod_disciplina = '{$int_ref_cod_disciplina}'";  
455 - $whereAnd = " AND ";  
456 - }  
457 - if( is_numeric( $int_ref_usuario_exc ) )  
458 - {  
459 - $filtros .= "{$whereAnd} ref_usuario_exc = '{$int_ref_usuario_exc}'";  
460 - $whereAnd = " AND ";  
461 - }  
462 - if( is_numeric( $int_ref_usuario_cad ) )  
463 - {  
464 - $filtros .= "{$whereAnd} ref_usuario_cad = '{$int_ref_usuario_cad}'";  
465 - $whereAnd = " AND ";  
466 - }  
467 - if( is_numeric( $int_ref_cod_tipo_dispensa ) )  
468 - {  
469 - $filtros .= "{$whereAnd} ref_cod_tipo_dispensa = '{$int_ref_cod_tipo_dispensa}'";  
470 - $whereAnd = " AND ";  
471 - }  
472 - if( is_string( $date_data_cadastro_ini ) )  
473 - {  
474 - $filtros .= "{$whereAnd} data_cadastro >= '{$date_data_cadastro_ini}'";  
475 - $whereAnd = " AND ";  
476 - }  
477 - if( is_string( $date_data_cadastro_fim ) )  
478 - {  
479 - $filtros .= "{$whereAnd} data_cadastro <= '{$date_data_cadastro_fim}'";  
480 - $whereAnd = " AND ";  
481 - }  
482 - if( is_string( $date_data_exclusao_ini ) )  
483 - {  
484 - $filtros .= "{$whereAnd} data_exclusao >= '{$date_data_exclusao_ini}'";  
485 - $whereAnd = " AND ";  
486 - }  
487 - if( is_string( $date_data_exclusao_fim ) )  
488 - {  
489 - $filtros .= "{$whereAnd} data_exclusao <= '{$date_data_exclusao_fim}'";  
490 - $whereAnd = " AND ";  
491 - }  
492 - if( is_null( $int_ativo ) || $int_ativo )  
493 - {  
494 - $filtros .= "{$whereAnd} ativo = '1'";  
495 - $whereAnd = " AND ";  
496 - }  
497 - else  
498 - {  
499 - $filtros .= "{$whereAnd} ativo = '0'";  
500 - $whereAnd = " AND ";  
501 - }  
502 - if( is_string( $str_observacao ) )  
503 - {  
504 - $filtros .= "{$whereAnd} observacao LIKE '%{$str_observacao}%'";  
505 - $whereAnd = " AND ";  
506 - }  
507 -  
508 - $db = new clsBanco();  
509 - $countCampos = count( explode( ",", $this->_campos_lista ) );  
510 - $resultado = array();  
511 -  
512 - $sql .= $filtros . $this->getOrderby() . $this->getLimite();  
513 -  
514 - $this->_total = $db->CampoUnico( "SELECT COUNT(0) FROM {$this->_tabela} {$filtros}" );  
515 - $db->Consulta( $sql );  
516 -  
517 - if( $countCampos > 1 )  
518 - {  
519 - while ( $db->ProximoRegistro() )  
520 - {  
521 - $tupla = $db->Tupla();  
522 -  
523 - $tupla["_total"] = $this->_total;  
524 - $resultado[] = $tupla;  
525 - }  
526 - }  
527 - else  
528 - {  
529 - while ( $db->ProximoRegistro() )  
530 - {  
531 - $tupla = $db->Tupla();  
532 - $resultado[] = $tupla[$this->_campos_lista];  
533 - }  
534 - }  
535 - if( count( $resultado ) )  
536 - {  
537 - return $resultado;  
538 - }  
539 - return false;  
540 - }  
541 -  
542 - /**  
543 - * Retorna um array com os dados de um registro  
544 - *  
545 - * @return array  
546 - */  
547 - function detalhe()  
548 - {  
549 - if( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) )  
550 - {  
551 -  
552 - $db = new clsBanco();  
553 - $db->Consulta( "SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'" );  
554 - $db->ProximoRegistro();  
555 - return $db->Tupla();  
556 - }  
557 - return false;  
558 - }  
559 -  
560 - /**  
561 - * Retorna um array com os dados de um registro  
562 - *  
563 - * @return array  
564 - */  
565 - function existe()  
566 - {  
567 - if( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) )  
568 - {  
569 -  
570 - $db = new clsBanco();  
571 - $db->Consulta( "SELECT 1 FROM {$this->_tabela} WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'" );  
572 - $db->ProximoRegistro();  
573 - return $db->Tupla();  
574 - }  
575 - return false;  
576 - }  
577 -  
578 - /**  
579 - * Exclui um registro  
580 - *  
581 - * @return bool  
582 - */  
583 - function excluir()  
584 - {  
585 - if( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->ref_usuario_exc ) )  
586 - {  
587 -  
588 - /*  
589 - delete  
590 - $db = new clsBanco();  
591 - $db->Consulta( "DELETE FROM {$this->_tabela} WHERE ref_ref_cod_turma = '{$this->ref_ref_cod_turma}' AND ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'" );  
592 - return true;  
593 - */  
594 -  
595 - $this->ativo = 0;  
596 - return $this->edita();  
597 - }  
598 - return false;  
599 - }  
600 -  
601 - /**  
602 - * Define quais campos da tabela serao selecionados na invocacao do metodo lista  
603 - *  
604 - * @return null  
605 - */  
606 - function setCamposLista( $str_campos )  
607 - {  
608 - $this->_campos_lista = $str_campos;  
609 - }  
610 -  
611 - /**  
612 - * Define que o metodo Lista devera retornoar todos os campos da tabela  
613 - *  
614 - * @return null  
615 - */  
616 - function resetCamposLista()  
617 - {  
618 - $this->_campos_lista = $this->_todos_campos;  
619 - }  
620 -  
621 - /**  
622 - * Define limites de retorno para o metodo lista  
623 - *  
624 - * @return null  
625 - */  
626 - function setLimite( $intLimiteQtd, $intLimiteOffset = null )  
627 - {  
628 - $this->_limite_quantidade = $intLimiteQtd;  
629 - $this->_limite_offset = $intLimiteOffset;  
630 - }  
631 -  
632 - /**  
633 - * Retorna a string com o trecho da query resposavel pelo Limite de registros  
634 - *  
635 - * @return string  
636 - */  
637 - function getLimite()  
638 - {  
639 - if( is_numeric( $this->_limite_quantidade ) )  
640 - {  
641 - $retorno = " LIMIT {$this->_limite_quantidade}";  
642 - if( is_numeric( $this->_limite_offset ) )  
643 - {  
644 - $retorno .= " OFFSET {$this->_limite_offset} ";  
645 - }  
646 - return $retorno;  
647 - }  
648 - return "";  
649 - }  
650 -  
651 - /**  
652 - * Define campo para ser utilizado como ordenacao no metolo lista  
653 - *  
654 - * @return null  
655 - */  
656 - function setOrderby( $strNomeCampo )  
657 - {  
658 - // limpa a string de possiveis erros (delete, insert, etc)  
659 - //$strNomeCampo = eregi_replace();  
660 -  
661 - if( is_string( $strNomeCampo ) && $strNomeCampo )  
662 - {  
663 - $this->_campo_order_by = $strNomeCampo;  
664 - }  
665 - }  
666 -  
667 - /**  
668 - * Retorna a string com o trecho da query resposavel pela Ordenacao dos registros  
669 - *  
670 - * @return string  
671 - */  
672 - function getOrderby()  
673 - {  
674 - if( is_string( $this->_campo_order_by ) )  
675 - {  
676 - return " ORDER BY {$this->_campo_order_by} ";  
677 - }  
678 - return "";  
679 - }  
680 -  
681 -}  
682 -?> 45 + var $ref_cod_matricula;
  46 + var $ref_cod_serie;
  47 + var $ref_cod_escola;
  48 + var $ref_cod_disciplina;
  49 + var $ref_usuario_exc;
  50 + var $ref_usuario_cad;
  51 + var $ref_cod_tipo_dispensa;
  52 + var $data_cadastro;
  53 + var $data_exclusao;
  54 + var $ativo;
  55 + var $observacao;
  56 + var $cod_dispensa;
  57 +
  58 + /**
  59 + * Armazena o total de resultados obtidos na última chamada ao método lista().
  60 + * @var int
  61 + */
  62 + var $_total;
  63 +
  64 + /**
  65 + * Nome do schema.
  66 + * @var string
  67 + */
  68 + var $_schema;
  69 +
  70 + /**
  71 + * Nome da tabela.
  72 + * @var string
  73 + */
  74 + var $_tabela;
  75 +
  76 + /**
  77 + * Lista separada por vírgula, com os campos que devem ser selecionados na
  78 + * próxima chamado ao método lista().
  79 + * @var string
  80 + */
  81 + var $_campos_lista;
  82 +
  83 + /**
  84 + * Lista com todos os campos da tabela separados por vírgula, padrão para
  85 + * seleção no método lista.
  86 + * @var string
  87 + */
  88 + var $_todos_campos;
  89 +
  90 + /**
  91 + * Valor que define a quantidade de registros a ser retornada pelo método lista().
  92 + * @var int
  93 + */
  94 + var $_limite_quantidade;
  95 +
  96 + /**
  97 + * Define o valor de offset no retorno dos registros no método lista().
  98 + * @var int
  99 + */
  100 + var $_limite_offset;
  101 +
  102 + /**
  103 + * Define o campo para ser usado como padrão de ordenação no método lista().
  104 + * @var string
  105 + */
  106 + var $_campo_order_by;
  107 +
  108 + /**
  109 + * Construtor.
  110 + */
  111 + function clsPmieducarDispensaDisciplina($ref_cod_matricula = NULL,
  112 + $ref_cod_serie = NULL, $ref_cod_escola = NULL, $ref_cod_disciplina = NULL,
  113 + $ref_usuario_exc = NULL, $ref_usuario_cad = NULL, $ref_cod_tipo_dispensa = NULL,
  114 + $data_cadastro = NULL, $data_exclusao = NULL, $ativo = NULL, $observacao = NULL,
  115 + $cod_dispensa = NULL)
  116 + {
  117 + $db = new clsBanco();
  118 + $this->_schema = "pmieducar.";
  119 + $this->_tabela = "{$this->_schema}dispensa_disciplina";
  120 +
  121 + $this->_campos_lista = $this->_todos_campos = "ref_cod_matricula, ref_cod_serie, ref_cod_escola, ref_cod_disciplina, ref_usuario_exc, ref_usuario_cad, ref_cod_tipo_dispensa, data_cadastro, data_exclusao, ativo, observacao";
  122 +
  123 + if (is_numeric($ref_usuario_exc)) {
  124 + if (class_exists("clsPmieducarUsuario")) {
  125 + $tmp_obj = new clsPmieducarUsuario($ref_usuario_exc);
  126 + if (method_exists($tmp_obj, "existe")) {
  127 + if ($tmp_obj->existe()) {
  128 + $this->ref_usuario_exc = $ref_usuario_exc;
  129 + }
  130 + }
  131 + elseif (method_exists($tmp_obj, "detalhe")) {
  132 + if ($tmp_obj->detalhe()) {
  133 + $this->ref_usuario_exc = $ref_usuario_exc;
  134 + }
  135 + }
  136 + }
  137 + else {
  138 + if ($db->CampoUnico("SELECT 1 FROM pmieducar.usuario WHERE cod_usuario = '{$ref_usuario_exc}'")) {
  139 + $this->ref_usuario_exc = $ref_usuario_exc;
  140 + }
  141 + }
  142 + }
  143 +
  144 + if (is_numeric($ref_usuario_cad)) {
  145 + if (class_exists("clsPmieducarUsuario")) {
  146 + $tmp_obj = new clsPmieducarUsuario($ref_usuario_cad);
  147 + if (method_exists($tmp_obj, "existe")) {
  148 + if ($tmp_obj->existe()) {
  149 + $this->ref_usuario_cad = $ref_usuario_cad;
  150 + }
  151 + }
  152 + elseif (method_exists($tmp_obj, "detalhe")) {
  153 + if ($tmp_obj->detalhe()) {
  154 + $this->ref_usuario_cad = $ref_usuario_cad;
  155 + }
  156 + }
  157 + }
  158 + else {
  159 + if ($db->CampoUnico("SELECT 1 FROM pmieducar.usuario WHERE cod_usuario = '{$ref_usuario_cad}'")) {
  160 + $this->ref_usuario_cad = $ref_usuario_cad;
  161 + }
  162 + }
  163 + }
  164 +
  165 + if (is_numeric($ref_cod_matricula)) {
  166 + if (class_exists("clsPmieducarMatricula")) {
  167 + $tmp_obj = new clsPmieducarMatricula($ref_cod_matricula);
  168 + if (method_exists($tmp_obj, "existe")) {
  169 + if ($tmp_obj->existe()) {
  170 + $this->ref_cod_matricula = $ref_cod_matricula;
  171 + }
  172 + }
  173 + elseif (method_exists($tmp_obj, "detalhe")) {
  174 + if ($tmp_obj->detalhe()) {
  175 + $this->ref_cod_matricula = $ref_cod_matricula;
  176 + }
  177 + }
  178 + }
  179 + else {
  180 + if ($db->CampoUnico("SELECT 1 FROM pmieducar.matricula WHERE ref_cod_matricula = '{$ref_cod_matricula}'")) {
  181 + $this->ref_cod_matricula = $ref_cod_matricula;
  182 + }
  183 + }
  184 + }
  185 +
  186 + if (is_numeric($ref_cod_tipo_dispensa)) {
  187 + if (class_exists("clsPmieducarTipoDispensa")) {
  188 + $tmp_obj = new clsPmieducarTipoDispensa($ref_cod_tipo_dispensa);
  189 + if (method_exists($tmp_obj, "existe")) {
  190 + if ($tmp_obj->existe()) {
  191 + $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;
  192 + }
  193 + }
  194 + elseif (method_exists($tmp_obj, "detalhe")) {
  195 + if ($tmp_obj->detalhe()) {
  196 + $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;
  197 + }
  198 + }
  199 + }
  200 + else {
  201 + if ($db->CampoUnico("SELECT 1 FROM pmieducar.tipo_dispensa WHERE cod_tipo_dispensa = '{$ref_cod_tipo_dispensa}'")) {
  202 + $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;
  203 + }
  204 + }
  205 + }
  206 +
  207 + if (is_numeric($ref_cod_disciplina) && is_numeric($ref_cod_escola) && is_numeric($ref_cod_serie)) {
  208 + if (class_exists("clsPmieducarEscolaSerieDisciplina")) {
  209 + $tmp_obj = new clsPmieducarEscolaSerieDisciplina($ref_cod_serie, $ref_cod_escola, $ref_cod_disciplina);
  210 + if (method_exists($tmp_obj, "existe")) {
  211 + if ($tmp_obj->existe()) {
  212 + $this->ref_cod_disciplina = $ref_cod_disciplina;
  213 + $this->ref_cod_escola = $ref_cod_escola;
  214 + $this->ref_cod_serie = $ref_cod_serie;
  215 + }
  216 + }
  217 + elseif (method_exists($tmp_obj, "detalhe")) {
  218 + if ($tmp_obj->detalhe()) {
  219 + $this->ref_cod_disciplina = $ref_cod_disciplina;
  220 + $this->ref_cod_escola = $ref_cod_escola;
  221 + $this->ref_cod_serie = $ref_cod_serie;
  222 + }
  223 + }
  224 + }
  225 + else {
  226 + if ($db->CampoUnico("SELECT 1 FROM pmieducar.escola_serie_disciplina WHERE ref_cod_disciplina = '{$ref_cod_disciplina}' AND ref_cod_escola = '{$ref_cod_escola}' AND ref_cod_serie = '{$ref_cod_serie}'")) {
  227 + $this->ref_cod_disciplina = $ref_cod_disciplina;
  228 + $this->ref_cod_escola = $ref_cod_escola;
  229 + $this->ref_cod_serie = $ref_cod_serie;
  230 + }
  231 + }
  232 + }
  233 +
  234 + if (is_string($data_cadastro)) {
  235 + $this->data_cadastro = $data_cadastro;
  236 + }
  237 +
  238 + if (is_string($data_exclusao)) {
  239 + $this->data_exclusao = $data_exclusao;
  240 + }
  241 +
  242 + if (is_numeric($ativo)) {
  243 + $this->ativo = $ativo;
  244 + }
  245 +
  246 + if (is_string($observacao)) {
  247 + $this->observacao = $observacao;
  248 + }
  249 +
  250 + if (is_numeric($cod_dispensa)) {
  251 + $this->cod_dispensa = $cod_dispensa;
  252 + }
  253 + }
  254 +
  255 + /**
  256 + * Cria um novo registro.
  257 + * @return bool
  258 + */
  259 + function cadastra()
  260 + {
  261 + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&
  262 + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina) &&
  263 + is_numeric($this->ref_usuario_cad) && is_numeric($this->ref_cod_tipo_dispensa) &&
  264 + is_numeric($this->cod_dispensa))
  265 + {
  266 + $db = new clsBanco();
  267 +
  268 + $campos = '';
  269 + $valores = '';
  270 + $gruda = '';
  271 +
  272 + if (is_numeric($this->ref_cod_matricula)) {
  273 + $campos .= "{$gruda}ref_cod_matricula";
  274 + $valores .= "{$gruda}'{$this->ref_cod_matricula}'";
  275 + $gruda = ', ';
  276 + }
  277 +
  278 + if (is_numeric($this->ref_cod_serie)) {
  279 + $campos .= "{$gruda}ref_cod_serie";
  280 + $valores .= "{$gruda}'{$this->ref_cod_serie}'";
  281 + $gruda = ', ';
  282 + }
  283 +
  284 + if (is_numeric($this->ref_cod_escola)) {
  285 + $campos .= "{$gruda}ref_cod_escola";
  286 + $valores .= "{$gruda}'{$this->ref_cod_escola}'";
  287 + $gruda = ', ';
  288 + }
  289 +
  290 + if (is_numeric($this->ref_cod_disciplina)) {
  291 + $campos .= "{$gruda}ref_cod_disciplina";
  292 + $valores .= "{$gruda}'{$this->ref_cod_disciplina}'";
  293 + $gruda = ', ';
  294 + }
  295 +
  296 + if (is_numeric($this->ref_usuario_cad)) {
  297 + $campos .= "{$gruda}ref_usuario_cad";
  298 + $valores .= "{$gruda}'{$this->ref_usuario_cad}'";
  299 + $gruda = ', ';
  300 + }
  301 +
  302 + if (is_numeric($this->ref_cod_tipo_dispensa)) {
  303 + $campos .= "{$gruda}ref_cod_tipo_dispensa";
  304 + $valores .= "{$gruda}'{$this->ref_cod_tipo_dispensa}'";
  305 + $gruda = ', ';
  306 + }
  307 +
  308 + $campos .= "{$gruda}data_cadastro";
  309 + $valores .= "{$gruda}NOW()";
  310 + $gruda = ', ';
  311 +
  312 + $campos .= "{$gruda}ativo";
  313 + $valores .= "{$gruda}'1'";
  314 + $gruda = ', ';
  315 +
  316 + if (is_string($this->observacao)) {
  317 + $campos .= "{$gruda}observacao";
  318 + $valores .= "{$gruda}'{$this->observacao}'";
  319 + $gruda = ', ';
  320 + }
  321 +
  322 + if (is_numeric($this->cod_dispensa)) {
  323 + $campos .= "{$gruda}cod_dispensa";
  324 + $valores .= "{$gruda}'{$this->cod_dispensa}'";
  325 + $gruda = ', ';
  326 + }
  327 +
  328 + $sql = "INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)";
  329 + $db->Consulta($sql);
  330 + return TRUE;
  331 + }
  332 +
  333 + return FALSE;
  334 + }
  335 +
  336 + /**
  337 + * Edita os dados de um registro.
  338 + * @return bool
  339 + */
  340 + function edita()
  341 + {
  342 + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&
  343 + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina) &&
  344 + is_numeric($this->ref_usuario_exc)
  345 + ) {
  346 + $db = new clsBanco();
  347 + $set = '';
  348 +
  349 + if (is_numeric($this->ref_usuario_exc)) {
  350 + $set .= "{$gruda}ref_usuario_exc = '{$this->ref_usuario_exc}'";
  351 + $gruda = ', ';
  352 + }
  353 +
  354 + if (is_numeric($this->ref_usuario_cad)) {
  355 + $set .= "{$gruda}ref_usuario_cad = '{$this->ref_usuario_cad}'";
  356 + $gruda = ', ';
  357 + }
  358 +
  359 + if (is_numeric($this->ref_cod_tipo_dispensa)) {
  360 + $set .= "{$gruda}ref_cod_tipo_dispensa = '{$this->ref_cod_tipo_dispensa}'";
  361 + $gruda = ', ';
  362 + }
  363 +
  364 + if (is_string($this->data_cadastro)) {
  365 + $set .= "{$gruda}data_cadastro = '{$this->data_cadastro}'";
  366 + $gruda = ', ';
  367 + }
  368 +
  369 + $set .= "{$gruda}data_exclusao = NOW()";
  370 + $gruda = ', ';
  371 +
  372 + if (is_numeric($this->ativo)) {
  373 + $set .= "{$gruda}ativo = '{$this->ativo}'";
  374 + $gruda = ', ';
  375 + }
  376 +
  377 + if (is_string($this->observacao)) {
  378 + $set .= "{$gruda}observacao = '{$this->observacao}'";
  379 + $gruda = ', ';
  380 + }
  381 +
  382 + if ($set) {
  383 + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'");
  384 + return TRUE;
  385 + }
  386 + }
  387 +
  388 + return FALSE;
  389 + }
  390 +
  391 + /**
  392 + * Retorna uma lista de registros filtrados de acordo com os parâmetros.
  393 + * @return array
  394 + */
  395 + function lista($int_ref_cod_matricula = NULL, $int_ref_cod_serie = NULL,
  396 + $int_ref_cod_escola = NULL, $int_ref_cod_disciplina = NULL,
  397 + $int_ref_usuario_exc = NULL, $int_ref_usuario_cad = NULL,
  398 + $int_ref_cod_tipo_dispensa = NULL, $date_data_cadastro_ini = NULL,
  399 + $date_data_cadastro_fim = NULL, $date_data_exclusao_ini = NULL,
  400 + $date_data_exclusao_fim = NULL, $int_ativo = NULL, $str_observacao = NULL)
  401 + {
  402 + $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}";
  403 + $filtros = '';
  404 +
  405 + $whereAnd = ' WHERE ';
  406 +
  407 + if (is_numeric($int_ref_cod_matricula)) {
  408 + $filtros .= "{$whereAnd} ref_cod_matricula = '{$int_ref_cod_matricula}'";
  409 + $whereAnd = ' AND ';
  410 + }
  411 +
  412 + if (is_numeric($int_ref_cod_serie)) {
  413 + $filtros .= "{$whereAnd} ref_cod_serie = '{$int_ref_cod_serie}'";
  414 + $whereAnd = ' AND ';
  415 + }
  416 +
  417 + if (is_numeric($int_ref_cod_escola)) {
  418 + $filtros .= "{$whereAnd} ref_cod_escola = '{$int_ref_cod_escola}'";
  419 + $whereAnd = ' AND ';
  420 + }
  421 +
  422 + if (is_numeric($int_ref_cod_disciplina)) {
  423 + $filtros .= "{$whereAnd} ref_cod_disciplina = '{$int_ref_cod_disciplina}'";
  424 + $whereAnd = ' AND ';
  425 + }
  426 +
  427 + if (is_numeric($int_ref_usuario_exc)) {
  428 + $filtros .= "{$whereAnd} ref_usuario_exc = '{$int_ref_usuario_exc}'";
  429 + $whereAnd = ' AND ';
  430 + }
  431 +
  432 + if (is_numeric($int_ref_usuario_cad)) {
  433 + $filtros .= "{$whereAnd} ref_usuario_cad = '{$int_ref_usuario_cad}'";
  434 + $whereAnd = ' AND ';
  435 + }
  436 +
  437 + if (is_numeric($int_ref_cod_tipo_dispensa)) {
  438 + $filtros .= "{$whereAnd} ref_cod_tipo_dispensa = '{$int_ref_cod_tipo_dispensa}'";
  439 + $whereAnd = ' AND ';
  440 + }
  441 +
  442 + if (is_string($date_data_cadastro_ini)) {
  443 + $filtros .= "{$whereAnd} data_cadastro >= '{$date_data_cadastro_ini}'";
  444 + $whereAnd = ' AND ';
  445 + }
  446 +
  447 + if (is_string($date_data_cadastro_fim)) {
  448 + $filtros .= "{$whereAnd} data_cadastro <= '{$date_data_cadastro_fim}'";
  449 + $whereAnd = ' AND ';
  450 + }
  451 +
  452 + if (is_string($date_data_exclusao_ini)) {
  453 + $filtros .= "{$whereAnd} data_exclusao >= '{$date_data_exclusao_ini}'";
  454 + $whereAnd = ' AND ';
  455 + }
  456 +
  457 + if (is_string($date_data_exclusao_fim)) {
  458 + $filtros .= "{$whereAnd} data_exclusao <= '{$date_data_exclusao_fim}'";
  459 + $whereAnd = ' AND ';
  460 + }
  461 +
  462 + if (is_null($int_ativo) || $int_ativo) {
  463 + $filtros .= "{$whereAnd} ativo = '1'";
  464 + $whereAnd = ' AND ';
  465 + }
  466 + else {
  467 + $filtros .= "{$whereAnd} ativo = '0'";
  468 + $whereAnd = ' AND ';
  469 + }
  470 +
  471 + if (is_string($str_observacao)) {
  472 + $filtros .= "{$whereAnd} observacao LIKE '%{$str_observacao}%'";
  473 + $whereAnd = ' AND ';
  474 + }
  475 +
  476 + $db = new clsBanco();
  477 + $countCampos = count(explode(',', $this->_campos_lista));
  478 + $resultado = array();
  479 +
  480 + $sql .= $filtros . $this->getOrderby() . $this->getLimite();
  481 +
  482 + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}");
  483 + $db->Consulta($sql);
  484 +
  485 + if ($countCampos > 1) {
  486 + while ($db->ProximoRegistro()) {
  487 + $tupla = $db->Tupla();
  488 +
  489 + $tupla["_total"] = $this->_total;
  490 + $resultado[] = $tupla;
  491 + }
  492 + }
  493 + else {
  494 + while ($db->ProximoRegistro()) {
  495 + $tupla = $db->Tupla();
  496 + $resultado[] = $tupla[$this->_campos_lista];
  497 + }
  498 + }
  499 +
  500 + if (count($resultado)) {
  501 + return $resultado;
  502 + }
  503 +
  504 + return FALSE;
  505 + }
  506 +
  507 + /**
  508 + * Retorna um array com os dados de um registro.
  509 + * @return array
  510 + */
  511 + function detalhe()
  512 + {
  513 + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&
  514 + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina)
  515 + ) {
  516 + $db = new clsBanco();
  517 + $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'");
  518 + $db->ProximoRegistro();
  519 + return $db->Tupla();
  520 + }
  521 + return FALSE;
  522 + }
  523 +
  524 + /**
  525 + * Retorna um array com os dados de um registro
  526 + *
  527 + * @return array
  528 + */
  529 + function existe()
  530 + {
  531 + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&
  532 + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina)
  533 + ) {
  534 + $db = new clsBanco();
  535 + $db->Consulta( "SELECT 1 FROM {$this->_tabela} WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_serie = '{$this->ref_cod_serie}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND ref_cod_disciplina = '{$this->ref_cod_disciplina}'" );
  536 + $db->ProximoRegistro();
  537 + return $db->Tupla();
  538 + }
  539 + return FALSE;
  540 + }
  541 +
  542 + /**
  543 + * Exclui um registro.
  544 + * @return bool
  545 + */
  546 + function excluir()
  547 + {
  548 + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) &&
  549 + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina) &&
  550 + is_numeric($this->ref_usuario_exc)
  551 + ) {
  552 + $this->ativo = 0;
  553 + return $this->edita();
  554 + }
  555 + return FALSE;
  556 + }
  557 +
  558 + /**
  559 + * Define quais campos da tabela serão selecionados no método Lista().
  560 + */
  561 + function setCamposLista($str_campos)
  562 + {
  563 + $this->_campos_lista = $str_campos;
  564 + }
  565 +
  566 + /**
  567 + * Define que o método Lista() deverpa retornar todos os campos da tabela.
  568 + */
  569 + function resetCamposLista()
  570 + {
  571 + $this->_campos_lista = $this->_todos_campos;
  572 + }
  573 +
  574 + /**
  575 + * Define limites de retorno para o método Lista().
  576 + */
  577 + function setLimite($intLimiteQtd, $intLimiteOffset = NULL)
  578 + {
  579 + $this->_limite_quantidade = $intLimiteQtd;
  580 + $this->_limite_offset = $intLimiteOffset;
  581 + }
  582 +
  583 + /**
  584 + * Retorna a string com o trecho da query responsável pelo limite de
  585 + * registros retornados/afetados.
  586 + *
  587 + * @return string
  588 + */
  589 + function getLimite()
  590 + {
  591 + if (is_numeric($this->_limite_quantidade)) {
  592 + $retorno = " LIMIT {$this->_limite_quantidade}";
  593 + if (is_numeric($this->_limite_offset)) {
  594 + $retorno .= " OFFSET {$this->_limite_offset} ";
  595 + }
  596 + return $retorno;
  597 + }
  598 + return '';
  599 + }
  600 +
  601 + /**
  602 + * Define o campo para ser utilizado como ordenação no método Lista().
  603 + */
  604 + function setOrderby($strNomeCampo)
  605 + {
  606 + if (is_string($strNomeCampo) && $strNomeCampo ) {
  607 + $this->_campo_order_by = $strNomeCampo;
  608 + }
  609 + }
  610 +
  611 + /**
  612 + * Retorna a string com o trecho da query responsável pela Ordenação dos
  613 + * registros.
  614 + *
  615 + * @return string
  616 + */
  617 + function getOrderby()
  618 + {
  619 + if (is_string($this->_campo_order_by)) {
  620 + return " ORDER BY {$this->_campo_order_by} ";
  621 + }
  622 + return '';
  623 + }
  624 +}
683 \ No newline at end of file 625 \ No newline at end of file