MCAL stands for Modular Calendar Access Library.
Libmcal is a C library for accessing calendars. It's written to be
very modular, with pluggable drivers. MCAL is the calendar
equivalent of the IMAP module for mailboxes.
With mcal support, a calendar stream can be opened much like the
mailbox stream with the IMAP support. Calendars can be local file
stores, remote ICAP servers, or other formats that are supported
by the mcal library.
Calendar events can be pulled up, queried, and stored. There is
also support for calendar triggers (alarms) and recurring events.
With libmcal, central calendar servers can be accessed,
removing the need for any specific database or local file
programming.
To get these functions to work, you have to compile PHP with
--with-mcal. That requires the
mcal library to be installed. Grab the latest version from
and compile and install
it.
The following constants are defined when using the MCAL module.
For weekdays :
MCAL_SUNDAY
MCAL_MONDAY
MCAL_TUESDAY
MCAL_WEDNESDAY
MCAL_THURSDAY
MCAL_FRIDAY
MCAL_SATURDAY
For recurrence :
MCAL_RECUR_NONE
MCAL_RECUR_DAILY
MCAL_RECUR_WEEKLY
MCAL_RECUR_MONTHLY_MDAY
MCAL_RECUR_MONTHLY_WDAY
MCAL_RECUR_YEARLY
For months :
MCAL_JANUARY
MCAL_FEBRUARY
MCAL_MARCH
MCAL_APRIL
MCAL_MAY
MCAL_JUNE
MCAL_JULY
MCAL_AUGUST
MCAL_SEPTEMBER
MCAL_OCTOBER
MCAL_NOVEMBER
MCAL_DECEMBER
Most of the functions use an internal event structure that is
unique for each stream. This alleviates the need to pass around
large objects between functions. There are convenience functions
for setting, initializing, and retrieving the event structure
values.