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 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 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 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 540 $pagina = new clsIndexBase();
482   -// cria o conteudo
483 541  
  542 +// Instancia objeto de conteúdo
484 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 550 \ No newline at end of file
... ...