Flexical
Flexical is a PHP/MySQL calendar forked from phpEventCalendar by Isaac
McGowan, and available under the GPL. It works great right now, and there are
plans for some serious improvements, including icalendar import/export and
repeating events. Don't hold your breath, it will take a while. The only
reason development continues is because online portal calendars (like Google
Calendar) don't provide the sort of display one needs to print out monthly
event calendars.
Downloads
Some distribution archives can be found at the web site where Flexical is in
production use. They are inevitably outdated, since releases are posted
sporadically. The newest updates can be obtained via the gitweb interface at
git.christfor.us. The bleeding edge
(main branch) probably won't work, but the in_use branch ought to. Sorry,
documentation is parse.
Demo
To see it in action, visit
the production site.
There's also a virgin demo install you can play
with. Though it's not nearly as customized, you can log in as a privileged
user and play with it.
Features
- Calendar tab, showing the classic landscape month calendar, weekdays
ordered Sunday through Saturday, with a basic interface for selecting a
different month and year, or navigating to the next, previous, and current
(present-day) month. This may be displayed using a legacy HTML table
or the CSS-based "display: table" property. Internet Explorer can
only handle the former, but does display the calendar correctly when legacy
tables are used.
- Event List tab, showing a tabular listing of events that fall on a
specified date and a number of time units (days, weeks, months, years) after.
It also allows navigation to the next or previous time span, or to the current
date as a starting point. Events within dates are listed chronologically.
- Categorization of events. The display of event and category names can be
tweaked with CSS, so that an event's category may be recognized at a glance. (See
css/custom.css for examples.) Categories can be selected (or not) for the
display of their events, and some categories can be designated as "hidden," so
that casual users won't ever see them. Whole categories can be deleted with
all their events at once, and their names can be changed by an administrator.
- User levels that distinguish between unauthenicated viewers, privileged
viewers, event editors, and administrators. Popup windows are avoided when
possible, and links are provided with displayed events, for privileged users,
so that the effort required to create, modify, or delete events is
minimal.
- Instead of offering repeating events at this point, we have the ability to
copy events in a sophisticated way, repeating copies by day, week,
month-by-day, month-by-date, and year.
- In addition to selection by category and by date range, events may also be
filtered by title, description, and/or time, so that only matching events are
displayed. This also allows privileged users to set those things for a number
of events that match any required date range, category, and filter setting.
The title and description filters are regular expressions, which provides great
flexibility.
- Administrators are able to backup and restore the calendar database through
the web.