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
[AJAX] Your One Click Thread Ratings Details »»
[AJAX] Your One Click Thread Ratings
Version: 0.1.1, by fci fci is offline
Developer Last Online: Aug 2009 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 3.6.4 Rating:
Released: 01-10-2007 Last Update: 01-11-2007 Installs: 51
Template Edits
Additional Files Is in Beta Stage  
No support by the author.

Description:
Make it easy for people to rate threads with one click.

Refer to the before and after images attached to this post for a visual.

Install instructions:

1. Download the attached zip file

2. Upload vbulletin_ajax_oneclick_threadrate.js to /yourforum/clientscript/

3. Modify the SHOWTHREAD template by placing the following code(or identical code contained in the attached zip file) after the $poll variable which is around the 14th line:

Code:
<if condition="$show['threadrating']">
    <if condition="$show['ratethread']">
        <div style="text-align:left; padding-bottom: 5px;">
        <span id="oneclick_container">
        <noscript>$vbphrase[rating]:</noscript>
        <form action="threadrate.php?t=$threadid" method="post" id="oneclick_vote_one">
        <input type="hidden" name="s" value="$session[dbsessionhash]" />
        <input type="hidden" name="t" value="$threadid" />
        <input type="hidden" name="pp" value="$perpage" />
        <input type="hidden" name="page" value="$pagenumber" />
        <input type="hidden" name="vote" value="1" />
        <input type="submit" value="1" style="display:none;" />
        <noscript><input type="submit" value="1" /></noscript>
        </form>
        <form action="threadrate.php?t=$threadid" method="post" id="oneclick_vote_two">
        <input type="hidden" name="s" value="$session[dbsessionhash]" />
        <input type="hidden" name="t" value="$threadid" />
        <input type="hidden" name="pp" value="$perpage" />
        <input type="hidden" name="page" value="$pagenumber" />
        <input type="hidden" name="vote" value="2" />
        <input type="submit" value="1" style="display:none;" />
        <noscript><input type="submit" value="2" /></noscript>
        </form>
        <form action="threadrate.php?t=$threadid" method="post" id="oneclick_vote_three">
        <input type="hidden" name="s" value="$session[dbsessionhash]" />
        <input type="hidden" name="t" value="$threadid" />
        <input type="hidden" name="pp" value="$perpage" />
        <input type="hidden" name="page" value="$pagenumber" />
        <input type="hidden" name="vote" value="3" />
        <input type="submit" value="1" style="display:none;" />
        <noscript><input type="submit" value="3" /></noscript>
        </form>
        <form action="threadrate.php?t=$threadid" method="post" id="oneclick_vote_four">
        <input type="hidden" name="s" value="$session[dbsessionhash]" />
        <input type="hidden" name="t" value="$threadid" />
        <input type="hidden" name="pp" value="$perpage" />
        <input type="hidden" name="page" value="$pagenumber" />
        <input type="hidden" name="vote" value="4" />
        <input type="submit" value="1" style="display:none;" />
        <noscript><input type="submit" value="4" /></noscript>
        </form>
        <form action="threadrate.php?t=$threadid" method="post" id="oneclick_vote_five">
        <input type="hidden" name="s" value="$session[dbsessionhash]" />
        <input type="hidden" name="t" value="$threadid" />
        <input type="hidden" name="pp" value="$perpage" />
        <input type="hidden" name="page" value="$pagenumber" />
        <input type="hidden" name="vote" value="5" />
        <input type="submit" value="1" style="display:none;" />
        <noscript><input type="submit" value="5" /></noscript>
        </form>
        <script type="text/javascript"><!--

            var threadid = $threadinfo[threadid];
        document.write('<table class="tborder"><tr>');
        document.write('    <td class="alt2">$vbphrase[rating]:</td>');
        document.write('    <td class="alt1"><a href="javascript:void(0);" id="oneclick_vote_one_submit" style="font-size:14pt">1</a></td>');
        document.write('    <td class="alt2"><a href="javascript:void(0);" id="oneclick_vote_two_submit" style="font-size:14pt">2</a></td>');
        document.write('    <td class="alt1"><a href="javascript:void(0);" id="oneclick_vote_three_submit" style="font-size:14pt">3</a></td>');
        document.write('    <td class="alt2"><a href="javascript:void(0);" id="oneclick_vote_four_submit" style="font-size:14pt">4</a></td>');
        document.write('    <td class="alt1"><a href="javascript:void(0);" id="oneclick_vote_five_submit" style="font-size:14pt">5</a></td>');
        document.write('</tr></table>');
        -->
        </script>
        <script type="text/javascript" src="clientscript/vbulletin_ajax_oneclick_threadrate.js?v=$vboptions[simpleversion]"></script>
        <script type="text/javascript">
        <!--
            vB_AJAX_OneClick_ThreadRate_Init('oneclick_vote_one');
            vB_AJAX_OneClick_ThreadRate_Init('oneclick_vote_two');
            vB_AJAX_OneClick_ThreadRate_Init('oneclick_vote_three');
            vB_AJAX_OneClick_ThreadRate_Init('oneclick_vote_four');
            vB_AJAX_OneClick_ThreadRate_Init('oneclick_vote_five');
        -->
        </script>
        </span>
        <span id="oneclick_threadrating_current"></span>
        <span id="oneclick_threadrating_response"></span>
        </div>
    </if>
</if>
Technical comments:
Uses AJAX but will fall back to submitting the form first, or if that fails it will use <noscript> tags to display submit buttons. The fallback methods are not thoroughly tested so, if you are able, please test them and report any problems you have.

Template comments:
Be careful about moving the HTML block around because it will fail if it becomes nested inside of another form.

Recommendations after installing:
- in vBulletin Options > Poll and Thread Rating Options, set "Allow Thread Rating Vote Changes" to No
- in vBulletin Options > Poll and Thread Rating Options, set "Required Thread Rating Votes to Show Rating" to 1 (this will hopefully encourage the use of thread ratings)
- install the Thread-Ratings on Search mod which was written for 3.5.x but is compatible with 3.6.x. ( https://vborg.vbsupport.ru/showthread.php?t=106853 )
- modify the threadrate_add phrase, In Languages & Phrases under "Search in Phrases," do a search for 'Your vote on this thread has been added' and modify it to say something more friendly/humorous

Are you a designer?
maybe you can make the HTML chunk more asthetically pleasing with images or CSS

changelog:
0.1 - initial release
0.1.1 - define JS threadid which may or may not be defined later in the page


Read this before posting
If you want to tell me what error(s) you receive, please do the following:
1. Make sure you DO NOT put the HTML chunk inside of another form it will not work at all if you do this. Please make sure it is after the $poll variable.
2. If you think the error is JS related and you are using Firefox, click Tools > Console then the Errors tab, clear it out first, then try doing the thread rating, Right-click and copy the errors related that show for your forum.
3. You did not upload the JavaScript file to the proper location

READ THIS: Set "Check Thread Rating" to Yes in vBulletin Options under "Thread Display Options (showthread)"

Show Your Support

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

Comments
  #42  
Old 01-13-2007, 01:36 AM
DPSR DPSR is offline
 
Join Date: Aug 2006
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by fci View Post
Oh... that is very interesting. That would indicate that you have AJAX either disabled by vBulletin or your browser. This clarification gives me a very clear picture of what I will need to do to test and correct it. I should be able to have time to focus on this on the weekend, I will PM when the issue is resolved.
Please inform me also about some sol of this prob
Reply With Quote
  #43  
Old 01-13-2007, 08:15 AM
ubblite ubblite is offline
 
Join Date: Jan 2006
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by fci View Post
Yes.
in vBulletin Options > Poll and Thread Rating Options, set "Allow Thread Rating Vote Changes" to No
Quote:
Originally Posted by Mr Chad View Post
im still getting prompted to rate topics that have already been rated by me.
Same problem here. The prompt still comes up and when you try to vote again it says:

"According to our records you have already voted on this thread. Changing votes is not allowed."

The ideal way to have it is not show the vote prompt at all once you've voted.

edit: or have it show something like "You've already voted" instead of the vote bar.
Reply With Quote
  #44  
Old 01-13-2007, 08:41 AM
ubblite ubblite is offline
 
Join Date: Jan 2006
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DPSR View Post
Add the code below any where you want in SHOWTHREAD tempate
(PS i have added this code above <!-- / controls above postbits --> to show this form under Newtopic or new reply button)
I could only get your modification to work properly when it's listed under $poll instead of the above. Maybe that's the problem you're having with this hack?
Reply With Quote
  #45  
Old 01-13-2007, 09:06 AM
DPSR DPSR is offline
 
Join Date: Aug 2006
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ubblite View Post
I could only get your modification to work properly when it's listed under $poll instead of the above. Maybe that's the problem you're having with this hack?
Cool , now its working... thanks for the tip bro
Reply With Quote
  #46  
Old 01-13-2007, 05:37 PM
abramelin abramelin is offline
 
Join Date: Mar 2006
Posts: 263
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yes now its working! thanks
Reply With Quote
  #47  
Old 01-13-2007, 06:56 PM
abramelin abramelin is offline
 
Join Date: Mar 2006
Posts: 263
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

but when you rate a thread it shows the rating options again when you revisited the thread . can you make an if condition for this?
Reply With Quote
  #48  
Old 01-13-2007, 07:44 PM
Mr Chad's Avatar
Mr Chad Mr Chad is offline
 
Join Date: Jul 2005
Posts: 911
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thats what i asked b4...
Reply With Quote
  #49  
Old 01-13-2007, 07:45 PM
Mr Chad's Avatar
Mr Chad Mr Chad is offline
 
Join Date: Jul 2005
Posts: 911
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ubblite View Post
Same problem here. The prompt still comes up and when you try to vote again it says:

"According to our records you have already voted on this thread. Changing votes is not allowed."

The ideal way to have it is not show the vote prompt at all once you've voted.

edit: or have it show something like "You've already voted" instead of the vote bar.
we just need it to not display anymore. like vb.org
Reply With Quote
  #50  
Old 01-14-2007, 04:23 PM
DPSR DPSR is offline
 
Join Date: Aug 2006
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Only one question, how can i make it display rate result message in a box? anybody know?
Reply With Quote
  #51  
Old 01-14-2007, 06:31 PM
fci fci is offline
 
Join Date: Nov 2004
Location: Twin Cities, MN
Posts: 46
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

as long as you have this surrounding the rating thing it should hide it you have already voted and you need to do "in vBulletin Options > Poll and Thread Rating Options, set "Allow Thread Rating Vote Changes" to No"
Code:
<if condition="$show['threadrating']">
    <if condition="$show['ratethread']">
</if>
</if>
since someone said this didn't work, you could try modifying it to this (untested but should work):
Code:
<if condition="$show['threadrating']">
    <if condition="$show['ratethread'] && $threadinfo['vote']==NULL">
</if>
</if>
if it still shows it, I'm not sure what else to suggest

DPSR, you mean in a JavaScript alert message box? this would then make it a two-click thread rating system as the user would have to click 'OK' + clicking the rating they wanted.. I can tell you how if you really want it though
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 10:39 AM.


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.04619 seconds
  • Memory Usage 2,328KB
  • 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
  • (3)bbcode_code
  • (6)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
  • (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