Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Farcaster's Event Attendance Details »»
Farcaster's Event Attendance
Version: 1.2.2, by Farcaster Farcaster is offline
Developer Last Online: Jun 2014 Show Printable Version Email this Page

Category: Calendar Enhancements - Version: 3.6.x Rating:
Released: 10-13-2006 Last Update: 05-03-2008 Installs: 398
DB Changes Uses Plugins Template Edits
 
No support by the author.

A BETA version 2.0 is now available in the 3.7 modification area.

This hack will allow your users to RSVP "Yes," "No," or "Maybe," for events posted on your forum calendar. You can configure which calendars RSVP should be enabled or excluded from, and on each event you can also specify whether this is an RSVP event. Unlike the old Event Attendance script, this hack will work on all types of events whether they are single day, ranged or recurring.

For ranged and recurring events, members are able to RSVP for a single day of the event. So, if the recurring event occurs every Monday, your members can RSVP separately for each recurrence. For ranged events that span more than one day, members can sign up for individual days of the event. Thus, if the event had a duration of 5 days, a member could signup for only one or two of the days, if he chose.

This hack is known to work with 3.6.x, and may work with 3.5.x, but no support is offered for this version at this time.

vB Event Forums Users:
You will need to install an additional module: https://vborg.vbsupport.ru/showthread.php?t=133970


Upgrade Instructions:
- 1 xml upload

1. Use the Product Manager to import the product file product-rah_calendar_rsvp_1_2_2.xml. Be sure to ALLOW OVERWRITE.

Installation Instructions
- 1 XML upload
- 1 template modification

1. Use the Product Manager to import the product file product-rah_calendar_rsvp_1_2_2.xml
2. Use the Style Manager to find and edit your calendar_showeventsbit:

Near the bottom of the calendar_showeventsbit, find:
HTML Code:
     </form>
Below that add:
HTML Code:
     $rsvp_form
That?s it. You should now configure any changes to the default options you like. If you previously used Event Attendance 2.0 by Arpy, you should disable it or uninstall it.

If you want to change any of the wording or need to enter translations, this hack uses the following phrases:

Calendar Phrases:
calendar_rsvp_allow
calendar_rsvp_attendquestion
calendar_rsvp_changelater
calendar_rsvp_maxlength
calendar_rsvp_maychange
calendar_rsvp_yoursvp
calendar_rsvpd
-- Added on 11/30/06:
calendar_rsvp_guest
calendar_rsvp_guest_limit
calendar_rsvp_guests_prompt
calendar_rsvp_max_guests
-- Added on 2/20/07
calendar_rsvp_changeby
calendar_rsvp_maychangeby
calendar_rsvp_closed
calendar_rsvp_expires

Standard Phrases:
yes
no
maybe
submit
comment
-- added on 2/20/07
minutes
seconds

Extra Instructions for 3.5.x Users:
This hack MAY work with 3.5.x, but you will need to add the standard global phrase "Comment"

Screenshots Attached.

If you use this hack, please be sure to click "Install" so that you can receive notifications of any updates.

Revision Log:
1.0.0 - 10/14/06 - Initial Release

1.0.1 - 10/19/06 - Maintenance Release.
  • Updated to handle getting a link without the "day" parameter.
  • Fixed timezone bug.
  • Updated calendar_rsvp_yoursvp phrase to include date.
  • Updated calendar_rsvp_attendquestion phrase to include date.
  • Updated calendar_rsvp_form for changed phrases.
1.1.0 - 11/30/06 - Minor Revision
  • Added ability for members to register guests in their RSVP. The guest system can be completely disabled, and is also configurable by event to limit the number of guests each member can bring.
  • RSVPs are now time stamped. The date and time of the RSVP can be displayed on the RSVP form if desired from a setting in the admincp.
    RSVPs can now be sorted by the date the user signed up or by member name.
  • The hack is now configured to work with the "Check Version" option for products in vBulletin.
1.1.1 - 12/15/06 - Maintenance Release.
  • Fixed uninstallation code. The hack can now be uninstalled without error and will correctly remove all fields and tables added by this hack.
1.1.2 - 12/21/06 - Maintenance Release.
  • Corrected install code to handle fields left behind by installations prior to version 1.1.1. You only need to install this update if you were recieving database errors when attempting to install the product.
1.2.0 - 02/20/07 - Minor Revision [Detailed Notes]
  • Feature: Moderators and owners can remove member RSVPs from events.
  • Feature: RSVP Expiration System added.
  • Bug Fix: Changing the date or recurring options of an event now removes all RSVPs.
1.2.1 - 05/09/07 - Maintenance Release
  • Bug Fix: Fixed problem with event description being truncated if it ended in the letter "n"
  • Bug Fix: Fixed summary when multiple events on the same day are shown so that it no longer cumulatively adds the guests and member counts to the next event.
1.2.2 - 05/03/08 - Maintenance Release
  • Added Security Token to be compatible with vBulletin 3.6.10 and 3.7.0.

This hack is provided completely free of charge. However, if you use this hack and are so moved, you may make a donation via PayPal:

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #182  
Old 02-19-2007, 12:01 PM
GrandAmGuru's Avatar
GrandAmGuru GrandAmGuru is offline
 
Join Date: Jan 2002
Location: Cary, IL
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Possible suggestion for a future release:
* set it so admins can go in and edit other members RSVP or comments

Right now I can do it with another hack that lets me login as a member, but it would be nice to be able to edit the RSVP's from the event listing page.
Reply With Quote
  #183  
Old 02-20-2007, 12:57 AM
Caster Caster is offline
 
Join Date: Jul 2004
Location: Cali
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I tried search the thread, but I wasn't able to find anything. I'm trying to let my members RSVP to an event from outside the calendar. I figrued I would just insert the fields into the database myself, but I'm having a little trouble figuring out what "ocdate" is exactly. I was able to find this part in the XML script and I found that that the ocdate field is inserted into the db by the $rsvpdate variable.

PHP Code:
// If the parameter wasn't passed, and this is recurring, get next event from today.
    
if ($eventinfo['recurring'] AND !$rsvpdate) {
        
DEVDEBUG('Fetching date from next event date');
    
        
$gettime TIMENOW  $vbulletin->options['hourdiff']; 

        
// find next occurence within one year.
        
while ($iterations 365)
        {
            
$addcache false;
            
$todaydate getdate($gettime);
            
            if (
cache_event_info($eventinfo$todaydate['mon'], $todaydate['mday'], $todaydate['year'], 1false))
            {
                
$rsvpdate gmmktime(000$todaydate['mon'], $todaydate['mday'], $todaydate['year']);
                
$iterations 999999;
                
DEVDEBUG('Fetched - '.$rsvpdate);
            }

            
$iterations++;
            
$gettime += 86400;
        } 
// end while loop
    
    

I figured that the $gettime is the time and the hour difference, the getdate function puts the unix time into an array and is then converted using gmmktime. What I don't understand is the if statement

PHP Code:
if (cache_event_info($eventinfo$todaydate['mon'], $todaydate['mday'], $todaydate['year'], 1false)) 
and how you're able to find out the next event date (if that matters at all or has anything to do with the "ocdate").

Thanks for the great mod!
Reply With Quote
  #184  
Old 02-20-2007, 01:16 AM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Caster,

ocDate means "Occurrence Date". Since events can be ranged or recurring, the ocDate field is used to determine what date the member was looking at when they RSVP'd. That uniquely ties an RSVP to a day of an event. ocDate is always set to midnight GMT of the day the event, or instance of the event, occurs. Normally, the ocDate can be determined by looking at the "day" parameter from the query string, but if the day isn't passed, the code then attempts to get the date by a couple different methods:
  • If the event is recurring, it looks at the present date and then goes out up to 365 days looking for a recurrence of the event. The first future date the event recurs on will be used.
  • If it is a single day event, then it uses the dateline_from, which is already set to midnight GMT.
  • If the event is ranged, then it is set to midnight GMT of the first day of the event.
All of those methods are only used of a specific day is not specified in the query string.

I hope that helps.
Reply With Quote
  #185  
Old 02-20-2007, 01:25 AM
Caster Caster is offline
 
Join Date: Jul 2004
Location: Cali
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The thing is the events that the members will be rsvping to are all recurring events and I didn't figure out how you found out what day the next event is going to be on.

Edit: Well since they're weekly events, could I figure it out by just multiplying 86400 by 7 (days a week) and adding that to the $gettime?

Thanks for the quick reply as well!
Reply With Quote
  #186  
Old 02-20-2007, 01:49 AM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Caster View Post
I figured that the $gettime is the time and the hour difference, the getdate function puts the unix time into an array and is then converted using gmmktime. What I don't understand is the if statement

PHP Code:
if (cache_event_info($eventinfo$todaydate['mon'], $todaydate['mday'], $todaydate['year'], 1false)) 
In this statement, I am piggybacking on the existing vBulletin functionality. cache_event_info returns true if the event the event array that is passed ($eventinfo) is found to occur on the specified month, day and year that are passed from $todaydate. In order to use this function, you will need to include "functions_calendar.php" in your program.
Reply With Quote
  #187  
Old 02-20-2007, 02:22 AM
Caster Caster is offline
 
Join Date: Jul 2004
Location: Cali
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oooo okay, I'll give it a shot. Thanks for the help and the mod! =]
Reply With Quote
  #188  
Old 02-20-2007, 04:52 AM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A new version of the RSVP hack is now available for download. I wish I had the time to get to all of your requests, but I did implement a couple of features which have been heavily requested.

NOTE: This hack may or may not work for 3.5.x. I am no longer supporting that version as I do not have a 3.5.x test board to work with. Only 3.6.x is supported.

Feature: RSVP Moderation
This new feature allows selected user groups and event owners to delete RSVPs from an event. There are two new settings in the options menu that support this feature. "Owner Moderation" allows you to configure whether or not the original event poster will be able to remove RSVPs from their own event, and the option "Moderator Groups" allows you to specify user groups that can remove RSVPs from any event. Sorry, this is not specific to the calendar.

Feature: RSVP Expiration System
By setting the option "RSVP Expiration" to yes (default), event posters can setup the RSVP form to close within a certain time frame before the event start time. The poster can specify a number of days, minutes, hours and seconds. If not otherwise specified, the RSVP will close once the event has started. For single day events, the RSVP form defaults to remain available until the end of the day (11:59pm) and the event expire time will work backwards from that time.

If you do not want events to ever expire, you can turn the entire system off in the options window.

Bug Fix: Changing the date or recurring options of an event now removes all RSVPs.
This resolves a problem where the Email Addon might send a user a false notification about an upcoming event after the event date options had been modified.

ADDED GLOBAL PHRASES
- minutes
- seconds

ADDED CALENDAR PHRASES
- calendar_rsvp_changeby
- calendar_rsvp_maychangeby
- calendar_rsvp_closed
- calendar_rsvp_expires

TEMPLATE CHANGES
- calendar_rsvp_form
- calendar_rsvp_bit
Reply With Quote
  #189  
Old 02-20-2007, 05:26 AM
Quantnet Quantnet is offline
 
Join Date: Nov 2006
Location: NYC
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

updated
Reply With Quote
  #190  
Old 02-20-2007, 01:02 PM
WATRD WATRD is offline
 
Join Date: Aug 2006
Posts: 45
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, I am not seeing it, where do I go to moderate RSVP's?

Also, when setting the RSVP expiration, it looks like the word "hours" is missing. I see:

"Time Before Event to Close RSVP: Days Minutes Seconds"

There's a box, but no legend for it. It might be confusing to users.
Reply With Quote
  #191  
Old 02-20-2007, 01:05 PM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by WATRD View Post
Okay, I am not seeing it, where do I go to moderate RSVP's?

Also, when setting the RSVP expiration, it looks like the word "hours" is missing. I see:

"Time Before Event to Close RSVP: Days Minutes Seconds"

There's a box, but no legend for it. It might be confusing to users.
WATRD, what version of vBulletin do you run? And, you should see the option to remove RSVPs on the event display screen next to each name.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:23 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05899 seconds
  • Memory Usage 2,348KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_html
  • (3)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete