As work progresses on the firepaper project, I found myself in need of a solid PHP class to generate calendar interfaces for things like picking dates for reviewing logged time, scheduling tasks, etc. I looked around for a while at how others were dealing with creating calendar displays and wasn’t satisfied with what I found.
A lot of the examples I found used mathematic calculations to get the days to line up on the proper day of the week and fall into the correct weeks (rows of the table). This seems unnecessary considering PHP’s date function provides everything needed to do the job. In addition I wanted the output to be semantically meaningful, easily styled and of course valid XHTML 1.0 Strict. So, I created my own calendar creation class, calendar.class.php, and I’m releasing it into the wild under a Creative Commons Attribution-Share Alike 3.0 License.
Read the rest of this entry »