Target text area better
Turn on CI's cross-site scripting protection
Make a note: we can't currently use CI's CSRF protection because we don't let CI generate our forms for us
Add current database version ID to config so we can track if our database structure is up-to-date
Add ability for database get() to return more than one matching row for a key
Add ability for database update() function to create a 2nd row if there's already a row in the table with a matching key, rather than merging the two rows (required to allow for duplicate keys in service_posts table)
Remove debug code
Check in database to find its current version. Redirect to upgrade controller if it's not the latest version
Database upgrade controller & view
On installation, also create service_posts table and set database version
Service drivers post to their service but are no longer responsible for adding their post to the Whiskers database. Instead they return the URL & let the calling function handle the database
To allow server to understand which service posts should be grouped, browser passes a timestamp & the authoritative post text back to the server with each message
Server-side routes incoming AJAX calls from browser to each appropriate service driver and also writes successfully posted posts to the Whiskers database
On history view, pull all authoritative posts & their associated service posts out of the database and display them nicely
Comment out debug
Enforce ON DELETE CASCADE for foreign key between posts and service_posts tables. So if post is deleted, service_posts will be automatically deleted for us
Update instructions for adding services to match changes in service providers' websites
Merge pull request #20 from jonjennings/master

Changes to add authoritative posts functionality