name = $name; $this->numeric = $numeric; $this->parent_server = $parent_server; $this->start_time = $start_time; $this->link_time = $link_time; $this->description = $description; self::$static_servers[$numeric] = $this; } public function disconnectServer($linked_only = false) { if(!$linked_only) { if($this->parent_server) { $this->parent_server->delServer($this); } $this->disconnectUsers(); unset(self::$static_servers[$this->numeric]); } foreach($this->servers as $server) { $server->disconnectServer(); } } public function disconnectUsers() { //disconnect all Users connected to the actual Server } public function getNumeric() { return $this->numeric; } public function addServer($server) { $this->servers[$server->getNumeric()] = $server; } public function delServer($server) { if(array_key_exists($server->getNumeric(), $this->servers)) { unset($this->servers[$server->getNumeric()]); } else { trigger_error("Tried to remove a Server, that does NOT exist.", E_USER_WARNING); } } } ?>