getNick()) == $nick) { return $user; } } return NULL; } public static function getAllUsers() { return self::$static_users; } private $numeric; private $server; private $nick; private $ident; private $host; private $ip; private $connect_time; private $modes; private $realname; private $channels; private $away = null; public function __construct($nick, $numeric, $server, $connect_time, $ident, $host, $ip, $realname, $modes) { $this->nick = $nick; $this->numeric = $numeric; $this->server = $server; $this->connect_time = $connect_time; $this->ident = $ident; $this->host = $host; $this->ip = $ip; $this->realname = $realname; $this->modes = $modes; $server->addUser($this); self::$static_users[$numeric] = $this; } public function getNumeric() { return $this->numeric; } public function getServer() { return $this->server; } public function setNick($nick) { $this->nick = $nick; } public function getNick() { return $this->nick; } public function setIdent($ident) { $this->ident = $ident; } public function getIdent() { return $this->ident; } public function getHost() { return $this->host; } public function getIP() { return $this->ip; } public function getConnectTime() { return $this->connect_time; } public function getModes() { return $this->modes; } public function getRealname() { return $this->realname; } public function setAway($away) { $this->away = $away; } public function getAway() { return $this->away; } public function isAway() { return ($this->away != null); } public function quit($reason) { $this->server->delUser($this); foreach($this->channels as $channel) { $channel->quitUser($this); } } public function addChannel($channel) { $this->channels[strtolower($channel->getName())] = $channel; } public function delChannel($channel) { if(array_key_exists(strtolower($channel->getName()), $this->channels)) { unset($this->channels[strtolower($channel->getName())]); } else { trigger_error("Tried to remove a Channel, that does NOT exist.", E_USER_WARNING); } } public function getChannels() { return $this->channels; } public function getChannelCount() { return count($this->channels); } public function isOnChannel($channel) { return array_key_exists(strtolower($channel->getName()),$this->channels); } } ?>