Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
[AJAX] Post Thank You Hack Details »»
[AJAX] Post Thank You Hack
Version: 7.4, by Abe1 Abe1 is offline
Developer Last Online: Jun 2010 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 3.6.x Rating:
Released: 08-02-2006 Last Update: 03-20-2008 Installs: 2721
DB Changes Uses Plugins Template Edits
Additional Files  
No support by the author.

vB 3.7 version of this hack here: https://vborg.vbsupport.ru/showthread.php?t=165673
vB 4.0 version of this hack here: https://vborg.vbsupport.ru/showthread.php?t=231666

Post Thank You Hack 7.4


About this hack:
One of the biggest problems on forums as you may know is 'posts boosting'. There are users who LOVE to say 'thanks' when ever they can. How can it hurt? Their post count goes up, they have nothing to loose.

There are also users who really like to express their thanks to post but don't like posting a post that looks like they're post boosting.

Then comes the moderators who have to delete people's thanks yous so a thread can look readable with out the thanks yous thrown around.

Finally comes the posters of these useful posts. They have no idea how many people really likes their posts if only some people say 'thanks'.

What this hack does is fix ALL these problems - except those users who like post boosting. This places a button called 'thanks.' When a user clicks on it, it places his username in a box right under the post saying that so-and-so says 'thanks' for the post. Every-one who clicks is placed in one box.

By giving your users the extra feature, you forum will look allot nice and organized. It is a guaranteed liking by ALL the members of your forum.

Features:
  • Uses vBulletin easy Product installer/updater/uninstaller
  • Uses AJAX technology so your users don't have to refresh when they thank.
  • Places an easy to use button next to the edit button
  • Separate looks for postbit and postbit_legacy
  • Places all Thanks into one small box
  • Uses only ONE query every time you view a showthread page!
  • Users can't thank twice
  • Option to not allow users to thank their own post
  • Guests don't see 'thanks' button
  • Counts how many thanks a user gives
  • Counts how many thanks a post gets
  • Shows how many thanks a user gave in every post of his
  • Shows how many thanks a user gave in profile
  • Shows how many thanks a user got
  • Shows how many posts or a user are thanked
  • Shows info in profile
  • Search for a users thanked posts
  • Search for all thanked posts
  • Administrator can remove all Thanks from a single post
  • Users can remove their own Thanks
  • Turn on and off hack totally
  • Turn on and off hack for only some forums
  • Option to turn off hack for all but the first post of a thread
  • Option to turn off hack for all but the first post of a thread in specific forums
  • Option to turn off hack view of date for specific or all forums
  • Option to add to post count when someone clicks 'thanks'.
  • Option to give a user who receives thanks reputation points.
  • Ban Usergroups
  • Ban Users
  • Uses Phrases
  • Cache Templates
  • Guaranteed to be liked by ALL users on your forum!
Installation information on hack: (If installed on vb 3.7)
  • Files edited: 0
  • Templates edited: 0
  • Files to upload: 7
  • Time to install: 1 minute max

Updates:

Version 7.0 (12/20/07):
  • Release of this hack for vBulletin version 3.7
  • This version works on all vBulletin versions from 3.6.0 and up

Version 7.1 (12/24/07):
  • Fixed up the vb3.7 profile block code including fixing showing your info and not the member you are looking at.

Version 7.2 (01/24/08):
  • Updated files: post_thanks.php, functions_post_thanks.php
  • Updated templates: post_thanks_memberinfo_block, post_thanks_member_info
  • New option: Remove User's Thanks Count When Deleting Post
  • New phrase: post_thanks_search_user_gave
  • FIX User reputation level now updates. (Thanks to liwo for this one.)
  • NEW Added option to view all posts a user has thanked.
  • FIX Fixed Special Action - Delete All of a Users Thanks
  • FIX Should have fixed some 'foreach()' errors.

Version 7.3 (03/15/08):
  • Updated file: functions_post_thanks.php
  • Updated template: post_thanks_memberinfo_block
  • Deleted template: post_thanks_memberinfo_css
  • New option: Choice to use Markup Usernames or not. (Thanks to Namaless)
  • New option: Ban User from Getting Thanks
  • New option: Max Thanks a User can Give Per Day
  • FIX Fixed repeating bug on vb 3.6.7 forums.
  • CHANGE Changed where the post thanks info shows on the Profile Page. Moved to same box as statistics. (This will require a template edit if you are running vb3.7 beta 2-4)

Version 7.4 (03/21/08):
  • FIX: Fixed Profile Stats for vb3.7.0 RC1 users.

Please post your comments or suggestions for this hack. I read ALL posts.

MAKE SURE YOU CLICK INSTALL!
You will get an email when a new version is released.

Pictures:
  1. Showing the 'thanks' button and stats in Postbit
  2. Showing post after 'thanks' (user view)
  3. Showing post after 'thanks' with legacy posts (admin view)
  4. Stats in members profile and link
  5. Link in Search drop down menu
  6. Hacks settings

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
actoons, rhoula

Comments
  #1892  
Old 01-17-2008, 07:20 PM
liwo liwo is offline
 
Join Date: Apr 2006
Location: Germany
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Abe1 View Post
Can you please explain more.
I think I can explain that problem. In reputation.php, not only the reputation points of a user are updated, but also the reputationlevelid. That way, the reputation level of a user is updated instantly. You just give the reputation points, but do not update the reputationlevelid. So if a user gets 1000 reputation points by post thank you hack, but does not get any reputation the normal way, his reputationlevel will not update.

To fix this problem, a minor change to function add_thanks() is sufficent i think

PHP Code:
    if ($vbulletin->options['post_thanks_reputation'])
    {
        
$vbulletin->db->query_write("
            INSERT IGNORE INTO "
TABLE_PREFIX ."reputation
                (postid, userid, reputation, whoadded, reason, dateline)
            VALUES
                ('"
.$postinfo['postid']."', '".$postinfo['userid']."', '" $vbulletin->options['post_thanks_reputation'] . "', '" $vbulletin->userinfo['userid'] . "', '$vbphrase[post_thanks_thanked_post]', " TIMENOW ")
        "
);

        if (
$vbulletin->db->affected_rows() != 0)
        {
            
////////////////////////////////////////////////
            // BEGIN FIX
            ////////////////////////////////////////////////
            // Query copied from reputation.php
            // Determine this user's reputationlevelid.
            
$reputationlevel $vbulletin->db->query_first_slave("
                SELECT reputationlevelid
                FROM " 
TABLE_PREFIX "reputationlevel
                WHERE " 
. ($postinfo['reputation'] + $vbulletin->options['post_thanks_reputation']) . "  >= minimumreputation
                ORDER BY minimumreputation
                DESC LIMIT 1
            "
);
            
// I do not store the new reputation calculated for the query above and use it here again to avoid a potential race condition
            
$set_user_got .= ", reputation = " $vbulletin->options['post_thanks_reputation'] . " + reputation, reputationlevelid = " intval($reputationlevel['reputationlevelid']);
            
////////////////////////////////////////////////
            // END FIX
            ////////////////////////////////////////////////

        
}
    } 
I hope that small note helps you improving that great hack further!
Reply With Quote
  #1893  
Old 01-18-2008, 10:26 AM
BadgerDog BadgerDog is offline
 
Join Date: Oct 2006
Location: Toronto
Posts: 1,789
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hack has been generating errors....

Here's a typical one ...

Quote:
Database error in vBulletin 3.6.7:

Invalid SQL:
SELECT * FROM post_thanks WHERE postid IN () ORDER BY username ASC;

MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY username ASC' at line 1 Error Number : 1064
Date : Friday, January 18th 2008 @ 06:25:54 AM
Script : http://www.xxxxx.com/post_thanks.php...sing_ajax=1&p=
Referrer :
IP Address : xx.xx.xx.xxxx
Username : Badger
Classname : vB_Database
Some information XXX'd out for privacy...

Regards,
Badger
Reply With Quote
  #1894  
Old 01-18-2008, 11:30 PM
binevi binevi is offline
 
Join Date: Jan 2008
Posts: 54
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's such a good hack.
Reply With Quote
  #1895  
Old 01-25-2008, 01:08 AM
Abe1's Avatar
Abe1 Abe1 is offline
 
Join Date: Feb 2004
Location: I LOVE New York!
Posts: 2,886
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BadgerDog View Post
Hack has been generating errors....

Here's a typical one ...



Some information XXX'd out for privacy...

Regards,
Badger
Do you know where you are getting this error from? It seems like some is clicking to remove their thanks and the link is not good. The postID is not being sent. Please check the post thanks templates.
Reply With Quote
  #1896  
Old 01-25-2008, 09:44 AM
BadgerDog BadgerDog is offline
 
Join Date: Oct 2006
Location: Toronto
Posts: 1,789
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Abe1 View Post
Do you know where you are getting this error from? It seems like some is clicking to remove their thanks and the link is not good. The postID is not being sent. Please check the post thanks templates.
Ok, will check.... :up:

I haven't seen another one since I posted the message here ...

Thanks

Regards,
Badger
Reply With Quote
  #1897  
Old 01-26-2008, 04:00 AM
Hannan Hannan is offline
 
Join Date: Jan 2008
Posts: 69
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice Mod, thanks
Reply With Quote
  #1898  
Old 02-06-2008, 02:40 PM
alphamarc alphamarc is offline
 
Join Date: Nov 2007
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do you change the VIEWS column to show the amount of thanks a thread has?

Because, we all know that the number of views a thread has doesn't mean anything compare to the amount of thanks it has. It would make it easier for users to find old quality threads when surfing the forum.

Thanks!
Reply With Quote
  #1899  
Old 02-06-2008, 06:37 PM
cookiepants cookiepants is offline
 
Join Date: Jul 2006
Location: Nor Cal
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can I set an additional 'thanks' button? For "job well done" or some such thing? How do I go about adding a button -- I can do the graphics, but is there a problem with having two "thanks" hacks on a forum?

Reply With Quote
  #1900  
Old 02-07-2008, 01:38 AM
cookiepants cookiepants is offline
 
Join Date: Jul 2006
Location: Nor Cal
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there anything besides the thank you and the groan hack? Or a "how to" for writing my own?
Reply With Quote
  #1901  
Old 02-07-2008, 04:33 AM
bchertov's Avatar
bchertov bchertov is offline
 
Join Date: Dec 2004
Location: Sonoma County, CA
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by alphamarc View Post
How do you change the VIEWS column to show the amount of thanks a thread has?

Because, we all know that the number of views a thread has doesn't mean anything compare to the amount of thanks it has. It would make it easier for users to find old quality threads when surfing the forum.

Thanks!
This is a good idea!

However rather than having a forumdisplay column, I would suggest adding icon in the thread title column, ala the rating graphics, that shows up if there is any thanks for any post on the thread with tool tip with "Thread contains x posts that where thanked a total of Y times".

Note that thanks are registered on the post level rather than the thread level. Still it is easy enough to find out if any posts on that thread have been thanked.
Reply With Quote
Reply

Thread Tools

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 11:43 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.06655 seconds
  • Memory Usage 2,334KB
  • Queries Executed 26 (?)
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
  • (1)bbcode_php
  • (5)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
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (2)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • 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