View Full Version : Change Vote Ability
As promised a few weeks ago, I finally found some time to make the much needed addition to allow users to change their votes in a poll. After examining the code a bit, I ended up reusing some of the vB code for this ... I hope this isn't a violation of the hacks rules. I read through them, and I think the code re-use is so small and specialized that it will be ok for redistribution via this forum. If it's not, please feel free to edit/lock this thread, I just ask that a moderator let me know what parts are unacceptable.
Here is the hack, it's fairly simple:
Open up poll.php:
At the bottom of the file, find ?>
Just above this, insert this code:
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
Save poll.php and upload it.
In your templates, you will need to add two templates and modify 1 existing one.
First:
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
Second:
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
Lastly:
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
That's it...
Now your users will have the option to erase thier vote and revote. Not <i>quite</i> as elegant as allowing them to actually revote, but it will suffice for now ... at least for me. Someone feel free to expand on this if they want something a bit more robust.
Thanks, and good luck!
-Flare
I apologize if I misundestood the meaning of the hack, but if I understood correctly, there is already a feature to allow users to change their vote
tubedogg
01 May 2001, 19:50
There's a way to allow users to change their thread ratings, not votes on polls.
that code is somewhat unclean (select *).
Oh I see my bad :)
Thanks for clearing that up tuebdogg
Originally posted by tubedogg
There's a way to allow users to change their thread ratings, not votes on polls.
Jeez... thought this was something a bunch of people wanted :D Instead... I'm... *sob* ... unclean!
I'll go back in my corner now and eat paint chips ;)
Aunt Jemima
22 Jun 2001, 08:45
I get a Parse Error
Originally posted by Aunt Jemima
I get a Parse Error
Me to
Where is this error generated? Can you show me a on your system?
Originally posted by Flare
Where is this error generated? Can you show me a on your system?
Parse error when woting, and view result
Parse error: parse error in C:\HTTPD\upload\poll.php on line 532
Can you send me your poll.php?
My email is: flare@cohort.cc
I haven't tried this with the latest VB, I'm running 2.0.0 ... but I can't imagine anything has changed in poll.php between the two versions.
Only other thing I can think of off the top of my head is that you are running it on a windows box compared to my linux box... but I don't think that would affect it either.
Originally posted by Flare
Can you send me your poll.php?
My email is: flare@cohort.cc
I haven't tried this with the latest VB, I'm running 2.0.0 ... but I can't imagine anything has changed in poll.php between the two versions.
Only other thing I can think of off the top of my head is that you are running it on a windows box compared to my linux box... but I don't think that would affect it either.
I dont know much about this but shouldn't the new templates be mentioned in the $templatesused at the top of poll.php?? Did try that but no good,
No, that $templatesused variable isn't referenced anywhere else in poll.php. To be honest, I'm not even sure why it's there.
I tried installing this hack on a clean copy of poll.php and it worked fine. I have no clue what your issues could be, if you send me a copy of your poll.php, I'll run a compare against mine and see what's different.
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
// redirect
eval("standardredirect(\"".gettemplate("redirect_pollchange")."\",\"showthread.php?s=$session[sessionhash]&threadid=$threadinfo[threadid]\");");
}
Ok... well, I found your problem. Which is exposing a problem with vBulletin itself. Very strange.
I'm on a dialup so I can't debug it very easily right now.. perhaps the VB programmers can take a look at this.
If you look at my original post, you'll see this line:
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
at the bottom of the [ PHP ] tag.
If you'll look closely, the slash is missing from that line when viewed.
If you go edit that message, that quote shows up in the edit box.
You'll see above that the slash exists in the above [ php ] block. The code was cut and pasted from the edit box of the first message, it is identical to the first PHP block in the first message...
Currently, I have no explanation for this. I'll try to look at it more on Monday, but no guarentees. If the vB programmers can take a look at it and see what is causing the parse error, it'd be greatly appreciated.
To solve Jbb and AJ's problem, however, is simple. Just pull the code out of the edit box, not directly from the post page. You are missing an escaping slash (and possibly more), which is generating your parse error. When I tried installing it on a fresh poll.php, I used the copy from the edit box, which is why it worked for me, and not for you two.
Ok It works now, That is to bad that you have been trubbled with such a tiny error, sorry!! But I could never have found it myself,
One little slash....... and the empire shakes. Btw It is a very nice featuer to have in the poll's. Good job ;)
Aunt Jemima
23 Jun 2001, 11:27
I don't understand what to fix right now. Can you post the fix here?
Thanks,
Aunt
OK sroll down to the end of your poll.php, at the end of the last line you will see that there is a slash missing,
// redirect
eval("standardredirect(\"".gettemplate("redirect_pollchange")."\",\"showthread.php?s=$session[sessionhash]&threadid=$threadinfo[threadid]\");");
}
Aunt Jemima
25 Jun 2001, 10:04
Thanks - problem fixed :D
Nocturnal
25 Jun 2001, 14:32
Worked a dream thanks for that
maverick1236
05 Aug 2001, 00:47
it installed fine-but where is option to change vote?
Awesome hack, great job! :D
Im getting a parse error at line 536 which (for me) is this line
Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------
That the 3rd line of your added code.
Dont know why it is causing a parse error, I checked the last line of code for the missing slash, it is ok.
Im using 2.2.0 if that makes a difference.
any ideas? thanks
I quoted your original message to see if there are differences and the "{" (open round brackets) is showing up as "& #123" (without a space)
I dont know if that affects everyone or not, but you would think that the [ PHP ] tag would display php code as it really is.. hmm
well i copied the code from the edit window and it works fine now..thanks for the hack...
Great hack... =) And only way i could get it to work, was from the edit box also... =/
But it works great now.. ^^
-Syphin
Nice hack ... works fine.
Thank you, Flare!
josh929
05 Jun 2002, 03:12
GREAT hack Flare!!
Stud_Muffin
26 Mar 2003, 22:25
Installed in vb 2.3.0 ok. :eek:
vBulletin® v3.6.12, Copyright ©2000-2013, Jelsoft Enterprises Ltd.