$modes = implode(" ",array_slice($args, 5, count($args)-8));
$modes = new P10_UserModeSet($modes);
$ip = new IPAddr($args[count($args)-3]);
+ if($host == $server->getName())
+ $ip->setServerAddr(true);
$realname = $args[count($args)-1];
$user = new P10_User($nick, $numeric, $server, $connect_time, $ident, $host, $ip, $realname, $modes);
if($this->eventHandler)
private function recv_kick($from, $args) {
$user = P10_User::getUserByNum($from);
- if($user == null) {
+ if($user == null && strlen($from) != 2) {
trigger_error("An unknown user tries to kick another user on recv_kick.", E_USER_ERROR);
return;
}
}
if($this->eventHandler)
$this->eventHandler->event_kick($user, $target, $channel, $args[1]);
- $channel->partUser($user);
+ $channel->partUser($target);
}
private function recv_kill($from, $args) {