Eric Bylenga

My Collection   Hardware Projects   Software Projects   Arduino   MGB   Misc   Fancy Version (Modern Browsers)

68K Web Browsing  Improved 68K Browsing with Squid: Part 1 & 2  Improved 68K Browsing With Squid: Part 3  Image Testing on old Macs - JPG vs GIF  68K SSH  68K Mac and a NAS  68K Mac TCP/IP over Serial  68K Macintosh and a Modern Printer  68K Macintosh and IMAP Email  Podcasts on 68K Macintosh  68K Macintosh Video on the Web  Scripting Guest WiFi Changes on Aruba Instant  Scripting Guest WiFi Changes on Aruba Instant Part II  Integrating Blackbaud FENXT with Google Sheets  Weekly Room Calendar Viewer 

Home > Calendar

Weekly Room Calendar Viewer

We have many meeting spaces, classrooms and gyms at work that historically have all been booked with Google Calendar. Unfortunately, people are lazy, and often just show up and use a space without consulting the shared calendar. Hence my solution to enable the lazy! Put a screen up outside a workspace which informs the slothful of the current and upcoming events for the week, pulled from an iCal source like Google Calendar!

Pretty much any screen will do as long as it's internet connected but I've repurposed some old iPads and recently have discovered the Ubiquiti Connect Display.

This is a weekly calendar, showing all the events from iCal sources specified in the single PHP file. It's fully aware of recurring events, automatically refreshes every five minutes in case something changes, and highlights the event currently in progress.

To make things more interesting, you can specify different images to show up in the background based on keywords in the current event title. For example, if the event title contains the word "meeting" a meeting room scene will display as the background.

System Requirements

PHP8.3
Composer (dependancy manager for PHP)
sabre/vobject Library

Getting started

Run a standard webserver with PHP and install Composer to the local user space (you can install as root user but then add composer to the global path.

On Debian...

apt install composer
To move to global path....

mv composer.phar /usr/local/bin/composer
Run this from /var/www/html or whatever path where the project will reside:

composer require sabre/vobject
The code should now run.

If you are using Google calendars they should be shared publicly so that you can use the public URL to parse the calendar data.

The calendar folder can be moved directly into the same file path of the calendar.php file.

Here's a picture of the calendar in action on a Ubiquiti Connect Display

Main Page

Download:

Weekly iCal Display Ver. 2.0

Last Updated: December 20, 2024