PDA

View Full Version : Public Ban List


Gary King
09-03-2005, 05:04 PM
I am requesting a Public Ban list to be created.

Basically it would list all user banned, their ban reason, ban length, and the person who banned them.

Or if this exists already, then please let me know :)

Thanks!

.Tim
09-04-2005, 07:17 PM
With a few minor changes to make the code 3.5 friendly I was able to get this to function on my forum:

https://vborg.vbsupport.ru/showthread.php?t=70293

Don't know if it was the best way to do it but it worked for me.

Gary King
09-04-2005, 07:45 PM
With a few minor changes to make the code 3.5 friendly I was able to get this to function on my forum:

https://vborg.vbsupport.ru/showthread.php?t=70293

Don't know if it was the best way to do it but it worked for me.

Could you please post the changed code version in this thread (not as a new release thread) or contact the original author to ask for permission to release it as your own (the 3.5 version) or ask him to release it?

.Tim
09-04-2005, 07:57 PM
Okay, don't know if it was done in the best way, I just played with the code until it worked. Anyways, here it is:


Step One:

Upload the files contained within the zip to your forums directory. (use the files in my zip, not the ones from the original thread)

Step Two:

Run file admincp/install_showbans.php.

Step Three:

Open modcp/banning.php and make the following file edits:

Find:

'period' => TYPE_STR,

After it add:

'bannedpost' => TYP_STR,

Then Find:

// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "userban
(userid, usergroupid, displaygroupid, customtitle, usertitle, adminid, bandate, liftdate, reason)
VALUES
($user[userid], $user[usergroupid], $user[displaygroupid], $user[customtitle], '" . $db->escape_string($user['usertitle']) . "', " . $vbulletin->userinfo['userid'] . ", " . TIMENOW . ", $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");
}

Replace it with:

// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "banlist
(userid, username, dateline, bannedpost, sentbywhom, howlong, reason)
VALUES
($user[userid], '" . $db->escape_string($user[username]) . "', " . TIMENOW . ", '" . $db->escape_string($vbulletin->GPC['bannedpost']) . "', '" . $db->escape_string($vbulletin->userinfo[username]) . "', $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");

}

Then find:

print_input_row($vbphrase['user_ban_reason'], 'reason', '', true, 50, 250);

Replace it with:

print_input_row($vbphrase['user_ban_reason'], 'reason', '', true, 50, 250, 8, 45, 1, 0);

Step 4:

Add the following new templates

banlist_main

$stylevar[htmldoctype]
<html id="form" dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>Banned Users</title>
$headinclude
</head>
<body>
$header
$navbar
<table align="center" border="0" class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" width="100%">
<tr>

<td class="tcat" colspan="6"><div align="center"><STRONG>$vbphrase[banlist_banlist]</STRONG></div></td>
</tr>
<td class="alt1" colspan="6"><div align="center">$vbphrase[banlist_description] </div></td>
</tr><tr>
<td class="thead">&nbsp;</td>
<td nowrap class="thead">$vbphrase[username] / $vbphrase[banlist_bannedby]</td>
<td nowrap class="thead" align="center">$vbphrase[banlist_datebanned]</td>
<td nowrap class="thead" align="center">$vbphrase[banlist_bannedpost]</td>
<td nowrap class="thead">Reason</td>
<td nowrap class="thead" align="center">$vbphrase[banlist_releasedate]</td>
</tr>
$bannedbit
</table>

$footer
</body>
</html>

banlist_banbit

<tr>
<td nowrap class="alt2"><div align="center"><img src="images/icons/icon4.gif"></</div></td>
<td nowrap class="alt1"><a href="member.php?u=$banned[userid]" target="_blank"><strong>$banned[username]</strong></a><br>
<div class="smallfont">$vbphrase[banlist_bannedby]: $banned[sentbywhom]</div></td>
<td nowrap class="alt2" align="center">$banned[date]</td>
<if condition="$banned['bannedpost']">
<td nowrap class="alt1"><div align="center"><a href="$banned[bannedpost]" target="_blank">$vbphrase[banlist_link]</a></div></td>
<else />
<td nowrap class="alt1"><div align="center">$vbphrase[banlist_nolink]</div></td>
</if>
<td class="alt2">$banned[reason]</td>
<td nowrap class="alt1" align="center">$banned[releasedate] at $banned[releasetime] </td>
</tr>

Gary King
09-04-2005, 08:33 PM
Thanks, I installed. It only logs new bans and not current existing ones, right?

.Tim
09-04-2005, 08:34 PM
Yeah, I don't know how to get old ones to show up. I just unbanned and re-banned my banned users. :ermm:

Gary King
09-04-2005, 08:40 PM
The temp banned users in the admin cp show up as perm banned users now. Does this happen to you? And is it a problem? Or are the temp banned users still only temp banned?

.Tim
09-04-2005, 08:44 PM
In the showbans.php list they show up properly. On the admin/mod side it says permanent but that's not the case I don't think. I have a fake user temp banned for a day. So I guess tomorrow I can let you know if it functions properly. :D

.Tim
09-05-2005, 09:46 PM
Hmm, it doesn't appear to work on temp bans. A user I temp banned until 2pm today is still banned. I'll try and figure out a fix for that.

Maniaman
09-07-2005, 12:24 AM
I believe I have fixed the bug. I will need to wait 1 day to find for sure though


Step Three:

Open modcp/banning.php and make the following file edits:

// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "userban
(userid, usergroupid, displaygroupid, customtitle, usertitle, adminid, bandate, liftdate, reason)
VALUES
($user[userid], $user[usergroupid], $user[displaygroupid], $user[customtitle], '" . $db->escape_string($user['usertitle']) . "', " . $vbulletin->userinfo['userid'] . ", " . TIMENOW . ", $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");
}

Replace it with:

// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "banlist
(userid, username, dateline, bannedpost, sentbywhom, howlong, reason)
VALUES
($user[userid], '" . $db->escape_string($user[username]) . "', " . TIMENOW . ", '" . $db->escape_string($vbulletin->GPC['bannedpost']) . "', '" . $db->escape_string($vbulletin->userinfo[username]) . "', $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");

}

I fixed it by readding
// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "userban
(userid, usergroupid, displaygroupid, customtitle, usertitle, adminid, bandate, liftdate, reason)
VALUES
($user[userid], $user[usergroupid], $user[displaygroupid], $user[customtitle], '" . $db->escape_string($user['usertitle']) . "', " . $vbulletin->userinfo['userid'] . ", " . TIMENOW . ", $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");
above
// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "banlist
(userid, username, dateline, bannedpost, sentbywhom, howlong, reason)
VALUES
($user[userid], '" . $db->escape_string($user[username]) . "', " . TIMENOW . ", '" . $db->escape_string($vbulletin->GPC['bannedpost']) . "', '" . $db->escape_string($vbulletin->userinfo[username]) . "', $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");

}
Not sure if this is the best way to do it though.

eNforce
09-10-2005, 01:45 PM
Is there any way to tweak it so that when an admin or mod unbans a user then they are removed from the ban list?

lucky64
09-20-2005, 12:26 AM
I believe I have fixed the bug. I will need to wait 1 day to find for sure though


I fixed it by readding
// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "userban
(userid, usergroupid, displaygroupid, customtitle, usertitle, adminid, bandate, liftdate, reason)
VALUES
($user[userid], $user[usergroupid], $user[displaygroupid], $user[customtitle], '" . $db->escape_string($user['usertitle']) . "', " . $vbulletin->userinfo['userid'] . ", " . TIMENOW . ", $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");
above
// insert a record into the userban table
/*insert query*/
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "banlist
(userid, username, dateline, bannedpost, sentbywhom, howlong, reason)
VALUES
($user[userid], '" . $db->escape_string($user[username]) . "', " . TIMENOW . ", '" . $db->escape_string($vbulletin->GPC['bannedpost']) . "', '" . $db->escape_string($vbulletin->userinfo[username]) . "', $liftdate, '" . $db->escape_string($vbulletin->GPC['reason']) . "')
");

}
Not sure if this is the best way to do it though.

Any luck?

Dialtone98
09-20-2005, 02:48 AM
I have what may seen to be a dumb question, but how do you add a new template. I know how to modify them.

eNforce
09-20-2005, 03:38 AM
I have what may seen to be a dumb question, but how do you add a new template. I know how to modify them.

See attachment

Dialtone98
09-20-2005, 04:05 AM
See attachment


I have 3.5 but I don't have those options.

I found it.. Thanks for your help.. Sorry to be a newb.