Seite 1 von 1

[Lösung] Ban List in Who Is Online Box und Bantron Mod

Verfasst: 27.07.2006 07:21
von IPB_Flüchtling
Ahoi,

dieses Mal habe ich keine Frage sondern kann Euch zur Abwechslung einmal eine fertige Lösung präsentieren. Und zwar habe ich mir folgende Mods installiert:

Code: Alles auswählen

##############################################################
## MOD Title:          Ban List in Who Is Online Box
## MOD Author:         RMcGirr83 < rmcgirr83@betraythis.com > (Rich McGirr) http://betraythis.com
## MOD Description:    This mod will add banned members to the stats section
##                     of your board
##
## MOD Version:        1.0.1 (initial)

###############################################

###############
## MOD Title:          Bantron Mod
## MOD Version:        1.0.0
## MOD Author:         Disclosed
## MOD Translation:    Supersonic
## MOD Description:    Adds many features to the ban system
##                     including private/public ban reasons
##                     and expiring bans. Bans are also
##                     presented in a more browsable paginated
##                     list style.
Dabei ist es zu zwei Problemen gekommen:

1. Der Link, der mit einem gesperrten User in der "Wer ist online"-Box auf der Index-Seite verknüpft ist, führt ins Leere (Error 404). Dieser Fehler tritt unabhängig vom Bantron-Mod auf.

2. Benutzer, die nach einer bestimmten Zeit automatisch wieder entsperrt bzw. entbannt werden, scheinen in der "Wer ist online"-Box auf der Index-Seite nach wie vor als gesperrt / gebannt auf. Dieser Fehler tritt nur auf, wenn Ihr zusätzlich den Bantron - Mod installiert habt.

Zur Behebung des 1. Fehlers:

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------ 
# 
index.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
        $user_bans[] = '<a href="' .$banrow['username'].'" class="gensmall">' . $banrow['username'] . '</a>';

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
$user_bans[] = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $banrow['user_id']) . '"' .'>' . $banrow['username'] . '</a>';
Zur Behebung des 2. Fehlers:

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------ 
# 
index.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
 $sql = "SELECT b.ban_userid, u.username, u.user_id
   FROM " . BANLIST_TABLE . " b, " . USERS_TABLE . " u
   WHERE b.ban_userid = u.user_id
   ORDER BY u.username";

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
$sql = "SELECT b.ban_userid, b.ban_expire_time, u.username, u.user_id
   FROM " . BANLIST_TABLE . " b, " . USERS_TABLE . " u
   WHERE b.ban_userid = u.user_id
   AND b.ban_expire_time > UNIX_TIMESTAMP()
   ORDER BY u.username";

# 
#-----[ OPEN ]------------------------------------------ 
# 
admin_user_bantron.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
		$ban_expire_time = 'NULL';

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

		$ban_expire_time = '1899993600'; // am 17.03.2030 gibt es dann Probleme ORIGINAL $ban_expire_time = 'NULL';

# 
#-----[ OPEN ]------------------------------------------ 
# 
admin_user_ban.php 

# 
#-----[ FIND ]------------------------------------------ 
# 
			$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_userid)
				VALUES (" . $user_list[$i] . ")";

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
			$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_userid, ban_expire_time)
				VALUES (" . $user_list[$i] . ", 1899993600)"; // Problem gelöst bis 17.03.2030
Vielleicht ist es ja für den einen oder anderen von Euch nützlich.

LG, IPB_Flüchtling