MCAL stands for Modular Calendar Access Library.
Libmcal is a C library for accessing calendars. It's written to be
very modular, with plugable 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 reoccuring events.
With libmcal, central calendar servers can be accessed and used,
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 http://mcal.chek.com/ and
compile and install it.
The following constants are defined when using the MCAL module:
MCAL_SUNDAY,
MCAL_MONDAY,
MCAL_TUESDAY,
MCAL_WEDNESDAY,
MCAL_THURSDAY,
MCAL_FRIDAY,
MCAL_SATURDAY,
MCAL_RECUR_NONE,
MCAL_RECUR_DAILY,
MCAL_RECUR_WEEKLY,
MCAL_RECUR_MONTHLY_MDAY,
MCAL_RECUR_MONTHLY_WDAY,
MCAL_RECUR_YEARLY,
MCAL_JANUARY,
MCAL_FEBRUARY,
MCAL_MARCH,
MCAL_APRIL,
MCAL_MAY,
MCAL_JUNE,
MCAL_JULY,
MCAL_AUGUGT,
MCAL_SEPTEMBER,
MCAL_OCTOBER,
MCAL_NOVEMBER, and
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.