<?php header('Content-type: text/html; charset=utf-8'); ?> 
<?php 
/* STEP 1: LOAD RECORDS - Copy this PHP code block near the TOP of your page */ 
require_once "C:/wamp/www/sb/CMS Builder/cmsAdmin/lib/viewer_functions.php"; 
 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Untitled Document</title> 
<link rel="stylesheet" href="css/calendar1.css" type="text/css" /> 
</head> 
 
<body> 
<div id="container"> 
<!-- calendar --> 
<?php
  
  // <zickey> - get selected month
  $monthNames = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 
  if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n"); 
  if (!isset($_REQUEST["year"])) $_REQUEST["year"] = date("Y"); 
   
  $cMonth = $_REQUEST["month"]; 
  $cYear = $_REQUEST["year"]; 
   
  $prev_year = $cYear; 
  $next_year = $cYear; 
   
  $prev_month = $cMonth-1; 
  $next_month = $cMonth+1; 
   
  if ($prev_month == 0 ) { 
  $prev_month = 12; 
  $prev_year = $cYear - 1; 
  } 
  if ($next_month == 13 ) { 
  $next_month = 1; 
  $next_year = $cYear + 1; 
  }
  // </zickey>
  
  // find all events which overlap with this month
  $this_month_date = sprintf("%04d-%02d-01 00:00:00", $cYear, $cMonth);
  $next_month_date = sprintf("%04d-%02d-01 00:00:00", $next_year, $next_month);
  list($eventsRecords, ) = getRecords(array(
    'tableName' => 'calendar',
    'where'     => mysql_escapef("date < ? AND IF(end_date != '0000-00-00', end_date >= ?, date >= ?)", $next_month_date, $this_month_date, $this_month_date),
  ));

  // go through events and build up a mapping of dates to events, respecting repeated events
  $eventsByDay = array();
  $this_month_time = strtotime($this_month_date);
  $next_month_time = strtotime($next_month_date) - 1;
  foreach ($eventsRecords as $record) { 
    if (strtotime($record['end_date'])) { 
      $last_day     = null; 
      $current_time = max($this_month_time, strtotime($record['date'])); 
      $end_time     = min($next_month_time, strtotime($record['end_date'])); 
      while ($current_time < $end_time || date("Y-m-d", $current_time) == date("Y-m-d", $end_time)) { 
        $skip = false; 
         
        $current_day = date("Y-m-d", $current_time); 
        // skip if we've already seen this day (necessary because we're skipping forward by 23 hours) 
        if ($current_day == $last_day) { $skip = true; } 
         
        // skip if relevant weekday checkbox isn't checked 
        $current_weekday = strtolower(date('l', $current_time)); 
        if (!$record[$current_weekday]) { $skip = true; } 
         
        // add event to this day
        if (!$skip) {
          $day = intval(date('d', $current_time)); 
          if (!array_key_exists($day, $eventsByDay)) { $eventsByDay[$day] = array(); } 
          $eventsByDay[$day][] = $record; 
        } 
         
        // advance current_time (but not by 24 hours, lest we skip over a springtime daylight-savings day) 
        $current_time += 23*60*60; 
        $last_day = $current_day; 
      } 
    } 
    else { 
      // no end_date, so this is a single-day event 
      $day = intval(date('d', strtotime($record['date']))); 
      if (!array_key_exists($day, $eventsByDay)) { $eventsByDay[$day] = array(); } 
      $eventsByDay[$day][] = $record; 
    } 
  }
?> 

<div id="calendar_div" name="calendar_div"> 
<table border="0" cellpadding="1" cellspacing="0" bgcolor="#333333"> 
<tr align="center"> 
<td bgcolor="#333333"><table width="100%" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="50%" align="left">&nbsp;&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" class="CalNextPrevious">Previous</a></td> 
<td width="50%" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" class="CalNextPrevious">Next</a>&nbsp;&nbsp;</td> 
</tr> 
</table></td> 
</tr> 
<tr> 
<td align="center"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> 
<tr align="center"> 
<td colspan="7" class="CalMonth" ><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></td> 
</tr> 
<tr> 
<td class="CalDayofWeek">Sunday</td> 
<td class="CalDayofWeek">Monday</td> 
<td class="CalDayofWeek">Tuesday</td> 
<td class="CalDayofWeek">Wednesday</td> 
<td class="CalDayofWeek">Thursday</td> 
<td class="CalDayofWeek">Friday</td> 
<td class="CalDayofWeek">Saturday</td> 
</tr> 
<?php 
$timestamp = mktime(0,0,0,$cMonth,1,$cYear); 
$maxday = date("t",$timestamp); 
$thismonth = getdate ($timestamp); 
$startday = $thismonth['wday']; 
 
for ($i=0; $i<($maxday+$startday); $i++) { 
if(($i % 7) == 0 ) echo "<tr>\n"; 
if($i < $startday) { 
  echo "<td></td>\n"; 
} 
else { 
  $day = $i - $startday + 1; 
  echo "<td class='CalDates'>". $day . "<br />"; 
  // check if there are any events for this day 
  if (array_key_exists($day, $eventsByDay)) { 
    // list all events for this day 
    foreach ($eventsByDay[$day] as $record) { 
      ?> 
        <?php echo $record['title'] ?><br />
        <?php /*
        <h3>Title: <?php echo $record['title'] ?></h3> 
        <h3>Date and Time: <?php echo date("D, M jS, Y g:i:s a", strtotime($record['date'])) ?></h3> 
        <p>Description: <?php echo $record['description'] ?></p> 
        <p>Location: <?php echo $record['location'] ?></p> 
        <p>Content: <?php echo $record['content'] ?></p> 
        <p>Event Details: <a href="<?php echo $record['_link'] ?>"><?php echo $record['title'] ?></a></p> 
        */ ?>
      <?php 
    } 
  } 
  echo "</td>\n"; 
} 
if(($i % 7) == 6 ) echo "</tr>\n"; 
} 
?> 
 
</table></td> 
</tr> 
</table> 
<br /> 
<!-- /calendar --></div> 
<!-- /container --></div> 
</body> 
</html>