vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Newbies can't add new threads, only reply to existing ones... (https://vborg.vbsupport.ru/showthread.php?t=24629)

James Cridland 08-04-2001 10:00 PM

One of our forum guides asked...

Quote:

How about a 'New Member' tier - maybe up to, say, 10-12 posts - where their user rights are restricted so that they cannot start new threads.

Looking through some of the forums, it seems that first-time posters that start new threads usually fall into several categories:
1. Start a new thread on a subject that's already running - obviously they haven't checked first, or are posting in the wrong forum anyway.
2. Have registered with a new name purely to start a thread slagging someone off, or similar 'problem' thread.
3. Self-promotion/spam.
Some mailing lists on Yahoo will 'moderate' new members' contributions. Their posts have to be approved by one of the moderators for a period of time - usually until we are satisfied they are OK. This stops the sign-on-and-spam brigade, while the 'lurkers' will never be aware anyway. (Want this for VB? Find the hack here)

This is obviously not feasible with our board - there's too much traffic and we aren't always around to check it immediately - so this might be an easier way of moderating new members.

The downside is that some troublemakers might work it out and post nonsense in a number of threads to get their posts up to the requisite level - although by then, with any luck, this would have drawn our attention to them, and appropriate action taken.

For those of you who wish to try this, my hack is below:

1. Edit newthread.php to add the code in bold...

Quote:

$permissions=getpermissions($forumid);
if (!$permissions[canview] or !$permissions[canpostnew]) {
show_nopermission();
}

if($bbuserinfo["posts"] < 10)
{
eval("standarderror(\"".gettemplate("error_forumne wbie")."\");");
exit;
}


2. Go to your control panel and choose "Templates: Add"
Template name: error_forumnewbie
Template set: your standard set (Default)
Template: "Thanks for trying to post a new message.<P>Until you've taken part in a few discussions, you can only reply, not post a new topic. Try searching for what you were going to post about, using the "Search" facility, and see if you can add your comment to something there."

3. Upload newthread.php

This will create a standard UBB error if you try to create a new topic and you've posted less than ten messages. (Change the "10" in the code snippet above to change the number of messages needed to be able to post new threads).

Improvements...

Want to turn this off for a particular forum? Look at the forum's URL in your browser to to discover its "forumid" number. It's the one right at the end of the URL.
Then change the "if" statement above to...
if($bbuserinfo["posts"] < 10 && $forumid<>11 && $forumid<>23)
This will let newbies to post new topics to my forum number 11 or forum number 23.

Want, also, to insist that this user has been a member for longer than two days?
Then change the "if" statement above to...
if(($bbuserinfo["posts"] < 10 || ($bbuserinfo["joindate"]+86400*2) > (time())) && forumid<>11 && forumid<>23)
The "86400 * 2" is the bit that mentions the days... change the second number to "1" to make the probation period only one day, or "5" to make it 5 days.

Hope you find this useful: see it in action at http://forums.mediauk.com/

Mark Hewitt 08-06-2001 04:25 AM

Can't this be done with user groups anyway?

James Cridland 08-06-2001 03:10 PM

That means manually changing peoples' user groups...

pran 08-29-2001 03:28 AM

Quote:

Originally posted by James Cridland
Want to turn this off for a particular forum? Perhaps your site feedback forum?

Click into a forum, and look at the URL in your browser to to discover its "forumid" number. It's the one right at the end of the URL.

Then change the "if" statement above to...

if($bbuserinfo["posts"] < 10 && $forumid<>11 && $forumid<>23)

This will let newbies to post new topics to my forum number 11 or forum number 23.

how about making the statement:
Code:

if($bbuserinfo["posts"] < 10 && $forumid<>11 && $forumid<>23)
into something like a set statement (or values in an array) so you can avoid putting multiple &&. I'm still learning PHP :)

aldamon 08-30-2001 12:04 PM

Awesome! Our vB is a professional board and we don't have much traffic. But, of course, people will post new threads all of the time without bothering to contribute to the community. Now I can force them to reply and contribute at least once without manually changing user groups.

Thanks!

aldamon 10-30-2001 06:18 PM

Please update for 2.2.0 when possible. It might not even need to be updated......Thanks!

Justice 10-31-2001 02:45 AM

this hack is very practical, and something I've been wanting for about 2 years (going all the way back to UBB). Thanks man

Mas*Mind 10-31-2001 04:10 AM

I did exactly the same hack a long time ago (never released it though), but with one different aspect: It's a combination of the number of post and how long the newbie is registered, this stops them from posting useless posts to get the right to open new topics. EG: When a newbie has 50 posts AND is registered for more than 30 days he can open new threads. I also made a special error message for it. I must say this is a very usefull hack on my forum, newbies can still ask to open a topic by asking a mod.

I allready suggested a new vb-feature to accomplish this kind of things automaticly: Create an option to let members fall into a kind of usergroup when they reach a certain number of posts. This way you can create to usergroups: one with new-thread-posting abilities and one withouth. Specify that a member falls into the second one only when they reach a certain amount of posts and when they're registered for a certain amount of days... voila :)
This would make vb even more flexible. Endless possibilities

Justice 10-31-2001 01:22 PM

is your coding similar to James' or a totally different method?

Goldfinger 10-31-2001 03:17 PM

Quote:

Originally posted by Mas*Mind
....EG: When a newbie has 50 posts AND is registered for more than 30 days he can open new threads. ..
This sounds like a better way to go about doing this. how about releasing your hack Mas. ;)


All times are GMT. The time now is 05:21 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.01174 seconds
  • Memory Usage 1,743KB
  • 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
  • (1)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)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