Commit 356d05b1bbd05766bb515be0aeef88afab7cea7a

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

Refactoring para coding standards

ieducar/intranet/educar_calendario_ano_letivo_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 -require_once("clsCalendario.inc.php");  
32 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 +require_once 'clsCalendario.inc.php';
  36 +
  37 +/**
  38 + * clsIndexBase class.
  39 + *
  40 + * @author Prefeitura Municipal de Itajaí
  41 + * @category i-Educar
  42 + * @license @@license@@
  43 + * @package iEd_Pmieducar
  44 + * @since Classe disponível desde a versão 1.0.0
  45 + * @version @@package_version@@
  46 + */
33 class clsIndexBase extends clsBase 47 class clsIndexBase extends clsBase
34 { 48 {
35 - function Formular()  
36 - {  
37 - $this->SetTitulo( "{$this->_instituicao} i-Educar - Calend&aacute;rio Ano Letivo" );  
38 - $this->addScript("calendario");  
39 - $this->processoAp = "620";  
40 - } 49 + function Formular()
  50 + {
  51 + $this->SetTitulo($this->_instituicao . ' i-Educar - Calendário Ano Letivo');
  52 + $this->addScript('calendario');
  53 + $this->processoAp = 620;
  54 + }
41 } 55 }
42 56
  57 +/**
  58 + * indice class.
  59 + *
  60 + * @author Prefeitura Municipal de Itajaí
  61 + * @category i-Educar
  62 + * @license @@license@@
  63 + * @package iEd_Pmieducar
  64 + * @since Classe disponível desde a versão 1.0.0
  65 + * @version @@package_version@@
  66 + */
43 class indice extends clsConfig 67 class indice extends clsConfig
44 { 68 {
45 - /**  
46 - * Referencia pega da session para o idpes do usuario atual  
47 - *  
48 - * @var int  
49 - */  
50 - var $pessoa_logada;  
51 -  
52 - /**  
53 - * Titulo no topo da pagina  
54 - *  
55 - * @var int  
56 - */  
57 - var $titulo;  
58 -  
59 - /**  
60 - * Quantidade de registros a ser apresentada em cada pagina  
61 - *  
62 - * @var int  
63 - */  
64 - var $limite;  
65 -  
66 - /**  
67 - * Inicio dos registros a serem exibidos (limit)  
68 - *  
69 - * @var int  
70 - */  
71 - var $offset;  
72 -  
73 - var $cod_calendario_ano_letivo;  
74 - var $ref_cod_escola;  
75 - var $ref_usuario_exc;  
76 - var $ref_usuario_cad;  
77 - var $data_cadastra;  
78 - var $data_exclusao;  
79 - var $ativo;  
80 - var $inicio_ano_letivo;  
81 - var $termino_ano_letivo;  
82 -  
83 -  
84 - var $ref_cod_instituicao;  
85 - var $ano;  
86 - var $mes;  
87 -  
88 - function renderHTML()  
89 - {  
90 - @session_start();  
91 -  
92 - $this->pessoa_logada = $_SESSION['id_pessoa'];  
93 - $_SESSION["calendario"]['ultimo_valido'] = 0;  
94 - session_write_close();  
95 -  
96 -  
97 -  
98 -  
99 -  
100 - $obj_permissoes = new clsPermissoes();  
101 - if($obj_permissoes->nivel_acesso($this->pessoa_logada) > 7){  
102 - $retorno .= '<table width="100%" height="40%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem">  
103 - <tbody>';  
104 - $retorno .= '<tr >  
105 - <td colspan="2" valig="center" height="50">  
106 - <center class="formdktd">Usu&aacute;rio sem permiss&atilde;o para acessar esta p&aacute;gina</center>  
107 - </td>  
108 - </tr>';  
109 -  
110 - $retorno .='</tbody>  
111 - </table>';  
112 -  
113 - return $retorno;  
114 - }  
115 -  
116 - $retorno .= '<table width="100%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem">  
117 - <tbody>';  
118 -  
119 - if($_POST){  
120 -  
121 - $this->ref_cod_escola = $_POST['ref_cod_escola'] ? $_POST['ref_cod_escola'] : $_SESSION["calendario"]['ref_cod_escola'] ;  
122 -  
123 - $this->ref_cod_instituicao = $_POST['ref_cod_instituicao'] ? $_POST['ref_cod_instituicao'] : $_SESSION["calendario"]['ref_cod_instituicao'] ;  
124 -  
125 - if($_POST['mes'])  
126 - $this->mes = $_POST['mes'];// : $_SESSION["calendario"]['mes'] ;  
127 -  
128 - if($_POST['ano'])  
129 - $this->ano = $_POST['ano'];// : $_SESSION["calendario"]['ano'] ;  
130 -  
131 - //verificao se ano existe se nao busca o maximo que tiver  
132 - }else{  
133 -  
134 - if($_GET){  
135 - foreach( $_GET AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto  
136 - $this->$var = ( $val === "" ) ? null: $val;  
137 - }elseif ($_SESSION['calendario'])  
138 - foreach( $_SESSION['calendario'] AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto  
139 - $this->$var = ( $val === "" ) ? null: $val;  
140 -  
141 - }  
142 -  
143 - if($_GET)  
144 - header("location: educar_calendario_ano_letivo_lst.php");  
145 -  
146 - if(!$this->mes)  
147 - $this->mes = date("n");  
148 -  
149 - if(!$this->ano)  
150 - $this->ano = date("Y");  
151 -  
152 - $obj_cal = new clsPmieducarCalendarioAnoLetivo();  
153 - if($this->ref_cod_escola && $this->ano)  
154 - {  
155 - if( $obj_cal->lista(null,$this->ref_cod_escola,null,null,$this->ano,null,null,null,null,1) )  
156 - {  
157 - @session_start();  
158 - $_SESSION["calendario"]['ultimo_valido'] = 1;  
159 -  
160 - if($this->ref_cod_escola)  
161 - $_SESSION["calendario"]["ref_cod_escola"] = $this->ref_cod_escola;  
162 -  
163 - if($this->ref_cod_instituicao)  
164 - $_SESSION["calendario"]["ref_cod_instituicao"] = $this->ref_cod_instituicao;  
165 -  
166 - if($this->ano)  
167 - $_SESSION["calendario"]["ano"] = $this->ano;  
168 -  
169 - if($this->mes)  
170 - $_SESSION["calendario"]["mes"] = $this->mes;  
171 -  
172 - session_write_close();  
173 - }  
174 -  
175 -  
176 - }  
177 - elseif(!$_POST){  
178 - if($_SESSION["calendario"]["ref_cod_escola"])  
179 - $this->ref_cod_escola = $_SESSION["calendario"]["ref_cod_escola"];  
180 -  
181 - if($_SESSION["calendario"]["ref_cod_instituicao"])  
182 - $this->ref_cod_instituicao = $_SESSION["calendario"]["ref_cod_instituicao"];  
183 -  
184 - if($_SESSION["calendario"]["mes"])  
185 - $this->ano = $_SESSION["calendario"]["mes"];  
186 -  
187 - if($_SESSION["calendario"]["mes"])  
188 - $this->mes = $_SESSION["calendario"]["mes"];  
189 - }  
190 -  
191 -  
192 -  
193 - $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);  
194 -  
195 - if(!$this->ref_cod_escola)  
196 - $this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada);  
197 - if(!$this->ref_cod_instituicao)  
198 - $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);  
199 -  
200 - $get_escola = 1;  
201 - $obrigatorio = false;  
202 - include("educar_calendario_pesquisas.php");  
203 -  
204 -  
205 - $obj_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo();  
206 - $obj_calendario_ano_letivo->setOrderby( "ano ASC" );  
207 - $obj_calendario_ano_letivo->setLimite( $this->limite, $this->offset );  
208 -  
209 -  
210 - $lista = array();  
211 - $obj_calendario_ano_letivo->setOrderby("ano");  
212 - switch ($nivel_usuario){  
213 - case 1: // poli-institucional  
214 - case 2:  
215 - case 4:  
216 - if(!isset($this->ref_cod_escola))  
217 - break;  
218 -  
219 - $lista = $obj_calendario_ano_letivo->lista(  
220 - null,  
221 - $this->ref_cod_escola,  
222 - null,  
223 - null,  
224 - $this->ano,  
225 - null,  
226 - null,  
227 - 1,  
228 - null,  
229 - null,  
230 - null,  
231 - null,  
232 - null,  
233 - null,  
234 - null,//true  
235 - null  
236 - );  
237 -  
238 - break;  
239 -  
240 -  
241 -  
242 -  
243 - }  
244 -  
245 - $total = $obj_calendario_ano_letivo->_total;  
246 - if(empty( $lista )/* && isset($this->ref_cod_escola)*/ )  
247 - {  
248 -  
249 - if($nivel_usuario == 4)  
250 - $retorno .= "<tr><td colspan='2' align='center' class='formdktd'>Sem Calend&aacute;rios letivo</td></tr>";  
251 - else  
252 - if($_POST)  
253 - $retorno .= "<tr><td colspan='2' align='center' class='formdktd'>Sem Calend&aacute;rios para o ano selecionado</td></tr>";  
254 - else  
255 - $retorno .= "<tr ><td colspan='2' align='center' class='formdktd'>Selecione uma escola para exibir o calendario</td></tr>";  
256 -  
257 - }  
258 -  
259 - @session_start();  
260 -  
261 - @session_write_close();  
262 -  
263 - // monta a lista  
264 - if( is_array( $lista ) && count( $lista ) )  
265 - {  
266 - foreach ( $lista AS $key => $registro )  
267 - {  
268 - $registro["inicio_ano_letivo_time"] = strtotime( substr( $registro["inicio_ano_letivo"], 0, 16 ) );  
269 - $registro["inicio_ano_letivo_br"] = date( "d/m/Y", $registro["inicio_ano_letivo_time"] );  
270 -  
271 - $registro["termino_ano_letivo_time"] = strtotime( substr( $registro["termino_ano_letivo"], 0, 16 ) );  
272 - $registro["termino_ano_letivo_br"] = date( "d/m/Y", $registro["termino_ano_letivo_time"] );  
273 -  
274 -  
275 - // pega detalhes de foreign_keys  
276 - if( class_exists( "clsPmieducarEscola" ) )  
277 - {  
278 - $obj_ref_cod_escola = new clsPmieducarEscola( $registro["ref_cod_escola"] );  
279 - $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();  
280 - $registro["nm_escola"] = $det_ref_cod_escola["nome"];  
281 - }  
282 - else  
283 - {  
284 - $registro["ref_cod_escola"] = "Erro na geracao";  
285 - echo "<!--\nErro\nClasse nao existente: clsPmieducarEscola\n-->";  
286 - }  
287 -  
288 - $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();  
289 - $inicio_ano = $obj_ano_letivo_modulo->menorData( $this->ano, $this->ref_cod_escola );  
290 - $fim_ano = $obj_ano_letivo_modulo->maiorData( $this->ano, $this->ref_cod_escola );  
291 - $inicio_ano = explode("/",dataFromPgToBr($inicio_ano));  
292 - $fim_ano = explode("/",dataFromPgToBr($fim_ano));  
293 -  
294 - $obj_calendario = new clsCalendario();  
295 - $obj_calendario->setLargura(600);  
296 - $obj_calendario->permite_trocar_ano = true;  
297 -  
298 - $obj_calendario->setCorDiaSemana(array(0,6),"ROSA");  
299 -  
300 -  
301 - $obj_dia_calendario = new clsPmieducarCalendarioDia($registro["cod_calendario_ano_letivo"],$this->mes,null,null,null,null,null);  
302 - $lista_dia = $obj_dia_calendario->lista($registro["cod_calendario_ano_letivo"],$this->mes,null,null,null,null);  
303 - if($lista_dia){  
304 - $array_dias = array();  
305 - $array_descricao = array();  
306 - foreach ($lista_dia as $dia)  
307 - {  
308 - $descricao = "";  
309 -  
310 -  
311 - $botao_editar = "<div style=' z-index: 0;'>  
312 - <Br />  
313 - <input type=\"button\" value=\"Anota&ccedil;&otilde;es\" onclick=\"window.location='educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo={$registro["cod_calendario_ano_letivo"]}&ref_cod_escola={$this->ref_cod_escola}&dia={$dia['dia']}&mes={$dia['mes']}&ano={$this->ano}';\" class=\"botaolistagem\"/>  
314 - </div>";  
315 -  
316 - if($dia['ref_cod_calendario_dia_motivo']){  
317 - $array_dias[$dia['dia']] = $dia['dia'];  
318 - $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);  
319 - $det_motivo = $obj_motivo->detalhe();  
320 - $tipo = strtoupper($det_motivo['tipo']) == 'E' ? "Dia Extra-Letivo" : "Dia N&atilde;o Letivo";  
321 -  
322 -  
323 - $descricao = "<div style=' z-index: 0;'>{$tipo}</div><div align='left' style=' z-index: 0;'>Motivo: {$det_motivo['nm_motivo']}<br />Descri&ccedil;&atilde;o: {$dia['descricao']}</div>{$botao_editar}";  
324 - $array_descricao[$dia['dia']] = $descricao;  
325 - if(strtoupper($det_motivo['tipo']) == 'E')  
326 - {  
327 - $obj_calendario->adicionarLegenda("Extra Letivo","LARANJA_ESCURO");  
328 - $obj_calendario->adicionarArrayDias("Extra Letivo",array($dia['dia']));  
329 - }  
330 - elseif(strtoupper($det_motivo['tipo']) == 'N'){  
331 - $obj_calendario->adicionarLegenda("N&atilde;o Letivo","#VERDE_ESCURO");  
332 - $obj_calendario->adicionarArrayDias("N&atilde;o Letivo",array($dia['dia']));  
333 -  
334 - $descricao = "<div style=' z-index: 0;'>Descri&ccedil;&atilde;o: {$dia['descricao']}</div>{$botao_editar}";  
335 - $array_descricao[$dia['dia']] = $descricao;  
336 - $obj_calendario->diaDescricao($array_dias,$array_descricao);  
337 - }  
338 - }elseif($dia['descricao']){  
339 - $array_dias[$dia['dia']] = $dia['dia'];  
340 - $descricao = "<div style=' z-index: 0;'>Descri&ccedil;&atilde;o: {$dia['descricao']}</div>{$botao_editar}";  
341 - $array_descricao[$dia['dia']] = $descricao;  
342 -  
343 - }  
344 - }  
345 - if(!empty($array_dias))  
346 - $obj_calendario->diaDescricao($array_dias,$array_descricao);  
347 -  
348 -  
349 -  
350 - }  
351 - if($this->mes <= (int)$inicio_ano[1] && $this->ano == (int)$inicio_ano[2] ){  
352 -  
353 - if($this->mes == (int)$inicio_ano[1] ){  
354 - $obj_calendario->adicionarLegenda("Inicio Ano Letivo","AMARELO");  
355 - $obj_calendario->adicionarArrayDias("Inicio Ano Letivo",array($inicio_ano[0]));  
356 - }  
357 -  
358 - $dia_inicio = (int)$inicio_ano[0];  
359 - $dias = array();  
360 - if($this->mes < (int)$inicio_ano[1]){  
361 -  
362 - $NumeroDiasMes = (int) date('t',$this->mes);  
363 -  
364 - for ($d = 1 ; $d <= $NumeroDiasMes; $d++)  
365 - {  
366 - $dias[] = $d;  
367 - }  
368 - $obj_calendario->setLegendaPadrao("N&atilde;o Letivo");  
369 -  
370 - if(!empty($dias)){  
371 - $obj_calendario->adicionarArrayDias("N&atilde;o Letivo",$dias);  
372 -  
373 - }  
374 - }else  
375 - {  
376 - $dia_inicio;  
377 - for ($d = 1 ; $d < $dia_inicio ; $d++)  
378 - {  
379 - $dias[] = $d;  
380 - }  
381 - $obj_calendario->setLegendaPadrao("Dias Letivos","AZUL_CLARO");  
382 - if(!empty($dias)){  
383 - $obj_calendario->adicionarLegenda("N&atilde;o Letivo","#F7F7F7");  
384 - $obj_calendario->adicionarArrayDias("N&atilde;o Letivo",$dias);  
385 -  
386 - }  
387 - }  
388 -  
389 - }elseif($this->mes >= (int)$fim_ano[1] && $this->ano == (int)$fim_ano[2] ){  
390 -  
391 -  
392 - $dia_inicio = (int)$fim_ano[0];  
393 - $dias = array();  
394 - if($this->mes > (int)$fim_ano[1]){  
395 -  
396 - $NumeroDiasMes = (int) date('t',$this->mes);  
397 -  
398 - for ($d = 1 ; $d <= $NumeroDiasMes; $d++)  
399 - {  
400 - $dias[] = $d;  
401 - }  
402 - $obj_calendario->setLegendaPadrao("N&atilde;o Letivo");  
403 -  
404 - if(!empty($dias)){  
405 - $obj_calendario->adicionarArrayDias("N&atilde;o Letivo",$dias);  
406 -  
407 - }  
408 - }else  
409 - {  
410 - $NumeroDiasMes = (int) date('t',$this->mes);  
411 - for ($d = $fim_ano[0] ; $d <= $NumeroDiasMes; $d++)  
412 - {  
413 - $dias[] = $d;  
414 - }  
415 - $obj_calendario->setLegendaPadrao("Dias Letivos","AZUL_CLARO");  
416 - if(!empty($dias)){  
417 - $obj_calendario->adicionarLegenda("N&atilde;o Letivo","#F7F7F7");  
418 - $obj_calendario->adicionarArrayDias("N&atilde;o Letivo",$dias);  
419 -  
420 - }  
421 - }  
422 -  
423 - if($this->mes == (int)$fim_ano[1] ){  
424 - $obj_calendario->adicionarLegenda("Termino Ano Letivo","AMARELO");  
425 - $obj_calendario->adicionarArrayDias("Termino Ano Letivo",array($fim_ano[0]));  
426 - }  
427 -  
428 - }  
429 - else{  
430 - $obj_calendario->setLegendaPadrao("Dias Letivos","AZUL_CLARO");  
431 - }  
432 -  
433 -  
434 - $obj_calendario->setCorDiaSemana(array(0,6),"ROSA");  
435 -  
436 - $obj_anotacao = new clsPmieducarCalendarioDiaAnotacao();  
437 - $lista_anotacoes = $obj_anotacao->lista(null,$this->mes,$registro['cod_calendario_ano_letivo'],null,1);  
438 - if($lista_anotacoes)  
439 - {  
440 - $dia_anotacao = array();  
441 - foreach ($lista_anotacoes as $anotacao)  
442 - {  
443 - if($this->mes == (int)$anotacao['ref_mes'])  
444 - $dia_anotacao[$anotacao['ref_dia']] = $anotacao['ref_dia'];  
445 -  
446 - }  
447 -  
448 - $obj_calendario->adicionarIconeDias($dia_anotacao,'A');  
449 - }  
450 - $obj_calendario->all_days_url = "educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo={$registro["cod_calendario_ano_letivo"]}";  
451 - $calendario = $obj_calendario->getCalendario($this->mes,$registro["ano"],"mes_corrente",$_GET);  
452 - $retorno .= "<tr><td colspan='2'><center><b>{$registro["nm_escola"]}</b>$calendario</center></td></tr>";  
453 -  
454 -  
455 -  
456 - }  
457 - }  
458 - if( $obj_permissoes->permissao_cadastra( 620, $this->pessoa_logada, 7 ) )  
459 - {  
460 -  
461 - if($_POST && empty($lista) && $_SESSION['calendario']['ultimo_valido']){  
462 -  
463 - $bt_voltar = "<input type=\"button\" value=\"Voltar\" onclick=\"window.location='educar_calendario_ano_letivo_lst.php?ref_cod_instituicao={$this->ref_cod_instituicao}&ref_cod_escola={$this->ref_cod_escola}&ano={$_SESSION["calendario"]["ano"]}';\" class=\"botaolistagem\"/>";  
464 - }  
465 - $retorno .= "<tr><td>&nbsp;</td></tr><tr>  
466 - <td align=\"center\" colspan=\"2\">  
467 - {$bt_voltar}  
468 - <input type=\"button\" value=\"Novo Calend&aacute;rio Letivo\" onclick=\"window.location='educar_calendario_ano_letivo_cad.php?ref_cod_instituicao={$this->ref_cod_instituicao}&ref_cod_escola={$this->ref_cod_escola}';\" class=\"botaolistagem\"/>  
469 - </td>  
470 - </tr>";  
471 - }  
472 -  
473 - $retorno .='</tbody>  
474 - </table>';  
475 - return $retorno;  
476 - }  
477 - 69 + var $pessoa_logada;
  70 + var $titulo;
  71 + var $limite;
  72 + var $offset;
  73 +
  74 + var $cod_calendario_ano_letivo;
  75 + var $ref_cod_escola;
  76 + var $ref_usuario_exc;
  77 + var $ref_usuario_cad;
  78 + var $data_cadastra;
  79 + var $data_exclusao;
  80 + var $ativo;
  81 + var $inicio_ano_letivo;
  82 + var $termino_ano_letivo;
  83 +
  84 + var $ref_cod_instituicao;
  85 + var $ano;
  86 + var $mes;
  87 +
  88 + function renderHTML()
  89 + {
  90 + @session_start();
  91 +
  92 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  93 + $_SESSION['calendario']['ultimo_valido'] = 0;
  94 +
  95 + $obj_permissoes = new clsPermissoes();
  96 +
  97 + if ($obj_permissoes->nivel_acesso($this->pessoa_logada) > 7) {
  98 + $retorno .= '
  99 + <table width="100%" height="40%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem">
  100 + <tbody>';
  101 +
  102 + $retorno .= '
  103 + <tr>
  104 + <td colspan="2" valig="center" height="50">
  105 + <center class="formdktd">Usuário sem permissão para acessar esta página</center>
  106 + </td>
  107 + </tr>';
  108 +
  109 + $retorno .= '
  110 + </tbody>
  111 + </table>';
  112 +
  113 + return $retorno;
  114 + }
  115 +
  116 + $retorno .= '
  117 + <table width="100%" cellspacing="1" cellpadding="2" border="0" class="tablelistagem">
  118 + <tbody>';
  119 +
  120 + if ($_POST) {
  121 + $this->ref_cod_escola = $_POST['ref_cod_escola'] ?
  122 + $_POST['ref_cod_escola'] : $_SESSION['calendario']['ref_cod_escola'];
  123 +
  124 + $this->ref_cod_instituicao = $_POST['ref_cod_instituicao'] ?
  125 + $_POST['ref_cod_instituicao'] : $_SESSION['calendario']['ref_cod_instituicao'];
  126 +
  127 + if ($_POST['mes']) {
  128 + $this->mes = $_POST['mes'];
  129 + }
  130 +
  131 + if ($_POST['ano']) {
  132 + $this->ano = $_POST['ano'];
  133 + }
  134 + }
  135 + else {
  136 + if ($_GET){
  137 + // passa todos os valores obtidos no GET para atributos do objeto
  138 + foreach($_GET as $var => $val) {
  139 + $this->$var = ( $val === "" ) ? NULL: $val;
  140 + }
  141 + }
  142 + elseif ($_SESSION['calendario']) {
  143 + // passa todos os valores em SESSION para atributos do objeto
  144 + foreach ($_SESSION['calendario'] as $var => $val) {
  145 + $this->$var = ($val === '') ? NULL : $val;
  146 + }
  147 + }
  148 + }
  149 +
  150 + if ($_GET) {
  151 + header('Location: educar_calendario_ano_letivo_lst.php');
  152 + }
  153 +
  154 + if (!$this->mes) {
  155 + $this->mes = date('n');
  156 + }
  157 +
  158 + if (!$this->ano) {
  159 + $this->ano = date('Y');
  160 + }
  161 +
  162 + $obj_cal = new clsPmieducarCalendarioAnoLetivo();
  163 +
  164 + if ($this->ref_cod_escola && $this->ano) {
  165 + if ($obj_cal->lista(NULL, $this->ref_cod_escola, NULL, NULL,
  166 + $this->ano, NULL, NULL, NULL, NULL, 1)
  167 + ) {
  168 + $_SESSION['calendario']['ultimo_valido'] = 1;
  169 +
  170 + if ($this->ref_cod_escola) {
  171 + $_SESSION['calendario']['ref_cod_escola'] = $this->ref_cod_escola;
  172 + }
  173 +
  174 + if ($this->ref_cod_instituicao) {
  175 + $_SESSION['calendario']['ref_cod_instituicao'] = $this->ref_cod_instituicao;
  176 + }
  177 +
  178 + if ($this->ano) {
  179 + $_SESSION['calendario']['ano'] = $this->ano;
  180 + }
  181 +
  182 + if ($this->mes) {
  183 + $_SESSION['calendario']['mes'] = $this->mes;
  184 + }
  185 + }
  186 + }
  187 + elseif (! $_POST) {
  188 + if ($_SESSION['calendario']['ref_cod_escola']) {
  189 + $this->ref_cod_escola = $_SESSION["calendario"]["ref_cod_escola"];
  190 + }
  191 +
  192 + if ($_SESSION['calendario']['ref_cod_instituicao']) {
  193 + $this->ref_cod_instituicao = $_SESSION['calendario']['ref_cod_instituicao'];
  194 + }
  195 +
  196 + if ($_SESSION['calendario']['mes']) {
  197 + $this->ano = $_SESSION['calendario']['mes'];
  198 + }
  199 +
  200 + if ($_SESSION['calendario']['mes']) {
  201 + $this->mes = $_SESSION['calendario']['mes'];
  202 + }
  203 + }
  204 +
  205 + $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada);
  206 +
  207 + if (! $this->ref_cod_escola) {
  208 + $this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada);
  209 + }
  210 +
  211 + if (! $this->ref_cod_instituicao) {
  212 + $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada);
  213 + }
  214 +
  215 + $get_escola = 1;
  216 + $obrigatorio = FALSE;
  217 +
  218 + include 'educar_calendario_pesquisas.php';
  219 +
  220 + $obj_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo();
  221 + $obj_calendario_ano_letivo->setOrderby('ano ASC');
  222 + $obj_calendario_ano_letivo->setLimite($this->limite, $this->offset);
  223 +
  224 + $lista = array();
  225 + $obj_calendario_ano_letivo->setOrderby('ano');
  226 +
  227 + switch ($nivel_usuario) {
  228 + // Poli-institucional
  229 + case 1:
  230 + case 2:
  231 + case 4:
  232 + if (!isset($this->ref_cod_escola)) {
  233 + break;
  234 + }
  235 +
  236 + $lista = $obj_calendario_ano_letivo->lista(
  237 + NULL,
  238 + $this->ref_cod_escola,
  239 + NULL,
  240 + NULL,
  241 + $this->ano,
  242 + NULL,
  243 + NULL,
  244 + 1,
  245 + NULL,
  246 + NULL,
  247 + NULL,
  248 + NULL,
  249 + NULL,
  250 + NULL,
  251 + NULL,
  252 + NULL
  253 + );
  254 + break;
  255 + }
  256 +
  257 + $total = $obj_calendario_ano_letivo->_total;
  258 +
  259 + if (empty($lista)) {
  260 + if ($nivel_usuario == 4) {
  261 + $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Sem Calendário Letivo</td></tr>';
  262 + }
  263 + else {
  264 + if ($_POST) {
  265 + $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Sem Calendário para o ano selecionado</td></tr>';
  266 + }
  267 + else {
  268 + $retorno .= '<tr><td colspan="2" align="center" class="formdktd">Selecione uma escola para exibir o calendário</td></tr>';
  269 + }
  270 + }
  271 + }
  272 +
  273 + // Monta a lista
  274 + if (is_array($lista) && count($lista)) {
  275 + foreach ($lista as $key => $registro) {
  276 + $registro['inicio_ano_letivo_time'] = strtotime(substr($registro['inicio_ano_letivo'], 0, 16));
  277 + $registro['inicio_ano_letivo_br'] = date('d/m/Y', $registro['inicio_ano_letivo_time']);
  278 + $registro['termino_ano_letivo_time'] = strtotime(substr($registro['termino_ano_letivo'], 0, 16));
  279 + $registro['termino_ano_letivo_br'] = date('d/m/Y', $registro['termino_ano_letivo_time']);
  280 +
  281 + // Pega detalhes de foreign_keys
  282 + if (class_exists('clsPmieducarEscola')) {
  283 + $obj_ref_cod_escola = new clsPmieducarEscola($registro['ref_cod_escola']);
  284 + $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
  285 + $registro['nm_escola'] = $det_ref_cod_escola['nome'];
  286 + }
  287 + else {
  288 + $registro['ref_cod_escola'] = 'Erro na geração';
  289 + }
  290 +
  291 + $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo();
  292 +
  293 + $inicio_ano = $obj_ano_letivo_modulo->menorData(
  294 + $this->ano, $this->ref_cod_escola
  295 + );
  296 +
  297 + $fim_ano = $obj_ano_letivo_modulo->maiorData(
  298 + $this->ano, $this->ref_cod_escola
  299 + );
  300 +
  301 + $inicio_ano = explode('/', dataFromPgToBr($inicio_ano));
  302 + $fim_ano = explode('/', dataFromPgToBr($fim_ano));
  303 + $obj_calendario = new clsCalendario();
  304 + $obj_calendario->setLargura(600);
  305 + $obj_calendario->permite_trocar_ano = TRUE;
  306 +
  307 + $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA');
  308 +
  309 + $obj_dia_calendario = new clsPmieducarCalendarioDia(
  310 + $registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL,
  311 + NULL, NULL
  312 + );
  313 +
  314 + $lista_dia = $obj_dia_calendario->lista(
  315 + $registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL
  316 + );
  317 +
  318 + if ($lista_dia) {
  319 + $array_dias = array();
  320 + $array_descricao = array();
  321 +
  322 + foreach ($lista_dia as $dia) {
  323 + $descricao = '';
  324 +
  325 + $url = sprintf(
  326 + 'educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s&ref_cod_escola=%s&dia=%s&mes=%s&ano=%s',
  327 + $registro['cod_calendario_ano_letivo'], $this->ref_cod_escola,
  328 + $dia['dia'], $dia['mes'], $this->ano
  329 + );
  330 +
  331 + $botao_editar = sprintf('
  332 + <div style="z-index: 0;">
  333 + <br />
  334 + <input type="button" value="Anotações" onclick="window.location=\'%s\';" class="botaolistagem"/>
  335 + </div>', $url);
  336 +
  337 + if ($dia['ref_cod_calendario_dia_motivo']) {
  338 + $array_dias[$dia['dia']] = $dia['dia'];
  339 +
  340 + $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']);
  341 + $det_motivo = $obj_motivo->detalhe();
  342 +
  343 + /**
  344 + * @todo CoreExt_Enum?
  345 + */
  346 + $tipo = strtoupper($det_motivo['tipo']) == 'E' ?
  347 + 'Dia Extra-Letivo' : 'Dia Não Letivo';
  348 +
  349 + $descricao = sprintf(
  350 + '<div style="z-index: 0;">%s</div><div align="left" style="z-index: 0;">Motivo: %s<br />Descrição: %s</div>%s',
  351 + $tipo, $det_motivo['nm_motivo'], $dia['descricao'], $botao_editar
  352 + );
  353 +
  354 + $array_descricao[$dia['dia']] = $descricao;
  355 +
  356 + if (strtoupper($det_motivo['tipo']) == 'E') {
  357 + $obj_calendario->adicionarLegenda('Extra Letivo', 'LARANJA_ESCURO');
  358 + $obj_calendario->adicionarArrayDias('Extra Letivo', array($dia['dia']));
  359 + }
  360 + elseif (strtoupper($det_motivo['tipo']) == 'N') {
  361 + $obj_calendario->adicionarLegenda('Não Letivo', '#VERDE_ESCURO');
  362 + $obj_calendario->adicionarArrayDias('Não Letivo', array($dia['dia']));
  363 +
  364 + $descricao = sprintf(
  365 + '<div style="z-index: 0;">Descrição: %s</div>%s',
  366 + $dia['descricao'], $botao_editar
  367 + );
  368 +
  369 + $array_descricao[$dia['dia']] = $descricao;
  370 +
  371 + $obj_calendario->diaDescricao($array_dias, $array_descricao);
  372 + }
  373 + }
  374 + elseif ($dia['descricao']) {
  375 + $array_dias[$dia['dia']] = $dia['dia'];
  376 +
  377 + $descricao = sprintf(
  378 + '<div style="z-index: 0;">Descrição: %s</div>%s',
  379 + $dia['descricao'], $botao_editar
  380 + );
  381 +
  382 + $array_descricao[$dia['dia']] = $descricao;
  383 + }
  384 + }
  385 +
  386 + if (! empty($array_dias)) {
  387 + $obj_calendario->diaDescricao($array_dias, $array_descricao);
  388 + }
  389 + }
  390 +
  391 + if ($this->mes <= (int) $inicio_ano[1] && $this->ano == (int) $inicio_ano[2]) {
  392 + if ($this->mes == (int)$inicio_ano[1] ){
  393 + $obj_calendario->adicionarLegenda('Início Ano Letivo', 'AMARELO');
  394 + $obj_calendario->adicionarArrayDias('Início Ano Letivo', array($inicio_ano[0]));
  395 + }
  396 +
  397 + $dia_inicio = (int)$inicio_ano[0];
  398 + $dias = array();
  399 +
  400 + if ($this->mes < (int) $inicio_ano[1]) {
  401 + $NumeroDiasMes = (int) date('t', $this->mes);
  402 +
  403 + for ($d = 1 ; $d <= $NumeroDiasMes; $d++) {
  404 + $dias[] = $d;
  405 + }
  406 +
  407 + $obj_calendario->setLegendaPadrao('Não Letivo');
  408 +
  409 + if (!empty($dias)){
  410 + $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
  411 + }
  412 + }
  413 + else {
  414 + $dia_inicio;
  415 + for ($d = 1 ; $d < $dia_inicio ; $d++) {
  416 + $dias[] = $d;
  417 + }
  418 +
  419 + $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO');
  420 + if (! empty($dias)){
  421 + $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7');
  422 + $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
  423 + }
  424 + }
  425 + }
  426 + elseif ($this->mes >= (int)$fim_ano[1] && $this->ano == (int)$fim_ano[2] ){
  427 + $dia_inicio = (int)$fim_ano[0];
  428 + $dias = array();
  429 +
  430 + if ($this->mes > (int)$fim_ano[1]) {
  431 + $NumeroDiasMes = (int) date('t',$this->mes);
  432 +
  433 + for ($d = 1 ; $d <= $NumeroDiasMes; $d++) {
  434 + $dias[] = $d;
  435 + }
  436 +
  437 + $obj_calendario->setLegendaPadrao('Não Letivo');
  438 +
  439 + if (! empty($dias)) {
  440 + $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
  441 + }
  442 + }
  443 + else {
  444 + $NumeroDiasMes = (int) date('t', $this->mes);
  445 +
  446 + for ($d = $fim_ano[0] ; $d <= $NumeroDiasMes; $d++) {
  447 + $dias[] = $d;
  448 + }
  449 +
  450 + $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO');
  451 +
  452 + if (! empty($dias)) {
  453 + $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7');
  454 + $obj_calendario->adicionarArrayDias('Não Letivo', $dias);
  455 + }
  456 + }
  457 +
  458 + if ($this->mes == (int) $fim_ano[1]) {
  459 + $obj_calendario->adicionarLegenda('Término Ano Letivo', 'AMARELO');
  460 + $obj_calendario->adicionarArrayDias('Término Ano Letivo', array($fim_ano[0]));
  461 + }
  462 + }
  463 + else {
  464 + $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO');
  465 + }
  466 +
  467 + $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA');
  468 +
  469 + $obj_anotacao = new clsPmieducarCalendarioDiaAnotacao();
  470 + $lista_anotacoes = $obj_anotacao->lista(
  471 + NULL, $this->mes,$registro['cod_calendario_ano_letivo'], NULL, 1
  472 + );
  473 +
  474 + if ($lista_anotacoes) {
  475 + $dia_anotacao = array();
  476 + foreach ($lista_anotacoes as $anotacao) {
  477 + if ($this->mes == (int) $anotacao['ref_mes']) {
  478 + $dia_anotacao[$anotacao['ref_dia']] = $anotacao['ref_dia'];
  479 + }
  480 + }
  481 +
  482 + $obj_calendario->adicionarIconeDias($dia_anotacao, 'A');
  483 + }
  484 +
  485 + $obj_calendario->all_days_url = sprintf(
  486 + 'educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s',
  487 + $registro['cod_calendario_ano_letivo']
  488 + );
  489 +
  490 + $calendario = $obj_calendario->getCalendario(
  491 + $this->mes, $registro['ano'], 'mes_corrente', $_GET
  492 + );
  493 +
  494 + $retorno .= sprintf(
  495 + '<tr><td colspan="2"><center><b>%s</b>%s</center></td></tr>',
  496 + $registro['nm_escola'], $calendario
  497 + );
  498 + }
  499 + }
  500 +
  501 + if ($obj_permissoes->permissao_cadastra(620, $this->pessoa_logada, 7)) {
  502 + if ($_POST && empty($lista) && $_SESSION['calendario']['ultimo_valido']) {
  503 + $url = sprintf(
  504 + 'educar_calendario_ano_letivo_lst.php?ref_cod_instituicao=%s&ref_cod_escola=%s&ano=%s',
  505 + $this->ref_cod_instituicao, $this->ref_cod_escola, $_SESSION['calendario']['ano']
  506 + );
  507 +
  508 + $bt_voltar = sprintf(
  509 + '<input type="button" value="Voltar" onclick="window.location=\'%s\';" class="botaolistagem" />',
  510 + $url
  511 + );
  512 + }
  513 +
  514 + $url = sprintf(
  515 + 'educar_calendario_ano_letivo_cad.php?ref_cod_instituicao=%s&ref_cod_escola=%s',
  516 + $this->ref_cod_instituicao, $this->ref_cod_escola
  517 + );
  518 +
  519 + $retorno .= sprintf('
  520 + <tr>
  521 + <td>&nbsp;</td>
  522 + </tr>
  523 + <tr>
  524 + <td align="center" colspan="2">
  525 + %s
  526 + <input type="button" value="Novo Calendário Letivo" onclick="window.location=\'%s\';" class="botaolistagem" />
  527 + </td>
  528 + </tr>', $bt_voltar, $url);
  529 + }
  530 +
  531 + $retorno .='
  532 + </tbody>
  533 + </table>';
  534 +
  535 + return $retorno;
  536 + }
478 } 537 }
479 538
480 -// cria uma extensao da classe base 539 +// Instancia objeto de página
481 $pagina = new clsIndexBase(); 540 $pagina = new clsIndexBase();
482 -// cria o conteudo  
483 541
  542 +// Instancia objeto de conteúdo
484 $miolo = new indice(); 543 $miolo = new indice();
485 -// adiciona o conteudo na clsBase  
486 -$pagina->addForm( $miolo );  
487 544
488 -// gera o html  
489 -$pagina->MakeAll();  
490 -?> 545 +// Atribui o conteúdo à página
  546 +$pagina->addForm($miolo);
  547 +
  548 +// Gera o código HTML
  549 +$pagina->MakeAll();
491 \ No newline at end of file 550 \ No newline at end of file