From 35ca2c6a291ed20b1a8cf073a8cd4d579ed48aff Mon Sep 17 00:00:00 2001 From: pk910 Date: Thu, 29 Dec 2011 19:03:57 +0100 Subject: [PATCH] fixed small "NICK_ALREADY_IN_USE" bug on kill/quit events and tidied up code style --- Uplink/Uplink.class.php | 150 ++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/Uplink/Uplink.class.php b/Uplink/Uplink.class.php index 6d73c62..27902d5 100644 --- a/Uplink/Uplink.class.php +++ b/Uplink/Uplink.class.php @@ -253,13 +253,13 @@ class Uplink { case "OM": $this->recv_mode($from, $arguments); break; - case "AC": + case "AC": $this->recv_account($from, $arguments); break; - case "FA": + case "FA": $this->recv_fakehost($from, $arguments); break; - case "NFH": + case "NFH": $this->recv_newfakehost($from, $arguments); break; //default @@ -408,18 +408,18 @@ class Uplink { trigger_error("Server tries to quit an user that does not exist or was not found on recv_quit.", E_USER_ERROR); return; } + $user->quit($args[0]); if($this->eventHandler) $this->eventHandler->event_quit($user, $args[0]); - $user->quit($args[0]); } private function recv_burst($from, $args) { $name = $args[0]; $create_time = $args[1]; - if(count($args) == 2) { - //we've got an empty channel without any modes set??? dead channel! - return; - } + if(count($args) == 2) { + //we've got an empty channel without any modes set??? dead channel! + return; + } $channel = P10_Channel::getChannelByName($name); if($channel == null) $channel = new P10_Channel($name); @@ -448,11 +448,11 @@ class Uplink { } if(count($uexp) > 1) { $isop = false; - $ishalfop = false; + $ishalfop = false; $isvoice = false; for($i = 0; $i < strlen($uexp[1]); $i++) { if($uexp[1][0] == "@") $isop = true; - if($uexp[1][0] == "%") $ishalfop = true; + if($uexp[1][0] == "%") $ishalfop = true; if($uexp[1][0] == "+") $isvoice = true; } } @@ -523,9 +523,9 @@ class Uplink { trigger_error("Server tries to kill an user that does not exist or was not found on recv_quit.", E_USER_ERROR); return; } + $user->quit($args[1]); if($this->eventHandler) $this->eventHandler->event_quit($user, "Killed (".$args[1].")"); - $user->quit($args[1]); } private function recv_privmsg($from, $args) { @@ -722,21 +722,21 @@ class Uplink { return; } $targetUser->getModes()->setModes($modes); - $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); - } + $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); - } + if($fakemodes) + $this->eventHandler->event_usermode($targetUser, $fakemodes); + } } } - - private function recv_account($from, $args) { + + private function recv_account($from, $args) { $user = P10_User::getUserByNum($args[0]); if($user == null) { trigger_error("Server tries to send an auth announce from an user that does not exist or was not found on recv_account.", E_USER_ERROR); @@ -744,20 +744,20 @@ class Uplink { } $auth = $args[1]; $user->getModes()->setModes("+r ".$auth); - $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); - } + $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) { + + private function recv_fakehost($from, $args) { $user = P10_User::getUserByNum($args[0]); if($user == null) { trigger_error("Server tries to send a fakehost change from an user that does not exist or was not found on recv_fakehost.", E_USER_ERROR); @@ -765,22 +765,22 @@ class Uplink { } $fakehost = $args[1]; $user->getModes()->setModes("+f ".$fakehost); - if($this->eventHandler) - $this->eventHandler->event_usermode($user, "+f ".$fakehost); + if($this->eventHandler) + $this->eventHandler->event_usermode($user, "+f ".$fakehost); } - - private function recv_newfakehost($from, $args) { + + private function recv_newfakehost($from, $args) { $user = P10_User::getUserByNum($args[0]); if($user == null) { trigger_error("Server tries to send a fakehost change from an user that does not exist or was not found on recv_fakehost.", E_USER_ERROR); return; } - $fakeident = $args[1]; + $fakeident = $args[1]; $fakehost = $args[2]; - $user->setIdent($fakeident); + $user->setIdent($fakeident); $user->getModes()->setModes("+f ".$fakehost); - if($this->eventHandler) - $this->eventHandler->event_usermode($user, "+f ".$fakehost); + if($this->eventHandler) + $this->eventHandler->event_usermode($user, "+f ".$fakehost); } /******************************************************************************************** @@ -800,27 +800,27 @@ class Uplink { $this->send("N", $nick, $connect_time, $ident, $host, $modes, $ip, $numeric, $realname); } foreach(P10_Channel::getChannels() as $channel) { - $privs_to_burst = array('o', 'h', 'v' ); - $priv_values = array(P10_Channel::USERPRIV_OPED, P10_Channel::USERPRIV_HALFOP, P10_Channel::USERPRIV_VOICE ); - $priv_combinations = array(); - $sorted_users = array(); - $combinations = pow(2, count($privs_to_burst)); //binary possibilities => 2^count($privs_to_burst) - for($i = 0; $i < $combinations; $i++) { - //make a binary number out of $i - $binary = decbin($i); - while(strlen($binary) < count($privs_to_burst)) - $binary = '0'.$binary; - $combination_name = ''; - $combination_value = 0; - for($j = 0; $j < count($privs_to_burst); $j++) { - if($binary[$j] == '1') { - $combination_name .= $privs_to_burst[$j]; - $combination_value += $priv_values[$j]; - } - } - $priv_combinations[] = array("name" => $combination_name, "value" => $combination_value); - $sorted_users[$combination_value] = array(); - } + $privs_to_burst = array('o', 'h', 'v' ); + $priv_values = array(P10_Channel::USERPRIV_OPED, P10_Channel::USERPRIV_HALFOP, P10_Channel::USERPRIV_VOICE ); + $priv_combinations = array(); + $sorted_users = array(); + $combinations = pow(2, count($privs_to_burst)); //binary possibilities => 2^count($privs_to_burst) + for($i = 0; $i < $combinations; $i++) { + //make a binary number out of $i + $binary = decbin($i); + while(strlen($binary) < count($privs_to_burst)) + $binary = '0'.$binary; + $combination_name = ''; + $combination_value = 0; + for($j = 0; $j < count($privs_to_burst); $j++) { + if($binary[$j] == '1') { + $combination_name .= $privs_to_burst[$j]; + $combination_value += $priv_values[$j]; + } + } + $priv_combinations[] = array("name" => $combination_name, "value" => $combination_value); + $sorted_users[$combination_value] = array(); + } $local_users = false; foreach($channel->getUsers() as $user) { if(substr($user->getNumeric(), 0, 2) != $this->server->getNumeric()) continue; //skip users that are not on the local server @@ -830,16 +830,16 @@ class Uplink { } if(!$local_users) continue; $userStr = ""; - foreach($priv_combinations as $combination) { - $i = 0; - foreach($sorted_users[$combination['value']] as $user) { - if($userStr != "") $userStr.=","; - $userStr .= $user->getNumeric(); - if(($i++) == 0 && $combination['value'] > 0) { - $userStr .= ":".$combination['name']; - } - } - } + foreach($priv_combinations as $combination) { + $i = 0; + foreach($sorted_users[$combination['value']] as $user) { + if($userStr != "") $userStr.=","; + $userStr .= $user->getNumeric(); + if(($i++) == 0 && $combination['value'] > 0) { + $userStr .= ":".$combination['name']; + } + } + } $banString = ""; //TODO: Build ban String $burstString = ""; @@ -919,7 +919,7 @@ class Uplink { if(($this->flags & self::FLAG_CONNECTED)) { $modestr = "+".(($privs & P10_Channel::USERPRIV_OPED) ? "o" : "").(($privs & P10_Channel::USERPRIV_HALFOP) ? "h" : "").(($privs & P10_Channel::USERPRIV_VOICE) ? "v" : ""); $modestr .= (($privs & P10_Channel::USERPRIV_OPED) ? " ".$user->getNumeric() : ""); - $modestr .= (($privs & P10_Channel::USERPRIV_HALFOP) ? " ".$user->getNumeric() : ""); + $modestr .= (($privs & P10_Channel::USERPRIV_HALFOP) ? " ".$user->getNumeric() : ""); $modestr .= (($privs & P10_Channel::USERPRIV_VOICE) ? " ".$user->getNumeric() : ""); $this->send("OM", $user->getNumeric(), $chanName, $modestr); } -- 2.20.1