vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Reputation-Based Post Filtering (https://vborg.vbsupport.ru/showthread.php?t=59955)

TWTCommish 01-08-2004 10:00 PM

Reputation-Based Post Filtering
 
I like the reputation system, but came to the conclusion early on that it wouldn't be particularly pragmatic unless modified. It's good for cutting down on "right on!" posts, but it's rather like warning someone on AIM; it doesn't have much of a tangible effect. Until now, that is. :)

This hack, when employed, will filter out posts by any user with less than X number of reputation points. It is customizable for each user, so if someone wishes to screen out all posts by an individual with negative rep points, they can, and if someone wants to let all posts through, they can as well.

The filter does not skip over the posts, but rather, hides them in a way very similar to the Ignore List. This hack requires the addition of one custom field, three code edits in two files, two new phrases, and one new template.

Step One
Create a new User Profile Field. Choose "Single-Selection Menu" and enter the following criteria:
  • Title: Reputation-Based Filtering

  • Description: Filter out posts by users with less than a certain number of reputation points.

  • Options (substitute your own):
    -1
    -10
    -25
    -50
    -100
    -200
    -300

  • Field Required: No.
    Field Editable by User? Yes
    Field Hidden on Profile? No
    Field Searchable on Members List? No
    Show on Members List? No
    Allow user to input their own value for this option - No
    Which page displays this option? Options: Thread Viewing
Once you're done with this, go to your User Profile Field Manager and make note of the new field's name; IE: field5, field6, etc.


Step Two

Open showthread.php, and find this around line 87:

PHP Code:

// ######################### REQUIRE BACK-END ############################
require_once('./global.php'); 

Right after it, add this:

PHP Code:

  if (strlen($bbuserinfo[field6])) {
    
$reputationfilter $bbuserinfo[field6];
  } 

Change "field6" to your own field name, determined in Step One.

Still in showthread.php, find this:

PHP Code:

 while ($post $DB_site->fetch_array($posts))
 { 

Right after it, add this:

PHP Code:

$post[reputationfilter] = $reputationfilter

Save and close.


Step Three
Open functions_showthread.php in your /includes directory. Find this:

PHP Code:

$show['messageicon'] = iif($post['iconpath'], truefalse);
 eval(
'$retval = "' fetch_template($maintemplatename) . '";');
 return 
$retval

Right BEFORE it, add this:

PHP Code:

if ($post[reputation] < $post[reputationfilter]) 
 {
  
$maintemplatename 'postbit_filter';
 } 


Step Four
Add the following phrases:
  • message_hidden_x_filter
    This message is hidden because <strong>{1}</strong>'s reputation does not meet your <a href="{2}" target="_blank">specified standards</a>.
  • change_reputation_filter
    Change Reputation Filter

Step Five

Add the template found in the attached text file.

All done! Screenshot of what a filtered post looks like below.

FleaBag 01-09-2004 02:05 PM

Excellent work as always Chris, I know I can expect the same quality as that in your vB2 hacks so on upgrading I will definitely install this! :D

NTLDR 01-09-2004 07:36 PM

Nice and original hack idea :D Thanks for sharing with the community.

Gio Takahashi 01-09-2004 10:59 PM

Installed without problem. Good job, this will definitely encourage people to use the reputation system.

Link14716 01-10-2004 03:25 AM

Nice job. :)

boardster 01-20-2004 11:21 AM

Hi TWTCommish

Great hack!

Is it possible to modify this hack to filter out posts (NOT users) with less than X number of reputation points?

TWTCommish 01-20-2004 12:49 PM

Quote:

Originally Posted by boardster
Is it possible to modify this hack to filter out posts (NOT users) with less than X number of reputation points?

You mean specific posts that have been marked down? I suppose so, yeah. Wasn't planning it, if only because you'd need to have a huge board for such a hack to have much meaningful effect.

Mr. Brian 02-05-2004 07:19 PM

That's cool.. Gonna install it right now!

You gonna receive a feedback from someone soon. ".)

Mr. Brian 02-05-2004 09:57 PM

Thumbs up!!!

Keep up the good work bro.. ;)

TWTCommish 02-05-2004 10:11 PM

Quote:

Originally Posted by Matthew Lam
Thumbs up!!!

Keep up the good work bro.. ;)

Thanks very much, Matt. :) Glad you like it. I think giving reputation a more tangible effect changes the entire dynamic of a given forum. It's a step closer to a self-moderating community.


All times are GMT. The time now is 11:38 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01150 seconds
  • Memory Usage 1,748KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete