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. ;)

James Cridland 11-04-2001 08:39 PM

Quote:

Originally posted by aldamon
Please update for 2.2.0 when possible. It might not even need to be updated......Thanks!
It doesn't need updating, by the looks of things, though I will certainly work to add the "if registered for less than 7 days" thing: that's a good idea.

A control panel to set these things would be nice, but I'm not really that clever.

(Later:)

Now updated (see the top message).
Note that the timescale and the number of posts both have to be met, so a user who posts 15 replies in one day still can't post a new topic. Presumably this is what you wanted... and it sounds a great idea.

over 11-09-2001 08:44 PM

thnx nethng that saves manual changing peeps privlidges level is a god send :)

aldamon 11-20-2001 12:55 PM

I just found a BIG problem with this hack. Users who are not logged in get the forumnewbie error instead of the log in prompt.

Is there any way to exclude unregistered users from the forumnewbie error so they get the regular log in screen when trying to post?

aldamon 11-20-2001 01:26 PM

Fixed!

Just move the hacked code down a few lines. Put the code after this in newthread.php:

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

This will let the correct error message to display for uncookied users. Damn, if someone hadn't emailed me complaining that they could not post unless they had 1 post already, when they really weren't logged in, I never would have caught this!

James Cridland 11-20-2001 05:40 PM

Fantastic; thanks for that. I've altered the first message accordingly.

Bald Bouncer 12-08-2001 02:33 PM

this works great nice work, but I was wondering if theres a way to have it enabled only in certain forums

Bald Bouncer 12-08-2001 02:56 PM

no problem Ive found the answer

James Cridland 12-08-2001 03:38 PM

You'll have noticed that it is possible to switch this off for particular forums, although it's a bit clunky. It would be good to add this to the control panel in some way, but I don't understand enough about that to do it.

James Cridland 12-08-2001 06:36 PM

With the addition of some code on the https://vborg.vbsupport.ru/showthread.php?s=&threadid=14075]moderate a user[/url] hack, I've now removed this hack from my board; sticking users on auto moderation works better for some problems we're having with a user who won't go away.

I'll still keep maintaining this one, mind, but thought it's only fair to mention it!

esoin 03-06-2002 03:09 AM

Does this hack still work with the newest version of VB? i

aldamon 03-07-2002 12:12 PM

2.2.3 approved!

mattyk72 12-06-2006 12:24 PM

will this work with the latest vb?

I really wish they would make something like this standard with all vb releases

peterska2 12-12-2006 12:24 AM

no but you can achieve this for forum permissions and usergroup promotions


All times are GMT. The time now is 04:52 PM.

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.01303 seconds
  • Memory Usage 1,783KB
  • 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
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (23)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete