The Kinky Calendar System is a totally free ColdFusion calendar system that was designed, not as a stand-alone application, but rather as a module that could be easily integrated into an existing piece of ColdFusion software. Using only two database tables and extremely simple queries, this system should work on just about any database application, event the dreaded Microsoft Access.
The Add / Edit interfaces have been kept purposefully simple. It is my assumption that any application that integrates with this free ColdFusion calendar system will already have widgets for date and time selection. Those widgets should be inserted in place of my standard text inputs.
Special thanks to Peter Bell who inspired me to actually get this calendar idea up and running.
Put in some form value escaping to prevent people from inputing HTML characters. Also updated the leap year to use the more simple DateAdd() method.
There was a problem with the leap year. When calculating monthly and yearly repeating dates, the GetEvents() method was trying to start at Feb. 29th of the previous year. This has been corrected. Thanks to Peter Bell for pointing that out.
Several people have asked where the REQUEST.DSN information is being set. The original build did not include any Application CFM/CFC file, so this was not obvious (my who testing sandbox runs under one Application). This build contains a ColdFusion Application.cfc file that defines the Application settings, page request settings, and a single OnRequestStart() event method that sets the REQUEST.DSN information.
I am using REQUEST.DSN because it was the easiest thing to set up in my test server; however, when implemented, you SHOULD use the DSN information from your own application. This might require you to switch REQUEST.DSN to APPLICATION.DSN. In general, your DSN information should be persisted in a way that you don't have to keep setting it.
This build does not come with any examples or documentation, but should be able to run on its own as a stand-alone demo.