#kickban($chan, $user, undef, 'No clones allowed in this channel.');
my $reason = join(' ', @argz);
$reason =~ s/^\:// if $reason;
- #sub kickban($$$$;$;$) {
- #my ($chan, $user, $mask, $reason) = @_;
kickban ($chan, $user, $mask, $reason, undef, $expiry);
- #sub kickban($$$$;$;$;) {
- #my ($chan, $user, $mask, $reason, $noflush, $expiry) = @_;
}
sub clones_exist ($$) {
my ($user, $chan) = @_;
return $type."$nick!$ident\@$vhost";
}
-sub kickban($$$$;$;$;) {
+sub kickban($$$$;$$) {
my ($chan, $user, $mask, $reason, $noflush, $expiry) = @_;
my $cn = $chan->{CHAN};
my $nick;
unless($mask) {
$mask = make_banmask($chan, $user);
}
-
+
enforcer_join($chan) if (get_user_count($chan) <= 1);
ircd::setmode($agent, $cn, '+b', $mask);
- if (!$expiry) {
- $get_bantime -> execute ($cn);
- ($expiry) = $get_bantime -> fetchrow_array();
+ if (!defined($expiry)) {
+ $get_bantime->execute($cn);
+ ($expiry) = $get_bantime->fetchrow_array();
+ $get_bantime->finish();
}
if ($expiry) {
- $add_tempban->execute ($cn, $mask, $expiry);
+ $add_tempban->execute($cn, $mask, $expiry);
}
ircd::flushmodes() unless $noflush;
ircd::kick($agent, $cn, $nick, $reason) if ($nick);