PHP Web Calendar
Web Calender is an open source PHP-based multi-user calendar.
- Multi-user support
- Group support
- View day-at-glance
- View month-at-glance
- View week-at-glance
- View year-at-glance
- View another user's calendar
- View multiple users' calendars at the same time
- View one or more users' calendar via layers on top of your own
- Public calendar (that requires no login) where anonymous users
submit events that are approved by an administrator
- Add/Edit/Delete users
- Add/Edit/Delete events
- Repeating events
- Custom event fields
- Search interface for calendar entries
- User-configurable preferences for colors, 12/24 time format,
Week start on Sun or Mon, default work hours
- Online help
- Checks for scheduling conflicts
- Support for multiple timezones
- Users can accept or reject events added by another user to their
- Email reminders
- Email notifications for new events
- Support for 30 different languages:
- Deutsch (German)
- Español (Spanish)
- Français (French)
- Hollands (Dutch)
- Holo (Taiwanese)
- Italiano (Italian)
- Exporting to and importing from:
- Palm Pilot
- Authentication using:
- HTTP authentication
- Activity log that tracks:
- event creation
- event updates
- event acceptance
- event rejection
- email notifications
- email reminders
- PHP 4 (PHP 5 not yet tested) with magic_quotes_gpc enabled
MS SQL Server
ODBC (PHP ODBC includes support for Adabas D, IBM DB2, Solid and
Sybase SQL Anywhere as well as ODBC)
- CSS-enabled browser
- If not using HTTP-based authentication, then browser cookies
Download PHP Web Calendar
- I get error messages about undefined variables when I try to view
- On newer versions of PHP, the default setting of PHP is to display
messages when an undefined variable is referenced. To prevent these
messages from being displayed, change the setting of error_reporting in
your php.ini file to be:
error_reporting = E_ALL & ~E_NOTICE
Alternately, you can disable any error messages from being displayed in the
browser and have them logged to a file. (See the comments included in the php.ini file
for instructions on how to do this.)
- I get errors when trying to add an event that contains a single
- WebCalendar is designed to work with PHP's magic_quotes_gpc feature
(configured in php.ini). If you do not have this enabled
(On in php.ini), you may get errors when adding
events. In WebCalendar version 0.9.43 or later, you will always get
an error message telling you to update php.ini if magic_quotes_gpc is
set to Off.
TIP If you are using Apache as your web server and
if you cannot or do not want to enable magic_quotes_gpc for your
entire site, you can enable it just for WebCalendar. Create a .htaccess file
in the toplevel WebCalendar directory that contains a single line:
php_value magic_quotes_gpc 1
(For this to work with Apache, you must have the Apache AllowOverride
All directive enabled for the directory where WebCalendar is installed.
Additionally, PHP must be running as an Apache module, not a CGI.)
Note for Oracle and PostgreSQL: You must also change the value
of magic_quotes_sybase to On within the php.ini settings.
- I get an error message from PHP saying "Call to undefined function:
- This tells you that your version of PHP is missing something that
WebCalendar needs. If the function mentioned is a database login
function (ociplogin, mysql_pconnect, ibase_connect, pg_pconnect),
then you probably do not have the needed database support for your
database compiled into PHP. If the function is not a database connect
call, then check the PHP
manual to see if the function requires a
specific version of PHP. You may have an out-dated version of PHP
that requires upgrading.
- When I try and view certain pages, nothing happens for 30 seconds,
then I get a time-out error.
- On slower or very busy servers, it can take some time for the server
to get all the events. Most PHP installations have a built-in timeout
out of 30 seconds and will interrupt any request that takes longer
than that. This is most likely to happen on the year-long custom
report or on the month view when layers are being used. If you have
access, you can increase the time-out value for PHP in the php.ini file
by changing the setting of the max_execution_time setting.
- I get an error message that says "Can't connect to local MySQL
server through socket '/tmp/mysql.sock'."
- This is a PHP/MySQL configuration issue. The value of mysql.default_socket in
your php.ini file must match the value of socket in
your my.cnf file. Edit the php.ini file to fix
- I am not receiving any email messages from WebCalendar.
- WebCalendar sends two types of email messages: Notifications* and Reminders*. Check
the following if you are not receiving any email:
- You have defined a valid SMTP server in your PHP configuration
file php.ini. (The setting is "SMTP" in the "mail_function" section.)
- In WebCalendar's System Settings, you have set the "Email
Enabled" setting to "Yes".
- In WebCalendar's System Settings, make sure you have the "Default
sender address" to something.
Note: Some mail system will reject mail that
has a "From" address that is a different domain from the originating
SMTP server. So, if your SMTP server is smtp.mydomain.com and your "Default
sender address" is firstname.lastname@example.org, some mail systems may
bounce the mail back.
- For a Notification, make sure you have the type of Notification
set to "Yes" in the user's Preferences.
- For a Reminder:
- Make sure you have "Event reminders" set to "Yes" in
the user's Preferences.
- Make sure you have setup a cron job to
periodically run the send_reminders.php script.
- Some of the pages are displaying text
in English rather than <insert
your language here>
- The translations have been submitted at various points of WebCalendar
development. Some have not been updated to include newer features.
- The text that I entered in the Custom Event
Fields is not being translated to different languages.
- You will need to add an entry in each of the translation files
for any text you add into the Custom Event Fields.
- How do I get the most recent version of WebCalendar?
- You can download the latest public release from SourceForge's file list for
You can download the latest development code from the CVS server using the instructions provided by SourceForge .
(You will need a CVS client to do this.)
- How do I install a patch file listed on SourceForge's list of WebCalendar
- Most patches are distributed as context diffs. That means they
were produced using the UNIX diff command with the -C option.
The patches are intended to be used with the GNU patch program. This
program is standard on most Linux systems and can be obtained as
part of the Cygwin package for Windows. Mac OS X will have
the patch program installed if they install the developer tools CD.
- I forgot/lost my admin password. How can I reset it?
- The easiest way is to admin a new admin user and then use that
new user to reset the password for your old admin account. Assuming
you have deleted the original 'admin' login, you can use the following
SQL to insert a new admin user into the database:
INSERT INTO webcal_user ( cal_login, cal_passwd, cal_lastname,
cal_firstname, cal_is_admin ) VALUES
( 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator',
'Default', 'Y' );
This will add a user with login 'admin' and password 'admin' to
the database. If you still have a user named 'admin', then replace
'admin' in the above SQL with a different username.
- I get a database error indicating table webcal_config does
- This is the first table that WebCalendar tries to access, so it
typically means one of the following:
- You have not created the database tables as described in
- You have the wrong database name specified in your includes/settings.php file
Please ask your questions in the help