Initial Commit

Updated README to describe what we're doing, tossed iCalcreator into the prep folder, since I think this will be our go-to tool.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
File Structure

Organizing files to start working.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
More Setup

A few more files, getting organized.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
iCalCreator… creates

…but does not seem to parse. phpicalendar?

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Merge branch 'refs/heads/master' into dev-calendar-ics

Merge updates to include files and CSS in master fork into dev-calendar-ics

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Reorganize Files

Move all of this fork's files into their own directory to avoid future conflicts.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Canvas ICS Feed Exposed

The webcal feed for Canvas courses is now exposed via the Calendar Export page.

iCalCreate has been removed, since we don't actually need to create ICS feeds!

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Merge branch 'refs/heads/dev-blackboard-import'
Merge branch 'refs/heads/master' into dev-calendar-ics

Updating dev-calendar-ics to reflect current master.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Licensing

Added Pest read me to the main project, per licensing agreement.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Emphasis

Sometimes, I like to put some emphasis in my messages.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
phpicalendar

I think we'll be using phpicalendar to parse ICS feeds…

I've tweaked this install of phpicalendar to include HTTP authentication, to prevent folks browsing uploaded calendars (the credentials are stashed in .ignore.calendar-ics-authentication.inc.php)

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
MySQL Support

It's come to this: I need to start thinking about storing things in databases so that I can work with them in the future!

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Debug Output Off

Whoops! Left the debugging output for phpicalendar turned on.

Now it's off.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Parse ICS Feeds

It looks like I've got phpicalendar hooked up to parse external ICS feeds into the $master_array, so that I can now process them into Canvas. Looks like the trick is going to be to look them up by UID in the database on the next load, looking for additions, modifications or deletions.

Also, renamed the calendar-ics script files to match their new folderized structure.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Push and cache ICS feed

The ICS feed is now being pushed into Canvas (one element at a time…) and is simultaneously being stored in a MySQL database, for future reference.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Default Constants

Grown-ups don't rely on human programmers to set default values.

Grown-ups also don't let their programs create infinite loops, no matter how annoyed they are at the Canvas API's unresponsiveness!

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Better Explanation

Tried to write up a clearer explanation of what the scripts do, so that users will understand what they're triggering.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
Use Defaults

Since we don't have to define constants for everything in config, we're just going to rely on default values.

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>
PestCanvas

Extended PestJSON with PestCanvas, which strips out the numeric indices that http_build_query() inserts (quite reasonably, I might add) into nested array parameters, but which cause Canvas API server errors.

This change to canvas-api-inc.php will require some recoding in any scripts that already use it (blackboard-import, I'm looking at you!) — rather than re-json-decoding the response from callCanvasApi, one can now skip that step!

Signed-off-by: Seth Battis <SethBattis@stmarksschool.org>