PHP events calendar
I am no longer persuing this. Unfortunately I got halfway through trying smarty templates, so it's currently a mess. For anyone else trying this, I recommend trying Django, it is what I'll be using.
This was the home of the events calendar I created for the UKWA events database.
If there is any interest in it, I'll create an SVN / Trac repository under an open source license for people to download, try, and hopefully improve it.
It is currently oriented around running UK windsurfing events, but apart form a few extra fields (level, discipline etc.), it is not too specific. Each event
has an organiser
, and a location
.
This information is added and altered by a back-end (password protected) admin area, here's an example screen shot (notice TinyMCE used for adding HTML content):
Outputs
Once there are events in the database, one include/page runs all these things:
- The home page's next 5 events (including hCalendar formated output).
- The main events page (table formated hCalendar output).
- Subcategory pages for different regions, discplines, and international (i.e. other people's) events.
- Pages for event information (example page).
Each page is made up of:- Info from this year (at the top of the page).
- Location information (so mulitple events can re-use the same information).
- More custom info from this year (registration, costs, sponsors/thanks etc).
- And all the results are cached for each 'page', to ensure performance in maintained.
The database can also include results/reports/gallery locations to run post-event type pages such as the UKWA results (alhtough I haven't implemented that yet).
It all sounds great doesn't it, so what's the catch? Well, the main one is that I'm not a programmer, so it's probably implemented pretty poorly, without enough abstration. That's partly why I want to make this available, so other eyes can look over an improve it.
Contact me if you are interested, it will be a bit of work to make generic enough for people to install without too much hassle, and then create a repository for it.