fixed some warnings
[PHP-P10.git] / Uplink / P10_User.class.php
index 83169bfe4ada43fa419ec21df9d51a8cdc92e0dc..f18080a576a9fa5e5f58980acb6b1f178eeb4768 100644 (file)
@@ -39,8 +39,8 @@ class P10_User {
        private static $static_users = array();
        
        public static function getUserByNum($numeric) {
-               if(array_key_exists($numeric, self::$static_servers)) {
-                       return self::$static_servers[$numeric];
+               if(array_key_exists($numeric, self::$static_users)) {
+                       return self::$static_users[$numeric];
                }
                return NULL;
        }
@@ -55,8 +55,13 @@ class P10_User {
                return NULL;
        }
        
+       public static function getAllUsers() {
+               return self::$static_users;
+       }
+       
        
        private $numeric;
+       private $server;
        private $nick;
        private $ident;
        private $host;
@@ -64,7 +69,8 @@ class P10_User {
        private $connect_time;
        private $modes;
        private $realname;
-       private $channels;
+       private $channels = array();
+       private $away = null;
        
        public function __construct($nick, $numeric, $server, $connect_time, $ident, $host, $ip, $realname, $modes) {
                $this->nick = $nick;
@@ -84,6 +90,10 @@ class P10_User {
                return $this->numeric;
        }
        
+       public function getServer() {
+               return $this->server;
+       }
+       
        public function setNick($nick) {
                $this->nick = $nick;
        }
@@ -120,6 +130,18 @@ class P10_User {
                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) {
@@ -138,6 +160,18 @@ class P10_User {
                        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);
+       }
 }
 
 ?>
\ No newline at end of file