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

Reply
 
Thread Tools
[AJAX] Post Thank You Hack Details »»
[AJAX] Post Thank You Hack
Version: 7.82, by Abe1 Abe1 is offline
Developer Last Online: Jun 2010 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 4.0.x Rating:
Released: 12-29-2009 Last Update: 11-01-2016 Installs: 3537
DB Changes Uses Plugins Auto-Templates
Additional Files Translations  
No support by the author.

Post Thank You Hack

STAFF EDIT:
Note - The mod author has been unreachable for some time, but the vbulletin.org community has stepped up to provide a number of individual fixes over the years. ForceHSS, Hippy, and Seven Skins have all combined many of these fixes into product files.

ALL CREDIT STILL GOES TO ABE1 And this is still 'his' mod. Please still mark the mod as installed if you use any version of it.

That said so you don't need to apply a dozen + small fixes yourself you should consider downloading one of the updated packages below:

Hippy has one in this post.

AND / OR

ForceHSS has one in this post.

AND/OR

Seven Skins has one in this post.


- Original File Specs: post_thanks_7_82.zip (26.4 KB, 24844 downloads) - Original file removed, replaced with patched files including search fix (some admins noticed hackers attempting to use outdated code to exploit search in attempt to gain administrator password or similar).
- There are five total patched versions available, some with and without the search fix - I've replaced the main file with the patched versions... please be sure to download and install the correct version, the main mod post contains links to additional information and patched files!
- If Abe1 returns he can request these packages be removed.


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:
  • Files edited: 0
  • Templates edited: 0
  • Files to upload: 8
  • Time to install: 1 minute max
Updates:


Version 7.80 (12/30/09):
  • Release of this hack for vBulletin version 4.0

Version 7.81 (01/02/10):
  • Fixed some install and uninstall database errors.
  • Made styling for postbit legacy a little better.
  • Fixed the "separator" issue.
  • Javascript file updated.

Version 7.82 (01/03/10):
  • Fixed info alignment issues in the postbit for custom edited phrases.
NOTE: *** Offer for paid services removed ***

Download Now

File Type: zip post_thanks_ version_7.83+integrated-postbit_box-collapse.zip (30.1 KB, 356 views)
File Type: zip post_thanks_ version_7.84+with_and-without-integrated_postbit_box_collapse.zip (35.5 KB, 310 views)
File Type: zip post_thanks_7_84_with search fix.zip (26.3 KB, 235 views)
File Type: zip post_thanks_7_85 For 4.2.0 - 4.2.3 vb version.zip (59.3 KB, 399 views)
File Type: zip post_thanks_7_85 For 4.2.0 - 4.2.3 vb version updated.zip (59.3 KB, 357 views)
File Type: zip post_thanks_7_86 For 4.2.0 - 4.2.3 vb version_with_thanks_postbit_fix.zip (59.3 KB, 1756 views)
File Type: zip post_thanks_7_88_for_vB_423_with_collapse_scroll_postbit_fix_and_added_features.zip (21.1 KB, 1032 views)

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
92 благодарности(ей) от:
armagan, Baja, BasicGreatGuy, BCP Hung, Beckenbauer, BlueCheri, BoRoU, Bubble #5, Bucky Katt, CAG CheechDogg, CharlesEdwards, ChriDevelop, Crow, D4rk_Sh00t3r, dandanch, deltahawk5, dlewisr, drchinh, DS MrSinister, ELROBLE, elsa23, elwizard, eTiKeT?, fai99al99, Fennec, ggrimes620, goxy63, Hippy, jamyk, Jass!, john7911, jowshany, Juggernaut, JustAskJulie, kamurj, klyde, lange, lehoang101101, Life Revived, lims, LordOfWAR_PC, Luvilla, M Shaker, Mandushi, mapleleaffans, MegaManSec, michal72, mikadit, MistyMeanor, mjfan227, mmcguire, mobile4persian, mohammadxxx, Monyet_sby, nacaruncr, OMAN_LOVER, O_Dog, Peafor, phiber, pjkcards, Popa Andrei, Pottsy, Protonus, rafiul, RetroDreams, RichieBoy67, Rickpwns, Rodrigo., Roidon, Rubio, Sarah EI, sarvarjafari, sivaganeshk, Skaut, Skedoozy, socceronly, socialteenz, Stefan118, Teascu Dorin, TheSSDReview, TorrentMan, webriz.com, Whity

Comments
  #1532  
Old 05-15-2011, 03:47 PM
ExcelFox ExcelFox is offline
 
Join Date: Apr 2011
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A great mod, and I am already liking its use very much, and am thankful for developers like yourselves taking out time and effort, to provide us with such free modifications and add-ons.

With due respect, there is a small bug fix that would be nice (which should be a stroll in the park for coders like you). The issue is in the postbit, when this mod is used with ITW - Time Spent Online. So what happens is that the time online is displayed along with the X Thanks in X Posts line which makes reading confusing. If this is not clear, I have posted an image. You could have a look. Thanks again for your time.

For the time being, I have disabled showing the Thank You, but I would really love to have this working.
Attached Images
File Type: png Time Online Vs Post Thanks Post Bit Bug.PNG (2.7 KB, 0 views)
Reply With Quote
  #1533  
Old 05-15-2011, 08:07 PM
ExcelFox ExcelFox is offline
 
Join Date: Apr 2011
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Took me 3 hours to make my first ever modification in my life. And guess what! It's a success. Not sure how many eyebrows raise if this is a stupid way to make a modification, but hey, I got it all working for me at least.

Well, just in case somebody faces this problem, you can replace the code in the post_thanks_postbit_info style with the one below

PHP Code:
<vb:if condition="$post['userid']">
    <
dt>{vb:rawphrase post_thanks_thanks}</dt> <dd>{vb:raw post.post_thanks_user_amount_formatted}</dd>
    <
vb:if condition="$post['post_thanks_thanked_times'] == 1">
        <
dd>{vb:rawphrase post_thanks_time_post}</dd>
    <
vb:elseif condition="$post['post_thanks_thanked_posts'] == 1" />
        <
dd>{vb:rawphrase post_thanks_times_post, {vb:raw post.post_thanks_thanked_times_formatted}}</dd>
    <
vb:else />
        <
dd>{vb:rawphrase post_thanks_times_posts, {vb:raw post.post_thanks_thanked_times_formatted}, {vb:raw post.post_thanks_thanked_posts_formatted}}</dd>
    </
vb:if>
</
vb:if> 
Reply With Quote
  #1534  
Old 05-17-2011, 01:17 PM
channelfuse's Avatar
channelfuse channelfuse is offline
 
Join Date: Nov 2008
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here's the fix for the searching. Replace post_thanks.php with this file.

What was wrong:
It was looking in an old table 'search' for the results. This no longer works.

What was fixed:
I have the initial SQL statement grab the thread IDs and post IDs:
PHP Code:
$posts $db->query_read("
            SELECT postid, post.threadid as threadid 
Then, we need to throw them into an array:
PHP Code:
while ($post $db->fetch_array($posts))
        {
            
$orderedids[] = array("1"$post['postid'], $post['threadid']);
        } 
The old code is commented out in other areas.

Then, we need to create our query to match the way vB 4.x wants it.
PHP Code:
$scriteria $search_core->create_criteria(vB_Search_Core::SEARCH_ADVANCED);
        
$scriteria->set_advanced_typeid($vbulletin->GPC['contenttypeid']);
        
$scriteria->set_grouped(vB_Search_Core::GROUP_NO);
        
$crit "'" $db->escape_string(serialize($scriteria)) . "'";
        
$hash "'" $db->escape_string($scriteria->get_hash()) . "'";
                    
//results, confirmed, groups_seen, groups_rejected
        
$sresults serialize(array($orderedids"0", array(), array()));
        
$db->query_write("
            INSERT INTO " 
TABLE_PREFIX "searchlog (userid, ipaddress, searchhash, sortby, sortorder, searchtime, dateline, completed, criteria, results)
            VALUES (" 
$vbulletin->userinfo['userid'] . ", '" $db->escape_string(IPADDRESS) . "', $hash, 'groupdateline', 'desc', '0.999', UNIX_TIMESTAMP(NOW()), 1, $crit, '$sresults')");
        
$searchid $db->insert_id(); 
We create our search criteria, serialize it and then get the hash of it. We then serialize our IDs. The way vB's results.php wants the results is ordered such as:

array of threadIDs/postIDs
number of 'confirmed' posts (No idea what this is, left it as 0).
array of groups seen (No idea on this, just make an empty array).
array of groups denied (Again, no clue. Just made an empty array).

We then insert the data into the searchlog table and use that to generate the search results. I also included some various files at the beginning and setup a variable for the whole search thing:
PHP Code:
require_once(DIR "/vb/search/core.php");
require_once(
DIR "/vb/search/resultsview.php");

$search_core vB_Search_Core::get_instance(); 
That's it. Searching via User CP should work.
Attached Files
File Type: php post_thanks.php (19.6 KB, 321 views)
Reply With Quote
3 благодарности(ей) от:
Hippy, Juggernaut, michal72
  #1535  
Old 05-17-2011, 04:05 PM
Vaira Vaira is offline
 
Join Date: Nov 2009
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks a lot for your efforts.
Do I have to use the fixed version first (post_thanks_7_82.fixed.zip ) and then replace the original one with your post_thanks.php?
Or do I have to use abe1's original version and then replace the post_thanks.php?

https://vborg.vbsupport.ru/showpost....postcount=1433
I am confused since the fixed version has an updated version of post_thanks.js (besides of the product-post_thanks.xml). Is that updated post_thanks.js needed in order to run properly or should I use abe1's original one?

ATM I am running the fixed version from the link above.

Do the recounters options work?

Thanks again.
Reply With Quote
  #1536  
Old 05-17-2011, 06:50 PM
channelfuse's Avatar
channelfuse channelfuse is offline
 
Join Date: Nov 2008
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Vaira View Post
Thanks a lot for your efforts.
Do I have to use the fixed version first (post_thanks_7_82.fixed.zip ) and then replace the original one with your post_thanks.php?
Or do I have to use abe1's original version and then replace the post_thanks.php?

https://vborg.vbsupport.ru/showpost....postcount=1433
I am confused since the fixed version has an updated version of post_thanks.js (besides of the product-post_thanks.xml). Is that updated post_thanks.js needed in order to run properly or should I use abe1's original one?

ATM I am running the fixed version from the link above.

Do the recounters options work?

Thanks again.
My code is based off of the original 7.82. I'm not sure what was changed in 7.82-fixed as the original code still worked (just a few minor cosmetic tweaks for our forum). I'll take a look at the difference between the two and report back.

Edit: It appears his fix was only in the .xml file. Mine was only in the .php. They should work just fine. You can use 7.82-fixed and overwrite the post_thanks.php with my file.
Reply With Quote
  #1537  
Old 05-17-2011, 09:30 PM
billstelling's Avatar
billstelling billstelling is offline
 
Join Date: Apr 2011
Posts: 246
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by djbaxter View Post
Similar experience: I had to restore my forum from a day old backup after uninstalling one of their mods.



One option is to try https://vborg.vbsupport.ru/showthread.php?t=228507 instead of SSTab. I found that to be a little less finicky.

To change it manually, I think this should do it:

1. Admin CP >> Styles & Templates >> Style Manager >> {your style} >> Edit Templates

2. Find and edit Navigation / Breadcrumb Templates >> navbar

3. Find and comment out or delete:

PHP Code:
<li><a href="search.php?{vb:raw session.sessionurl}do=getnew&amp;contenttype=vBForum_Post">{vb:rawphrase new_posts_nav}</a></li
4. Save
thanks DJ, appreciate the input, it was helpful.
Reply With Quote
  #1538  
Old 05-17-2011, 09:31 PM
midnz's Avatar
midnz midnz is offline
 
Join Date: Jul 2010
Location: New Zealand
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome stuff channelfuse!! I'm glad I hung on to this hack. It works perfectly now. Thank-you very much indeed
Reply With Quote
  #1539  
Old 05-17-2011, 09:39 PM
billstelling's Avatar
billstelling billstelling is offline
 
Join Date: Apr 2011
Posts: 246
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gradonil_Ral View Post
Which doesn't work with the current vBulletin, yeah.
works fine for me in vB 4.1.3
all you have to do is edit this.
Code:
		<dependency dependencytype="vbulletin" minversion="4.0.0 beta 4" maxversion="4.1.0 alpha 1" />
to

Code:
		<dependency dependencytype="vbulletin" minversion="4.0.0 beta 4" maxversion="4.9.99" />
you could change it to 4.1.3 if you wanted but you would need to change it to the current version every time you upgraded vB.
Reply With Quote
  #1540  
Old 05-18-2011, 09:21 AM
sadiq6210 sadiq6210 is offline
 
Join Date: Sep 2005
Posts: 684
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by channelfuse View Post
Here's the fix for the searching. Replace post_thanks.php with this file.

What was wrong:
It was looking in an old table 'search' for the results. This no longer works.

What was fixed:
I have the initial SQL statement grab the thread IDs and post IDs:
PHP Code:
$posts $db->query_read("
            SELECT postid, post.threadid as threadid 
Then, we need to throw them into an array:
PHP Code:
while ($post $db->fetch_array($posts))
        {
            
$orderedids[] = array("1"$post['postid'], $post['threadid']);
        } 
The old code is commented out in other areas.

Then, we need to create our query to match the way vB 4.x wants it.
PHP Code:
$scriteria $search_core->create_criteria(vB_Search_Core::SEARCH_ADVANCED);
        
$scriteria->set_advanced_typeid($vbulletin->GPC['contenttypeid']);
        
$scriteria->set_grouped(vB_Search_Core::GROUP_NO);
        
$crit "'" $db->escape_string(serialize($scriteria)) . "'";
        
$hash "'" $db->escape_string($scriteria->get_hash()) . "'";
                    
//results, confirmed, groups_seen, groups_rejected
        
$sresults serialize(array($orderedids"0", array(), array()));
        
$db->query_write("
            INSERT INTO " 
TABLE_PREFIX "searchlog (userid, ipaddress, searchhash, sortby, sortorder, searchtime, dateline, completed, criteria, results)
            VALUES (" 
$vbulletin->userinfo['userid'] . ", '" $db->escape_string(IPADDRESS) . "', $hash, 'groupdateline', 'desc', '0.999', UNIX_TIMESTAMP(NOW()), 1, $crit, '$sresults')");
        
$searchid $db->insert_id(); 
We create our search criteria, serialize it and then get the hash of it. We then serialize our IDs. The way vB's results.php wants the results is ordered such as:

array of threadIDs/postIDs
number of 'confirmed' posts (No idea what this is, left it as 0).
array of groups seen (No idea on this, just make an empty array).
array of groups denied (Again, no clue. Just made an empty array).

We then insert the data into the searchlog table and use that to generate the search results. I also included some various files at the beginning and setup a variable for the whole search thing:
PHP Code:
require_once(DIR "/vb/search/core.php");
require_once(
DIR "/vb/search/resultsview.php");

$search_core vB_Search_Core::get_instance(); 
That's it. Searching via User CP should work.
WoooooooW Finally

Great job "channelfuse"

You make me very happy when I read your great post
Work like a charm
Appreciate your help and you time consumed on that

Keep it up :up::up::up:
Reply With Quote
  #1541  
Old 05-18-2011, 09:24 AM
sadiq6210 sadiq6210 is offline
 
Join Date: Sep 2005
Posts: 684
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think by solve searching bug, this hack become live again
I have suggestion If any one can think about it

(Notification when receive new thank)

Will be a great feature
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 04:59 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.08517 seconds
  • Memory Usage 2,513KB
  • Queries Executed 27 (?)
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_code
  • (10)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (6)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (86)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (9)postbit_attachment
  • (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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete