# Control Panel - Routines for Banning Users

sub ban_lists {
	local ($email_bans, $ip_bans);
	$email_bans = '';
	$ip_bans    = '';

	# get current ban lists
	if (-e "$vars_config{NonCGIPath}/BanLists/EmailBan.cgi") {
		$email_bans = &OpenFileAsVar("$vars_config{NonCGIPath}/BanLists/EmailBan.cgi");
	}
	if (-e "$vars_config{NonCGIPath}/BanLists/IPBan.cgi") {
		$ip_bans = &OpenFileAsVar("$vars_config{NonCGIPath}/BanLists/IPBan.cgi");
	}


	$Hiddens = qq!
<INPUT TYPE="HIDDEN" NAME="ubb" VALUE="update_bans">
!;
	$CurrentTab = qq%$vars_wordlets_cp{ban_lists}%;
	&CPHeader;
	&CPFooter;
	&CPTop;
	&LoadTemplate("cp_ban_lists");
	&CPBottom;
	exit(0);

}    # end ban_lists

sub update_bans {
	local ($email_bans, $ip_bans, @email_ban_list, @ip_ban_list);
	local (*FILE);

	$email_bans     = $in{email_bans};
	@email_ban_list = split (/\s/, $email_bans);

	$ip_bans = $in{ip_bans};
	$ip_bans =~ s/\@/\\@/g;
	@ip_ban_list = split (/\s/, $ip_bans);


	my @neb = ();
	foreach (@email_ban_list) {
		chomp($_);
		if ($_ ne '') { push (@neb, "$_\n"); }
	}
	&WriteFileAsArray("$vars_config{NonCGIPath}/BanLists/EmailBan.cgi", @neb);

	my @nib = ();
	foreach (@ip_ban_list) {
		chomp($_);
		if ($_ ne '') { push (@nib, "$_\n"); }
	}
	&WriteFileAsArray("$vars_config{NonCGIPath}/BanLists/IPBan.cgi", @nib);


	$vars_misc{'ReverseEmailBans'} = $in{'ReverseEmailBans'};
	$vars_misc{'ReverseIPBans'}    = $in{'ReverseIPBans'};

	&WriteHashToFile("$vars_config{VariablesPath}/vars_misc.cgi", "vars_misc", \%vars_misc);

	&cp_confirm("$vars_wordlets_cp{ban_lists} $vars_wordlets_cp{updated}");
	exit(0);
}    # end update_bans

# Danger- do not remove the following line!
1;
