it shouldn't be hard at all, I think. Just a hack in newreply.php.
Maybe something like this:
Open newreply.php and find:
[code]
if ($visible) {
if ($threadinfo[replycount]%10==0) {
$replies=$DB_site->query_first("SELECT COUNT(*)-1 AS replies FROM post WHERE threadid='$threadid'");
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount='$replies[replies]',lastposter='".addslashes($postusername)."' WHERE threadid='$threadid'");
} else {
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount=replycount+1,last poster='".addslashes($postusername)."' WHERE threadid='$threadid'");
}
}
[/php]
Change it to (changes hilighted):
Code:
if ($visible) {
[high]if ($threadinfo[replycount]=="98") {
$closethread = ",open='0',notes='Thread automatically closed on 100th post'";
} else {
$closethread = "";
}[/high]
if ($threadinfo[replycount]%10==0) {
$replies=$DB_site->query_first("SELECT COUNT(*)-1 AS replies FROM post WHERE threadid='$threadid'");
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount='$replies[replies]',lastposter='".addslashes($postusername)."'[high]$closethread[/high] WHERE threadid='$threadid'");
} else {
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount=replycount+1,lastposter='".addslashes($postusername)."'[high]$closethread[/high] WHERE threadid='$threadid'");
}
}
This will close a thread automatically on the 100th post (the 99th reply). It will do so for all forums.
If you want to do this to only specific forums, the the code should be (addition marked in highlight AND bold):
Code:
if ($visible) {
[high]if ($threadinfo[replycount]=="98" && ($threadinfo[forumid]=="XX" || $threadinfo[forumid]=="XX")) {
$closethread = ",open='0',notes='Thread automatically closed on 100th post'";
} else {
$closethread = "";
}[/high]
if ($threadinfo[replycount]%10==0) {
$replies=$DB_site->query_first("SELECT COUNT(*)-1 AS replies FROM post WHERE threadid='$threadid'");
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount='$replies[replies]',lastposter='".addslashes($postusername)."'[high]$closethread[/high] WHERE threadid='$threadid'");
} else {
$DB_site->query("UPDATE thread SET lastpost='".time()."',replycount=replycount+1,lastposter='".addslashes($postusername)."'[high]$closethread[/high] WHERE threadid='$threadid'");
}
}
You will need to replace XX with the forumid for the forum(s) you want this to take effect in. Also, you can add as many " || $threadinfo[forumid]=="XX"" as you like.
Hope that helps.