Version: 1.00, by Kentaurus
Developer Last Online: Jul 2014
Version: 3.0.0
Rating:
Released: 04-04-2004
Last Update: Never
Installs: 164
No support by the author.
Request by: DaveLogic
With this hack when you create an event you can give the users an option to "register" to the event. Then you can view which people have registered to that event.
This could be used so you create an event and then other people notify that they will be attending to the event. You can then keep track of all the people that would be attending each event.
Info for hackers:
You may modify, improve, upgrade, redistribute this hack, include it
in another hack or yours or translate it provided you do it free of
charge and you distribute it in www.vbulletin.org at least, there is no
need to pm me asking for permission
Some portions of the code are (c) Jelsoft Enterprises Ltd.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
By the way: unregistered users can also participate on events. Every user is THE unregistered user and due to this everyone can attend an event, and another user can cancel the attendance for THE unregistered account.
Cheers,
Thank you for pointing this out. I'll add this to the list of stuff I'm going to attempt to fix. This would've actually been a pretty big problem on my site!
There appears to be a bug in the software that causes accumulation of data if:
A) Multiple Events Occur On Same Day, and
B) Events Use Roll Call Feature
Example data:
Event #1 -
Actual Roll Call: User1, User2, User3
Displayed Roll Call: User1, User2, User3
Event #2 -
Actual Roll Call: User4
Displayed Roll Call: User1, User2, User3, User4
...
Would appear that the array isn't cleared between cycles? Haven't had a chance to look at the code yet to verify.
I've only run across this problem when you look at all the events in a day at once. If you go to individual events, everything is fine. I suspect you are right about the array not being cleared. Any thoughts on how to fix it? I'm looking into it as I type.
By the way: unregistered users can also participate on events. Every user is THE unregistered user and due to this everyone can attend an event, and another user can cancel the attendance for THE unregistered account.
Cheers,
I've found a simple fix for this problem:
In the template calendar_roll, find
PHP Code:
<if condition="$show[userattending]">
and above it add
PHP Code:
<if condition="$bbuserinfo['userid']">
Find
PHP Code:
</if>
and after it add another
PHP Code:
</if>
That's what I've found to work so far, but I haven't tested it fully, so let me know if there are any problems.
Ok, I finally figured out a fix for the double listing problem on a day's events listing. Find this:
PHP Code:
// Roll for this event
and under it add
PHP Code:
unset($rollbits);
That should do it. I've tested it loosely and it works. Let me know if there are any problems.
I think that addresses the 2 problems that people were having with this otherwise wonderful hack. I hope the author won't mind me posting the fixes I found and I hope they can be incorporated into the next release.
That's what I've found to work so far, but I haven't tested it fully, so let me know if there are any problems.
Hello,
this is what i had implemented from day one when i experienced this bug. It worked fine so far until 1 week ago. Now i have 2 problems:
- still have unregistered user on the list of attendees
- users are listed who never clicked on the link
I found out how they bypass our check for userid. They open 2 windows as a user who is not attending the event and sees the link "i want to attend to this event". Then he goes to the second window and logs out of the forum. The cookie is cleared. Then he goes back and clicks the link in the first window which is still there and oleeeeeeeee oleeeeeeeeee you have the user "unregistered user" attend the event. :-(
I haven't found out how they managed now to subscribe other users to an event but i will try to find out this as well.
...this is what i had implemented from day one when i experienced this bug.
I wish you would've posted it. It would've saved me quite a bit of time.
Quote:
Originally Posted by Pseudomizer
- still have unregistered user on the list of attendees
- users are listed who never clicked on the link
I found out how they bypass our check for userid. They open 2 windows as a user who is not attending the event and sees the link "i want to attend to this event". Then he goes to the second window and logs out of the forum. The cookie is cleared. Then he goes back and clicks the link in the first window which is still there and oleeeeeeeee oleeeeeeeeee you have the user "unregistered user" attend the event. :-(
I haven't found out how they managed now to subscribe other users to an event but i will try to find out this as well.
That makes sense actually since all our code does is eliminate the prompt for an unregistered user and doesn't actually make it so an unregistered user cannot set the bit.
I think some sort of "if user logged in" code prefixing the db update would keep the unregistered users from setting the bit even if they somehow get the option. I've briefly looked at calendar.php and it seems like it will be easy to implement. The question is just where to put the code.
Now from what I've seen, if a unregistered user is already set, the only way to unset them is to get to a prompt and unset it.
As far as the other users that never clicked it, the only thing I can think of is some sort of db corruption. How many events do you have so far and how many people have used it? Maybe there are problems once usage gets above a certain level.