<?php 
/******************************************************************************/ 
/* class_calendar.php: Gregorian calendar to easily create calendars.         */ 
/* Copyright (C) 2005 Ken Stanley <[email protected]>                */ 
/*                                                                            */ 
/* This library is free software; you can redistribute it and/or              */ 
/* modify it under the terms of the GNU Lesser General Public                 */ 
/* License as published by the Free Software Foundation; either               */ 
/* version 2.1 of the License, or (at your option) any later version.         */ 
/*                                                                            */ 
/* This library is distributed in the hope that it will be useful,            */ 
/* but WITHOUT ANY WARRANTY; without even the implied warranty of             */ 
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU          */ 
/* Lesser General Public License for more details.                            */ 
/*                                                                            */ 
/* You should have received a copy of the GNU Lesser General Public           */ 
/* License along with this library; if not, write to the Free Software        */ 
/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */ 
/******************************************************************************/ 
    include_once('class_calendar.php'); 
 
    /* Check to see if the user requested a specific language */ 
    $lang = isset($_GET['lang']) ? $_GET['lang'] : 'en'; 
 
    /* Create the class object */ 
    $cal = new calendar($lang); 
 
    /* Pad all digits less than ten with a leading zero */ 
    $cal->pad_dates = TRUE; 
 
    /* This sets an upper and lower limit for the year */ 
    $cal->min_year = 1977; 
    $cal->max_year = 2007; 
 
    /* Set the current month, day and year; either use requested date or today's date */ 
    $cal->month    = (isset($_GET['month']) ? $_GET['month'] : date("m")); 
    $cal->day    = (isset($_GET['day']) ? $_GET['day'] : date("d")); 
    $cal->year    = (isset($_GET['year']) ? $_GET['year'] : date("Y")); 
 
    /* Validate the date we have to ensure it falls within our parameters */ 
    $cal->valid_date($cal->month, $cal->day, $cal->year); 
 
    /* Create the array that contains the requested month */ 
    $cal->month_array = $cal->get_month($cal->month, $cal->year); 
 
    /* Get the length of the requested month */ 
    $cal->month_length = $cal->month_length($cal->month, $cal->year); 
 
    /* This array holds the day name and the month name */ 
    $cal->name = array( 
        'day' => $cal->day_name($cal->get_day($cal->month, $cal->day, $cal->year)), 
        'month' => $cal->month_name($cal->month) 
    ); 
 
    /* Check to see if the user requested to view the events for a given date */ 
    $get_events = (isset($_GET['ge']) && is_numeric($_GET['ge'])) ? $_GET['ge'] : 0; 
 
    /* Check to see if the user requested to store an event */ 
    $add_event = (isset($_POST['e'])) ? $_POST['e'] : NULL; 
 
    /* Add the event to the SQLite database */ 
    if (!is_null($add_event)) { 
        $cal->add_event($cal->month, $cal->day, $cal->year, $add_event); 
    } 
 
    /* Check to see if the user requested to delete an event */ 
    $del_event = (isset($_POST['d'])) ? $_POST['d'] : NULL; 
 
    if (!is_null($del_event)) { 
        $cal->del_event($del_event); 
    } 
 
    /* Cycle through all possible parameters and build a query string for the forms; 
       this ensures consistency for the end-user */ 
    $query_string = ''; 
 
    if (isset($_GET) && (sizeof($_GET) > 0)) { 
        $query_string .= '?'; 
    } 
 
    if (isset($cal->month) && is_numeric($cal->month)) { 
        $query_string .= "month=" . $cal->month; 
    } 
 
    if (isset($cal->day) && is_numeric($cal->day)) { 
        $query_string .= "&day=" . $cal->day; 
    } 
 
    if (isset($cal->year) && is_numeric($cal->year)) { 
        $query_string .= "&year=" . $cal->year; 
    } 
 
    if (isset($get_events) && is_numeric($get_events)) { 
        $query_string .= "&ge=" . $get_events; 
    } 
 
    if (isset($lang) && is_string($lang)) { 
        $query_string .= "&lang=" . $lang; 
    } 
    /* End building query_string */ 
?> 
<html lang="en"> 
 <head> 
  <title>Calendar: <?php printf("%s, %s %s, %s", $cal->name['day'], $cal->name['month'], $cal->day, $cal->year);?></title> 
  <meta http-equiv="Pragma" content="No-cache"> 
  <style type="text/css" media="screen"> 
BODY, FORM { 
    background-color: white; color: black; 
    font-size: 12px; 
    margin: 0; padding: 0; 
} 
 
#CAL { 
    border: 1px solid black; 
    background-color: darkred; 
} 
 
#CAL A.DAY:LINK, #CAL A.DAY:VISITED { 
    display: block; 
    width: 100%; height: 100%; 
    color: red; 
    font-weight: bolder; 
    text-decoration: none; 
} 
 
#CAL A.DAY:HOVER { 
    background-color: red; 
    color: white; 
} 
 
#CAL A.NORMAL:LINK, #CAL A.NORMAL:VISITED { 
    color: red; 
} 
 
#CAL A.NORMAL:HOVER { 
    color: white; 
    background-color: red; 
} 
 
#CAL .HEADER { 
    background-color: white; color: black; 
    font-weight: bolder; 
    border-bottom: 1px solid black; 
    padding: 2px 4px 2px 4px; 
} 
 
#CAL .FOOTER { 
    background-color: white; color: black; 
    font-weight: bolder; 
    border-top: 1px solid black; 
    padding: 2px 4px 2px 4px; 
} 
 
#CAL .EVENT { 
    background-color: white; color: black; 
    padding: 2px 4px 2px 4px; 
} 
 
#CAL .INDENT { 
    width: 100%; height: 100%; 
    text-indent: 10px; 
} 
 
#CAL .DAY_NORMAL { 
    background-color: white; 
} 
 
#CAL .DAY_SELECTED { 
    color: white; 
    font-weight: bolder; 
} 
  </style> 
 </head> 
 <body> 
  <table border=0 cellpadding=0 cellspacing=0 width="100%" style="height: 100%"> 
   <tr> 
    <td align="center" valign="middle"> 
     <table id="cal" border=0 cellpadding=0 cellspacing=5 width=300> 
      <tr> 
       <td align="left" class="header" colspan=7> 
        <table border=0 cellpadding=0 cellspacing=0 width="100%"> 
         <tr> 
          <td> 
           <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get" name="lang"> 
            <input type="hidden" name="month" value="<?php echo $cal->month;?>"> 
            <input type="hidden" name="day" value="<?php echo $cal->day;?>"> 
            <input type="hidden" name="year" value="<?php echo $cal->year;?>"> 
            <label>Language:</label> 
            <select name="lang" onchange="document.forms.lang.submit()"> 
             <option value="en" <?php if ($lang == "en") { echo "selected"; }?>>English 
             <option value="fr" <?php if ($lang == "fr") { echo "selected"; }?>>French 
             <option value="de" <?php if ($lang == "de") { echo "selected"; }?>>German 
             <option value="hu" <?php if ($lang == "hu") { echo "selected"; }?>>Hungarian 
             <option value="it" <?php if ($lang == "it") { echo "selected"; }?>>Italian 
            </select> 
           </form> 
          </td> 
          <td align="left"> 
           <a class="normal" href="<?php echo $_SERVER['PHP_SELF'];?>">Reset</a> 
          </td> 
         </tr> 
        </table> 
       </td> 
      </tr> 
      <tr> 
       <td align="center" valign="middle" class="header" colspan=7> 
        <?php printf("%s, %s %s, %s", $cal->name['day'], $cal->name['month'], $cal->day, $cal->year);?>  
       </td> 
      </tr> 
      <tr> 
<?php 
    for ($i = 0; $i < 7; $i += 1) { 
?> 
       <td align="center" valign="middle" class="header"><?php echo $cal->day_name($i, 2);?></td> 
<?php 
    } 
?> 
      </tr> 
<?php 
    for ($i = 0; $i <= 5; $i += 1) { 
?> 
      <tr> 
<?php 
        for ($j = 0; $j <= 6; $j += 1) { 
            $d = $cal->month_array[$i][$j]; 
 
            if ($d == 0) { 
?> 
       <td align="center" valign="middle" class="day_selected"> </td> 
<?php 
            } else { 
                $num_events = $cal->num_events($cal->month, $d, $cal->year); 
 
                if ($num_events > 0) { 
                    $day = sprintf( 
                        "<a class=\"day\" href=\"%s?month=%s&day=%s&year=%s&lang=%s&ge=1\">%s</a>", 
                        $_SERVER['PHP_SELF'], 
                        (int)$cal->month, 
                        (int)$d, 
                        (int)$cal->year, 
                        $lang, 
                        $d 
                    ); 
                } else { 
                    $day = $d; 
                } 
 
                if ($d == $cal->day) { 
?> 
       <td align="center" valign="middle" class="day_selected"><?php echo $day;?></td> 
<?php 
                } else { 
?> 
       <td align="center" valign="middle" class="day_normal"><?php echo $day;?></td> 
<?php 
                } 
            } 
        } 
?> 
      </tr> 
<?php 
    } 
?> 
      <tr> 
       <td align="center" valign="middle" class="footer" colspan=7> 
        <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get"> 
         <input type="hidden" name="lang" value="<?php echo $lang;?>"> 
         <select name="month"> 
<?php 
    for ($i = 1; $i <= 12; $i += 1) { 
        if ($i == $cal->month) { 
?> 
          <option value="<?php echo $i;?>" SELECTED><?php echo $cal->month_name($i);?>  
<?php 
        } else { 
?> 
          <option value="<?php echo $i;?>"><?php echo $cal->month_name($i);?>  
<?php 
        } 
    } 
?> 
         </select> 
         <input type="text" name="day" value="<?php echo $cal->day;?>" size=2 maxlength=2> 
         <input type="text" name="year" value="<?php echo $cal->year;?>" size=4 maxlength=4> 
         <input type="submit" value="Submit"> 
        </form> 
       </td> 
      </tr> 
<?php 
    if ($cal->has_sqlite) { 
?> 
      <tr> 
       <td align="center" class="footer" colspan=7> 
        <form action="<?php echo $_SERVER['PHP_SELF'] . $query_string;?>" method="post"> 
         <label>Add Event:</label> 
         <input type="text" name="e"> 
         <input type="submit" value="Add"> 
        </form> 
       </td> 
      </tr> 
<?php 
        if ($get_events == TRUE) { 
            $events = $cal->get_events($cal->month, $cal->day, $cal->year); 
 
            if ($events) { 
                for ($i = 0, $j = sizeof($events); $i < $j; $i += 1) { 
?> 
      <tr> 
       <td class="event" colspan=7> 
        <table border=0 cellpadding=0 cellspacing=0 width="100%"> 
         <tr> 
          <td><strong><cite><?php echo $cal->date("%a, %d %b %Y %T %Z", $events[$i]['added']);?></cite></strong></td> 
          <td align="right"> 
           <form action="<?php echo $_SERVER['PHP_SELF'] . $query_string;?>" method="post"> 
            <input type="hidden" name="d" value="<?php echo $events[$i]['id'];?>"> 
            <input type="submit" value="Delete"> 
           </form> 
          </td> 
         </tr> 
         <tr> 
          <td colspan=2><span class="indent"><?php echo $events[$i]['event'];?></span></td> 
         </tr> 
        </table> 
       </td> 
      </tr> 
<?php 
                } 
            } 
        } 
    } 
?> 
     </table> 
    </td> 
   </tr> 
  </table> 
 </body> 
</html> 
 
 |