return;
}
$targetUser->getModes()->setModes($modes);
- if($this->eventHandler)
+ $fakemodes = NULL;
+ if($targetUser->getModes()->hasMode("x") && $targetUser->getModes()->hasMode("r") && !$targetUser->getModes()->hasMode("f")) {
+ //user is registered and has umode +x set (automatically assign default fakehost)
+ $fakemodes = "+f ".$targetUser->getModes()->hasMode("r").".".$this->getSetting("his_usermask");
+ $targetUser->getModes()->setModes($fakemodes);
+ }
+ if($this->eventHandler) {
$this->eventHandler->event_usermode($targetUser, $modes);
+ if($fakemodes)
+ $this->eventHandler->event_usermode($targetUser, $fakemodes);
+ }
}
}
}
$auth = $args[1];
$user->getModes()->setModes("+r ".$auth);
- if($this->eventHandler)
+ $fakemodes = NULL;
+ if($user->getModes()->hasMode("x") && !$user->getModes()->hasMode("f")) {
+ //user is registered and has umode +x set (automatically assign default fakehost)
+ $fakemodes = "+f ".$auth.".".$this->getSetting("his_usermask");
+ $user->getModes()->setModes($fakemodes);
+ }
+ if($this->eventHandler) {
$this->eventHandler->event_usermode($user, "+r ".$auth);
+ if($fakemodes)
+ $this->eventHandler->event_usermode($user, $fakemodes);
+ }
}
private function recv_fakehost($from, $args) {
$this->eventHandler->event_kick($user, $target, $channel, $reason);
$channel->partUser($target, $reason);
if(($this->flags & self::FLAG_CONNECTED))
- $this->send("K", $user->getNumeric(), $chanName, $target->getNumeric(), $reason);
+ $this->send("K", $user->getNumeric(), $channel->getName(), $target->getNumeric(), $reason);
}
public function privmsg($user, $target, $message) {