Commit 16bb11c16591721c87c68b620dd4fd91304b46a5

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

Refactoring para coding standards

ieducar/intranet/clsCalendario.inc.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 -  
28 -class clsCalendario{  
29 -  
30 -  
31 - var $permite_trocar_ano = 0;  
32 -  
33 - var $largura_externa = 400;  
34 -  
35 - var $largura_interna = 250;  
36 -  
37 - var $padding = 5;  
38 -  
39 - var $COR = array( 0 => "#FADEAF",  
40 - "LARANJA_CLARO" => "#FADEAF",  
41 -  
42 - 1 => "#93BDC9",  
43 - "AZUL_ESCURO" => "#93BDC9",  
44 -  
45 - 2 => "#BCD39D",  
46 - "VERDE_ESCURO" => "#BCD39D",  
47 -  
48 - 3 => "#C7D5E0",  
49 - "AZUL_CLARO" => "#C7D5E0",  
50 -  
51 - 4 => "#E5D6DD",  
52 - "ROSA" => "#E5D6DD",  
53 -  
54 - 5 => "#E9D1AF",  
55 - "LARANJA_ESCURO" => "#E9D1AF",  
56 -  
57 - 6 => "#E9E6BB",  
58 - "AMARELO" => "#E9E6BB",  
59 -  
60 - 7 => "#C9D9CF",  
61 - "VERDE_CLARO" => "#C9D9CF",  
62 -  
63 - 8 => "#DDE3D9",  
64 - "CINZA" => "#DDE3D9",  
65 - );  
66 -  
67 -  
68 - /**  
69 - *  
70 - *  
71 - * @var array  
72 - */  
73 - var $array_icone= array('A' => array('nome' => 'Anota&ccedil;&otilde;es', 'link' => '/intranet/imagens/i-educar/letra_a.gif')  
74 -  
75 - ,''  
76 2
77 - );  
78 -  
79 -  
80 - var $array_icone_dias = array();  
81 -  
82 -  
83 - /**  
84 - * Array das cores da legenda  
85 - *  
86 - * @var array  
87 - */  
88 - var $array_cor = array('#F7F7F7');  
89 -  
90 - /**  
91 - * Array das legendas  
92 - *  
93 - * @var array  
94 - */  
95 - var $array_legenda = array('Padrao');  
96 -  
97 - /**  
98 - * Array da cor para os dias da semana  
99 - *  
100 - * @var array  
101 - */  
102 - var $array_cor_dia_padrao = array();  
103 -  
104 - /**  
105 - * Dias do mes  
106 - *  
107 - * @var array  
108 - */  
109 - var $array_dias = array();  
110 -  
111 - /**  
112 - * acao quando for clicado em cima do dia  
113 - *  
114 - * @var array  
115 - */  
116 - var $all_days_onclick;  
117 -  
118 - /**  
119 - * acao quando for clicado em cima do dia  
120 - *  
121 - * @var array  
122 - */  
123 - var $all_days_url;  
124 -  
125 -  
126 - /**  
127 - * acao quando for clicado em cima do dia  
128 - *  
129 - * @var array  
130 - */  
131 - var $array_onclick_dias = array();  
132 -  
133 - /**  
134 - * Adicioar um div flutuante quando posicionar o mouse sobre o dia  
135 - *  
136 - * @var unknown_type  
137 - */  
138 - var $array_div_flutuante_dias = array();  
139 -  
140 - function resetAll(){  
141 - $this->array_div_flutuante_dias = array();  
142 - $this->array_onclick_dias = array();  
143 - $this->array_dias = array();  
144 - $this->array_cor_dia_padrao = array();  
145 - $this->array_legenda = array('Padrao');  
146 - $this->array_cor = array('#F7F7F7');  
147 - $this->largura_externa = 400;  
148 -  
149 - $this->largura_interna = 250;  
150 -  
151 - $this->padding = 5;  
152 - }  
153 -  
154 - function setLargura($int_largura){  
155 -  
156 - $this->largura_externa = $int_largura;  
157 -  
158 - if($int_largura > 250)  
159 - $this->largura_interna = $this->largura_externa - 121;  
160 - else  
161 - $this->largura_interna = '40%';  
162 -  
163 - $this->padding = (floor((($int_largura - 30) / 7 ) / 10) * 2);  
164 -  
165 - }  
166 -  
167 - function diaDescricao($arr_dias,$array_mensagem_dias){  
168 -  
169 - if(is_array($arr_dias)){  
170 - foreach ($arr_dias as $key => $dia) {  
171 - $this->array_div_flutuante_dias[$key] = $array_mensagem_dias[$key];  
172 - }  
173 -  
174 - }  
175 - }  
176 -  
177 - function diaOnClick($arr_dias,$array_onclick_dias){  
178 -  
179 - if(is_array($arr_dias)){  
180 - foreach ($arr_dias as $key => $dia) {  
181 - $this->array_onclick_dias[$dia][] = $array_onclick_dias[$key];  
182 - }  
183 -  
184 - }  
185 -  
186 - }  
187 -  
188 - function adicionarIconeDias($arr_dias,$id_icone){  
189 -  
190 - if(is_array($arr_dias)){  
191 -  
192 - foreach ($arr_dias as $key => $dia) {  
193 - if(key_exists($id_icone,$this->array_icone))  
194 - $this->array_icone_dias[$dia] = $id_icone;  
195 - $this->array_icone[$id_icone]['utilizado'] = true;  
196 - }  
197 -  
198 - }  
199 -  
200 - }  
201 -  
202 - /**  
203 -  
204 - * *  
205 - * @param STRING $str_legenda  
206 - * @param STRING $str_cor  
207 - * #FADEAF - 0 - LARANJA_CLARO  
208 - *  
209 - * #93BDC9 - 1 - AZUL_ESCURO  
210 - *  
211 - * #BCD39D - 2 - VERDE_ESCURO  
212 - *  
213 - * #C7D5E0 - 3 - AZUL_CLARO  
214 - *  
215 - * #E5D6DD - 4 - ROSA  
216 - *  
217 - * #E9D1AF - 5 - LARANJA_ESCURO  
218 - *  
219 - * #E9E6BB - 6 - AMARELO  
220 - *  
221 - * #C9D9CF - 7 - VERDE_CLARO  
222 - *  
223 - * #DDE3D9 - 8 - CINZA  
224 - */  
225 -  
226 - function adicionarLegenda($str_legenda, $str_cor){  
227 -  
228 - //$this->array_cod_legenda[] = $str_cod_legenda;  
229 - $key = array_search($str_legenda,$this->array_legenda);  
230 - if(!empty($key))  
231 - if($this->array_legenda[$key] == $str_legenda)  
232 - return;  
233 - $this->array_legenda[] = $str_legenda;  
234 - $str_cor = strtoupper($str_cor);  
235 - $this->array_cor[] = $this->COR["{$str_cor}"];  
236 -  
237 -  
238 - }  
239 - /**  
240 - * *Legenda padrao  
241 - * @param STRING $str_legenda  
242 - * @param STRING $str_cor  
243 - * #FADEAF - 0 - LARANJA_CLARO  
244 - *  
245 - * #93BDC9 - 1 - AZUL_ESCURO  
246 - *  
247 - * #BCD39D - 2 - VERDE_ESCURO  
248 - *  
249 - * #C7D5E0 - 3 - AZUL_CLARO  
250 - *  
251 - * #E5D6DD - 4 - ROSA  
252 - *  
253 - * #E9D1AF - 5 - LARANJA_ESCURO  
254 - *  
255 - * #E9E6BB - 6 - AMARELO  
256 - *  
257 - * #C9D9CF - 7 - VERDE_CLARO  
258 - *  
259 - * #DDE3D9 - 8 - CINZA  
260 - */  
261 - function setLegendaPadrao($str_legenda, $str_cor = "#F7F7F7"){  
262 -  
263 - $this->array_legenda[0] = $str_legenda;  
264 - $this->array_cor[0] = $this->COR["{$str_cor}"];  
265 -  
266 - }  
267 -  
268 - /**  
269 -  
270 - * *Atribui uma cor padrao para os dias(0 Dom - 6 Sab) da semana ex - todas as segundas 1  
271 - * @param ARRAY $arr_dia_semana  
272 - * @param STRING $str_cor  
273 - * #FADEAF - 0 - LARANJA_CLARO  
274 - *  
275 - * #93BDC9 - 1 - AZUL_ESCURO  
276 - *  
277 - * #BCD39D - 2 - VERDE_ESCURO  
278 - *  
279 - * #C7D5E0 - 3 - AZUL_CLARO  
280 - *  
281 - * #E5D6DD - 4 - ROSA  
282 - *  
283 - * #E9D1AF - 5 - LARANJA_ESCURO  
284 - *  
285 - * #E9E6BB - 6 - AMARELO  
286 - *  
287 - * #C9D9CF - 7 - VERDE_CLARO  
288 - *  
289 - * #DDE3D9 - 8 - CINZA  
290 - */  
291 - function setCorDiaSemana($arr_dia_semana, $str_cor){  
292 - $str_cor = strtoupper($str_cor);  
293 - if(is_array($arr_dia_semana))  
294 - foreach ($arr_dia_semana as $dia)  
295 - $this->array_cor_dia_padrao["{$dia}"] = $this->COR["{$str_cor}"];  
296 - else  
297 - $this->array_cor_dia_padrao["{$arr_dia_semana}"] = $str_cor;  
298 - }  
299 - /**  
300 - * Adiciona os dias do mes com a sua legenda  
301 - *  
302 - * @param unknown_type $str_cod_legenda  
303 - * @param unknown_type $dias  
304 - */  
305 - function adicionarArrayDias($str_cod_legenda,$dias){  
306 -  
307 - $key = array_shift(array_keys($this->array_legenda, $str_cod_legenda));  
308 - foreach ($dias as $dia)  
309 - {  
310 - $dia = (int)$dia;  
311 - $this->array_dias["{$dia}"] = $key;  
312 - }  
313 -  
314 - ksort($this->array_dias);  
315 -  
316 - }  
317 -  
318 - /**  
319 - * retorna o calendario  
320 - *  
321 - * @param unknown_type $mes  
322 - * @param unknown_type $ano  
323 - * @return unknown  
324 - */  
325 - function getCalendario($mes,$ano,$nome,$mixVariaveisMantidas) {  
326 -  
327 - $array_color = $array_color;  
328 - $array_legenda = $array_legenda;  
329 -  
330 - if(isset($mixVariaveisMantidas["{$nome}_mes"]) && is_numeric($mixVariaveisMantidas["{$nome}_mes"]))  
331 - $mes = $mixVariaveisMantidas["{$nome}_mes"];  
332 -  
333 - if(isset($mixVariaveisMantidas["{$nome}_ano"]) && is_numeric($mixVariaveisMantidas["{$nome}_ano"]) && $this->permite_trocar_ano == true)  
334 - $ano = $mixVariaveisMantidas["{$nome}_ano"];  
335 -  
336 - // Array com todos os dias da semana  
337 - $diasDaSemana = array('DOM','SEG','TER','QUA','QUI','SEX','SAB');  
338 - $diasDaSemana = array('DOM','SEG','TER','QUA','QUI','SEX','SAB');  
339 -  
340 - $mesesDoAno = array(  
341 - "1" => "JANEIRO"  
342 - ,"2" => "FEVEREIRO"  
343 - ,"3" => "MAR&Ccedil;O"  
344 - ,"4" => "ABRIL"  
345 - ,"5" => "MAIO"  
346 - ,"6" => "JUNHO"  
347 - ,"7" => "JULHO"  
348 - ,"8" => "AGOSTO"  
349 - ,"9" => "SETEMBRO"  
350 - ,"10" => "OUTUBRO"  
351 - ,"11" => "NOVEMBRO"  
352 - ,"12" => "DEZEMBRO"  
353 - );  
354 -  
355 - // Qual o primeiro dia do mes  
356 - $primeiroDiaDoMes = mktime(0,0,0,$mes,1,$ano);  
357 -  
358 - // Quantos dias tem o mes  
359 - $NumeroDiasMes = date('t',$primeiroDiaDoMes);  
360 -  
361 - // Retrieve some information about the first day of the  
362 - // month in question.  
363 - $dateComponents = getdate($primeiroDiaDoMes);  
364 -  
365 - // What is the name of the month in question?  
366 - $NomeMes = $mesesDoAno[$dateComponents['mon']];  
367 -  
368 - // What is the index value (0-6) of the first day of the  
369 - // month in question.  
370 - $DiaSemana = $dateComponents['wday'];  
371 -  
372 - // Create the table tag opener and day headers  
373 - //GET  
374 - $linkFixo = $strUrl . "?";  
375 - if( is_array( $mixVariaveisMantidas ) )  
376 - {  
377 - foreach ( $mixVariaveisMantidas as $key => $value )  
378 - {  
379 - if( $key != "{$nome}_mes" && $key != "{$nome}_ano")  
380 - {  
381 - $linkFixo .= "$key=$value&";  
382 - }  
383 - }  
384 - }  
385 - else  
386 - {  
387 - if( is_string( $mixVariaveisMantidas ) )  
388 - {  
389 - $linkFixo .= "$mixVariaveisMantidas&";  
390 - }  
391 - }  
392 - //  
393 - $linkFixo = $linkFixo == "?" ? "" : $linkFixo;  
394 -  
395 - if($mes == 12)  
396 - {  
397 - if($this->permite_trocar_ano)  
398 - {  
399 - $mes_posterior_mes = 1;  
400 - $mes_anterior_mes = 11;  
401 - $ano_posterior_mes = $ano + 1;  
402 - $ano_anterior_mes = $ano;  
403 -  
404 - $mes_ano = $mes;  
405 - $ano_posterior_ano = $ano + 1;  
406 - $ano_anterior_ano = $ano - 1;  
407 -  
408 - //$ano++;  
409 - }else{  
410 - $mes_posterior_mes = 1;  
411 - $mes_anterior_mes = 11;  
412 - $ano_posterior_mes = $ano;  
413 - $ano_anterior_mes = $ano;  
414 - }  
415 - }elseif ($mes == 1){  
416 - if($this->permite_trocar_ano)  
417 - {  
418 - $mes_posterior_mes = 2;  
419 - $mes_anterior_mes = 12;  
420 - $ano_posterior_mes = $ano;  
421 - $ano_anterior_mes = $ano - 1;  
422 -  
423 - $mes_ano = $mes;  
424 - $ano_posterior_ano = $ano + 1;  
425 - $ano_anterior_ano = $ano - 1;  
426 - }else{  
427 - $mes_posterior_mes = 2;  
428 - $mes_anterior_mes = 12;  
429 - $ano_posterior_mes = $ano;  
430 - $ano_anterior_mes = $ano;  
431 - }  
432 - }  
433 - else{  
434 - if($this->permite_trocar_ano)  
435 - {  
436 - $mes_posterior_mes = $mes + 1;  
437 - $mes_anterior_mes = $mes - 1;  
438 - $ano_posterior_mes = $ano;  
439 - $ano_anterior_mes = $ano;  
440 -  
441 - $mes_ano = $mes;  
442 - $ano_posterior_ano = $ano + 1;  
443 - $ano_anterior_ano = $ano - 1;  
444 - }else{  
445 - $mes_posterior_mes = $mes + 1;  
446 - $mes_anterior_mes = $mes - 1;  
447 - $ano_posterior_mes = $ano;  
448 - $ano_anterior_mes = $ano;  
449 - }  
450 - }  
451 -  
452 -  
453 -  
454 - $form = "<form id=\"form_calendario\" name=\"form_calendario\" method=\"post\" action=\"{$linkFixo}\">  
455 - <input type=\"hidden\" id=\"nome\" name=\"nome\" value=\"\">  
456 - <input type=\"hidden\" id=\"dia\" name=\"dia\" value=\"\">  
457 - <input type=\"hidden\" id=\"mes\" name=\"mes\" value=\"\">  
458 - <input type=\"hidden\" id=\"ano\" name=\"ano\" value=\"\">  
459 - </form>";  
460 -  
461 - if($this->permite_trocar_ano == true)  
462 - {  
463 - $select = "<select name=\"mes\" id=\"smes\" onchange=\"acaoCalendario('{$nome}','',this.value,'{$ano}');\">\">";  
464 - foreach ($mesesDoAno as $key => $mes_)  
465 - {  
466 - $selected = ($dateComponents['mon'] == $key) ? "selected='selected'" : "";  
467 - $select .="<option value='{$key}' $selected>{$mes_}</option>";  
468 -  
469 - }  
470 -  
471 - $select .= "</select>";  
472 -  
473 - $cab = "<a href='#' onclick='acaoCalendario(\"{$nome}\",\"\",\"{$mes_anterior_mes}\",\"{$ano_anterior_mes}\")'><img src='/intranet/imagens/i-educar/seta_esq.gif' border='0' style='margin-right:5px;' alt='M&ecirc;s Anterior'></a>{$select}<a href='#' onclick='acaoCalendario(\"{$nome}\",\"\",\"{$mes_posterior_mes}\",\"{$ano_posterior_mes}\")'><img src='/intranet/imagens/i-educar/seta_dir.gif' border='0' style='margin-left:5px;' alt='M&ecirc;s Posterior'></a>  
474 - <a href='#' onclick='acaoCalendario(\"{$nome}\",\"\",\"{$mes_ano}\",\"{$ano_anterior_ano}\")'><img src='/intranet/imagens/i-educar/seta_esq.gif' border='0' style='margin-right:5px;' alt='M&ecirc;s Anterior'></a>{$ano}<a href='#' onclick='acaoCalendario(\"{$nome}\",\"\",\"{$mes_ano}\",\"{$ano_posterior_ano}\")'><img src='/intranet/imagens/i-educar/seta_dir.gif' border='0' style='margin-left:5px;' alt='M&ecirc;s Posterior'></a>";  
475 - }else  
476 - {  
477 - $cab = "<a href='javascript:void(1);' onclick='acaoCalendario(\"{$nome}\",\"\",\"{$mes_anterior_mes}\",\"{$ano_anterior_mes}\")'><img src='/intranet/imagens/i-educar/seta_esq.gif' border='0' style='margin-right:5px;' alt='M&ecirc;s Anterior'></a>{$NomeMes}&nbsp;{$ano}href='#' onclick='acaoCalendario(\"{$nome}\",\"\",\"{$mes_posterior_mes}\",\"{$ano_anterior_mes}\")'><img src='/intranet/imagens/i-educar/seta_dir.gif' border='0' style='margin-left:5px;' alt='M&ecirc;s Posterior'>";  
478 - }  
479 -  
480 -  
481 -  
482 - $calendario = "<div id='d_calendario' ><table class='calendar' cellspacing='0' cellpadding='0' width='{$this->largura_externa}' border='0'>";  
483 - $calendario .= "<tr><td class='cal_esq' >&nbsp;</td><td background='/intranet/imagens/i-educar/cal_bg.gif' width='100%' class='mes'>$cab</td><td align='right' class='cal_dir'>&nbsp;</td></tr>";  
484 - $calendario .= "<tr><td colspan='3' class='bordaM' >$form";  
485 - $calendario .= "<table cellspacing='0' cellpadding='0' width='100%' border=0 class='header'><tr>";  
486 -  
487 - // Create the calendar headers  
488 - foreach($diasDaSemana as $day) {  
489 - if(end($diasDaSemana) == $day)  
490 - $calendario .= "<td style='width: 45px;'>$day</td>";  
491 - else  
492 - $calendario .= "<td style='border-right: 1px dotted #FFFFFF;width: 45px;'>$day</td>";  
493 - }  
494 -  
495 - $calendario .= "</tr>";  
496 - $calendario .= "</table>";  
497 - $calendario .= "</td></tr>";  
498 -  
499 - $calendario .= "<tr><td colspan='3' style='padding: 3px' valign='top' class='bordaF'>";  
500 - $calendario .= "<table cellspacing='5' cellpadding='0' width='100%' >";  
501 - // Create the rest of the calendar  
502 -  
503 - // Initiate the day counter, starting with the 1st.  
504 -  
505 - $diaCorrente = 1;  
506 -  
507 - $calendario .= "<tr>";  
508 -  
509 - // The variable $DiaSemana is used to  
510 - // ensure that the calendar  
511 - // display consists of exactly 7 columns.  
512 -  
513 - if ($DiaSemana > 0) {  
514 - $completar_dias = $DiaSemana;  
515 - $day = date ("d", mktime (0,0,0,$dateComponents["mon"],-$completar_dias+1,$dateComponents["year"]));  
516 - for($a = 0 ; $a < $completar_dias ; $a++)  
517 - {  
518 - $calendario .= "<td class='dayLastMonth' style='padding-left:{$this->padding}px;'>{$day}</td>";  
519 - $day++;  
520 - }  
521 -  
522 - }  
523 - while ($diaCorrente <= $NumeroDiasMes) {  
524 -  
525 - // Seventh column (Saturday) reached. Start a new row.  
526 -  
527 - if ($DiaSemana == 7) {  
528 -  
529 - $DiaSemana = 0;  
530 - $calendario .= "</tr><tr>";  
531 -  
532 - }  
533 -  
534 - $style_dia ="background-color:{$this->array_cor[0]};";  
535 -  
536 - if($this->array_cor_dia_padrao[$DiaSemana])  
537 - $style_dia ="background-color:{$this->array_cor_dia_padrao[$DiaSemana]};";  
538 -  
539 -  
540 - if (key_exists($diaCorrente,$this->array_dias) /*&& $DiaSemana != 0 && $DiaSemana != 6*/) {  
541 - $key = $this->array_dias[$diaCorrente];  
542 - $cor = $this->array_cor[$key];  
543 - $style_dia ="background-color:{$cor};";  
544 - }  
545 -  
546 -  
547 - $onclick = "";  
548 -  
549 - if($this->all_days_onclick)  
550 - {  
551 - $onclick = "onclick=\"{$this->all_days_onclick}\"";  
552 - }elseif($this->all_days_url)  
553 - {  
554 - $onclick = "onclick=\"document.location='{$this->all_days_url}&dia={$diaCorrente}&mes={$mes}&ano={$ano}';\"";  
555 - }  
556 -  
557 - if (key_exists($diaCorrente,$this->array_onclick_dias))  
558 - {  
559 - $onclick = "onclick=\"{$this->array_onclick_dias[$diaCorrente]};\"";  
560 - //break;  
561 - }  
562 -  
563 - $icone = "";  
564 - if(key_exists($diaCorrente,$this->array_icone_dias)){  
565 - $icone = "<img src='{$this->array_icone[$this->array_icone_dias[$diaCorrente]]["link"]}' border='0' align='right' style='padding-right:5px;'>";  
566 - }  
567 -  
568 - $message = "";  
569 - $diaCorrente_ = strlen($diaCorrente) == 1 ? "0".$diaCorrente : $diaCorrente;  
570 - $NomeMes = strtolower($NomeMes);  
571 -  
572 - if (key_exists($diaCorrente,$this->array_div_flutuante_dias)) {  
573 - $message = "onmouseover=\"ShowContent('{$diaCorrente}','{$mes}','{$ano}','{$nome}'); return true;\"";  
574 - $mouseout = "onmouseout=\"HideContent(event,'{$diaCorrente}','{$mes}','{$ano}','{$nome}')\" ";  
575 - $mensagens .= "<div $mouseout class='div_info' style='display:none; z-index: 10;' id=\"{$nome}_div_dia_{$diaCorrente}{$mes}{$ano}\">  
576 - <div style='margin:0px 15px 0px 0px;font-size: 14px; z-index: 0; border-bottom: 1px solid #000000;'>{$diaCorrente_} de {$NomeMes} de $ano  
577 - </div>  
578 - <div style='align:left;padding-top:5px;z-index: 0;' class='dia'>  
579 - {$this->array_div_flutuante_dias[$diaCorrente]}  
580 - </div>  
581 - </div>";  
582 -  
583 - }  
584 -  
585 - $calendario .= "<td style='{$style_dia}padding-left:{$this->padding}px;' id='{$nome}_td_dia_{$diaCorrente}{$mes}{$ano}' class='day' $onclick $message>{$icone} $diaCorrente_</td>";  
586 -  
587 - // Increment counters  
588 -  
589 - $diaCorrente++;  
590 - $DiaSemana++;  
591 -  
592 - }  
593 -  
594 - // Complete the row of the last week in month, if necessary  
595 -  
596 - if ($DiaSemana != 7) {  
597 -  
598 - $remainingDays = 7 - $DiaSemana;  
599 -  
600 - for($a = 1 ; $a <= $remainingDays ; $a++)  
601 - {  
602 - //dayLastMonth  
603 - $calendario .= "<td class='dayLastMonth' style='padding-left:{$this->padding}px;'>{$a}</td>";  
604 -  
605 - }  
606 -  
607 - }  
608 -  
609 - if($this->array_legenda)  
610 - {  
611 -  
612 - $calendario .= "<tr><td colspan='7'>";  
613 - $calendario .= "<table cellspacing=2 cellpadding=0 class='legenda' width=100%>  
614 - <tr>";  
615 - $cont = 0;  
616 - foreach ($this->array_legenda as $key => $legenda){  
617 - $style = "style='background-color:{$this->array_cor["{$key}"]};'";  
618 - $calendario .= "<td {$style} class='cor'>&nbsp;</td><td>{$legenda}</td>";  
619 - $cont++;  
620 - if($cont == 3){  
621 - $calendario .= "</tr><tr>";  
622 - $cont = 0;  
623 - }  
624 - }  
625 - $calendario .= "</tr></table>";  
626 - $calendario .="</td></tr>";  
627 - }  
628 -  
629 - if($this->array_icone_dias)  
630 - {  
631 -  
632 - $calendario .= "<tr><td colspan='7'>";  
633 - $calendario .= "<table cellspacing=2 cellpadding=0 class='legenda' width=100%>  
634 - <tr align='left'>";  
635 - $cont = 0;  
636 -  
637 - foreach ($this->array_icone as $key => $legenda){  
638 - if($legenda['utilizado'])  
639 - {  
640 - $style = "style='background-color:{$this->array_cor["{$key}"]};'";  
641 - $icone = "";  
642 - $icone = "<img src='{$this->array_icone[$key]["link"]}' border='0' align='right' style='padding-right:5px;'>";  
643 - $calendario .= "<td {$style} align='left'>$icone</td><td width='100%'>{$legenda['nome']}</td>";  
644 - $cont++;  
645 - if($cont == 3){  
646 - $calendario .= "</tr><tr>";  
647 - $cont = 0;  
648 - }  
649 - }  
650 - }  
651 - $calendario .= "</tr></table>";  
652 - $calendario .="</td></tr>";  
653 - }  
654 - $calendario .= "</table>";  
655 - $calendario .= "</td></tr>";  
656 - $calendario .= "</table></div>";  
657 - $calendario .= $mensagens;  
658 - return $calendario;  
659 -  
660 - }  
661 -  
662 -};  
663 -?> 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_Include
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
  29 + */
  30 +
  31 +/**
  32 + * clsCalendario class.
  33 + *
  34 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  35 + * @category i-Educar
  36 + * @license @@license@@
  37 + * @package iEd_Include
  38 + * @since Classe disponível desde a versão 1.0.0
  39 + * @version @@package_version@@
  40 + */
  41 +class clsCalendario
  42 +{
  43 + /**
  44 + * @var int
  45 + */
  46 + var $permite_trocar_ano = 0;
  47 +
  48 + /**
  49 + * @var int
  50 + */
  51 + var $largura_externa = 400;
  52 +
  53 + /**
  54 + * @var int
  55 + */
  56 + var $largura_interna = 250;
  57 +
  58 + /**
  59 + * @var int
  60 + */
  61 + var $padding = 5;
  62 +
  63 + /**
  64 + * @var array
  65 + */
  66 + var $COR = array(
  67 + 0 => '#FADEAF',
  68 + 'LARANJA_CLARO' => '#FADEAF',
  69 + 1 => '#93BDC9',
  70 + 'AZUL_ESCURO' => '#93BDC9',
  71 + 2 => '#BCD39D',
  72 + 'VERDE_ESCURO' => '#BCD39D',
  73 + 3 => '#C7D5E0',
  74 + 'AZUL_CLARO' => '#C7D5E0',
  75 + 4 => '#E5D6DD',
  76 + 'ROSA' => '#E5D6DD',
  77 + 5 => '#E9D1AF',
  78 + 'LARANJA_ESCURO' => '#E9D1AF',
  79 + 6 => '#E9E6BB',
  80 + 'AMARELO' => '#E9E6BB',
  81 + 7 => '#C9D9CF',
  82 + 'VERDE_CLARO' => '#C9D9CF',
  83 + 8 => '#DDE3D9',
  84 + 'CINZA' => '#DDE3D9',
  85 + );
  86 +
  87 + /**
  88 + * @var array
  89 + */
  90 + var $array_icone = array(
  91 + 'A' => array(
  92 + 'nome' => 'Anotações',
  93 + 'link' => '/intranet/imagens/i-educar/letra_a.gif'
  94 + ),
  95 + ''
  96 + );
  97 +
  98 + /**
  99 + * @var array
  100 + */
  101 + var $array_icone_dias = array();
  102 +
  103 + /**
  104 + * Cores da legenda.
  105 + * @var array
  106 + */
  107 + var $array_cor = array('#F7F7F7');
  108 +
  109 + /**
  110 + * Legendas.
  111 + * @var array
  112 + */
  113 + var $array_legenda = array('Padrão');
  114 +
  115 + /**
  116 + * Cor para os dias da semana.
  117 + * @var array
  118 + */
  119 + var $array_cor_dia_padrao = array();
  120 +
  121 + /**
  122 + * Dias do mês.
  123 + * @var array
  124 + */
  125 + var $array_dias = array();
  126 +
  127 + /**
  128 + * Javascript de um "dia".
  129 + * @var array
  130 + */
  131 + var $all_days_onclick;
  132 +
  133 + /**
  134 + * URL de um "dia".
  135 + * @var array
  136 + */
  137 + var $all_days_url;
  138 +
  139 + /**
  140 + * @var array
  141 + */
  142 + var $array_onclick_dias = array();
  143 +
  144 + /**
  145 + * Div flutuante para dias.
  146 + * @var array
  147 + */
  148 + var $array_div_flutuante_dias = array();
  149 +
  150 + function resetAll()
  151 + {
  152 + $this->array_div_flutuante_dias = array();
  153 + $this->array_onclick_dias = array();
  154 + $this->array_dias = array();
  155 + $this->array_cor_dia_padrao = array();
  156 + $this->array_legenda = array('Padrão');
  157 + $this->array_cor = array('#F7F7F7');
  158 + $this->largura_externa = 400;
  159 + $this->largura_interna = 250;
  160 + $this->padding = 5;
  161 + }
  162 +
  163 + /**
  164 + * @param int $int_largura
  165 + */
  166 + function setLargura($int_largura)
  167 + {
  168 + $this->largura_externa = $int_largura;
  169 +
  170 + if ($int_largura > 250) {
  171 + $this->largura_interna = $this->largura_externa - 121;
  172 + }
  173 + else {
  174 + $this->largura_interna = '40%';
  175 + }
  176 +
  177 + $this->padding = floor((($int_largura - 30) / 7 ) / 10) * 2;
  178 + }
  179 +
  180 + /**
  181 + * @param array $arr_dias
  182 + * @param array $array_mensagem_dias
  183 + */
  184 + function diaDescricao($arr_dias, $array_mensagem_dias)
  185 + {
  186 + if (is_array($arr_dias)) {
  187 + foreach ($arr_dias as $key => $dia) {
  188 + $this->array_div_flutuante_dias[$key] = $array_mensagem_dias[$key];
  189 + }
  190 + }
  191 + }
  192 +
  193 + /**
  194 + * @param array $arr_dias
  195 + * @param array $array_onclick_dias
  196 + */
  197 + function diaOnClick($arr_dias, $array_onclick_dias)
  198 + {
  199 + if (is_array($arr_dias)) {
  200 + foreach ($arr_dias as $key => $dia) {
  201 + $this->array_onclick_dias[$dia][] = $array_onclick_dias[$key];
  202 + }
  203 + }
  204 + }
  205 +
  206 + /**
  207 + * @param array $arr_dias
  208 + * @param string $id_icone
  209 + */
  210 + function adicionarIconeDias($arr_dias, $id_icone)
  211 + {
  212 + if (is_array($arr_dias)) {
  213 + foreach ($arr_dias as $key => $dia) {
  214 + if (key_exists($id_icone,$this->array_icone)) {
  215 + $this->array_icone_dias[$dia] = $id_icone;
  216 + $this->array_icone[$id_icone]['utilizado'] = TRUE;
  217 + }
  218 + }
  219 + }
  220 + }
  221 +
  222 + /**
  223 + * @param string $str_legenda
  224 + * @param string $str_cor
  225 + */
  226 + function adicionarLegenda($str_legenda, $str_cor)
  227 + {
  228 + $key = array_search($str_legenda, $this->array_legenda);
  229 +
  230 + if (!empty($key))
  231 + if($this->array_legenda[$key] == $str_legenda)
  232 + return;
  233 +
  234 + $this->array_legenda[] = $str_legenda;
  235 + $str_cor = strtoupper($str_cor);
  236 + $this->array_cor[] = $this->COR[$str_cor];
  237 + }
  238 +
  239 + /**
  240 + * @param string $str_legenda
  241 + * @param string $str_cor
  242 + */
  243 + function setLegendaPadrao($str_legenda, $str_cor = '#F7F7F7')
  244 + {
  245 + $this->array_legenda[0] = $str_legenda;
  246 + $this->array_cor[0] = $this->COR[$str_cor];
  247 + }
  248 +
  249 + /**
  250 + * @param array $arr_dia_semana
  251 + * @param string $str_cor
  252 + */
  253 + function setCorDiaSemana($arr_dia_semana, $str_cor)
  254 + {
  255 + $str_cor = strtoupper($str_cor);
  256 +
  257 + if (is_array($arr_dia_semana))
  258 + foreach ($arr_dia_semana as $dia) {
  259 + $this->array_cor_dia_padrao[$dia] = $this->COR[$str_cor];
  260 + }
  261 + else {
  262 + $this->array_cor_dia_padrao["{$arr_dia_semana}"] = $str_cor;
  263 + }
  264 + }
  265 +
  266 + /**
  267 + * Adiciona os dias do mês com a sua legenda.
  268 + * @param string $str_cod_legenda
  269 + * @param int $dias
  270 + */
  271 + function adicionarArrayDias($str_cod_legenda, $dias)
  272 + {
  273 + $key = array_shift(array_keys($this->array_legenda, $str_cod_legenda));
  274 +
  275 + foreach ($dias as $dia) {
  276 + $dia = (int) $dia;
  277 + $this->array_dias[$dia] = $key;
  278 + }
  279 +
  280 + ksort($this->array_dias);
  281 + }
  282 +
  283 + /**
  284 + * Retorna o código HTML do calendário.
  285 + *
  286 + * Parte do código foi baseada em um tutorial antigo disponível
  287 + * no site da Zend. A URL original não existe mais mas, parte do
  288 + * código foi preservado por um blogueiro no endereço <http://miud.in/7NM>.
  289 + * Não existe informação de licenciamento relevante.
  290 + *
  291 + * @link http://miud.in/7NM Código fonte da geração de calendário
  292 + * @param int $mes
  293 + * @param int $ano
  294 + * @param string $nome
  295 + * @param mixed mixVariaveisMantidas
  296 + * @return string
  297 + * @todo Substituir código de geração de calendário por uma biblioteca
  298 + * com licença compatível com GPL2
  299 + */
  300 + function getCalendario($mes, $ano, $nome, $mixVariaveisMantidas)
  301 + {
  302 + $array_color = $array_color;
  303 + $array_legenda = $array_legenda;
  304 +
  305 + if (
  306 + isset($mixVariaveisMantidas["{$nome}_mes"]) &&
  307 + is_numeric($mixVariaveisMantidas["{$nome}_mes"])
  308 + ) {
  309 + $mes = $mixVariaveisMantidas["{$nome}_mes"];
  310 + }
  311 +
  312 + if(
  313 + isset($mixVariaveisMantidas["{$nome}_ano"]) &&
  314 + is_numeric($mixVariaveisMantidas["{$nome}_ano"]) &&
  315 + $this->permite_trocar_ano == true
  316 + ) {
  317 + $ano = $mixVariaveisMantidas["{$nome}_ano"];
  318 + }
  319 +
  320 + // Array com todos os dias da semana
  321 + $diasDaSemana = array('DOM', 'SEG', 'TER', 'QUA', 'QUI', 'SEX', 'SAB');
  322 +
  323 + $mesesDoAno = array(
  324 + '1' => 'JANEIRO',
  325 + '2' => 'FEVEREIRO',
  326 + '3' => 'MARÇO',
  327 + '4' => 'ABRIL',
  328 + '5' => 'MAIO',
  329 + '6' => 'JUNHO',
  330 + '7' => 'JULHO',
  331 + '8' => 'AGOSTO',
  332 + '9' => 'SETEMBRO',
  333 + '10' => 'OUTUBRO',
  334 + '11' => 'NOVEMBRO',
  335 + '12' => 'DEZEMBRO'
  336 + );
  337 +
  338 + // Qual o primeiro dia do mes
  339 + $primeiroDiaDoMes = mktime(0, 0, 0, $mes, 1, $ano);
  340 +
  341 + // Quantos dias tem o mes
  342 + $NumeroDiasMes = date('t', $primeiroDiaDoMes);
  343 +
  344 + // Retrieve some information about the first day of the
  345 + // month in question.
  346 + $dateComponents = getdate($primeiroDiaDoMes);
  347 +
  348 + // What is the name of the month in question?
  349 + $NomeMes = $mesesDoAno[$dateComponents['mon']];
  350 +
  351 + // What is the index value (0-6) of the first day of the
  352 + // month in question.
  353 + $DiaSemana = $dateComponents['wday'];
  354 +
  355 + // Create the table tag opener and day headers
  356 + // GET
  357 + $linkFixo = $strUrl . "?";
  358 + if (is_array($mixVariaveisMantidas)) {
  359 + foreach ($mixVariaveisMantidas as $key => $value) {
  360 + if ($key != "{$nome}_mes" && $key != "{$nome}_ano") {
  361 + $linkFixo .= $key=$value . '&';
  362 + }
  363 + }
  364 + }
  365 + else {
  366 + if (is_string($mixVariaveisMantidas)) {
  367 + $linkFixo .= "$mixVariaveisMantidas&";
  368 + }
  369 + }
  370 +
  371 + $linkFixo = $linkFixo == '?' ? '' : $linkFixo;
  372 +
  373 + if ($mes == 12) {
  374 + if ($this->permite_trocar_ano) {
  375 + $mes_posterior_mes = 1;
  376 + $mes_anterior_mes = 11;
  377 + $ano_posterior_mes = $ano + 1;
  378 + $ano_anterior_mes = $ano;
  379 +
  380 + $mes_ano = $mes;
  381 + $ano_posterior_ano = $ano + 1;
  382 + $ano_anterior_ano = $ano - 1;
  383 + }
  384 + else {
  385 + $mes_posterior_mes = 1;
  386 + $mes_anterior_mes = 11;
  387 + $ano_posterior_mes = $ano;
  388 + $ano_anterior_mes = $ano;
  389 + }
  390 + }
  391 + elseif ($mes == 1) {
  392 + if ($this->permite_trocar_ano) {
  393 + $mes_posterior_mes = 2;
  394 + $mes_anterior_mes = 12;
  395 + $ano_posterior_mes = $ano;
  396 + $ano_anterior_mes = $ano - 1;
  397 +
  398 + $mes_ano = $mes;
  399 + $ano_posterior_ano = $ano + 1;
  400 + $ano_anterior_ano = $ano - 1;
  401 + }
  402 + else {
  403 + $mes_posterior_mes = 2;
  404 + $mes_anterior_mes = 12;
  405 + $ano_posterior_mes = $ano;
  406 + $ano_anterior_mes = $ano;
  407 + }
  408 + }
  409 + else {
  410 + if ($this->permite_trocar_ano) {
  411 + $mes_posterior_mes = $mes + 1;
  412 + $mes_anterior_mes = $mes - 1;
  413 + $ano_posterior_mes = $ano;
  414 + $ano_anterior_mes = $ano;
  415 +
  416 + $mes_ano = $mes;
  417 + $ano_posterior_ano = $ano + 1;
  418 + $ano_anterior_ano = $ano - 1;
  419 + }
  420 + else {
  421 + $mes_posterior_mes = $mes + 1;
  422 + $mes_anterior_mes = $mes - 1;
  423 + $ano_posterior_mes = $ano;
  424 + $ano_anterior_mes = $ano;
  425 + }
  426 + }
  427 +
  428 + $form = sprintf('
  429 + <form id="form_calendario" name="form_calendario" method="post" action="%s">
  430 + <input type="hidden" id="nome" name="nome" value="">
  431 + <input type="hidden" id="dia" name="dia" value="">
  432 + <input type="hidden" id="mes" name="mes" value="">
  433 + <input type="hidden" id="ano" name="ano" value="">
  434 + </form>', $linkFixo);
  435 +
  436 + if ($this->permite_trocar_ano == TRUE) {
  437 + $select = sprintf(
  438 + '<select name="mes" id="smes" onchange="acaoCalendario(\'%s\', \'\', this.value, \'%s\');">',
  439 + $nome, $ano
  440 + );
  441 +
  442 + foreach ($mesesDoAno as $key => $mes_) {
  443 + $selected = ($dateComponents['mon'] == $key) ? 'selected="selected"' : '';
  444 + $select .= sprintf(
  445 + '<option value="%s" %s>%s</option>',
  446 + $key, $selected, $mes_
  447 + );
  448 + }
  449 +
  450 + $select .= '</select>';
  451 +
  452 + $cab = array();
  453 + $cab[] = sprintf('
  454 + <a href="#" onclick="acaoCalendario(\'%s\', \'\', \'%s\', \'%s\')">
  455 + <img src="/intranet/imagens/i-educar/seta_esq.gif" border="0" style="margin-right: 5px;" alt="Mês Anterior">
  456 + </a>
  457 + %s',
  458 + $nome, $mes_anterior_mes, $ano_anterior_mes, $select);
  459 +
  460 + $cab[] = sprintf('
  461 + <a href="#" onclick="acaoCalendario(\'%s\', \'\', \'%s\', \'%s\')">
  462 + <img src="/intranet/imagens/i-educar/seta_dir.gif" border="0" style="margin-left: 5px;" alt="Mês Posterior">
  463 + </a>',
  464 + $nome, $mes_posterior_mes, $ano_posterior_mes);
  465 +
  466 + $cab[] = sprintf('
  467 + <a href="#" onclick="acaoCalendario(\'%s\', \'\', \'%s\', \'%s\')">
  468 + <img src="/intranet/imagens/i-educar/seta_esq.gif" border="0" style="margin-right: 5px;" alt="Mês Anterior">
  469 + </a>
  470 + %s
  471 + ', $nome, $mes_ano, $ano_anterior_ano, $ano);
  472 +
  473 + $cab[] = sprintf('
  474 + <a href="#" onclick="acaoCalendario(\'%s\', \'\', \'%s\', \'%s\')">
  475 + <img src="/intranet/imagens/i-educar/seta_dir.gif" border="0" style="margin-left: 5px;" alt="Mês Posterior">
  476 + </a>',
  477 + $nome, $mes_ano, $ano_posterior_ano);
  478 +
  479 + $cab = implode("\n", $cab);
  480 + }
  481 + else {
  482 + $cab = array();
  483 +
  484 + $cab[] = sprintf('
  485 + <a href="javascript:void(1);" onclick="acaoCalendario(\'%s\',\'\',\'%s\',\'%s\')">
  486 + <img src="/intranet/imagens/i-educar/seta_esq.gif" border="0" style="margin-right: 5px;" alt="Mês Anterior">
  487 + </a>
  488 + %s&nbsp;
  489 + %s',
  490 + $nome, $mes_anterior_mes, $ano_anterior_mes, $NomeMes, $ano
  491 + );
  492 +
  493 + $cab[] = sprintf('
  494 + <a href="#" onclick="acaoCalendario(\'%s\', \'\', \'%s\', \'%s\')">
  495 + <img src="/intranet/imagens/i-educar/seta_dir.gif" border="0" style="margin-left: 5px;" alt="Mês Posterior">
  496 + </a>',
  497 + $nome, $mes_posterior_mes, $ano_anterior_mes);
  498 +
  499 + $cab = implode("\n", $cab);
  500 + }
  501 +
  502 + $calendario = sprintf('
  503 + <div id="d_calendario">
  504 + <table class="calendar" cellspacing="0" cellpadding="0" width="%s" border="0">',
  505 + $this->largura_externa
  506 + );
  507 +
  508 + $calendario .= sprintf('
  509 + <tr>
  510 + <td class="cal_esq">&nbsp;</td>
  511 + <td background="/intranet/imagens/i-educar/cal_bg.gif" width="100%%" class="mes">%s</td>
  512 + <td align="right" class="cal_dir">&nbsp;</td>
  513 + </tr>',
  514 + $cab
  515 + );
  516 +
  517 + $calendario .= sprintf('<tr><td colspan="3" class="bordaM">%s', $form);
  518 + $calendario .= '<table cellspacing="0" cellpadding="0" width="100%%" border="0" class="header"><tr>';
  519 +
  520 + // Create the calendar headers
  521 + foreach($diasDaSemana as $day) {
  522 + if (end($diasDaSemana) == $day) {
  523 + $calendario .= sprintf('<td style="width: 45px;">%s</td>', $day);
  524 + }
  525 + else {
  526 + $calendario .= sprintf(
  527 + '<td style="border-right: 1px dotted #FFFFFF; width: 45px;">%s</td>', $day
  528 + );
  529 + }
  530 + }
  531 +
  532 + $calendario .= '</tr>';
  533 + $calendario .= '</table>';
  534 + $calendario .= '</td></tr>';
  535 +
  536 + $calendario .= '<tr><td colspan="3" style="padding: 3px" valign="top" class="bordaF">';
  537 + $calendario .= '<table cellspacing="5" cellpadding="0" width="100%">';
  538 +
  539 + // Create the rest of the calendar
  540 + // Initiate the day counter, starting with the 1st.
  541 + $diaCorrente = 1;
  542 + $calendario .= '<tr>';
  543 +
  544 + // The variable $DiaSemana is used to
  545 + // ensure that the calendar
  546 + // display consists of exactly 7 columns.
  547 + if ($DiaSemana > 0) {
  548 + $completar_dias = $DiaSemana;
  549 + $ts = mktime(0, 0, 0, $dateComponents['mon'], -$completar_dias + 1, $dateComponents['year']);
  550 + $day = date('d', $ts);
  551 +
  552 + for ($a = 0; $a < $completar_dias; $a++) {
  553 + $calendario .= sprintf(
  554 + '<td class="dayLastMonth" style="padding-left:%spx;">%s</td>',
  555 + $this->padding, $day
  556 + );
  557 +
  558 + $day++;
  559 + }
  560 + }
  561 +
  562 + while ($diaCorrente <= $NumeroDiasMes) {
  563 + // Seventh column (Saturday) reached. Start a new row.
  564 + if ($DiaSemana == 7) {
  565 + $DiaSemana = 0;
  566 + $calendario .= '</tr><tr>';
  567 + }
  568 +
  569 + $style_dia = sprintf('background-color: %s;', $this->array_cor[0]);
  570 +
  571 + if ($this->array_cor_dia_padrao[$DiaSemana])
  572 + $style_dia = sprintf('background-color: %s;', $this->array_cor_dia_padrao[$DiaSemana]);
  573 +
  574 + if (key_exists($diaCorrente,$this->array_dias)) {
  575 + $key = $this->array_dias[$diaCorrente];
  576 + $cor = $this->array_cor[$key];
  577 + $style_dia = sprintf('background-color: %s;', $cor);
  578 + }
  579 +
  580 + $onclick = '';
  581 +
  582 + if ($this->all_days_onclick) {
  583 + $onclick = sprintf('onclick="%s"', $this->all_days_onclick);
  584 + }
  585 + elseif ($this->all_days_url) {
  586 + $onclick = sprintf(
  587 + 'onclick="document.location=\'%s&dia=%s&mes=%s&ano=%s\';"',
  588 + $this->all_days_url, $diaCorrente, $mes, $ano
  589 + );
  590 + }
  591 +
  592 + if (key_exists($diaCorrente,$this->array_onclick_dias)) {
  593 + $onclick = sprintf('onclick="%s;"', $this->array_onclick_dias[$diaCorrente]);
  594 + }
  595 +
  596 + $icone = '';
  597 +
  598 + if (key_exists($diaCorrente, $this->array_icone_dias)) {
  599 + $icone = sprintf(
  600 + '<img src="%s" border="0" align="right" alt="%s" style="padding-right: 5px;">',
  601 + $this->array_icone[$this->array_icone_dias[$diaCorrente]]['link'],
  602 + $this->array_icone[$this->array_icone_dias[$diaCorrente]]['nome']
  603 + );
  604 + }
  605 +
  606 + $message = '';
  607 + $diaCorrente_ = strlen($diaCorrente) == 1 ? '0' . $diaCorrente : $diaCorrente;
  608 + $NomeMes = strtolower($NomeMes);
  609 +
  610 + if (key_exists($diaCorrente,$this->array_div_flutuante_dias)) {
  611 + $message = "onmouseover=\"ShowContent('{$diaCorrente}','{$mes}','{$ano}','{$nome}'); return true;\"";
  612 + $mouseout = "onmouseout=\"HideContent(event,'{$diaCorrente}','{$mes}','{$ano}','{$nome}')\" ";
  613 + $mensagens .= "
  614 + <div $mouseout class='div_info' style='display:none; z-index: 10;' id=\"{$nome}_div_dia_{$diaCorrente}{$mes}{$ano}\">
  615 + <div style='margin:0px 15px 0px 0px;font-size: 14px; z-index: 0; border-bottom: 1px solid #000000;'>{$diaCorrente_} de {$NomeMes} de $ano
  616 + </div>
  617 + <div style='align:left;padding-top:5px;z-index: 0;' class='dia'>
  618 + {$this->array_div_flutuante_dias[$diaCorrente]}
  619 + </div>
  620 + </div>";
  621 + }
  622 +
  623 + $calendario .= sprintf("
  624 + <td style='%s padding-left: %spx;' id='%s_td_dia_%s%s%s' class='day' %s %s>
  625 + %s %s
  626 + </td>",
  627 + $style_dia, $this->padding, $nome, $diaCorrente, $mes, $ano, $onclick, $message,
  628 + $icone, $diaCorrente_);
  629 +
  630 + // Increment counters
  631 + $diaCorrente++;
  632 + $DiaSemana++;
  633 + }
  634 +
  635 + // Complete the row of the last week in month, if necessary
  636 + if ($DiaSemana != 7) {
  637 + $remainingDays = 7 - $DiaSemana;
  638 +
  639 + for ($a = 1 ; $a <= $remainingDays ; $a++) {
  640 + //dayLastMonth
  641 + $calendario .= sprintf('
  642 + <td class="dayLastMonth" style="padding-left:%spx;">%s</td>',
  643 + $this->padding, $a
  644 + );
  645 + }
  646 + }
  647 +
  648 + if ($this->array_legenda) {
  649 + $calendario .= '<tr><td colspan="7">';
  650 + $calendario .= '
  651 + <table cellspacing="2" cellpadding="0" class="legenda" width="100%">
  652 + <tr>';
  653 +
  654 + $cont = 0;
  655 +
  656 + foreach ($this->array_legenda as $key => $legenda) {
  657 + $style = sprintf(
  658 + 'style="background-color: %s;"', $this->array_cor[$key]
  659 + );
  660 +
  661 + $calendario .= sprintf(
  662 + '<td %s class="cor">&nbsp;</td><td>%s</td>', $style, $legenda
  663 + );
  664 +
  665 + $cont++;
  666 +
  667 + if ($cont == 3) {
  668 + $calendario .= '</tr><tr>';
  669 + $cont = 0;
  670 + }
  671 + }
  672 +
  673 + $calendario .= '</tr></table>';
  674 + $calendario .= '</td></tr>';
  675 + }
  676 +
  677 + if ($this->array_icone_dias) {
  678 + $calendario .= '<tr><td colspan="7">';
  679 + $calendario .= '<table cellspacing="2" cellpadding="0" class="legenda" width="100%">
  680 + <tr align="left">';
  681 +
  682 + $cont = 0;
  683 +
  684 + foreach ($this->array_icone as $key => $legenda) {
  685 + if ($legenda['utilizado']) {
  686 + $style = sprintf('style="background-color: %s;"', $this->array_cor[$key]);
  687 + $icone = '';
  688 +
  689 + $icone = sprintf(
  690 + '<img src="%s" border="0" align="left" alt="%s" style="padding-right: 5px;">',
  691 + $this->array_icone[$key]['link'], $this->array_icone[$key]['nome']
  692 + );
  693 +
  694 + $calendario .= sprintf(
  695 + '<td %s align="left"></td><td width="100%%">%s %s</td>',
  696 + $style, $icone, $legenda['nome']
  697 + );
  698 +
  699 + $cont++;
  700 +
  701 + if ($cont == 3) {
  702 + $calendario .= '</tr><tr>';
  703 + $cont = 0;
  704 + }
  705 + }
  706 + }
  707 +
  708 + $calendario .= '</tr></table>';
  709 + $calendario .= '</td></tr>';
  710 + }
  711 +
  712 + $calendario .= '</table>';
  713 + $calendario .= '</td></tr>';
  714 + $calendario .= '</table></div>';
  715 +
  716 + $calendario .= $mensagens;
  717 +
  718 + return $calendario;
  719 + }
  720 +}
664 \ No newline at end of file 721 \ No newline at end of file
ieducar/intranet/educar_calendario_ano_letivo_lst.php
@@ -270,6 +270,7 @@ class indice extends clsConfig @@ -270,6 +270,7 @@ class indice extends clsConfig
270 } 270 }
271 } 271 }
272 272
  273 +
273 // Monta a lista 274 // Monta a lista
274 if (is_array($lista) && count($lista)) { 275 if (is_array($lista) && count($lista)) {
275 foreach ($lista as $key => $registro) { 276 foreach ($lista as $key => $registro) {
@@ -300,6 +301,7 @@ class indice extends clsConfig @@ -300,6 +301,7 @@ class indice extends clsConfig
300 301
301 $inicio_ano = explode('/', dataFromPgToBr($inicio_ano)); 302 $inicio_ano = explode('/', dataFromPgToBr($inicio_ano));
302 $fim_ano = explode('/', dataFromPgToBr($fim_ano)); 303 $fim_ano = explode('/', dataFromPgToBr($fim_ano));
  304 +
303 $obj_calendario = new clsCalendario(); 305 $obj_calendario = new clsCalendario();
304 $obj_calendario->setLargura(600); 306 $obj_calendario->setLargura(600);
305 $obj_calendario->permite_trocar_ano = TRUE; 307 $obj_calendario->permite_trocar_ano = TRUE;
ieducar/intranet/scripts/calendario.js
1 -  
2 -var isIE = (navigator.appName.indexOf("Microsoft")!= -1) ? 1:0  
3 -if(!isIE)  
4 - window.addEventListener("resize", updateMessagePosition, false);  
5 -else  
6 - window.onresize = updateMessagePosition;  
7 -//body.onresize = updateMessagePosit//ion;  
8 -  
9 -function updateMessagePosition(){  
10 -  
11 - if(!last_td)  
12 - return;  
13 - tamanhoTela();  
14 - var subtract;  
15 -  
16 - if(findPosX(last_td) > winW/2){  
17 - if(navigator.appName.indexOf("Microsoft") == 0 ){  
18 - subtract = -317 + 45 +20;  
19 - }else{  
20 - subtract = -317 + 45;  
21 - }  
22 -  
23 - }else{  
24 -  
25 - subtract = 2;  
26 -  
27 - }  
28 -  
29 - last.style.left = (findPosX(last_td)+subtract) + "px";  
30 -  
31 - last.style.top = (findPosY(last_td)+2) + "px";  
32 - 1 +/**
  2 + * i-Educar - Sistema de gestão escolar
  3 + *
  4 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  5 + * <ctima@itajai.sc.gov.br>
  6 + *
  7 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  8 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  9 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  10 + * qualquer versão posterior.
  11 + *
  12 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  13 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  14 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  15 + * do GNU para mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  18 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  19 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  20 + *
  21 + * Parte do código foi baseada em um tutorial antigo disponível
  22 + * no site da Zend. A URL original não existe mais mas, parte do
  23 + * código foi preservado por um blogueiro no endereço <http://miud.in/7NM>.
  24 + * Não existe informação de licenciamento relevante. Veja o arquivo
  25 + * intranet/clsCalendario.inc.php para mais informações.
  26 + *
  27 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  28 + * @category i-Educar
  29 + * @license @@license@@
  30 + * @since Arquivo disponível desde a versão 1.0.0
  31 + * @version $Id$
  32 + */
  33 +
  34 +var isIE = (navigator.appName.indexOf('Microsoft')!= -1) ? 1 : 0
  35 +
  36 +if (! isIE) {
  37 + window.addEventListener('resize', updateMessagePosition, false);
  38 +}
  39 +else {
  40 + window.onresize = updateMessagePosition;
33 } 41 }
34 42
35 -if(document.createStyleSheet){  
36 - document.createStyleSheet('styles/calendario.css'); 43 +function updateMessagePosition()
  44 +{
  45 + if (! last_td) {
  46 + return;
  47 + }
37 48
38 - }else{  
39 - var objHead = document.getElementsByTagName('head');  
40 - var objCSS = objHead[0].appendChild(document.createElement('link'));  
41 - //objCSS = document.createElement('link');  
42 - objCSS.rel = 'stylesheet';  
43 - objCSS.href = 'styles/calendario.css';  
44 - objCSS.type = 'text/css'; 49 + tamanhoTela();
  50 + var subtract;
45 51
  52 + if (findPosX(last_td) > winW / 2) {
  53 + if (navigator.appName.indexOf('Microsoft') == 0) {
  54 + subtract = -317 + 45 +20;
  55 + }
  56 + else {
  57 + subtract = -317 + 45;
  58 + }
  59 + }
  60 + else {
  61 + subtract = 2;
  62 + }
46 63
47 - } 64 + last.style.left = (findPosX(last_td) + subtract) + 'px';
  65 + last.style.top = (findPosY(last_td) + 2) + 'px';
  66 +}
48 67
49 -function init(){ 68 +if (document.createStyleSheet) {
  69 + document.createStyleSheet('styles/calendario.css');
  70 +}
  71 +else {
  72 + var objHead = document.getElementsByTagName('head');
  73 + var objCSS = objHead[0].appendChild(document.createElement('link'));
50 74
51 - var div_calendario = document.getElementById('d_calendario'); 75 + objCSS.rel = 'stylesheet';
  76 + objCSS.href = 'styles/calendario.css';
  77 + objCSS.type = 'text/css';
  78 +}
52 79
53 - if(!div_calendario)  
54 - return;  
55 - // Internet Explorer:  
56 - if (document.all)  
57 - div_calendario.onselectstart = function () {return false; }; 80 +function init()
  81 +{
  82 + var div_calendario = document.getElementById('d_calendario');
58 83
59 - // Netscape 4:  
60 - if (document.layers) {  
61 - document.captureEvents(Event.MOUSEDOWN);  
62 - div_calendario.onmousedown =function (evt) { return false; };  
63 - } 84 + if (! div_calendario) {
  85 + return;
  86 + }
64 87
65 - // Netscape 6:  
66 - div_calendario.onmousedown = function () { return false; }; 88 + // Internet Explorer:
  89 + if (document.all) {
  90 + div_calendario.onselectstart = function () { return false; };
  91 + }
67 92
  93 + // Netscape 4:
  94 + if (document.layers) {
  95 + document.captureEvents(Event.MOUSEDOWN);
  96 + div_calendario.onmousedown = function (evt) {
  97 + return false;
  98 + };
  99 + }
68 100
  101 + // Netscape 6:
  102 + div_calendario.onmousedown = function () {
  103 + return false;
  104 + };
69 } 105 }
  106 +
70 window.onload = init; 107 window.onload = init;
71 108
  109 +var cX = 0;
  110 +var cY = 0;
72 111
73 -var cX = 0; var cY = 0;  
74 var last; 112 var last;
75 var last_td; 113 var last_td;
76 var fechou = false; 114 var fechou = false;
77 -//function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}  
78 -//function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}  
79 -//if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }  
80 -//else { document.onmousemove = UpdateCursorPosition; }  
81 - //var screen_width = screen.availWidth;  
82 -//alert(parent.innerWidth);  
83 -  
84 -function AssignPosition(d,m,y,nome) {  
85 -  
86 - var dd = document.getElementById(nome + '_td_dia_' + d + '' + m + '' + y);  
87 - var d = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y);  
88 - last_td = dd;  
89 - tamanhoTela();  
90 - var subtract;  
91 115
92 - if(findPosX(dd) > winW/2){  
93 -  
94 - if(navigator.appName.indexOf("Microsoft") == 0 ){  
95 - subtract = -317 + 72 + 20;  
96 - }else{  
97 - subtract = -317 + 72;  
98 - //45  
99 - } 116 +function AssignPosition(d,m,y,nome)
  117 +{
  118 + var dd = document.getElementById(nome + '_td_dia_' + d + '' + m + '' + y);
  119 + var d = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y);
100 120
101 - }else{ 121 + last_td = dd;
  122 + tamanhoTela();
102 123
103 - subtract = 2; 124 + var subtract;
104 125
105 - } 126 + if (findPosX(dd) > winW/2) {
  127 + if (navigator.appName.indexOf('Microsoft') == 0) {
  128 + subtract = -317 + 72 + 20;
  129 + }
  130 + else {
  131 + subtract = -317 + 72;
  132 + }
  133 + }
  134 + else {
  135 + subtract = 2;
  136 + }
106 137
107 - d.style.left = (findPosX(dd)+subtract) + "px"; 138 + d.style.left = (findPosX(dd) + subtract) + 'px';
108 139
109 - d.style.top = (findPosY(dd)+2) + "px"; 140 + d.style.top = (findPosY(dd) + 2) + 'px';
110 } 141 }
111 142
112 -function HideContent(event,d,m,y,nome) {  
113 -  
114 -  
115 - if(d.length < 1) {  
116 -  
117 - return;  
118 - } 143 +function HideContent(event, d, m, y, nome)
  144 +{
  145 + if (d.length < 1) {
  146 + return;
  147 + }
119 148
120 if (window.event) { 149 if (window.event) {
121 current = this; 150 current = this;
@@ -124,133 +153,135 @@ function HideContent(event,d,m,y,nome) { @@ -124,133 +153,135 @@ function HideContent(event,d,m,y,nome) {
124 else { 153 else {
125 current = event.currentTarget; 154 current = event.currentTarget;
126 related = event.relatedTarget; 155 related = event.relatedTarget;
127 - //alert(current + ' - ' + related );  
128 } 156 }
129 - var dv = document.getElementById(nome + '_div_dia_'+ d + '' + m + '' + y);  
130 - b = related;  
131 - while (b.parentNode){  
132 - if ((b = b.parentNode) == dv && (b.tagName == 'DIV' || b.tagName == 'TD'))  
133 - return true;  
134 - }  
135 -  
136 157
137 - // document.getElementById(nome + '_div_dia_'+ d + '' + m + '' + y).style.display = "none";  
138 - var nome_div = nome + '_div_dia_'+ d + '' + m + '' + y; 158 + var dv = document.getElementById(nome + '_div_dia_'+ d + '' + m + '' + y);
139 159
140 - //alert("esconder(document.getElementById("+nome+" + '_div_dia_'+" + d + "+ '' +" + m + "+ '' +" + y + "))");  
141 - //return;  
142 - setTimeout("esconder("+ nome_div + ");",500); 160 + b = related;
143 161
144 - setInterval('fechou=false;',1000);  
145 -} 162 + while (b.parentNode) {
  163 + if ((b = b.parentNode) == dv && (b.tagName == 'DIV' || b.tagName == 'TD')) {
  164 + return true;
  165 + }
  166 + }
146 167
147 -function esconder(el){  
148 - fechou = true;  
149 - el.style.display = "none"; 168 + var nome_div = nome + '_div_dia_'+ d + '' + m + '' + y;
150 169
  170 + setTimeout('esconder(' + nome_div + ');', 500);
  171 + setInterval('fechou=false;', 1000);
151 } 172 }
152 173
153 -function ShowContent(d,m,y,nome) {  
154 - if(fechou)  
155 - return;  
156 - var dd = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y);  
157 - if(dd != last && last != null)  
158 - last.style.display = "none"; 174 +function esconder(el)
  175 +{
  176 + fechou = true;
  177 + el.style.display = 'none';
  178 +}
159 179
160 - if(d.length < 1) {  
161 - return;  
162 - } 180 +function ShowContent(d, m, y, nome)
  181 +{
  182 + if (fechou) {
  183 + return;
  184 + }
163 185
164 - var dd = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y); 186 + var dd = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y);
165 187
166 - AssignPosition(d,m,y,nome); 188 + if (dd != last && last != null) {
  189 + last.style.display = 'none';
  190 + }
167 191
168 - dd.style.display = ""; 192 + if (d.length < 1) {
  193 + return;
  194 + }
169 195
170 - last = dd; 196 + var dd = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y);
171 197
  198 + AssignPosition(d, m, y, nome);
  199 + dd.style.display = '';
  200 + last = dd;
172 } 201 }
173 202
174 -function ReverseContentDisplay(d,m,y,nome) {  
175 -  
176 - if(d.length < 1) {  
177 - return;  
178 - } 203 +function ReverseContentDisplay(d, m, y, nome)
  204 +{
  205 + if (d.length < 1) {
  206 + return;
  207 + }
179 208
180 - var dd = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y); 209 + var dd = document.getElementById(nome + '_div_dia_' + d + '' + m + '' + y);
181 210
182 - AssignPosition(dd); 211 + AssignPosition(dd);
183 212
184 - if(dd.style.display == "none") {  
185 - dd.style.display = "";  
186 - }  
187 - else {  
188 - dd.style.display = "none";  
189 - } 213 + if (dd.style.display == 'none') {
  214 + dd.style.display = '';
  215 + }
  216 + else {
  217 + dd.style.display = 'none';
  218 + }
190 } 219 }
191 220
192 -  
193 function findPosX(obj) 221 function findPosX(obj)
194 { 222 {
195 - var curleft = 0;  
196 - if (obj.offsetParent)  
197 - {  
198 - while (obj.offsetParent)  
199 - {  
200 - curleft += obj.offsetLeft  
201 - obj = obj.offsetParent;  
202 - }  
203 - }  
204 - else if (obj.x)  
205 - curleft += obj.x;  
206 - return curleft; 223 + var curleft = 0;
  224 +
  225 + if (obj.offsetParent) {
  226 + while (obj.offsetParent) {
  227 + curleft += obj.offsetLeft
  228 + obj = obj.offsetParent;
  229 + }
  230 + }
  231 + else if (obj.x) {
  232 + curleft += obj.x;
  233 + }
  234 +
  235 + return curleft;
207 } 236 }
208 237
209 function findPosY(obj) 238 function findPosY(obj)
210 { 239 {
211 - var curtop = 0;  
212 - if (obj.offsetParent)  
213 - {  
214 - while (obj.offsetParent)  
215 - {  
216 - curtop += obj.offsetTop  
217 - obj = obj.offsetParent;  
218 - }  
219 - }  
220 - else if (obj.y)  
221 - curtop += obj.y;  
222 - return curtop; 240 + var curtop = 0;
  241 +
  242 + if (obj.offsetParent) {
  243 + while (obj.offsetParent) {
  244 + curtop += obj.offsetTop
  245 + obj = obj.offsetParent;
  246 + }
  247 + }
  248 + else if (obj.y) {
  249 + curtop += obj.y;
  250 + }
  251 +
  252 + return curtop;
223 } 253 }
  254 +
224 var winW; 255 var winW;
225 var winH; 256 var winH;
  257 +
226 function tamanhoTela() 258 function tamanhoTela()
227 { 259 {
228 - if( typeof( window.innerWidth ) == 'number' )  
229 - {  
230 - winW = window.innerWidth;  
231 - winH = window.innerHeight;  
232 - }  
233 - else if( document.documentElement &&  
234 - ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )  
235 - {  
236 - /* IE 6+ in 'standards compliant mode' */  
237 - winW = document.documentElement.clientWidth;  
238 - winH = document.documentElement.clientHeight;  
239 - }  
240 - else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )  
241 - {  
242 - /*IE 4 compatible*/  
243 - winW = document.body.clientWidth;  
244 - winH = document.body.clientHeight;  
245 - }  
246 - 260 + if (typeof(window.innerWidth ) == 'number') {
  261 + winW = window.innerWidth;
  262 + winH = window.innerHeight;
  263 + }
  264 + else if (
  265 + document.documentElement &&
  266 + (document.documentElement.clientWidth || document.documentElement.clientHeight)
  267 + ) {
  268 + /* IE 6+ in 'standards compliant mode' */
  269 + winW = document.documentElement.clientWidth;
  270 + winH = document.documentElement.clientHeight;
  271 + }
  272 + else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
  273 + /*IE 4 compatible*/
  274 + winW = document.body.clientWidth;
  275 + winH = document.body.clientHeight;
  276 + }
247 } 277 }
248 278
249 -function acaoCalendario(nome,dia,mes,ano){ 279 +function acaoCalendario(nome, dia, mes, ano)
  280 +{
  281 + document.getElementById('nome').value = nome;
  282 + document.getElementById('dia').value = dia;
  283 + document.getElementById('mes').value = mes;
  284 + document.form_calendario.ano.value = ano;
250 285
251 - document.getElementById('nome').value = nome;  
252 - document.getElementById('dia').value = dia;  
253 - document.getElementById('mes').value = mes;  
254 - document.form_calendario.ano.value = ano;  
255 - document.form_calendario.submit(); 286 + document.form_calendario.submit();
256 } 287 }
257 \ No newline at end of file 288 \ No newline at end of file
ieducar/intranet/styles/calendario.css
1 - .calendar  
2 - {  
3 - /* font-family:arial,helvetica;*/  
4 - font-family: sans-serif, verdana, arial, "Times New Roman";  
5 - font-size:11px;  
6 - color: white;  
7 - }  
8 -  
9 - .cal_esq  
10 - {  
11 - height: 38px;  
12 - background-image: url(/intranet/imagens/i-educar/cal_topo.gif);  
13 - background-repeat: no-repeat;  
14 - padding-left: 94px;  
15 - }  
16 -  
17 - .header  
18 - {  
19 - background-color: #A0AAB3;  
20 - border-color: #8A959B;  
21 - border-style: solid;  
22 - border-width: 1px;  
23 - color: #ffffff;  
24 - font-weight: bold;  
25 - font-family: sans-serif, verdana, arial, "Times New Roman";  
26 - font-size: 12px;  
27 - height: 24px;  
28 - text-align:center;  
29 - }  
30 -  
31 - .day  
32 - {  
33 - font-size: 12px;  
34 - font-family: sans-serif, verdana, arial, "Times New Roman";  
35 - font-weight: bold;  
36 - color: #5F5F5F;  
37 - border: 1px solid #8A959B;  
38 - text-align: left;  
39 - height: 25px;  
40 - width:50px;  
41 - cursor:hand;  
42 - cursor:pointer;  
43 -  
44 - }  
45 -  
46 - .linkedday  
47 - {  
48 - font-size: 12px;  
49 - font-weight: bold;  
50 - color: #5F5F5F;  
51 - border: 1px solid #8A959B;  
52 - text-align: left;  
53 - padding-left:5px;  
54 - height: 25px;  
55 -  
56 - }  
57 -  
58 - .mes  
59 - {  
60 - font-size: 14px;  
61 - font-family: sans-serif, verdana, arial, "Times New Roman";  
62 - color: #8A959B;  
63 - text-align: left;  
64 - vertical-align: middle;  
65 - font-weight: bold;  
66 - padding: 7px 20px 0px 30px;  
67 - margin-top: 12px;  
68 - }  
69 -  
70 - .bordaM  
71 - {  
72 -  
73 - border-right: 1px solid #8A959B;  
74 - border-left: 1px solid #8A959B;  
75 - padding: 8px 8px 0px 8px;  
76 - }  
77 -  
78 - .bordaF  
79 - {  
80 - border-color: #8A959B;  
81 - border-style: solid;  
82 - border-width: 0px 1px 1px 1px;  
83 - }  
84 -  
85 - .cal_dir  
86 - {  
87 - background-image: url(/intranet/imagens/i-educar/cal_dir.gif);  
88 - background-repeat: no-repeat;  
89 - padding-right: 20px;  
90 - background-position: 0px 0px;  
91 - }  
92 -  
93 - .legenda{  
94 - color:black;  
95 - font-size: 10px;  
96 - font-family: sans-serif, verdana, arial, "Times New Roman";  
97 - border-width: 1px 0px 0px 0px;  
98 - border-color: #8A959B;  
99 - border-style: solid;  
100 - margin-top:3px;  
101 - padding-top:3px;  
102 - }  
103 -  
104 - .cor {  
105 - border-color: #000000;  
106 - border-style: dotted;  
107 - border-width: 1px 1px 1px 1px;  
108 - width:30px;  
109 - }  
110 -  
111 - .dayLastMonth  
112 - {  
113 - font-size: 12px;  
114 - font-weight: bold;  
115 - color: #5F5F5F;  
116 - border: 1px solid #8A959B;  
117 - text-align: left;  
118 - padding-left:5px;  
119 - height: 25px;  
120 - width:50px;  
121 - filter: alpha(opacity=20);  
122 - opacity: .2;  
123 - font-family: sans-serif, verdana, arial, "Times New Roman";  
124 - }  
125 -  
126 - .div_info {  
127 -  
128 - position:absolute;  
129 - font-size: 12px;  
130 - border: 2px outset #8A959B;  
131 - background-color: white;  
132 - color:#000000;  
133 - font-weight:bold;  
134 - padding: 8px;  
135 - min-width: 100px;  
136 - min-height: 50px;  
137 - width: 300px;  
138 - overflow:block;  
139 - font-family: sans-serif, verdana, arial, "Times New Roman";  
140 -  
141 -background-color: #FFFFFF;  
142 - filter:alpha(opacity=80);  
143 - -moz-opacity: 0.8;  
144 - opacity: 0.8;  
145 -  
146 -  
147 - }  
148 -  
149 - .div_info a {  
150 - color:#0000aa;  
151 - text-decoration: none;  
152 - }  
153 - .div_info a:hover {  
154 - color:#000055;  
155 - text-decoration: underline;  
156 - } 1 +/**
  2 + * i-Educar - Sistema de gestão escolar
  3 + *
  4 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  5 + * <ctima@itajai.sc.gov.br>
  6 + *
  7 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  8 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  9 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  10 + * qualquer versão posterior.
  11 + *
  12 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  13 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  14 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  15 + * do GNU para mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  18 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  19 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  20 + *
  21 + * Parte do código foi baseada em um tutorial antigo disponível
  22 + * no site da Zend. A URL original não existe mais mas, parte do
  23 + * código foi preservado por um blogueiro no endereço <http://miud.in/7NM>.
  24 + * Não existe informação de licenciamento relevante. Veja o arquivo
  25 + * intranet/clsCalendario.inc.php para mais informações.
  26 + *
  27 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  28 + * @category i-Educar
  29 + * @license @@license@@
  30 + * @since Arquivo disponível desde a versão 1.0.0
  31 + * @version $Id$
  32 + */
  33 +
  34 +.calendar
  35 +{
  36 + font-family: sans-serif, verdana, arial, "Times New Roman";
  37 + font-size: 11px;
  38 + color: white;
  39 +}
  40 +
  41 +.cal_esq
  42 +{
  43 + height: 38px;
  44 + background-image: url('/intranet/imagens/i-educar/cal_topo.gif');
  45 + background-repeat: no-repeat;
  46 + padding-left: 94px;
  47 +}
  48 +
  49 +.header
  50 +{
  51 + background-color: #A0AAB3;
  52 + border-color: #8A959B;
  53 + border-style: solid;
  54 + border-width: 1px;
  55 + color: #FFF;
  56 + font-weight: bold;
  57 + font-family: sans-serif, verdana, arial, "Times New Roman";
  58 + font-size: 12px;
  59 + height: 24px;
  60 + text-align:center;
  61 +}
  62 +
  63 +.day
  64 +{
  65 + font-size: 12px;
  66 + font-family: sans-serif, verdana, arial, "Times New Roman";
  67 + font-weight: bold;
  68 + color: #5F5F5F;
  69 + border: 1px solid #8A959B;
  70 + text-align: left;
  71 + height: 25px;
  72 + width:50px;
  73 + cursor: hand;
  74 + cursor: pointer;
  75 +}
  76 +
  77 +.linkedday
  78 +{
  79 + font-size: 12px;
  80 + font-weight: bold;
  81 + color: #5F5F5F;
  82 + border: 1px solid #8A959B;
  83 + text-align: left;
  84 + padding-left: 5px;
  85 + height: 25px;
  86 +}
  87 +
  88 +.mes
  89 +{
  90 + font-size: 14px;
  91 + font-family: sans-serif, verdana, arial, "Times New Roman";
  92 + color: #8A959B;
  93 + text-align: left;
  94 + vertical-align: middle;
  95 + font-weight: bold;
  96 + padding: 7px 20px 0px 30px;
  97 + margin-top: 12px;
  98 +}
  99 +
  100 +.bordaM
  101 +{
  102 + border-right: 1px solid #8A959B;
  103 + border-left: 1px solid #8A959B;
  104 + padding: 8px 8px 0px 8px;
  105 +}
  106 +
  107 +.bordaF
  108 +{
  109 + border-color: #8A959B;
  110 + border-style: solid;
  111 + border-width: 0px 1px 1px 1px;
  112 +}
  113 +
  114 +.cal_dir
  115 +{
  116 + background-image: url('/intranet/imagens/i-educar/cal_dir.gif');
  117 + background-repeat: no-repeat;
  118 + padding-right: 20px;
  119 + background-position: 0px 0px;
  120 +}
  121 +
  122 +.legenda
  123 +{
  124 + color: black;
  125 + font-size: 10px;
  126 + font-family: sans-serif, verdana, arial, "Times New Roman";
  127 + border-width: 1px 0px 0px 0px;
  128 + border-color: #8A959B;
  129 + border-style: solid;
  130 + margin-top: 3px;
  131 + padding-top: 3px;
  132 +}
  133 +
  134 +.cor {
  135 + border-color: #000000;
  136 + border-style: dotted;
  137 + border-width: 1px 1px 1px 1px;
  138 + width:30px;
  139 +}
  140 +
  141 +.dayLastMonth
  142 +{
  143 + font-size: 12px;
  144 + font-weight: bold;
  145 + color: #5F5F5F;
  146 + border: 1px solid #8A959B;
  147 + text-align: left;
  148 + padding-left: 5px;
  149 + height: 25px;
  150 + width:50px;
  151 + filter: alpha(opacity=20);
  152 + opacity: .2;
  153 + font-family: sans-serif, verdana, arial, "Times New Roman";
  154 +}
  155 +
  156 +.div_info
  157 +{
  158 + position: absolute;
  159 + font-size: 12px;
  160 + border: 2px outset #8A959B;
  161 + background-color: white;
  162 + color: #000000;
  163 + font-weight: bold;
  164 + padding: 8px;
  165 + min-width: 100px;
  166 + min-height: 50px;
  167 + width: 300px;
  168 + overflow: block;
  169 + font-family: sans-serif, verdana, arial, "Times New Roman";
  170 + background-color: #FFFFFF;
  171 + filter:alpha(opacity=80);
  172 + -moz-opacity: 0.8;
  173 + opacity: 0.8;
  174 +}
  175 +
  176 +.div_info a {
  177 + color: #0000aa;
  178 + text-decoration: none;
  179 +}
  180 +
  181 +.div_info a:hover {
  182 + color: #000055;
  183 + text-decoration: underline;
  184 +}
157 \ No newline at end of file 185 \ No newline at end of file