<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Joe Harman's Calendar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
font-family: Tahoma, Verdana, Helvetica, Arial, sans-serif;
font-size: 11px;
color: #000000;
}
-->
</style>
</head>
<body leftmargin="1" marginwidth="1">
<?php // Created By Joe Harman - cjharman@gmail.com function Cal_Month()
{
// Get Today's Date
$todays_date = getdate();
// Determine what month to display
if(isset($_GET['month']))
{
$resolve_time = "1 ".$_GET['month']." ".$_GET['year'];
$resolve_first_day_of_month = strtotime($resolve_time);
$resolved_date = getdate($resolve_first_day_of_month);
}
else
{ $resolved_date = $todays_date; }
// if this is the current month - say it's okay to mark today on the calendar
if($todays_date['year'] == $resolved_date['year'] && $todays_date['month'] == $resolved_date['month'])
{ $mark_today_on_calendar = TRUE; }
// HOW MANY DAYS ARE IN THIS MONTH
$days_in_current_month = cal_days_in_month(CAL_GREGORIAN, $resolved_date['mon'], $resolved_date['year']);
// STRING TO START THE CALENDAR ON THE FIRST DAY OF THE MONTH
$show_month = $resolved_date['month'];
$show_year = $resolved_date['year'];
// Get Info for Current Displayed Month
$string_time = "1 ".$show_month." ".$show_year;
$first_day_of_month = strtotime($string_time);
$the_first_day_of_the_month = getdate($first_day_of_month); // Starts from the 1st
$num_days_week = 7;
$num_days_in_month = cal_days_in_month(CAL_GREGORIAN, $resolved_date['mon'], $resolved_date['year']);
// Get info for PREV month
$show_prev = strtotime("-1 Month", $first_day_of_month);
$show_prev_month_first_day = getdate($show_prev);
// Get info for NEXT month
$show_next = strtotime("+1 Month", $first_day_of_month);
$show_next_month_first_day = getdate($show_next);
$next_month = $show_next_month_first_day['month'];
$next_year = $show_next_month_first_day['year'];
$prev_month = $show_prev_month_first_day['month'];
$prev_year = $show_prev_month_first_day['year'];
$link_next_month = "<a href="?month=".$next_month."&year=".$next_year."">Next Month </a>";
$link_prev_month = "<a href="?month=".$prev_month."&year=".$prev_year."">Prev Month </a>";
// Table Size Variables... will be moved to CSS eventually
$table_align = "center";
$table_width = 550;
$table_height = 60;
$cell_width = $table_width/7;
$table_bgcolor = "#CCCCCC";
$header_cell_bgcolor = "#FFFFFF";
$weekday_cell_color = "#FFFFFF";
$date_cell_color = "#FFFFFF";
$blank_cell_color = "#FEFEFE";
$hover_cell_color = "#F4DFDF";
$Hover_Cell = "onMouseOver="this.style.backgroundColor='".$hover_cell_color."'" onMouseOut="this.style.backgroundColor='".$date_cell_color."'"";
$Hover_Cell_On = "onMouseOver="this.style.backgroundColor='#FF0000'" onMouseOut="this.style.backgroundColor='#FFFF33'"";
$Hover_Cell_Today = "onMouseOver="this.style.backgroundColor='#FFCC66'" onMouseOut="this.style.backgroundColor='#FFFFFF'"";
// Start HTML for Building Calendar
$cal_generated .= "<center>".$link_prev_month." - ".$link_next_month."</center><br>";
$cal_generated .= "<table width="".$table_width."" border="0" align="".$table_align."" cellpadding="1" cellspacing="1" bgcolor="".$table_bgcolor."">";
$cal_generated .= "<tr><td colspan="7" bgcolor="".$header_cell_bgcolor.""><center><strong>".$the_first_day_of_the_month['month']." ".$the_first_day_of_the_month['year']."</strong></center></td></tr>";
$cal_generated .= "<tr><td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Sun</td><td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Mon</td>";
$cal_generated .= "<td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Tue</td><td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Wed</td><td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Thu</td>";
$cal_generated .= "<td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Fri</td><td width="".$cell_width."" bgcolor="".$weekday_cell_color."">Sat</td></tr>";
// Initial Calendar Buildin Variables
$first_week_marked = FALSE;
$month_day_count = 1;
$week_day_count = 0;
// Start The Calendar Loop
do {
if($mark_today_on_calendar == TRUE && $todays_date['mday'] == $month_day_count)
{
$highlight_today_open = "<font color="#990000">";
$highlight_today_close = "</font>";
}
else
{
$highlight_today_open = "<font color="#000000">";
$highlight_today_close = "</font>";
}
// If it is the first day of the week open a ROW
if($week_day_count == 0)
{
$cal_generated .= "<tr>";
}
if ($first_week_marked == FALSE)
{
$blank_cell = 0;
do {
if($the_first_day_of_the_month['wday'] <> $blank_cell)
{
$cal_generated .= "<td height="".$table_height."" valign="top"></td>";
$blank_cell++;
}
else
{
$link_month = $show_month;
$link_year = $show_year;
$link_day = $month_day_count;
$Day_Link = "onclick="window.location.href='?month=".$link_month."&year=".$link_year."&day=".$month_day_count."'"";
$cal_generated .= "<td height="".$table_height."" valign="top" bgcolor="".$date_cell_color."" ".$Hover_Cell." ".$Day_Link.">".$highlight_today_open ."".$month_day_count."".$highlight_today_close."</td>";
$first_week_marked = TRUE;
}
$week_day_count = $the_first_day_of_the_month['wday'];
} while ($first_week_marked == FALSE);
}
else
{
$link_month = $show_month;
$link_year = $show_year;
$link_day = $month_day_count;
$Day_Link = "onclick="window.location.href='?month=".$link_month."&year=".$link_year."&day=".$month_day_count."'"";
$cal_generated .= "<td height="".$table_height."" valign="top" bgcolor="".$date_cell_color."" ".$Hover_Cell." ".$Day_Link.">".$highlight_today_open ."".$month_day_count."".$highlight_today_close."</td>";
}
$month_day_count++;
// If it is the last day of the week close ROW
if($week_day_count == 6)
{
$cal_generated .= "</tr>";
}
$week_day_count++;
// Countings
if($week_day_count == 7)
{$week_day_count=0;}
} while ($month_day_count <= $num_days_in_month);
// End Calendar Loop
$cal_generated .= "</table>";
return $cal_generated;
}
function Cal_Day()
{
// Get Today's Date
$todays_date = getdate();
$resolve_time = $_GET['day']." ".$_GET['month']." ".$_GET['year']." 0:00";
$resolve_first_day_of_month = strtotime($resolve_time);
$resolved_date = getdate($resolve_first_day_of_month);
// if this is the current month - say it's okay to mark today on the calendar
if($todays_date['year'] == $resolved_date['year'] && $todays_date['month'] == $resolved_date['month'])
{ $mark_today_on_calendar = TRUE; }
// HOW MANY DAYS ARE IN THIS MONTH
//$days_in_current_month = cal_days_in_month(CAL_GREGORIAN, $resolved_date['mon'], $resolved_date['year']);
// STRING TO START THE CALENDAR ON THE FIRST DAY OF THE MONTH
$show_day = $resolved_date['mday'];
$show_month = $resolved_date['month'];
$show_year = $resolved_date['year'];
// Get Info for Current Displayed Month
$string_time = $_GET['day']." ".$show_month." ".$show_year." 0:00";
$display_date = strtotime($string_time);
$displayed_day_of_the_month = getdate($display_date); // Starts from the 1st
//print_r($displayed_day_of_the_month);
$num_days_to_show = 3;
$num_days_in_month = cal_days_in_month(CAL_GREGORIAN, $resolved_date['mon'], $resolved_date['year']);
// Get info for PREV month ARRAY
$show_prev = strtotime("-1 day", $display_date);
$show_prev_day = getdate($show_prev);
//echo $show_prev;
//echo "<br>";
//print_r($show_prev_day);
//echo "<br>";
// Current day ARRAY
$show_current = $display_date;
$show_current_day = getdate($display_date);
//echo $display_date; echo "<br>";
//print_r($show_current_day);
//echo "<br>";
// Get info for NEXT month ARRAY
$show_next = strtotime("+1 day", $display_date);
$show_next_day = getdate($show_next);
//echo $show_next; echo "<br>";
//print_r($show_next_day);
//echo "<br>";
$next_day = $show_next_day['mday'];
$next_month = $show_next_day['month'];
$next_year = $show_next_day['year'];
$prev_day = $show_prev_day['mday'];
$prev_month = $show_prev_day['month'];
$prev_year = $show_prev_day['year'];
$link_next_day = "<a href="?month=".$next_month."&year=".$next_year."&day=".$next_day."">Forward 1 Day </a>";
$link_prev_day = "<a href="?month=".$prev_month."&year=".$prev_year."&day=".$prev_day."">Backward 1 Day</a>";
// Table Size Variables... will be moved to CSS eventually
$table_align = "center";
$table_width = 550;
$table_height = 10;
$cell_time_width = 40;
$cell_width = ($table_width - $cell_time_width)/$num_days_to_show;
$table_bgcolor = "#CCCCCC";
$header_cell_bgcolor = "#FFFFFF";
$weekday_cell_color = "#FFFFFF";
$date_cell_color = "#FFFFFF";
$blank_cell_color = "#FEFEFE";
$hover_cell_color = "#F4DFDF";
$Hover_Cell = "onMouseOver="this.style.backgroundColor='".$hover_cell_color."'" onMouseOut="this.style.backgroundColor='".$date_cell_color."'"";
$Hover_Cell_On = "onMouseOver="this.style.backgroundColor='#FF0000'" onMouseOut="this.style.backgroundColor='#FFFF33'"";
$Hover_Cell_Today = "onMouseOver="this.style.backgroundColor='#FFCC66'" onMouseOut="this.style.backgroundColor='#FFFFFF'"";
// Start HTML for Building Calendar
$cal_generated .= "<center>".$link_prev_day." - ".$link_next_day."</center><br>";
$cal_generated .= "<table width="".$table_width."" border="0" align="".$table_align."" cellpadding="1" cellspacing="1" bgcolor="".$table_bgcolor."">";
$cal_generated .= "<tr><td colspan="4" bgcolor="".$header_cell_bgcolor.""><center><strong>".$show_current_day['month']." ".$the_first_day_of_the_month['year']."</strong></center></td></tr>";
$cal_generated .= "<tr>";
$cal_generated .= "<td width="".$cell_time_width.""> </td>";
$cal_generated .= "<td width="".$cell_width."" bgcolor="".$weekday_cell_color."">".$show_prev_day['mon']."/".$show_prev_day['mday']."/".$show_prev_day['year']." - ".$show_prev_day['weekday']."</td>";
$cal_generated .= "<td width="".$cell_width."" bgcolor="".$weekday_cell_color."">".$show_current_day['mon']."/".$show_current_day['mday']."/".$show_current_day['year']." - ".$show_current_day['weekday']."</td>";
$cal_generated .= "<td width="".$cell_width."" bgcolor="".$weekday_cell_color."">".$show_next_day['mon']."/".$show_next_day['mday']."/".$show_next_day['year']." - ".$show_next_day['weekday']."</td>";
$cal_generated .= "</tr>";
// Initial Calendar Buildin Variables
$first_week_marked = FALSE;
$month_day_count = 1;
$week_day_count = 0;
if($mark_today_on_calendar == TRUE && $todays_date['mday'] == $month_day_count)
{
$highlight_today_open = "<font color="#990000">";
$highlight_today_close = "</font>";
}
else
{
$highlight_today_open = "<font color="#000000">";
$highlight_today_close = "</font>";
}
$link_month = $show_month;
$link_year = $show_year;
$link_day = $month_day_count;
$Day_Link = "onclick="window.location.href='?month=".$link_month."&year=".$link_year."&day=".$month_day_count."'"";
$temp_filler = " ";
$count_hours = 0;
$add_time = $show_current;
$epoc_time_prev = $show_prev;
$epoc_time_current = $show_current;
$epoc_time_next = $show_next;
do {
$cal_generated .= "<tr>";
$military_column = date("H:i", $add_time);
$add_time = $add_time + 3600;
// Time Coloumn
$cal_generated .= "<td width="".$cell_time_width."" align="right">".$military_column." </td>";
//$show_prev
$prev_hour_Link = "onclick="window.location.href='?epoc=".$epoc_time_prev."'"";
// Previous Day
$cal_generated .= "<td height="".$table_height."" valign="top" bgcolor="".$date_cell_color."" ".$Hover_Cell." ".$prev_hour_Link.">".$temp_filler."</td>";
//$show_current_day
$current_hour_Link = "onclick="window.location.href='?epoc=".$epoc_time_current."'"";
// Current Day
$cal_generated .= "<td height="".$table_height."" valign="top" bgcolor="".$date_cell_color."" ".$Hover_Cell." ".$current_hour_Link.">".$temp_filler ."</td>";
//$show_next
$next_hour_Link = "onclick="window.location.href='?epoc=".$epoc_time_next."'"";
//Next Day
$cal_generated .= "<td height="".$table_height."" valign="top" bgcolor="".$date_cell_color."" ".$Hover_Cell." ".$next_hour_Link.">".$temp_filler ."</td>";
$cal_generated .= "</tr>";
$epoc_time_prev = $epoc_time_prev + 3600;
$epoc_time_current = $epoc_time_current + 3600;
$epoc_time_next = $epoc_time_next + 3600;
$count_hours++;
} while ($count_hours <= 23);
$week_day_count++;
// Countings
if($week_day_count == 7)
{$week_day_count=0;}
$cal_generated .= "</table>";
return $cal_generated;
}
if(isset($_GET['day']))
{
echo Cal_Day();
}
else
{
echo Cal_Month();
} ?> </body>
</html>
|
|