KarimNassar.com Sigil

Data Calendar

Data Calendar Demo

January 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
10:00pm
Something Today
7:00pm
Something Today
6:00pm
<

February 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
7:00pm
Something Today
8:00pm
<

March 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
10:00pm
Something Today
2:00pm
Something Today
10:00pm
<

April 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
6:00pm
Something Today
4:00pm
Something Today
8:00pm
<

May 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
7:00pm
Something Today
9:00pm
Something Today
10:00pm
<

June 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
8:00pm
Something Today
11:00pm
Something Today
10:00pm
<

July 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
11:00pm
Something Today
11:00pm
Something Today
6:00pm
<

August 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
1:00pm
Something Today
10:00pm
Something Today
7:00pm
<

September 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
12:00pm
Something Today
8:00pm
Something Today
5:00pm
<

October 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
6:00pm
Something Today
5:00pm
Something Today
3:00pm
<

November 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
5:00pm
Something Today
3:00pm
Something Today
10:00pm
<

December 2007

>2008 »
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
12:00pm
Something Today
5:00pm
Something Today
2:00pm
« 2007<

January 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
5:00pm
Something Today
2:00pm
Something Today
1:00pm
« 2007<

February 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
6:00pm
Something Today
2:00pm
Something Today
6:00pm
« 2007<

March 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
10:00pm
Something Today
10:00pm
Something Today
7:00pm
« 2007<

April 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
11:00pm
Something Today
7:00pm
Something Today
11:00pm
« 2007<

May 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
8:00pm
Something Today
12:00pm
Something Today
4:00pm
« 2007<

June 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
2:00pm
Something Today
9:00pm
Something Today
8:00pm
« 2007<

July 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
4:00pm
Something Today
9:00pm
Something Today
6:00pm
« 2007<

August 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
8:00pm
Something Today
11:00pm
Something Today
1:00pm
« 2007<

September 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
3:00pm
Something Today
6:00pm
Something Today
5:00pm
« 2007<

October 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
2:00pm
Something Today
7:00pm
Something Today
12:00pm
« 2007<

November 2008

>
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
4:00pm
Something Today
7:00pm
Something Today
9:00pm
« 2007<

December 2008

SundayMondayTuesdayWednesdayThursdayFridaySaturday
Something Today
1:00pm
Something Today
5:00pm
Something Today
7:00pm

How it Works

The Code to generate a data calendar is encapsulated in a single static PHP class: JSDataCalendar, and an optional external javaScript file. The PHP class handles the creation of the initial Calendar set, and all DHTML necessary for switching between calendars. The javaScript file provides extra functionality for accessing calendar items from script.

JSDataCalendar has two methods: InlineCSS which returns a string of CSS for formatting the calendars and Calendar which takes an associative array whose Keys are dates in YYYYMMDD format, and whose values are the string contents of the calendar date. Optional parameters include fromDate and numMonths which define the span of the calendars generated (if not defined, these values are calculated based on the provided calendar items), activeDate which specifies which Calendar to show by default, and id which provides a DOM id, which is required to use the javaScript hooks to modify the calendar.

Future plans are to rebuild the JSDataCalendar class to improve the interface and streamline calendar creation.

Code from this Example

The Code to generate this calendar set is as follows (date content strings have been truncated).

$items = array( '20070301'=>'<div>Something Today<br>6:00pm</div>', [...] );

JSDataCalendar::Calendar( $items );