Version: 1.0.3b, by Farcaster
Developer Last Online: Jun 2014
Version: 3.5.4
Rating:
Released: 09-25-2006
Last Update: 09-27-2006
Installs: 7
DB Changes Uses Plugins Template Edits
Code Changes
No support by the author.
For 3.5.x version only. For a 3.6.x version, go here
What does it do?
This hack allows your members to receive automatic reminders for all upcoming events in one or more calendars of their choice without having to request individual reminders for each event. In effect, this operates like a subscription to a calendar.
How does it work?
When opening a calendar, the user will be presented with an option just under the calendar title to subscribe or unsubscribe to the calendar. Members can request automatic reminders for all events on the calendar for one, two or three days in advance. Once per day, a digest of all upcoming events will be sent to the user advising them of upcoming events in the time frame they chose. (see attached screenshot)
Users can also unsubscribe from a calendar by going to the UserCP and Event Reminders section (see attached screenshot)
Example Email (uses the event reminder email template):
Quote:
Dear Farcaster,
The following events are scheduled to begin soon at YOUR FORUM NAME.
Upgrading from previous version:
You do not need to uninstall the previous version.
To upgrade from previous version to 1.0.3b:
1. Remove the Calendar Subscription cron job if it exists.
2. Delete the file includes/cron/calendar_reminder.php
3. Make the changes to the reminder.php file as specified in the instructions below.
$dsq = $vbulletin->db->query_read("
SELECT *
FROM " . TABLE_PREFIX . "datastore
WHERE title = 'lastautoremind'
");
$ds = $vbulletin->db->fetch_array($dsq);
$daynumber = round($timenow/86400);
if ($ds['data'] < $daynumber) {
build_datastore('lastautoremind',$daynumber);
$calendar_subscription = "UNION ALL
SELECT event.eventid, event.title, recurring, recuroption, dateline_from, dateline_to, IF (dateline_to = 0, 1, 0) AS singleday,
dateline_from AS dateline_from_user, dateline_to AS dateline_to_user, utc, recurring, recuroption, event.calendarid,
subscribecalendar.userid, 0 as lastreminder, 0 as subscribeeventid, subscribecalendar.reminder,
user.email, user.languageid, user.usergroupid, user.username, user.timezoneoffset, IF(user.options & 128, 1, 0) AS dstonoff,
calendar.title AS calendar_title
FROM " . TABLE_PREFIX . "event AS event
INNER JOIN " . TABLE_PREFIX . "subscribecalendar AS subscribecalendar ON (subscribecalendar.calendarid = event.calendarid)
INNER JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = subscribecalendar.userid)
LEFT JOIN " . TABLE_PREFIX . "calendar AS calendar ON (event.calendarid = calendar.calendarid)
WHERE ((dateline_to >= $beginday AND dateline_from < $endday) OR (dateline_to = 0 AND dateline_from >= $beginday AND dateline_from <= $endday ))
AND event.visible = 1";
}
(Note: If a user chooses to receive a reminder 3 days in advance, they will receive a daily reminder on each day from the 3 days out to 1 day out)
And, that's it. I hope you enjoy. Please click "install" if you use this hack.
I have not tested this with 3.6.1 yet, but there shouldn't be any reason it won't work with it.
Revision History Version 1.0.2b - Initial Release for version 3.5.x forums Version 1.0.3b - Removed calendar_reminder.php and merged email code with existing reminder.php.
This version WILL NOT work with 3.6.x. For a 3.6.x version, go here.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Fatal error: Call to undefined function: query_read_slave() in /home/www/24bafe388801b7a495b70129f0b529c5/web/forum/calendar.php(2106) : eval()'d code on line 2
Wooops! How'd that get in there. That's from the 3.6.x version. I've fixed it. Re-download the zip file and reimport the XML file and it should work fine.
Wooops! How'd that get in there. That's from the 3.6.x version. I've fixed it. Re-download the zip file and reimport the XML file and it should work fine.