Back to vBulletin 3.0 Add-Ons

Reputation-Based Post Filtering
Mod Version: 1.00, by TWTCommish

This modification is in the archives.
vB Version: 3.0.0 Rating: (0 vote - 0 average) Installs: 9
Released: 09 Jan 2004 Last Update: Never Downloads: 3
Not Supported  

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.

Download

This modification is archived and cannot be downloaded.

Screenshots

 


vblts.ru supports vBulletin®, 2022-2024