<?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
 
?>
 
 |