The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
Small request, Newest member display on forum home ignores banned & inactive users.
Hello,
I have a small request, which should be simple. For the past 5-6 months I've been having a user constantly register on my forums with fake emails & insulting user names with no intent to use his registrations, he just wants to see his name which is supposed to offend me, calling me derogatory names on the Welcome our newest member area. I dont want to remove the user (collecting them for an abuse report and want to preserve the data). And an IP ban is not feasible since I have members that are in his area, plus the IP range I'd have to ban is huge. But I dont want his fake registrations showing up on my forum home on the "Welcome our newest member, <insert insulting name here>" So what I want is the "Welcome our newest member" thing, to ignore members that are banned, or havent been authorized yet by email. Any takers? Thanks. |
#2
|
||||
|
||||
Ok, figuring out the newest member is the last thing index.php does before spitting out the HTML. Here's the code.
PHP Code:
|
#3
|
|||
|
|||
the best thing would be to forget him... one day, this gnome will stop harassing you because he will not have the attention he ask for...
and yes, filtering the Newset Member can be good... i always thought it was already doing so... i may take a look later, if nobody do it. |
#4
|
|||
|
|||
I had to rework that area myself just after we installed vB. Understand that we run a corporate site where we might add only one user per week (after the initial load). Anyway, the main thing we wanted was to issue the welcome to the last N users rather than simple the last user to be registered. Here is what that looks like in index.php:
Code:
// get newest members $homepage_ShowNewMembersMaxCount = 3; // show this many new members $homepage_ShowNewMembersDaysCutoff = 7; // no longer new after this many days $homepage_ShowNewMembersExclGroups = '3,4'; // never show users from these groups $dateCutoffTmp = TIMENOW - ($homepage_ShowNewMembersDaysCutoff * 86400); $membersNew = $DB_site->query(" SELECT username FROM " . TABLE_PREFIX . "user WHERE joindate > $dateCutoffTmp AND usergroupid NOT IN ($homepage_ShowNewMembersExclGroups) ORDER BY joindate DESC LIMIT $homepage_ShowNewMembersMaxCount"); // If we did not get any, $newusernames will be empty and HTML template won't show it // because '<if condition="$newusernames">' will be false. $newusernames = ''; while ($newMember = $DB_site->fetch_array($membersNew)) { $newusernames .= (empty($newusernames)? '': ', ') . $newMember['username']; } $DB_site->free_result($membersNew); To adapt it to your simpler needs, try this code: Find these lines in index.php: Code:
$newusername = $userstats['newusername']; $newuserid = $userstats['newuserid']; Code:
$newuser = $DB_site->query_first("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE usergroupid NOT IN (3,4) ORDER BY userid DESC LIMIT 1"); $newuserid = $newuser['userid']; // set template variables $newusername = $newuser['username']; |
#5
|
||||
|
||||
Quote:
Works like a charm, Thanks! |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|