| 
<?php
//
 // By Ricardo Costa - [email protected] - 2002
 // Classe para exibiçao de calendário
 //
 //  calendar
 //    +---- calendar()
 //    +---- show()
 //
 //
 
 class calendar {
 
 var $content;   // Conteudo HTML formatado
 var $page;   // Página para link
 var $month_name;   // Nome do mes
 var $year_bgcolor = "CCCCCC"; // Cor de fundo do ano
 var $month_bgcolor = "CCCCCC"; // Cor de fundo do mes
 var $days_bgcolor = "8D9ABA"; // Cor de fundo dos dias da semana
 var $day_color = "E9EBF1"; // Cor de fundo dos dias
 var $day_today_color = "FF9999"; // Cor de fundo de hoje
 var $font_color = "4C5B7D"; // Cor da fonte
 var $bg_color = "E9EBF1"; // Cor de fundo
 var $event_bgcolor = "FFCC99"; // Cor de fundo dos compromissos
 var $events = array(); // Array de eventos
 var $events_hint = array(); // Array com a descrição dos eventos
 
 
 
 # Inicializar variáveis ################################################################### Revisao 09/09/2002 #
 function calendar() {
 
 $this->page = $GLOBALS["PHP_SELF"];
 /*        BUG fixed by TeeCee              */
 /* Here wasn't isset, so if I gave         */
 /* no parameters, error notice was given.. */
 /*           [email protected]            */
 if (isset($GLOBALS["nyear"])) $GLOBALS["year"] = $GLOBALS["nyear"]; else $GLOBALS["nyear"] = $GLOBALS["year"];
 if (isset($GLOBALS["nmonth"])) $GLOBALS["month"] = $GLOBALS["nmonth"]; else $GLOBALS["nmonth"] = $GLOBALS["month"];
 if (isset($GLOBALS["nday"])) $GLOBALS["day"] = $GLOBALS["nday"]; else $GLOBALS["nday"] = $GLOBALS["day"];
 
 if ($GLOBALS["nmonth"] == 0) {
 $GLOBALS["nyear"] --;
 $GLOBALS["nmonth"] = 12;
 }
 elseif ($GLOBALS["nmonth"] == 13) {
 $GLOBALS["nyear"] ++;
 $GLOBALS["nmonth"] = 1;
 }
 
 $this->month_name = $GLOBALS["month_year"];
 $this->month_name = $this->month_name[$GLOBALS["nmonth"]];
 }
 # Inicializar variáveis ################################################################### Revisao 09/09/2002 #
 
 
 
 # Exibir Calendário ####################################################################### Revisao 16/09/2002 #
 function show($year = 1, $month = 1, $today = 1) {
 global $today_str, $days_week;
 
 $this->content = "<style type='text/css'>
 <!--
 .calendar_font {  font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #".$this->font_color."; text-decoration: none}
 .calendar_font:hover {  font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #".$this->font_color."; text-decoration: underline}
 -->
 </style>
 <table width='140' border='0' cellspacing='0' cellpadding='0' class='calendar_font'>";
 
 if ($year == 1) {
 $this->content .= "<tr align='center'>
 <td width='20' bgcolor='#".$this->year_bgcolor."' height='14'><b><a href='".$this->page."?nmonth=".$GLOBALS["nmonth"]."&nyear=".($GLOBALS["nyear"] - 1)."&nday=".$GLOBALS["nday"]."' class='calendar_font'>‹‹</a></b></td>
 <td colspan='5' bgcolor='#".$this->year_bgcolor."' height='14'><b>".$GLOBALS["nyear"]."</b></td>
 <td width='20' bgcolor='#".$this->year_bgcolor."' height='14'><b><a href='".$this->page."?nmonth=".$GLOBALS["nmonth"]."&nyear=".($GLOBALS["nyear"] + 1)."&nday=".$GLOBALS["nday"]."' class='calendar_font'>››</a></b></td>
 </tr>";
 }
 
 if ($month == 1) {
 $this->content .= "<tr align='center'>
 <td width='20' bgcolor='#".$this->month_bgcolor."' height='18'><b><a href='".$this->page."?nmonth=".($GLOBALS["nmonth"] - 1)."&nyear=".$GLOBALS["nyear"]."&nday=".$GLOBALS["nday"]."' class='calendar_font'>‹</a></b></td>
 <td colspan='5' bgcolor='#".$this->month_bgcolor."' height='18'><b>".$this->month_name."</b></td>
 <td width='20' bgcolor='#".$this->month_bgcolor."' height='18'><b><a href='".$this->page."?nmonth=".($GLOBALS["nmonth"] + 1)."&nyear=".$GLOBALS["nyear"]."&nday=".$GLOBALS["nday"]."' class='calendar_font'>›</a></b></td>
 </tr>
 <tr align='center'>
 <td width='20' bgcolor='#000000' height='1'></td>
 <td colspan='5' bgcolor='#000000' height='1'></td>
 <td width='20' bgcolor='#000000' height='1'></td>
 </tr>";
 }
 
 
 $this->content .= "<tr align='center' bgcolor='#".$this->days_bgcolor."'>";
 /* Improvement by TeeCee ,)                 */
 /* Theheader generated by the first char of */
 /* the names of the days                    */
 /*            [email protected]            */
 for ($l = 0; $l <=6; $l++)
 { $this->content .= "<td width='20' height='14'><b>".$days_week[$l][0]."</b></td>"; }
 $this->content .= "</tr>";
 
 $cont_day = 1;
 $event_number = 0;
 for( $l = 1; $l <= 6; $l++) {
 
 $this->content .= "<tr>";
 
 for($c = 0; $c <= 6 ; $c++) {
 $xday = date("w",mktime (0,0,0, $GLOBALS["nmonth"],$cont_day, $GLOBALS["nyear"]));
 
 if (in_array($GLOBALS["nyear"]."-".$GLOBALS["nmonth"]."-".mformat(2 ,$cont_day), $this->events) && $cont_day != $GLOBALS["nday"])
 $bg = $this->event_bgcolor;
 else {
 if ($cont_day != $GLOBALS["nday"])
 $bg = $this->day_color;
 else
 $bg = $this->day_today_color;
 }
 
 if (checkdate($GLOBALS["nmonth"], $cont_day, $GLOBALS["nyear"]) & $xday == $c) {
 if (in_array($GLOBALS["nyear"]."-".$GLOBALS["nmonth"]."-".mformat(2 ,$cont_day), $this->events))
 $this->content .= "<td align='center' width='20' bgcolor='#".$bg."'><a href='".$this->page."?nmonth=".$GLOBALS["nmonth"]."&nyear=".$GLOBALS["nyear"]."&nday=".$cont_day."' class='calendar_font' title='".$this->events_hint[$event_number++]."'>".$cont_day."</a></td>";
 else
 $this->content .= "<td align='center' width='20' bgcolor='#".$bg."'><a href='".$this->page."?nmonth=".$GLOBALS["nmonth"]."&nyear=".$GLOBALS["nyear"]."&nday=".$cont_day."' class='calendar_font'>".$cont_day."</a></td>";
 $cont_day++;
 }
 else {
 $this->content .= "<td align='center' width='20' bgcolor='#".$this->bg_color."'> </td>";
 }
 }
 
 $this->content .= "</tr>";
 if (!checkdate($GLOBALS["nmonth"], $cont_day, $GLOBALS["nyear"])) break;
 }
 
 if ($today == 1) {
 $this->content .= "</table>
 <table width='140' border='0' cellspacing='0' cellpadding='0' class='calendar_font'>
 <tr><td align='center' bgcolor=#".$this->year_bgcolor."><b><a href='".$this->page."?nmonth=".date("n")."&nyear=".date("Y")."&nday=".date("d")."' class='calendar_font'>$today_str</a></b></td></tr>
 <tr height='10'><td></td></tr></table>";
 }
 
 $this->content .= "</table>";
 
 print($this->content);
 }
 # Exibir Calendário ####################################################################### Revisao 16/09/2002 #
 
 
 
 } # Final da Classe
 ?>
 |