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

Reply
 
Thread Tools
Autoclose Thread After X Days Inactivity (Works from date of last post in thread!) Details »»
Autoclose Thread After X Days Inactivity (Works from date of last post in thread!)
Version: 1.00, by rwoelich rwoelich is offline
Developer Last Online: Jul 2008 Show Printable Version Email this Page

Version: 3.5.0 Rating:
Released: 03-13-2006 Last Update: 10-29-2006 Installs: 41
Uses Plugins Template Edits
 
No support by the author.

Old Thread Autoclosing Hack
by Rob Woelich of www.teenhelp.org


Update - 10/29/06:
Threads that have been autoclosed have the closed icon in the forum display (thanks to Kall for the code/suggestion). Also, the "New Reply" button still shows for admins and supermods who have permission to post in the thread.

This seems to work fine on 3.6.0+, but I'm not going to bother releasing it just for that version because it's such a simple hack. If something isn't working right, verify your template edits... if you use a custom skin/style, they could be different.


DESCRIPTION:
This is a relatively simple hack that makes a thread appear "closed" after a specified amount of time. The amount of time is calculated from the last post in the thread, not from the start of the thread, making this a very effective way to keep old topics from being brought up without locking them out while they're still being discussed.

This installation consists of:
1 Product XML Upload for 3.5.0+ (should work on all versions above)
3 Template Edits in the SHOWTHREAD template
1 Image Upload (Optional, really... looks better with image though)

Into more detail:

This hack installs plugins on your showthread and newreply pages. When a user views a thread, the plugin will check the date of the last post in the thread and if the post was made more than a predetermined amount of time ago (one month by default), the thread will appear closed to the user. The thread isn't actually set as closed in the database. If a user clicks on the "Closed" button, they'll be given a No Permission message, keeping them from replying, and the Quick Reply box at the bottom of the thread will be hidden from the user as well. Administrators and super moderators by default are still able to reply to autoclosed threads and will still see the Quick Reply box.

As mentioned, the expiration time is calculated from the last post in the thread, so if a thread is autoclosed and an admin or supermod makes a post in the thread, the thread will be reopened. Since the thread isn't actually set as closed in the database, it's important to note that using the "Open Thread" option from the thread administration menu won't reopen the thread to other users. The only thing that will keep the thread open is a post existing in the thread that's dated as to deter the expiration time.

INSTALLATION:
Complete installation and template editing instructions are included in the ZIP file.

CUSTOMIZATION:
This hack was designed for a specific purpose, to keep those old annoying topics from being brought back up after two months by that one annoying newb.

However, there are a few customizations available, including the usergroups that can reply in the autoclosed threads, the amount of time until a thread is autoclosed, and the message displayed at the top of the thread when the thread has been autoclosed. Customization instructions are included in the ZIP file and are extensive enough for anybody to understand.

OTHER:
Two screenshots of an autoclosed thread have been included. One shows the Quick Reply still visible for administrators. Please click Install if you used and liked this...

Supporters / CoAuthors

Show Your Support

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

Comments
  #32  
Old 10-12-2006, 07:50 AM
cunder's Avatar
cunder cunder is offline
 
Join Date: May 2005
Location: NL
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is there already someone to no or this script become to ubdate to Vbulletin 3.6.2
please :tired:
Reply With Quote
  #33  
Old 10-22-2006, 09:46 AM
cunder's Avatar
cunder cunder is offline
 
Join Date: May 2005
Location: NL
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cunder
is there already someone to no or this script become to ubdate to Vbulletin 3.6.2
please :tired:
help please
Reply With Quote
  #34  
Old 10-28-2006, 12:00 PM
cunder's Avatar
cunder cunder is offline
 
Join Date: May 2005
Location: NL
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cunder
is there already someone to no or this script become to ubdate to Vbulletin 3.6.2
please :tired:
Bumb :cross-eyed:
Reply With Quote
  #35  
Old 10-30-2006, 07:53 AM
rwoelich's Avatar
rwoelich rwoelich is offline
 
Join Date: Jan 2005
Location: Denver
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've updated the hack to include Kall's modification of the thread status icons in the forum display to show up as closed (thanks ) and have made one or two other tweaks.

Also, this works fine on 3.6.0+ but I'm not going to bother re-releasing it in the other category because it's such a simple hack.

When I get more time (I'm putting 60 hour weeks in at work :chinese I'll add some more features to this.
Reply With Quote
  #36  
Old 11-04-2006, 12:06 PM
jyajay jyajay is offline
 
Join Date: Sep 2006
Posts: 84
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There is a minor bug in this hack. We have a forum were trash threads are moved and this forum is closed for new postings. But the hack allows to show the quickreply to group 5 and 6 anyway which causes a pretty ugly quickreply box

I fixxed this by removing these two usergroups from the template edit:

before:
PHP Code:
<if condition="($show['quickreply'] AND !$expiredthread) OR $bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==5"
after:
PHP Code:
<if condition="($show['quickreply'] AND !$expiredthread)"
Reply With Quote
  #37  
Old 11-23-2006, 03:05 AM
str8bourbon str8bourbon is offline
 
Join Date: Jan 2006
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rwoelich View Post
I've updated the hack to include Kall's modification of the thread status icons in the forum display to show up as closed (thanks ) and have made one or two other tweaks.

Also, this works fine on 3.6.0+ but I'm not going to bother re-releasing it in the other category because it's such a simple hack.

When I get more time (I'm putting 60 hour weeks in at work :chinese I'll add some more features to this.
Simple for us because you did all the work! Thanks so much for making this publicly available. So many users were rooting up ancient threads on my forums and it was making quite a mess. Your work put a stop to that.

I have a small suggestion. The message says something to the effect of "received no new no posts for a year." Perhaps it would be better worded as "in over a year" or "in a year or more" or something to that effect. Pretty trivial point in any event, and I realize I can make it say whatever I want.

Anyway, too cool! Thanks again!
Reply With Quote
  #38  
Old 11-23-2006, 02:17 PM
str8bourbon str8bourbon is offline
 
Join Date: Jan 2006
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by str8bourbon View Post
Simple for us because you did all the work! Thanks so much for making this publicly available. So many users were rooting up ancient threads on my forums and it was making quite a mess. Your work put a stop to that.

I have a small suggestion. The message says something to the effect of "received no new no posts for a year." Perhaps it would be better worded as "in over a year" or "in a year or more" or something to that effect. Pretty trivial point in any event, and I realize I can make it say whatever I want.

Anyway, too cool! Thanks again!
An addendum.

I just found something that you might want to add to this hack. It looks like even though a thread is closed by this hack, polls can still be voted on. And of course voting makes the post current and opens it back up again.

Would modifying the hack to keep people from voting in polls be difficult? I'd be happy to help if needed.
Reply With Quote
  #39  
Old 03-08-2007, 11:23 PM
ForeverForums ForeverForums is offline
 
Join Date: Aug 2005
Location: Indianapolis, IN
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

im getting this SQL error when i try to install this hack

Quote:
Invalid SQL:

### INSERT QUERY GENERATED BY fetch_query_sql() ###
INSERT INTO plugin
(`active`, `executionorder`, `title`, `hookname`, `phpcode`, `product`)
VALUES
('1', '5', 'No Replies After 1 Month Inactive', 'newreply_start', 'if (($threadinfo[\'lastpost\'] < (TIMENOW - 2592000)) AND ($vbulletin->userinfo[usergroupid]!=6 AND $vbulletin->userinfo[usergroupid]!=5))\r\n{\r\n print_no_permission();\r\n}', 'autocl');
Reply With Quote
  #40  
Old 05-09-2007, 07:29 PM
Burley Burley is offline
 
Join Date: Aug 2003
Location: Apeldoorn
Posts: 89
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great mod, really!!! usefull

is it possible to set the mod so that it makes an exception for specific threads? Sticky ones for instance?
Reply With Quote
  #41  
Old 05-30-2007, 09:36 AM
Domenico Domenico is offline
 
Join Date: Oct 2001
Posts: 151
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rwoelich View Post
Sure! Give me two seconds and I'll give you a modified code sample.

Ok, here it is... to apply this hack to only certain forums:

Open the plugin for the showthread_getinfo hook and find:
PHP Code:
if ($thread['lastpost'] < (TIMENOW 2592000)) 
And replace it with:
PHP Code:
if ($thread['lastpost'] < (TIMENOW 2592000) AND (in_array($thread['forumid'], array(1,2,3)))) 
...changing 1,2,3 to the forum ids you want to apply the hack to (you can add more or less as you please). Then in the newreply_start plugin, find:
PHP Code:
if (($threadinfo['lastpost'] < (TIMENOW 2592000)) AND ($vbulletin->userinfo[usergroupid]!=AND $vbulletin->userinfo[usergroupid]!=5)) 
And replace with:
PHP Code:
if (($threadinfo['lastpost'] < (TIMENOW 2592000)) AND ($vbulletin->userinfo[usergroupid]!=AND $vbulletin->userinfo[usergroupid]!=5) AND (in_array($thread['forumid'], array(1,2,3)))) 
On the other side, if you want to exclude only a few forums from using this hack, use the same procedure, but add an ! in front of the in_array (to look like !in_array) and then the forum id numbers you use would be the forums that you don't want to apply the hack to. Depending on whether you're excluding or including more forums, you may use either method. Use the one that you'll have to type the least forum ids.

Well I did this but your hack still closes posts from all the forums instead of the forums I ant using your code. How come?
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 02:33 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.07199 seconds
  • Memory Usage 2,348KB
  • 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
  • (6)bbcode_php
  • (6)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
  • (3)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_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