The goal of this software is to create a 10-foot style user interface to display the contents of one or more iCal files. The calendar has the ability to highlight or darken certain events or calendars, and which events are displayed is customizable.
This software utilizes AJAX to load the output of a PHP script. This requires that page be reached via the same web server that is serving the PHP script, as AJAX cannot load external or local sources.
PHP 5.3.2 or higher is required on the server to run this software.
Composer is required to install necessary development dependencies, but not required when using a prepackaged release.
- Drop this directory onto your web server.
- Follow the configuration instructions below.
This repository contains an example configuration file, config.example.php
.
This file must be renamed to config.php
in order to be read properly.
The software provides the following options:
Events
$number_of_events
- Set to the maximum total number of events to display. Set this to-1
for no limit.$days_back
- Set to the number of days in the past to display events. Set this to-1
for no limit.$days_forward
- Set to the number of days in the future (including today) to display events. Set this to-1
for no limit$skip_keyword
- Any event with this string located anywhere in its description will not be displayed. To use no string, usefalse
.
Highlight/Darken
$highlight_today
- Set totrue
to highlight events that occur today. Set tofalse
otherwise.$highlight_calendars
- Add each calendar you wish to always highlight. For example, usearray("cal1", "cal2")
to highlight calendar sources named "cal1" and "cal2". To highlight no calendars, usefalse
.$highlight_keyword
- Any event with this string located anywhere in its description will be highlighted. To use no string, usefalse
.$darken_past
- Set totrue
to darken events that have passed. Set tofalse
otherwise.$darken_calendars
- Same as$highlight_calendars
, except darkened.$darken_keyword
- Same as$highlight_keyword
, except darkened.
Error Reporting
$show_ical_errors
- Setting this totrue
will display an error if one or more iCal sources cannot be read or parsed. Set tofalse
to suppress this message.
Reload time
- By default, data is reloaded from the ICS files every 60 seconds. This value
can be changed in the
ajaxcall()
function offunctions.js
. Please note that the value is in milliseconds. Please note that this interval should not be set too low, as calendar reloads are somewhat heavy.
Styles
- The background image is
bg.jpg
and can be replaced by any image. By default, the background will tile in both directions. Other styles can be modified in thestyle.css
file.
This project relies on the ics-parser library.