Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases

Reply
 
Thread Tools
Threads that lock themselves... Details »»
Threads that lock themselves...
Version: 1.00, by Zzed Zzed is offline
Developer Last Online: Feb 2012 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 04-12-2002 Last Update: Never Installs: 13
 
No support by the author.

Note: There is a 1.1 version of this hack that also checks
the message body of the first post. Scroll down to download the
updated zip file or click here to go to the post containing the attachment.

************************************************** **

We have an off topic forum in our site and sometimes users post useless
topics to bump up their post count or to start a flame war. A lot of
these threads have specific keywords or phreases in them that makes
them stand out. A few examples of these threads are, free post, sig test,
avatar test, etc...

This hack works only with new threads whose title contains the above mentioned
phrases.

This hack works with a database table of known substrings that a forbidden
thread title may contain. And if any of the table contents are detected as
a substring within the thread title, that thread will automatically get
locked with a note in the bottom of the subject, and the thread title
will also be prefixed with the words "Auto Lock".

Interestingly enough, the "meningless" thread posting has been significantly
reduced on our site.


I have created an interface through the Admin CP to add/edit/delete
these phrases.

Affected templates: none
Affected tables: 1 new table is created
Affected source files: newthread.php admin/index.php
New files: topics.php admin/topics.php

First create the following table:

create table topic (topicid smallint(5) unsigned not null auto_increment,title varchar(100) not null, primary key (topicid));

In admin/index.php
Look for the following code:
PHP Code:
// ***
makenavoption("New Posts","../mod/moderate.php?action=posts","<br>");
makenavoption("New Attachments","../mod/moderate.php?action=attachments");
makenavselect("Moderation","<hr>"); 
Add the following directly below it:
PHP Code:
// ***
makenavoption("Add Forbidden Topics","topics.php?action=add","<br>");
makenavoption("Modify Forbidden Topics","topics.php?action=modify");
makenavselect("Automatic Moderation","<hr>"); 
In newthread.php
Look for the following code:
PHP Code:
    // check for subject and message
    
if (trim($subject)=="" or trim($message)=="") {
      eval(
"standarderror(\"".gettemplate("error_nosubject")."\");");
      exit;
    }

    
$username $HTTP_POST_VARS['username'];
    
$password $HTTP_POST_VARS['password']; 
Add the following ddirectly below it:
PHP Code:
    $bad_topic 0;
    require(
"./topics.php");
    if(
isbadtopic($subject)) {
      
$bad_topic 1;
      
$subject "Auto Lock: $subject";
      
$message "$message\n\n[b]<<<<< This thread has been Auto Locked. >>>>>[/b]";
    } 
In newthread.php
Look for the following code:
PHP Code:
      if ($enableemail) {
        
$moderators=$DB_site->query_first("SELECT CONCAT(newthreademail,' ',newpostemail) AS newthreademail FROM forum WHERE forumid='$forumid'");

        
$modtable=$DB_site->query("SELECT DISTINCT user.email FROM moderator,user WHERE moderator.userid=user.userid AND forumid IN ($foruminfo[parentlist]) AND (newthreademail=1 OR newpostemail=1)");
        while(
$thismod=$DB_site->fetch_array($modtable)) {
          
$moderators['newthreademail'].=$thismod[email]";
        }

        if (
$moderators['newthreademail']!="") {
          
$mods=explode(" ",trim($moderators['newthreademail']));
          while (list(
$key,$val)=each($mods)) {

            if (
trim($val)!="") {
              
$toemail=$val;
              
$forumtitle $foruminfo['title'];
              
$threadinfo['title'] = $subject;

              eval(
"\$emailmsg = \"".gettemplate("email_moderator",1,0)."\";");
              eval(
"\$emailsubject = \"".gettemplate("emailsubject_moderator",1,0)."\";");
              
mail($toemail,$emailsubject,$emailmsg,"From: \"$bbtitle Mailer\" <$webmasteremail>");
            }
          }
        }
      } 
Add this directly below it:
PHP Code:
      if($bad_topic==1) {
    
$DB_site->query("UPDATE thread SET open=0 where threadid=$threadid");
      } 
That's it.

Show Your Support

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

Comments
  #12  
Old 04-16-2002, 09:07 AM
GeorgeofCS's Avatar
GeorgeofCS GeorgeofCS is offline
 
Join Date: Oct 2001
Posts: 100
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Never thought of that with replies. I am interested though in check the first message body
Reply With Quote
  #13  
Old 04-16-2002, 09:22 AM
Jawelin Jawelin is offline
 
Join Date: Nov 2001
Posts: 557
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Zzed
I have an extended version that also checks the message content of the first post.

If you make the auto lock work with the replies, your users will abuse it and can potentially get every thread in your forums locked.

If you are interested I will post the revised version to check the contents of the first post.
YAH! I'm very interested in.... Yes.
I have many users that post ofter something like
'try'... 'don't read'... etc.

It could be possible even to check the length of the message body to evaluate if it's to be locked... or not?
(just in case of sensitive words put in long and interesting threads...)

I'm very ansious to see your next version!
I'm planning to modify it to 'freeze' the author's post counter....

Thanks
Reply With Quote
  #14  
Old 04-16-2002, 04:31 PM
Zzed's Avatar
Zzed Zzed is offline
 
Join Date: Feb 2002
Location: Glendale, CA, USA
Posts: 463
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, here is the revised version that also checks for the first message body.
Reply With Quote
  #15  
Old 05-07-2002, 06:08 PM
Neo's Avatar
Neo Neo is offline
 
Join Date: Oct 2001
Location: Anywhere
Posts: 1,817
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Question Zzed. Does this auto close it if there is these certain words in a post?
Reply With Quote
  #16  
Old 05-08-2002, 05:28 AM
Zzed's Avatar
Zzed Zzed is offline
 
Join Date: Feb 2002
Location: Glendale, CA, USA
Posts: 463
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

neo, the hack checks the title and contents of the initial post in the thread.

If the hack were to be extended to the replies, any member can get a thread locked. You can potentially have every thread locked.
Reply With Quote
  #17  
Old 05-08-2002, 06:37 AM
Smoothie Smoothie is offline
 
Join Date: Oct 2001
Location: New York
Posts: 1,834
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice hack, just added it. Question for ya. How can I get it to display the same as your forums? With the padlock.gif and autolock.gif

Those are very cool! :classic:
Reply With Quote
  #18  
Old 01-22-2003, 12:50 AM
spaceb spaceb is offline
 
Join Date: Sep 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very usefull hack, thanks alot.

I was wondering if you could make this hack move threads with the "bad" words to a specific forum, like "Garbage forum" so we could always see those posts and warn the posters , and for other meanings too
Reply With Quote
  #19  
Old 01-22-2003, 08:26 PM
Zzed's Avatar
Zzed Zzed is offline
 
Join Date: Feb 2002
Location: Glendale, CA, USA
Posts: 463
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I can post a one liner for you that will do this for you.

You can just add it to the existing hack.
Reply With Quote
  #20  
Old 01-24-2003, 08:26 AM
geniuscrew's Avatar
geniuscrew geniuscrew is offline
 
Join Date: Nov 2001
Location: UK
Posts: 346
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does this work with 2.2.9?

Sounds cool!
Reply With Quote
  #21  
Old 01-24-2003, 09:26 AM
Zzed's Avatar
Zzed Zzed is offline
 
Join Date: Feb 2002
Location: Glendale, CA, USA
Posts: 463
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes.

I am currently running 2.2.9 in my forums.
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 09:13 PM.


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.06484 seconds
  • Memory Usage 2,334KB
  • 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
  • (6)bbcode_php
  • (1)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
  • (2)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_postinfo_query
  • fetch_postinfo
  • 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