X-Git-Url: http://git.pk910.de/?p=PHP-P10.git;a=blobdiff_plain;f=Uplink%2FUplink.class.php;h=345ceb8312c25131cc1c0d1f0fd3919ac733767c;hp=5f2cdf1658237ca75adbdb6af51c04515cc9dc82;hb=051ecddb99aba9afbfc8a09193e7dc13d823b9d3;hpb=bcb9933a3e3c463a412e00daeeee8b317e166d50 diff --git a/Uplink/Uplink.class.php b/Uplink/Uplink.class.php index 5f2cdf1..345ceb8 100644 --- a/Uplink/Uplink.class.php +++ b/Uplink/Uplink.class.php @@ -454,7 +454,9 @@ class Uplink { if($this->eventHandler) $this->eventHandler->event_join($user, $channel, true); } - $modes->parseModes(implode(" ", array_slice($args, 2))); + $modestr = array_slice($args, 2); + if($modestr[0] == "+") + $modes->parseModes(implode(" ", $modestr)); } private function recv_join($from, $args) { @@ -690,7 +692,7 @@ class Uplink { private function recv_mode($from, $args) { $user = P10_User::getUserByNum($from); - if($user == null) { + if($user == null && strlen($from) != 2) { trigger_error("Server tries to send a modechange from an user that does not exist or was not found on recv_mode.", E_USER_ERROR); return; } @@ -700,7 +702,7 @@ class Uplink { if($channel == null) $channel = new P10_Channel($args[0]); $channel->getModes()->setModes($modes); - if($this->eventHandler) + if($this->eventHandler && strlen($from) != 2) $this->eventHandler->event_chanmode($user, $channel, $modes); } else { $targetUser = P10_User::getUserByNick($args[0]);