TeamSpeak 3 PHP Framework  1.1.16
Copyright © Planet TeamSpeak. All rights reserved.
 All Classes Namespaces Files Functions Variables Pages
TeamSpeak3_Node_Host Class Reference

Class describing a TeamSpeak 3 server instance and all it's parameters. More...

+ Inheritance diagram for TeamSpeak3_Node_Host:

Public Member Functions

 __construct (TeamSpeak3_Adapter_ServerQuery $squery)
 The TeamSpeak3_Node_Host constructor.
 
 serverSelectedId ()
 Returns the primary ID of the selected virtual server.
 
 serverSelectedPort ()
 Returns the primary UDP port of the selected virtual server.
 
 version ($ident=null)
 Returns the servers version information including platform and build number.
 
 serverSelect ($sid, $virtual =null)
 Selects a virtual server by ID to allow further interaction.
 
 serverSelectById ($sid, $virtual =null)
 Alias for serverSelect().
 
 serverSelectByPort ($port, $virtual =null)
 Selects a virtual server by UDP port to allow further interaction.
 
 serverDeselect ()
 Deselects the active virtual server.
 
 serverIdGetByPort ($port)
 Returns the ID of a virtual server matching the given port.
 
 serverGetPortById ($sid)
 Returns the port of a virtual server matching the given ID.
 
 serverGetSelected ()
 Returns the TeamSpeak3_Node_Server object matching the currently selected ID.
 
 serverGetById ($sid)
 Returns the TeamSpeak3_Node_Server object matching the given ID.
 
 serverGetByPort ($port)
 Returns the TeamSpeak3_Node_Server object matching the given port number.
 
 serverGetByName ($name)
 Returns the first TeamSpeak3_Node_Server object matching the given name.
 
 serverGetByUid ($uid)
 Returns the first TeamSpeak3_Node_Server object matching the given unique identifier.
 
 serverGetByTSDNS ($tsdns)
 Returns the first TeamSpeak3_Node_Server object matching the given TSDNS hostname.
 
 serverCreate (array $properties=array())
 Creates a new virtual server using given properties and returns an assoc array containing the new ID and initial admin token.
 
 serverDelete ($sid)
 Deletes the virtual server specified by ID.
 
 serverStart ($sid)
 Starts the virtual server specified by ID.
 
 serverStop ($sid)
 Stops the virtual server specified by ID.
 
 serverStopProcess ()
 Stops the entire TeamSpeak 3 Server instance by shutting down the process.
 
 serverList (array $filter=array())
 Returns an array filled with TeamSpeak3_Node_Server objects.
 
 serverListReset ()
 Resets the list of virtual servers.
 
 bindingList ()
 Returns a list of IP addresses used by the server instance on multi-homed machines.
 
 permissionList ()
 Returns a list of permissions available on the server instance.
 
 permissionTree ()
 Returns an array filled with all permission categories known to the server including their ID, name and parent.
 
 permissionFind ($permid)
 Returns the IDs of all clients, channels or groups using the permission with the specified ID.
 
 permissionGetIdByName ($name)
 Returns the ID of the permission matching the given name.
 
 permissionGetNameById ($permid)
 Returns the name of the permission matching the given ID.
 
 permissionGetCategoryById ($permid)
 Returns the internal category of the permission matching the given ID.
 
 permissionGetGrantById ($permid)
 Returns the internal ID of the i_needed_modify_power_* or grant permission.
 
 serverGroupPermAutoAssign ($sgtype, $permid, $permvalue, $permnegated=FALSE, $permskip=FALSE)
 Adds a set of specified permissions to all regular server groups on all virtual servers.
 
 serverGroupPermAutoRemove ($sgtype, $permid)
 Removes a set of specified permissions from all regular server groups on all virtual servers.
 
 selfPermCheck ($permid)
 Returns an array containing the value of a specified permission for your own client.
 
 modify (array $properties)
 Changes the server instance configuration using given properties.
 
 message ($msg)
 Sends a text message to all clients on all virtual servers in the TeamSpeak 3 Server instance.
 
 logView ($lines=30, $begin_pos=null, $reverse=null, $instance=TRUE)
 Displays a specified number of entries (1-100) from the servers log.
 
 logAdd ($logmsg, $loglevel=TeamSpeak3::LOGLEVEL_INFO)
 Writes a custom entry into the server instance log.
 
 login ($username, $password)
 Authenticates with the TeamSpeak 3 Server instance using given ServerQuery login credentials.
 
 logout ()
 Deselects the active virtual server and logs out from the server instance.
 
 whoami ()
 Returns information about your current ServerQuery connection.
 
 whoamiGet ($ident, $default=null)
 Returns a single value from the current ServerQuery connection info.
 
 whoamiSet ($ident, $value=null)
 Sets a single value in the current ServerQuery connection info.
 
 whoamiReset ()
 Resets the current ServerQuery connection info.
 
 getAdapterHost ()
 Returns the hostname or IPv4 address the adapter is connected to.
 
 getAdapterPort ()
 Returns the network port the adapter is connected to.
 
 setPredefinedQueryName ($name=null)
 Sets a pre-defined nickname for ServerQuery clients which will be used automatically after selecting a virtual server.
 
 getPredefinedQueryName ()
 Returns the pre-defined nickname for ServerQuery clients which will be used automatically after selecting a virtual server.
 
 setExcludeQueryClients ($exclude=FALSE)
 Sets the option to decide whether ServerQuery clients should be excluded from node lists or not.
 
 getExcludeQueryClients ()
 Returns the option to decide whether ServerQuery clients should be excluded from node lists or not.
 
 setUseOfflineAsVirtual ($virtual =FALSE)
 Sets the option to decide whether offline servers will be started in virtual mode by default or not.
 
 getUseOfflineAsVirtual ()
 Returns the option to decide whether offline servers will be started in virtual mode by default or not.
 
 setLoadClientlistFirst ($first=FALSE)
 Sets the option to decide whether clients should be sorted before sub-channels to support the new TeamSpeak 3 Client display mode or not.
 
 getLoadClientlistFirst ()
 Returns the option to decide whether offline servers will be started in virtual mode by default or not.
 
 getAdapter ()
 Returns the underlying TeamSpeak3_Adapter_ServerQuery object.
 
 getUniqueId ()
 Returns a unique identifier for the node which can be used as a HTML property.
 
 getIcon ()
 Returns the name of a possible icon to display the node object.
 
 getSymbol ()
 Returns a symbol representing the node.
 
 __wakeup ()
 Re-authenticates with the TeamSpeak 3 Server instance using given ServerQuery login credentials and re-selects a previously selected virtual server.
 
 __toString ()
 Returns a string representation of this node.
 
 request ($cmd)
 Sends a prepared command to the server and returns the result.
 
 prepare ($cmd, array $params=array())
 Uses given parameters and returns a prepared ServerQuery command.
 
 execute ($cmd, array $params=array())
 Prepares and executes a ServerQuery command and returns the result.
 
 getParent ()
 Returns the parent object of the current node.
 
 getId ()
 Returns the primary ID of the current node.
 
 iconIsLocal ($key)
 Returns TRUE if the node icon has a local source.
 
 iconGetName ($key)
 Returns the internal path of the node icon.
 
 getClass ($prefix="ts3_")
 Returns a possible classname for the node which can be used as a HTML property.
 
 getViewer (TeamSpeak3_Viewer_Interface $viewer)
 Returns the HTML code to display a TeamSpeak 3 viewer.
 
 getInfo ($extend=TRUE, $convert=FALSE)
 Returns all information available on this node.
 
 getProperty ($property, $default=null)
 Returns the specified property or a pre-defined default value from the node info array.
 
 toString ()
 Returns a string representation of this node.
 
 toArray ()
 Returns an assoc array filled with current node info properties.
 
 __call ($name, array $args)
 Called whenever we're using an unknown method.
 
 __sleep ()
 Commit pending data.
 
 count ()
 
 
 current ()
 
 
 getChildren ()
 
 
 hasChildren ()
 
 
 hasNext ()
 
 
 key ()
 
 
 valid ()
 
 
 next ()
 
 
 rewind ()
 
 
 offsetExists ($offset)
 
 
 offsetGet ($offset)
 
 
 offsetSet ($offset, $value)
 
 
 offsetUnset ($offset)
 
 
 __get ($offset)
 
 
 __set ($offset, $value)
 
 

Protected Member Functions

 fetchNodeList ()
 
 
 fetchNodeInfo ()
 
 
 filterList (array $nodes=array(), array $rules=array())
 Filters given node list array using specified filter rules.
 
 setStorage ($key, $val)
 Writes data to the internal storage array.
 
 getStorage ($key, $default=null)
 Returns data from the internal storage array.
 
 delStorage ($key)
 Deletes data from the internal storage array.
 
 resetNodeInfo ()
 
 
 verifyNodeList ()
 
 
 resetNodeList ()
 
 

Protected Attributes

 $whoami = null
 
 
 $version = null
 
 
 $serverList = null
 
 
 $permissionList = null
 
 
 $predefined_query_name = null
 
 
 $exclude_query_clients = FALSE
 
 
 $start_offline_virtual = FALSE
 
 
 $sort_clients_channels = FALSE
 
 
 $parent = null
 
 
 $server = null
 
 
 $nodeId = 0x00
 
 
 $nodeList = null
 
 
 $nodeInfo = array()
 
 
 $storage = array()
 
 

Detailed Description

Class describing a TeamSpeak 3 server instance and all it's parameters.

Definition at line 32 of file Host.php.

Constructor & Destructor Documentation

TeamSpeak3_Node_Host::__construct ( TeamSpeak3_Adapter_ServerQuery  $squery)

The TeamSpeak3_Node_Host constructor.

Parameters
TeamSpeak3_Adapter_ServerQuery$squery
Returns
TeamSpeak3_Node_Host

Definition at line 80 of file Host.php.

{
$this->parent = $squery;
}

Member Function Documentation

TeamSpeak3_Node_Host::serverSelectedId ( )

Returns the primary ID of the selected virtual server.

Returns
integer

Definition at line 90 of file Host.php.

References whoamiGet().

Referenced by logAdd(), serverGetByPort(), serverGetSelected(), serverSelect(), serverStart(), and serverStop().

{
return $this->whoamiGet("virtualserver_id", 0);
}
TeamSpeak3_Node_Host::serverSelectedPort ( )

Returns the primary UDP port of the selected virtual server.

Returns
integer

Definition at line 100 of file Host.php.

References whoamiGet().

Referenced by serverSelectByPort().

{
return $this->whoamiGet("virtualserver_port", 0);
}
TeamSpeak3_Node_Host::version (   $ident = null)

Returns the servers version information including platform and build number.

Parameters
string$ident
Returns
mixed

Definition at line 111 of file Host.php.

References $version, and TeamSpeak3_Node_Abstract\request().

{
if($this->version === null)
{
$this->version = $this->request("version")->toList();
}
return ($ident && array_key_exists($ident, $this->version)) ? $this->version[$ident] : $this->version;
}
TeamSpeak3_Node_Host::serverSelect (   $sid,
  $virtual = null 
)

Selects a virtual server by ID to allow further interaction.

Parameters
integer$sid
boolean$virtual
Returns
void

Definition at line 128 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), serverSelectedId(), TeamSpeak3_Node_Abstract\setStorage(), whoami(), and whoamiReset().

Referenced by logAdd(), serverDeselect(), and serverSelectById().

{
if($this->whoami !== null && $this->serverSelectedId() == $sid) return;
$virtual = ($virtual !== null) ? $virtual : $this->start_offline_virtual;
$getargs = func_get_args();
$this->execute("use", array("sid" => $sid, $virtual ? "-virtual" : null));
if($sid != 0 && $this->predefined_query_name !== null)
{
$this->execute("clientupdate", array("client_nickname" => (string) $this->predefined_query_name));
}
$this->whoamiReset();
$this->setStorage("_server_use", array(__FUNCTION__, $getargs));
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerselected", $this);
}
TeamSpeak3_Node_Host::serverSelectById (   $sid,
  $virtual = null 
)

Alias for serverSelect().

Parameters
integer$sid
boolean$virtual
Returns
void

Definition at line 156 of file Host.php.

References serverSelect().

Referenced by serverGetById().

{
$this->serverSelect($sid, $virtual);
}
TeamSpeak3_Node_Host::serverSelectByPort (   $port,
  $virtual = null 
)

Selects a virtual server by UDP port to allow further interaction.

Parameters
integer$port
boolean$virtual
Returns
void

Definition at line 168 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), serverSelectedPort(), TeamSpeak3_Node_Abstract\setStorage(), whoami(), and whoamiReset().

Referenced by serverGetByPort().

{
if($this->whoami !== null && $this->serverSelectedPort() == $port) return;
$virtual = ($virtual !== null) ? $virtual : $this->start_offline_virtual;
$getargs = func_get_args();
$this->execute("use", array("port" => $port, $virtual ? "-virtual" : null));
if($port != 0 && $this->predefined_query_name !== null)
{
$this->execute("clientupdate", array("client_nickname" => (string) $this->predefined_query_name));
}
$this->whoamiReset();
$this->setStorage("_server_use", array(__FUNCTION__, $getargs));
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerselected", $this);
}
TeamSpeak3_Node_Host::serverDeselect ( )

Deselects the active virtual server.

Returns
void

Definition at line 194 of file Host.php.

References TeamSpeak3_Node_Abstract\delStorage(), and serverSelect().

Referenced by logAdd(), serverStart(), and serverStop().

{
$this->serverSelect(0);
$this->delStorage("_server_use");
}
TeamSpeak3_Node_Host::serverIdGetByPort (   $port)

Returns the ID of a virtual server matching the given port.

Parameters
integer$port
Returns
integer

Definition at line 207 of file Host.php.

References TeamSpeak3_Node_Abstract\execute().

{
$sid = $this->execute("serveridgetbyport", array("virtualserver_port" => $port))->toList();
return $sid["server_id"];
}
TeamSpeak3_Node_Host::serverGetPortById (   $sid)

Returns the port of a virtual server matching the given ID.

Parameters
integer$sid
Returns
integer

Definition at line 220 of file Host.php.

References serverList().

{
if(!array_key_exists((string) $sid, $this->serverList()))
{
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
}
return $this->serverList[intval((string) $sid)]["virtualserver_port"];
}
TeamSpeak3_Node_Host::serverGetSelected ( )

Returns the TeamSpeak3_Node_Server object matching the currently selected ID.

Returns
TeamSpeak3_Node_Server

Definition at line 235 of file Host.php.

References serverGetById(), and serverSelectedId().

{
return $this->serverGetById($this->serverSelectedId());
}
TeamSpeak3_Node_Host::serverGetById (   $sid)

Returns the TeamSpeak3_Node_Server object matching the given ID.

Parameters
integer$sid
Returns
TeamSpeak3_Node_Server

Definition at line 246 of file Host.php.

References serverSelectById().

Referenced by serverGetSelected().

{
$this->serverSelectById($sid);
return new TeamSpeak3_Node_Server($this, array("virtualserver_id" => intval($sid)));
}
TeamSpeak3_Node_Host::serverGetByPort (   $port)

Returns the TeamSpeak3_Node_Server object matching the given port number.

Parameters
integer$port
Returns
TeamSpeak3_Node_Server

Definition at line 259 of file Host.php.

References serverSelectByPort(), and serverSelectedId().

Referenced by serverGetByTSDNS().

{
$this->serverSelectByPort($port);
return new TeamSpeak3_Node_Server($this, array("virtualserver_id" => $this->serverSelectedId()));
}
TeamSpeak3_Node_Host::serverGetByName (   $name)

Returns the first TeamSpeak3_Node_Server object matching the given name.

Parameters
string$name
Exceptions
TeamSpeak3_Adapter_ServerQuery_Exception
Returns
TeamSpeak3_Node_Server

Definition at line 273 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, and serverList().

{
foreach($this->serverList() as $server)
{
if($server["virtualserver_name"] == $name) return $server;
}
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
}
TeamSpeak3_Node_Host::serverGetByUid (   $uid)

Returns the first TeamSpeak3_Node_Server object matching the given unique identifier.

Parameters
string$uid
Exceptions
TeamSpeak3_Adapter_ServerQuery_Exception
Returns
TeamSpeak3_Node_Server

Definition at line 290 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, and serverList().

{
foreach($this->serverList() as $server)
{
if($server["virtualserver_unique_identifier"] == $uid) return $server;
}
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
}
TeamSpeak3_Node_Host::serverGetByTSDNS (   $tsdns)

Returns the first TeamSpeak3_Node_Server object matching the given TSDNS hostname.

Like the TeamSpeak 3 Client, this method will start looking for a TSDNS server on the second-level domain including a fallback to the third-level domain of the specified $tsdns parameter.

Parameters
string$tsdns
Exceptions
TeamSpeak3_Adapter_ServerQuery_Exception
Returns
TeamSpeak3_Node_Server

Definition at line 309 of file Host.php.

References TeamSpeak3_Helper_String\factory(), TeamSpeak3\factory(), TeamSpeak3_Helper_Uri\getFQDNParts(), and serverGetByPort().

{
$query = TeamSpeak3_Helper_String::factory(array_shift($parts));
while($part = array_shift($parts))
{
$query->prepend($part);
try
{
$port = TeamSpeak3::factory("tsdns://" . $query . "/?timeout=3")->resolve($tsdns)->section(":", 1);
return $this->serverGetByPort($port == "" ? 9987 : $port);
}
{
/* skip "Connection timed out" and "Connection refused" */
if($e->getCode() != 10060 && $e->getCode() != 10061) throw $e;
}
}
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
}
TeamSpeak3_Node_Host::serverCreate ( array  $properties = array())

Creates a new virtual server using given properties and returns an assoc array containing the new ID and initial admin token.

Parameters
array$properties
Returns
array

Definition at line 341 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), and serverListReset().

{
$this->serverListReset();
$detail = $this->execute("servercreate", $properties)->toList();
$server = new TeamSpeak3_Node_Server($this, array("virtualserver_id" => intval($detail["sid"])));
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServercreated", $this, $detail["sid"]);
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyTokencreated", $server, $detail["token"]);
return $detail;
}
TeamSpeak3_Node_Host::serverDelete (   $sid)

Deletes the virtual server specified by ID.

Parameters
integer$sid
Returns
void

Definition at line 360 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), and serverListReset().

{
$this->serverListReset();
$this->execute("serverdelete", array("sid" => $sid));
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerdeleted", $this, $sid);
}
TeamSpeak3_Node_Host::serverStart (   $sid)

Starts the virtual server specified by ID.

Parameters
integer$sid
Returns
void

Definition at line 375 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), serverDeselect(), serverListReset(), and serverSelectedId().

{
if($sid == $this->serverSelectedId())
{
$this->serverDeselect();
}
$this->execute("serverstart", array("sid" => $sid));
$this->serverListReset();
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerstarted", $this, $sid);
}
TeamSpeak3_Node_Host::serverStop (   $sid)

Stops the virtual server specified by ID.

Parameters
integer$sid
Returns
void

Definition at line 394 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), serverDeselect(), serverListReset(), and serverSelectedId().

{
if($sid == $this->serverSelectedId())
{
$this->serverDeselect();
}
$this->execute("serverstop", array("sid" => $sid));
$this->serverListReset();
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerstopped", $this, $sid);
}
TeamSpeak3_Node_Host::serverStopProcess ( )

Stops the entire TeamSpeak 3 Server instance by shutting down the process.

Returns
void

Definition at line 412 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), and TeamSpeak3_Helper_Signal\getInstance().

{
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServershutdown", $this);
$this->execute("serverprocessstop");
}
TeamSpeak3_Node_Host::serverList ( array  $filter = array())

Returns an array filled with TeamSpeak3_Node_Server objects.

Parameters
array$filter
Returns
array

Definition at line 425 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, TeamSpeak3_Node_Abstract\filterList(), TeamSpeak3_Node_Abstract\request(), and TeamSpeak3_Node_Abstract\resetNodeList().

Referenced by fetchNodeList(), serverGetByName(), serverGetByUid(), serverGetPortById(), and serverListReset().

{
if($this->serverList === null)
{
$servers = $this->request("serverlist -uid")->toAssocArray("virtualserver_id");
$this->serverList = array();
foreach($servers as $sid => $server)
{
$this->serverList[$sid] = new TeamSpeak3_Node_Server($this, $server);
}
$this->resetNodeList();
}
return $this->filterList($this->serverList, $filter);
}
TeamSpeak3_Node_Host::serverListReset ( )

Resets the list of virtual servers.

Returns
void

Definition at line 449 of file Host.php.

References TeamSpeak3_Node_Abstract\resetNodeList(), and serverList().

Referenced by serverCreate(), serverDelete(), serverStart(), and serverStop().

{
$this->resetNodeList();
$this->serverList = null;
}
TeamSpeak3_Node_Host::bindingList ( )

Returns a list of IP addresses used by the server instance on multi-homed machines.

Returns
array

Definition at line 460 of file Host.php.

References TeamSpeak3_Node_Abstract\request().

{
return $this->request("bindinglist")->toArray();
}
TeamSpeak3_Node_Host::permissionList ( )

Returns a list of permissions available on the server instance.

Returns
array

Definition at line 470 of file Host.php.

References $permissionList, permissionGetCategoryById(), permissionGetGrantById(), and TeamSpeak3_Node_Abstract\request().

Referenced by permissionGetIdByName(), permissionGetNameById(), and permissionTree().

{
if($this->permissionList === null)
{
$this->permissionList = $this->request("permissionlist")->toAssocArray("permname");
foreach($this->permissionList as $permname => $permdata)
{
$this->permissionList[$permname]["permcatid"] = $this->permissionGetCategoryById($permdata["permid"]);
$this->permissionList[$permname]["permgrant"] = $this->permissionGetGrantById($permdata["permid"]);
}
}
}
TeamSpeak3_Node_Host::permissionTree ( )

Returns an array filled with all permission categories known to the server including their ID, name and parent.

Returns
array

Definition at line 492 of file Host.php.

References TeamSpeak3_Helper_String\factory(), TeamSpeak3_Helper_Convert\permissionCategory(), permissionGetCategoryById(), and permissionList().

{
$permtree = array();
$reflects = new ReflectionClass("TeamSpeak3");
foreach($reflects->getConstants() as $key => $val)
{
if(!TeamSpeak3_Helper_String::factory($key)->startsWith("PERM_CAT") || $val == 0xFF)
{
continue;
}
$permtree[$val]["permcatid"] = $val;
$permtree[$val]["permcathex"] = "0x" . dechex($val);
$permtree[$val]["permcatparent"] = $permtree[$val]["permcathex"]{3} == 0 ? 0 : hexdec($permtree[$val]["permcathex"]{2} . 0);
$permtree[$val]["permcatchilren"] = 0;
$permtree[$val]["permcatcount"] = 0;
if(isset($permtree[$permtree[$val]["permcatparent"]]))
{
$permtree[$permtree[$val]["permcatparent"]]["permcatchilren"]++;
}
if($permtree[$val]["permcatname"]->contains("/"))
{
$permtree[$val]["permcatname"] = $permtree[$val]["permcatname"]->section("/", 1)->trim();
}
foreach($this->permissionList() as $permission)
{
if($this->permissionGetCategoryById($permission["permid"]) == $val)
{
$permtree[$val]["permcatcount"]++;
}
}
}
return $permtree;
}
TeamSpeak3_Node_Host::permissionFind (   $permid)

Returns the IDs of all clients, channels or groups using the permission with the specified ID.

Parameters
integer$permid
Returns
array

Definition at line 540 of file Host.php.

References TeamSpeak3_Node_Abstract\current(), and TeamSpeak3_Node_Abstract\execute().

{
if(!is_array($permid))
{
$permident = (is_numeric($permid)) ? "permid" : "permsid";
}
else
{
$permident = (is_numeric(current($permid))) ? "permid" : "permsid";
}
return $this->execute("permfind", array($permident => $permid))->toArray();
}
TeamSpeak3_Node_Host::permissionGetIdByName (   $name)

Returns the ID of the permission matching the given name.

Parameters
string$name
Exceptions
TeamSpeak3_Adapter_ServerQuery_Exception
Returns
integer

Definition at line 561 of file Host.php.

References permissionList().

Referenced by permissionGetCategoryById(), and permissionGetGrantById().

{
if(!array_key_exists((string) $name, $this->permissionList()))
{
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid permission ID", 0xA02);
}
return $this->permissionList[(string) $name]["permid"];
}
TeamSpeak3_Node_Host::permissionGetNameById (   $permid)

Returns the name of the permission matching the given ID.

Parameters
integer$permid
Exceptions
TeamSpeak3_Adapter_ServerQuery_Exception
Returns
TeamSpeak3_Helper_String

Definition at line 578 of file Host.php.

References permissionList().

{
foreach($this->permissionList() as $name => $perm)
{
if($perm["permid"] == $permid) return new TeamSpeak3_Helper_String($name);
}
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid permission ID", 0xA02);
}
TeamSpeak3_Node_Host::permissionGetCategoryById (   $permid)

Returns the internal category of the permission matching the given ID.

All permission IDs are are 2 bytes wide. The first byte identifies the category while the second byte is the permission count within that group.

Parameters
integer$permid
Returns
integer

Definition at line 597 of file Host.php.

References permissionGetIdByName().

Referenced by permissionList(), and permissionTree().

{
if(!is_numeric($permid))
{
$permid = $this->permissionGetIdByName($permid);
}
return (int) $permid >> 8;
}
TeamSpeak3_Node_Host::permissionGetGrantById (   $permid)

Returns the internal ID of the i_needed_modify_power_* or grant permission.

Every permission has an associated i_needed_modify_power_* permission, for example b_client_ban_create has an associated permission called i_needed_modify_power_client_ban_create.

Parameters
integer$permid
Returns
integer

Definition at line 616 of file Host.php.

References permissionGetIdByName().

Referenced by permissionList().

{
if(!is_numeric($permid))
{
$permid = $this->permissionGetIdByName($permid);
}
return (int) bindec(substr(decbin($permid), -8))+0xFF00;
}
TeamSpeak3_Node_Host::serverGroupPermAutoAssign (   $sgtype,
  $permid,
  $permvalue,
  $permnegated = FALSE,
  $permskip = FALSE 
)

Adds a set of specified permissions to all regular server groups on all virtual servers.

The target groups will be identified by the value of their i_group_auto_update_type permission specified with $sgtype.

Parameters
integer$sgtype
integer$permid
integer$permvalue
integer$permnegated
integer$permskip
Returns
void

Definition at line 637 of file Host.php.

References TeamSpeak3_Node_Abstract\current(), and TeamSpeak3_Node_Abstract\execute().

{
if(!is_array($permid))
{
$permident = (is_numeric($permid)) ? "permid" : "permsid";
}
else
{
$permident = (is_numeric(current($permid))) ? "permid" : "permsid";
}
$this->execute("servergroupautoaddperm", array("sgtype" => $sgtype, $permident => $permid, "permvalue" => $permvalue, "permnegated" => $permnegated, "permskip" => $permskip));
}
TeamSpeak3_Node_Host::serverGroupPermAutoRemove (   $sgtype,
  $permid 
)

Removes a set of specified permissions from all regular server groups on all virtual servers.

The target groups will be identified by the value of their i_group_auto_update_type permission specified with $sgtype.

Parameters
integer$sgtype
integer$permid
Returns
void

Definition at line 659 of file Host.php.

References TeamSpeak3_Node_Abstract\current(), and TeamSpeak3_Node_Abstract\execute().

{
if(!is_array($permid))
{
$permident = (is_numeric($permid)) ? "permid" : "permsid";
}
else
{
$permident = (is_numeric(current($permid))) ? "permid" : "permsid";
}
$this->execute("servergroupautodelperm", array("sgtype" => $sgtype, $permident => $permid));
}
TeamSpeak3_Node_Host::selfPermCheck (   $permid)

Returns an array containing the value of a specified permission for your own client.

Parameters
integer$permid
Returns
array

Definition at line 679 of file Host.php.

References TeamSpeak3_Node_Abstract\current(), and TeamSpeak3_Node_Abstract\execute().

{
if(!is_array($permid))
{
$permident = (is_numeric($permid)) ? "permid" : "permsid";
}
else
{
$permident = (is_numeric(current($permid))) ? "permid" : "permsid";
}
return $this->execute("permget", array($permident => $permid))->toAssocArray("permsid");
}
TeamSpeak3_Node_Host::modify ( array  $properties)

Changes the server instance configuration using given properties.

Parameters
array$properties
Returns
void

Definition at line 699 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), and TeamSpeak3_Node_Abstract\resetNodeInfo().

{
$this->execute("instanceedit", $properties);
$this->resetNodeInfo();
}
TeamSpeak3_Node_Host::message (   $msg)

Sends a text message to all clients on all virtual servers in the TeamSpeak 3 Server instance.

Parameters
string$msg
Returns
void

Definition at line 711 of file Host.php.

References TeamSpeak3_Node_Abstract\execute().

{
$this->execute("gm", array("msg" => $msg));
}
TeamSpeak3_Node_Host::logView (   $lines = 30,
  $begin_pos = null,
  $reverse = null,
  $instance = TRUE 
)

Displays a specified number of entries (1-100) from the servers log.

Parameters
integer$lines
integer$begin_pos
boolean$reverse
boolean$instance
Returns
array

Definition at line 725 of file Host.php.

References TeamSpeak3_Node_Abstract\execute().

{
return $this->execute("logview", array("lines" => $lines, "begin_pos" => $begin_pos, "instance" => $instance, "reverse" => $reverse))->toArray();
}
TeamSpeak3_Node_Host::logAdd (   $logmsg,
  $loglevel = TeamSpeak3::LOGLEVEL_INFO 
)

Writes a custom entry into the server instance log.

Parameters
string$logmsg
integer$loglevel
Returns
void

Definition at line 737 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), serverDeselect(), serverSelect(), and serverSelectedId().

{
$sid = $this->serverSelectedId();
$this->serverDeselect();
$this->execute("logadd", array("logmsg" => $logmsg, "loglevel" => $loglevel));
$this->serverSelect($sid);
}
TeamSpeak3_Node_Host::login (   $username,
  $password 
)

Authenticates with the TeamSpeak 3 Server instance using given ServerQuery login credentials.

Parameters
string$username
string$password
Returns
void

Definition at line 753 of file Host.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Helper_Signal\getInstance(), TeamSpeak3_Node_Abstract\setStorage(), and whoamiReset().

Referenced by __wakeup().

{
$this->execute("login", array("client_login_name" => $username, "client_login_password" => $password));
$this->whoamiReset();
$crypt = new TeamSpeak3_Helper_Crypt($username);
$this->setStorage("_login_user", $username);
$this->setStorage("_login_pass", $crypt->encrypt($password));
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyLogin", $this);
}
TeamSpeak3_Node_Host::logout ( )

Deselects the active virtual server and logs out from the server instance.

Returns
void

Definition at line 771 of file Host.php.

References TeamSpeak3_Node_Abstract\delStorage(), TeamSpeak3_Helper_Signal\getInstance(), TeamSpeak3_Node_Abstract\request(), and whoamiReset().

{
$this->request("logout");
$this->whoamiReset();
$this->delStorage("_login_user");
$this->delStorage("_login_pass");
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyLogout", $this);
}
TeamSpeak3_Node_Host::whoami ( )

Returns information about your current ServerQuery connection.

Returns
array

Definition at line 787 of file Host.php.

References $whoami, and TeamSpeak3_Node_Abstract\request().

Referenced by serverSelect(), serverSelectByPort(), whoamiGet(), whoamiReset(), and whoamiSet().

{
if($this->whoami === null)
{
$this->whoami = $this->request("whoami")->toList();
}
return $this->whoami;
}
TeamSpeak3_Node_Host::whoamiGet (   $ident,
  $default = null 
)

Returns a single value from the current ServerQuery connection info.

Parameters
string$ident
mixed$default
Returns
mixed

Definition at line 804 of file Host.php.

References whoami().

Referenced by serverSelectedId(), and serverSelectedPort().

{
if(array_key_exists($ident, $this->whoami()))
{
return $this->whoami[$ident];
}
return $default;
}
TeamSpeak3_Node_Host::whoamiSet (   $ident,
  $value = null 
)

Sets a single value in the current ServerQuery connection info.

Parameters
string$ident
mixed$value
Returns
mixed

Definition at line 821 of file Host.php.

References TeamSpeak3_Helper_String\factory(), and whoami().

{
$this->whoami();
$this->whoami[$ident] = (is_numeric($value)) ? intval($value) : TeamSpeak3_Helper_String::factory($value);
}
TeamSpeak3_Node_Host::whoamiReset ( )

Resets the current ServerQuery connection info.

Returns
void

Definition at line 833 of file Host.php.

References whoami().

Referenced by login(), logout(), serverSelect(), and serverSelectByPort().

{
$this->whoami = null;
}
TeamSpeak3_Node_Host::getAdapterHost ( )

Returns the hostname or IPv4 address the adapter is connected to.

Returns
string

Definition at line 843 of file Host.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by __toString().

{
return $this->getParent()->getTransportHost();
}
TeamSpeak3_Node_Host::getAdapterPort ( )

Returns the network port the adapter is connected to.

Returns
string

Definition at line 853 of file Host.php.

References TeamSpeak3_Node_Abstract\getParent().

{
return $this->getParent()->getTransportPort();
}
TeamSpeak3_Node_Host::fetchNodeList ( )
protected

Definition at line 861 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, and serverList().

{
$servers = $this->serverList();
foreach($servers as $server)
{
$this->nodeList[] = $server;
}
}
TeamSpeak3_Node_Host::fetchNodeInfo ( )
protected

Definition at line 874 of file Host.php.

References TeamSpeak3_Node_Abstract\request().

{
$info1 = $this->request("hostinfo")->toList();
$info2 = $this->request("instanceinfo")->toList();
$this->nodeInfo = array_merge($this->nodeInfo, $info1, $info2);
}
TeamSpeak3_Node_Host::setPredefinedQueryName (   $name = null)

Sets a pre-defined nickname for ServerQuery clients which will be used automatically after selecting a virtual server.

Parameters
string$name
Returns
void

Definition at line 889 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

{
$this->setStorage("_query_nick", $name);
$this->predefined_query_name = $name;
}
TeamSpeak3_Node_Host::getPredefinedQueryName ( )

Returns the pre-defined nickname for ServerQuery clients which will be used automatically after selecting a virtual server.

Returns
string

Definition at line 902 of file Host.php.

References $predefined_query_name.

TeamSpeak3_Node_Host::setExcludeQueryClients (   $exclude = FALSE)

Sets the option to decide whether ServerQuery clients should be excluded from node lists or not.

Parameters
boolean$exclude
Returns
void

Definition at line 914 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

{
$this->setStorage("_query_hide", $exclude);
$this->exclude_query_clients = $exclude;
}
TeamSpeak3_Node_Host::getExcludeQueryClients ( )

Returns the option to decide whether ServerQuery clients should be excluded from node lists or not.

Returns
boolean

Definition at line 927 of file Host.php.

References $exclude_query_clients.

TeamSpeak3_Node_Host::setUseOfflineAsVirtual (   $virtual = FALSE)

Sets the option to decide whether offline servers will be started in virtual mode by default or not.

Parameters
boolean$virtual
Returns
void

Definition at line 939 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

{
$this->setStorage("_do_virtual", $virtual);
$this->start_offline_virtual = $virtual;
}
TeamSpeak3_Node_Host::getUseOfflineAsVirtual ( )

Returns the option to decide whether offline servers will be started in virtual mode by default or not.

Returns
boolean

Definition at line 952 of file Host.php.

References $start_offline_virtual.

TeamSpeak3_Node_Host::setLoadClientlistFirst (   $first = FALSE)

Sets the option to decide whether clients should be sorted before sub-channels to support the new TeamSpeak 3 Client display mode or not.

Parameters
boolean$first
Returns
void

Definition at line 964 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

{
$this->setStorage("_client_top", $first);
$this->sort_clients_channels = $first;
}
TeamSpeak3_Node_Host::getLoadClientlistFirst ( )

Returns the option to decide whether offline servers will be started in virtual mode by default or not.

Returns
boolean

Definition at line 977 of file Host.php.

References $sort_clients_channels.

TeamSpeak3_Node_Host::getAdapter ( )

Returns the underlying TeamSpeak3_Adapter_ServerQuery object.

Returns
TeamSpeak3_Adapter_ServerQuery

Definition at line 987 of file Host.php.

References TeamSpeak3_Node_Abstract\getParent().

{
return $this->getParent();
}
TeamSpeak3_Node_Host::getUniqueId ( )

Returns a unique identifier for the node which can be used as a HTML property.

Returns
string

Definition at line 997 of file Host.php.

{
return "ts3_h";
}
TeamSpeak3_Node_Host::getIcon ( )

Returns the name of a possible icon to display the node object.

Returns
string

Definition at line 1007 of file Host.php.

{
return "host";
}
TeamSpeak3_Node_Host::getSymbol ( )

Returns a symbol representing the node.

Returns
string

Definition at line 1017 of file Host.php.

{
return "+";
}
TeamSpeak3_Node_Host::__wakeup ( )

Re-authenticates with the TeamSpeak 3 Server instance using given ServerQuery login credentials and re-selects a previously selected virtual server.

Returns
void

Definition at line 1028 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, TeamSpeak3_Node_Abstract\getStorage(), and login().

{
$username = $this->getStorage("_login_user");
$password = $this->getStorage("_login_pass");
if($username && $password)
{
$crypt = new TeamSpeak3_Helper_Crypt($username);
$this->login($username, $crypt->decrypt($password));
}
$this->predefined_query_name = $this->getStorage("_query_nick");
$this->exclude_query_clients = $this->getStorage("_query_hide", FALSE);
$this->start_offline_virtual = $this->getStorage("_do_virtual", FALSE);
$this->sort_clients_channels = $this->getStorage("_client_top", FALSE);
if($server = $this->getStorage("_server_use"))
{
$func = array_shift($server);
$args = array_shift($server);
call_user_func_array(array($this, $func), $args);
}
}
TeamSpeak3_Node_Host::__toString ( )

Returns a string representation of this node.

Returns
string

Definition at line 1059 of file Host.php.

References getAdapterHost().

{
return (string) $this->getAdapterHost();
}
TeamSpeak3_Node_Abstract::request (   $cmd)
inherited

Sends a prepared command to the server and returns the result.

Parameters
string$cmd
Returns
TeamSpeak3_Adapter_ServerQuery_Reply

Definition at line 70 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by bindingList(), TeamSpeak3_Node_Abstract\execute(), fetchNodeInfo(), logout(), permissionList(), serverList(), version(), and whoami().

{
return $this->getParent()->request($cmd);
}
TeamSpeak3_Node_Abstract::prepare (   $cmd,
array  $params = array() 
)
inherited

Uses given parameters and returns a prepared ServerQuery command.

Parameters
string$cmd
array$params
Returns
TeamSpeak3_Helper_String

Definition at line 82 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by TeamSpeak3_Node_Abstract\execute().

{
return $this->getParent()->prepare($cmd, $params);
}
TeamSpeak3_Node_Abstract::execute (   $cmd,
array  $params = array() 
)
inherited

Prepares and executes a ServerQuery command and returns the result.

Parameters
string$cmd
array$params
Returns
TeamSpeak3_Adapter_ServerQuery_Reply

Definition at line 94 of file Abstract.php.

References TeamSpeak3_Node_Abstract\prepare(), and TeamSpeak3_Node_Abstract\request().

Referenced by TeamSpeak3_Node_Server\banCreate(), TeamSpeak3_Node_Server\banDelete(), TeamSpeak3_Node_Server\channelClientPermAssign(), TeamSpeak3_Node_Server\channelClientPermList(), TeamSpeak3_Node_Server\channelClientPermRemove(), TeamSpeak3_Node_Server\channelCreate(), TeamSpeak3_Node_Server\channelDelete(), TeamSpeak3_Node_Server\channelDirCreate(), TeamSpeak3_Node_Server\channelFileDelete(), TeamSpeak3_Node_Server\channelFileInfo(), TeamSpeak3_Node_Server\channelFileList(), TeamSpeak3_Node_Server\channelFileRename(), TeamSpeak3_Node_Server\channelGroupClientList(), TeamSpeak3_Node_Server\channelGroupCopy(), TeamSpeak3_Node_Server\channelGroupCreate(), TeamSpeak3_Node_Server\channelGroupDelete(), TeamSpeak3_Node_Server\channelGroupPermAssign(), TeamSpeak3_Node_Server\channelGroupPermList(), TeamSpeak3_Node_Server\channelGroupPermRemove(), TeamSpeak3_Node_Server\channelGroupRename(), TeamSpeak3_Node_Server\channelMove(), TeamSpeak3_Node_Server\channelPermAssign(), TeamSpeak3_Node_Server\channelPermList(), TeamSpeak3_Node_Server\channelPermRemove(), TeamSpeak3_Node_Server\clientBan(), TeamSpeak3_Node_Server\clientCountDb(), TeamSpeak3_Node_Server\clientDeleteDb(), TeamSpeak3_Node_Server\clientFind(), TeamSpeak3_Node_Server\clientFindDb(), TeamSpeak3_Node_Server\clientGetIdsByUid(), TeamSpeak3_Node_Server\clientGetNameByDbid(), TeamSpeak3_Node_Server\clientGetNameByUid(), TeamSpeak3_Node_Server\clientGetServerGroupsByDbid(), TeamSpeak3_Node_Server\clientInfoDb(), TeamSpeak3_Node_Server\clientKick(), TeamSpeak3_Node_Server\clientListDb(), TeamSpeak3_Node_Server\clientModifyDb(), TeamSpeak3_Node_Server\clientMove(), TeamSpeak3_Node_Server\clientPermAssign(), TeamSpeak3_Node_Server\clientPermList(), TeamSpeak3_Node_Server\clientPermRemove(), TeamSpeak3_Node_Server\clientPoke(), TeamSpeak3_Node_Server\clientSetChannelGroup(), TeamSpeak3_Node_Server\complaintCreate(), TeamSpeak3_Node_Server\complaintDelete(), TeamSpeak3_Node_Server\complaintList(), TeamSpeak3_Node_Server\complaintListClear(), TeamSpeak3_Node_Server\customInfo(), TeamSpeak3_Node_Server\customSearch(), TeamSpeak3_Node_Client\fetchNodeInfo(), TeamSpeak3_Node_Channel\fetchNodeInfo(), TeamSpeak3_Node_Client\getClones(), logAdd(), TeamSpeak3_Node_Server\logAdd(), login(), logView(), TeamSpeak3_Node_Server\logView(), TeamSpeak3_Node_Client\message(), TeamSpeak3_Node_Channelgroup\message(), TeamSpeak3_Node_Servergroup\message(), TeamSpeak3_Node_Channel\message(), message(), TeamSpeak3_Node_Server\message(), TeamSpeak3_Node_Server\messageCreate(), TeamSpeak3_Node_Server\messageDelete(), TeamSpeak3_Node_Server\messageRead(), TeamSpeak3_Node_Client\modify(), TeamSpeak3_Node_Channel\modify(), modify(), TeamSpeak3_Node_Server\modify(), TeamSpeak3_Node_Server\notifyRegister(), permissionFind(), TeamSpeak3_Node_Client\permOverview(), TeamSpeak3_Node_Server\privilegeKeyCreate(), TeamSpeak3_Node_Server\privilegeKeyDelete(), TeamSpeak3_Node_Server\privilegeKeyUse(), selfPermCheck(), TeamSpeak3_Node_Server\selfPermOverview(), TeamSpeak3_Node_Server\selfUpdate(), TeamSpeak3_Node_Server\selfUpdateLogin(), serverCreate(), serverDelete(), TeamSpeak3_Node_Server\serverGroupClientAdd(), TeamSpeak3_Node_Server\serverGroupClientDel(), TeamSpeak3_Node_Server\serverGroupClientList(), TeamSpeak3_Node_Server\serverGroupCopy(), TeamSpeak3_Node_Server\serverGroupCreate(), TeamSpeak3_Node_Server\serverGroupDelete(), TeamSpeak3_Node_Server\serverGroupPermAssign(), serverGroupPermAutoAssign(), serverGroupPermAutoRemove(), TeamSpeak3_Node_Server\serverGroupPermList(), TeamSpeak3_Node_Server\serverGroupPermRemove(), TeamSpeak3_Node_Server\serverGroupRename(), serverIdGetByPort(), serverSelect(), serverSelectByPort(), serverStart(), serverStop(), serverStopProcess(), TeamSpeak3_Node_Server\tempPasswordCreate(), TeamSpeak3_Node_Server\tempPasswordDelete(), TeamSpeak3_Node_Server\transferInitDownload(), TeamSpeak3_Node_Server\transferInitUpload(), and TeamSpeak3_Node_Server\transferStop().

{
return $this->request($this->prepare($cmd, $params));
}
TeamSpeak3_Node_Abstract::getParent ( )
inherited

Returns the parent object of the current node.

Returns
TeamSpeak3_Adapter_ServerQuery
TeamSpeak3_Node_Abstract

Definition at line 105 of file Abstract.php.

References TeamSpeak3_Node_Abstract\$parent.

Referenced by TeamSpeak3_Node_Abstract\__call(), TeamSpeak3_Node_Client\addServerGroup(), TeamSpeak3_Node_Client\avatarDownload(), TeamSpeak3_Node_Client\ban(), TeamSpeak3_Node_Server\channelCreate(), TeamSpeak3_Node_Server\channelDelete(), TeamSpeak3_Node_Servergroup\clientAdd(), TeamSpeak3_Node_Servergroup\clientDel(), TeamSpeak3_Node_Channel\clientList(), TeamSpeak3_Node_Channelgroup\clientList(), TeamSpeak3_Node_Servergroup\clientList(), TeamSpeak3_Node_Server\clientList(), TeamSpeak3_Node_Server\clientMove(), TeamSpeak3_Node_Channel\clientPermAssign(), TeamSpeak3_Node_Channel\clientPermList(), TeamSpeak3_Node_Channel\clientPermRemove(), TeamSpeak3_Node_Servergroup\copy(), TeamSpeak3_Node_Channelgroup\copy(), TeamSpeak3_Node_Client\customInfo(), TeamSpeak3_Node_Servergroup\delete(), TeamSpeak3_Node_Channelgroup\delete(), TeamSpeak3_Node_Channel\delete(), TeamSpeak3_Node_Server\delete(), TeamSpeak3_Node_Client\deleteDb(), TeamSpeak3_Node_Channel\dirCreate(), TeamSpeak3_Node_Channelgroup\fetchNodeList(), TeamSpeak3_Node_Servergroup\fetchNodeList(), TeamSpeak3_Node_Channel\fetchNodeList(), TeamSpeak3_Node_Channel\fileDelete(), TeamSpeak3_Node_Channel\fileInfo(), TeamSpeak3_Node_Channel\fileList(), TeamSpeak3_Node_Channel\fileRename(), getAdapter(), getAdapterHost(), getAdapterPort(), TeamSpeak3_Node_Channel\getLevel(), TeamSpeak3_Node_Channel\getPathway(), TeamSpeak3_Node_Channelgroup\getUniqueId(), TeamSpeak3_Node_Servergroup\getUniqueId(), TeamSpeak3_Node_Client\getUniqueId(), TeamSpeak3_Node_Channel\getUniqueId(), TeamSpeak3_Node_Server\getUniqueId(), TeamSpeak3_Node_Channelgroup\iconDownload(), TeamSpeak3_Node_Servergroup\iconDownload(), TeamSpeak3_Node_Client\iconDownload(), TeamSpeak3_Node_Channel\iconDownload(), TeamSpeak3_Node_Client\infoDb(), TeamSpeak3_Node_Channel\isSpacer(), TeamSpeak3_Node_Client\kick(), TeamSpeak3_Node_Client\memberOf(), TeamSpeak3_Node_Channel\message(), TeamSpeak3_Node_Client\modifyDb(), TeamSpeak3_Node_Client\move(), TeamSpeak3_Node_Channel\move(), TeamSpeak3_Node_Channelgroup\permAssign(), TeamSpeak3_Node_Servergroup\permAssign(), TeamSpeak3_Node_Client\permAssign(), TeamSpeak3_Node_Channel\permAssign(), TeamSpeak3_Node_Channelgroup\permList(), TeamSpeak3_Node_Servergroup\permList(), TeamSpeak3_Node_Client\permList(), TeamSpeak3_Node_Channel\permList(), TeamSpeak3_Node_Channelgroup\permRemove(), TeamSpeak3_Node_Servergroup\permRemove(), TeamSpeak3_Node_Client\permRemove(), TeamSpeak3_Node_Channel\permRemove(), TeamSpeak3_Node_Client\poke(), TeamSpeak3_Node_Abstract\prepare(), TeamSpeak3_Node_Channelgroup\privilegeKeyCreate(), TeamSpeak3_Node_Servergroup\privilegeKeyCreate(), TeamSpeak3_Node_Client\remServerGroup(), TeamSpeak3_Node_Servergroup\rename(), TeamSpeak3_Node_Channelgroup\rename(), TeamSpeak3_Node_Abstract\request(), TeamSpeak3_Node_Server\request(), TeamSpeak3_Node_Client\setChannelGroup(), TeamSpeak3_Node_Server\snapshotDeploy(), TeamSpeak3_Node_Channel\spacerGetAlign(), TeamSpeak3_Node_Channel\spacerGetType(), TeamSpeak3_Node_Server\start(), TeamSpeak3_Node_Server\stop(), TeamSpeak3_Node_Channel\subChannelList(), TeamSpeak3_Node_Server\transferInitDownload(), and TeamSpeak3_Node_Server\transferInitUpload().

{
return $this->parent;
}
TeamSpeak3_Node_Abstract::getId ( )
inherited

Returns the primary ID of the current node.

Returns
integer

Definition at line 115 of file Abstract.php.

References TeamSpeak3_Node_Abstract\$nodeId.

Referenced by TeamSpeak3_Node_Client\ban(), TeamSpeak3_Node_Server\channelDelete(), TeamSpeak3_Node_Server\channelFileList(), TeamSpeak3_Node_Servergroup\clientAdd(), TeamSpeak3_Node_Servergroup\clientDel(), TeamSpeak3_Node_Channel\clientList(), TeamSpeak3_Node_Channelgroup\clientList(), TeamSpeak3_Node_Servergroup\clientList(), TeamSpeak3_Node_Channel\clientPermAssign(), TeamSpeak3_Node_Channel\clientPermList(), TeamSpeak3_Node_Channel\clientPermRemove(), TeamSpeak3_Node_Channelgroup\copy(), TeamSpeak3_Node_Servergroup\copy(), TeamSpeak3_Node_Servergroup\delete(), TeamSpeak3_Node_Channelgroup\delete(), TeamSpeak3_Node_Channel\delete(), TeamSpeak3_Node_Server\delete(), TeamSpeak3_Node_Channel\dirCreate(), TeamSpeak3_Node_Client\fetchNodeInfo(), TeamSpeak3_Node_Channel\fetchNodeInfo(), TeamSpeak3_Node_Channelgroup\fetchNodeList(), TeamSpeak3_Node_Servergroup\fetchNodeList(), TeamSpeak3_Node_Channel\fetchNodeList(), TeamSpeak3_Node_Channel\fileDelete(), TeamSpeak3_Node_Channel\fileInfo(), TeamSpeak3_Node_Channel\fileList(), TeamSpeak3_Node_Channel\fileRename(), TeamSpeak3_Node_Channel\getLevel(), TeamSpeak3_Node_Channel\getPathway(), TeamSpeak3_Node_Channelgroup\getUniqueId(), TeamSpeak3_Node_Servergroup\getUniqueId(), TeamSpeak3_Node_Client\getUniqueId(), TeamSpeak3_Node_Channel\getUniqueId(), TeamSpeak3_Node_Server\getUniqueId(), TeamSpeak3_Node_Client\kick(), TeamSpeak3_Node_Client\message(), TeamSpeak3_Node_Channel\message(), TeamSpeak3_Node_Server\message(), TeamSpeak3_Node_Client\modify(), TeamSpeak3_Node_Channel\modify(), TeamSpeak3_Node_Client\move(), TeamSpeak3_Node_Channel\move(), TeamSpeak3_Node_Channelgroup\permAssign(), TeamSpeak3_Node_Servergroup\permAssign(), TeamSpeak3_Node_Channel\permAssign(), TeamSpeak3_Node_Channelgroup\permList(), TeamSpeak3_Node_Servergroup\permList(), TeamSpeak3_Node_Channel\permList(), TeamSpeak3_Node_Channelgroup\permRemove(), TeamSpeak3_Node_Servergroup\permRemove(), TeamSpeak3_Node_Channel\permRemove(), TeamSpeak3_Node_Client\poke(), TeamSpeak3_Node_Channelgroup\privilegeKeyCreate(), TeamSpeak3_Node_Servergroup\privilegeKeyCreate(), TeamSpeak3_Node_Servergroup\rename(), TeamSpeak3_Node_Channelgroup\rename(), TeamSpeak3_Node_Server\request(), TeamSpeak3_Node_Server\sortGroupList(), TeamSpeak3_Node_Channel\spacerGetAlign(), TeamSpeak3_Node_Channel\spacerGetType(), TeamSpeak3_Node_Server\start(), TeamSpeak3_Node_Server\stop(), and TeamSpeak3_Node_Channel\subChannelList().

{
return $this->nodeId;
}
TeamSpeak3_Node_Abstract::iconIsLocal (   $key)
inherited

Returns TRUE if the node icon has a local source.

Parameters
string$key
Returns
boolean

Definition at line 126 of file Abstract.php.

Referenced by TeamSpeak3_Node_Channelgroup\iconDownload(), TeamSpeak3_Node_Servergroup\iconDownload(), TeamSpeak3_Node_Client\iconDownload(), TeamSpeak3_Node_Channel\iconDownload(), and TeamSpeak3_Node_Server\iconDownload().

{
return ($this[$key] > 0 && $this[$key] < 1000) ? TRUE : FALSE;
}
TeamSpeak3_Node_Abstract::iconGetName (   $key)
inherited

Returns the internal path of the node icon.

Parameters
string$key
Returns
TeamSpeak3_Helper_String

Definition at line 137 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\getInfo(), TeamSpeak3_Node_Channelgroup\iconDownload(), TeamSpeak3_Node_Servergroup\iconDownload(), TeamSpeak3_Node_Client\iconDownload(), TeamSpeak3_Node_Channel\iconDownload(), and TeamSpeak3_Node_Server\iconDownload().

{
$iconid = ($this[$key] < 0) ? (pow(2, 32))-($this[$key]*-1) : $this[$key];
return new TeamSpeak3_Helper_String("/icon_" . $iconid);
}
TeamSpeak3_Node_Abstract::getClass (   $prefix = "ts3_")
inherited

Returns a possible classname for the node which can be used as a HTML property.

Parameters
string$prefix
Returns
string

Definition at line 150 of file Abstract.php.

References TeamSpeak3_Helper_String\factory().

{
if($this instanceof TeamSpeak3_Node_Channel && $this->isSpacer())
{
return $prefix . "spacer";
}
elseif($this instanceof TeamSpeak3_Node_Client && $this["client_type"])
{
return $prefix . "query";
}
return $prefix . TeamSpeak3_Helper_String::factory(get_class($this))->section("_", 2)->toLower();
}
TeamSpeak3_Node_Abstract::getViewer ( TeamSpeak3_Viewer_Interface  $viewer)
inherited

Returns the HTML code to display a TeamSpeak 3 viewer.

Parameters
TeamSpeak3_Viewer_Interface$viewer
Returns
string

Definition at line 191 of file Abstract.php.

References TeamSpeak3_Viewer_Interface\fetchObject().

{
$html = $viewer->fetchObject($this);
$iterator = new RecursiveIteratorIterator($this, RecursiveIteratorIterator::SELF_FIRST);
foreach($iterator as $node)
{
$siblings = array();
for($level = 0; $level < $iterator->getDepth(); $level++)
{
$siblings[] = ($iterator->getSubIterator($level)->hasNext()) ? 1 : 0;
}
$siblings[] = (!$iterator->getSubIterator($level)->hasNext()) ? 1 : 0;
$html .= $viewer->fetchObject($node, $siblings);
}
return $html;
}
TeamSpeak3_Node_Abstract::filterList ( array  $nodes = array(),
array  $rules = array() 
)
protectedinherited

Filters given node list array using specified filter rules.

Parameters
array$nodes
array$rules
Returns
array

Definition at line 221 of file Abstract.php.

Referenced by TeamSpeak3_Node_Server\channelGroupList(), TeamSpeak3_Node_Server\channelList(), TeamSpeak3_Node_Channel\clientList(), TeamSpeak3_Node_Server\clientList(), TeamSpeak3_Node_Server\serverGroupList(), serverList(), and TeamSpeak3_Node_Channel\subChannelList().

{
if(!empty($rules))
{
foreach($nodes as $node)
{
if(!$node instanceof TeamSpeak3_Node_Abstract) continue;
$props = $node->getInfo(FALSE);
$props = array_intersect_key($props, $rules);
$match = TRUE;
foreach($props as $key => $val)
{
if($val instanceof TeamSpeak3_Helper_String)
{
$match = $val->contains($rules[$key], TRUE);
}
else
{
$match = $val == $rules[$key];
}
if($match === FALSE)
{
unset($nodes[$node->getId()]);
}
}
}
}
return $nodes;
}
TeamSpeak3_Node_Abstract::getInfo (   $extend = TRUE,
  $convert = FALSE 
)
inherited

Returns all information available on this node.

If $convert is enabled, some property values will be converted to human-readable values.

Parameters
boolean$extend
boolean$convert
Returns
array

Definition at line 263 of file Abstract.php.

References TeamSpeak3_Node_Abstract\$nodeInfo, TeamSpeak3_Helper_Convert\bytes(), TeamSpeak3_Helper_String\factory(), TeamSpeak3_Node_Abstract\fetchNodeInfo(), TeamSpeak3_Node_Abstract\iconGetName(), TeamSpeak3_Helper_Convert\seconds(), and TeamSpeak3_Helper_Convert\version().

{
if($extend)
{
$this->fetchNodeInfo();
}
if($convert)
{
$info = $this->nodeInfo;
foreach($info as $key => $val)
{
if($key->contains("_bytes_"))
{
$info[$key->toString()] = TeamSpeak3_Helper_Convert::bytes($val);
}
elseif($key->contains("_bandwidth_"))
{
$info[$key->toString()] = TeamSpeak3_Helper_Convert::bytes($val) . "/s";
}
elseif($key->contains("_packets_"))
{
$info[$key->toString()] = number_format($val, null, null, ".");
}
elseif($key->contains("_packetloss_"))
{
$info[$key->toString()] = sprintf("%01.2f", floatval($val->toString())*100) . "%";
}
elseif($key->endsWith("_uptime"))
{
$info[$key->toString()] = TeamSpeak3_Helper_Convert::seconds($val);
}
elseif($key->endsWith("_version"))
{
$info[$key->toString()] = TeamSpeak3_Helper_Convert::version($val);
}
elseif($key->endsWith("_icon_id"))
{
$info[$key->toString()] = $this->iconGetName($key)->filterDigits();
}
}
return $info;
}
}
TeamSpeak3_Node_Abstract::getProperty (   $property,
  $default = null 
)
inherited

Returns the specified property or a pre-defined default value from the node info array.

Parameters
string$property
mixed$default
Returns
mixed

Definition at line 321 of file Abstract.php.

References TeamSpeak3_Node_Abstract\fetchNodeInfo(), and TeamSpeak3_Node_Abstract\offsetExists().

Referenced by TeamSpeak3_Node_Server\sortClientList(), and TeamSpeak3_Node_Server\sortGroupList().

{
if(!$this->offsetExists($property))
{
$this->fetchNodeInfo();
}
if(!$this->offsetExists($property))
{
return $default;
}
return $this->nodeInfo[(string) $property];
}
TeamSpeak3_Node_Abstract::toString ( )
inherited

Returns a string representation of this node.

Returns
string

Definition at line 351 of file Abstract.php.

References TeamSpeak3_Node_Abstract\__toString().

{
return $this->__toString();
}
TeamSpeak3_Node_Abstract::toArray ( )
inherited

Returns an assoc array filled with current node info properties.

Returns
array

Definition at line 361 of file Abstract.php.

References TeamSpeak3_Node_Abstract\$nodeList.

Referenced by TeamSpeak3_Node_Server\channelFileInfo().

{
}
TeamSpeak3_Node_Abstract::__call (   $name,
array  $args 
)
inherited

Called whenever we're using an unknown method.

Parameters
string$name
array$args
Exceptions
TeamSpeak3_Node_Exception
Returns
mixed

Definition at line 374 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

{
if($this->getParent() instanceof TeamSpeak3_Node_Abstract)
{
return call_user_func_array(array($this->getParent(), $name), $args);
}
throw new TeamSpeak3_Node_Exception("node method '" . $name . "()' does not exist");
}
TeamSpeak3_Node_Abstract::setStorage (   $key,
  $val 
)
protectedinherited

Writes data to the internal storage array.

Parameters
string$key
mixed$val
Returns
void

Definition at line 391 of file Abstract.php.

Referenced by login(), serverSelect(), serverSelectByPort(), setExcludeQueryClients(), setLoadClientlistFirst(), setPredefinedQueryName(), and setUseOfflineAsVirtual().

{
$this->storage[$key] = $val;
}
TeamSpeak3_Node_Abstract::getStorage (   $key,
  $default = null 
)
protectedinherited

Returns data from the internal storage array.

Parameters
string$key
mixed$default
Returns
mixed

Definition at line 403 of file Abstract.php.

Referenced by __wakeup().

{
return (array_key_exists($key, $this->storage) && !empty($this->storage[$key])) ? $this->storage[$key] : $default;
}
TeamSpeak3_Node_Abstract::delStorage (   $key)
protectedinherited

Deletes data from the internal storage array.

Parameters
string$key
Returns
void

Definition at line 414 of file Abstract.php.

Referenced by logout(), and serverDeselect().

{
unset($this->storage[$key]);
}
TeamSpeak3_Node_Abstract::__sleep ( )
inherited

Commit pending data.

Returns
array

Definition at line 424 of file Abstract.php.

{
return array("parent", "storage", "nodeId");
}
TeamSpeak3_Node_Abstract::resetNodeInfo ( )
protectedinherited

Definition at line 448 of file Abstract.php.

Referenced by TeamSpeak3_Node_Client\modify(), TeamSpeak3_Node_Channel\modify(), modify(), and TeamSpeak3_Node_Server\modify().

{
$this->nodeInfo = array();
}
TeamSpeak3_Node_Abstract::resetNodeList ( )
protectedinherited
TeamSpeak3_Node_Abstract::getChildren ( )
inherited

Definition at line 495 of file Abstract.php.

References TeamSpeak3_Node_Abstract\current(), and TeamSpeak3_Node_Abstract\verifyNodeList().

{
$this->verifyNodeList();
return $this->current();
}
TeamSpeak3_Node_Abstract::hasChildren ( )
inherited

Definition at line 505 of file Abstract.php.

References TeamSpeak3_Node_Abstract\current(), and TeamSpeak3_Node_Abstract\verifyNodeList().

{
$this->verifyNodeList();
return $this->current()->count() > 0;
}
TeamSpeak3_Node_Abstract::hasNext ( )
inherited

Definition at line 515 of file Abstract.php.

References TeamSpeak3_Node_Abstract\count(), TeamSpeak3_Node_Abstract\key(), and TeamSpeak3_Node_Abstract\verifyNodeList().

{
$this->verifyNodeList();
return $this->key()+1 < $this->count();
}
TeamSpeak3_Node_Abstract::key ( )
inherited

Definition at line 525 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

Referenced by TeamSpeak3_Node_Abstract\hasNext(), and TeamSpeak3_Node_Abstract\valid().

{
$this->verifyNodeList();
return key($this->nodeList);
}
TeamSpeak3_Node_Abstract::valid ( )
inherited

Definition at line 535 of file Abstract.php.

References TeamSpeak3_Node_Abstract\key(), and TeamSpeak3_Node_Abstract\verifyNodeList().

{
$this->verifyNodeList();
return $this->key() !== null;
}
TeamSpeak3_Node_Abstract::next ( )
inherited

Definition at line 545 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

{
$this->verifyNodeList();
return next($this->nodeList);
}
TeamSpeak3_Node_Abstract::rewind ( )
inherited

Definition at line 555 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

{
$this->verifyNodeList();
return reset($this->nodeList);
}
TeamSpeak3_Node_Abstract::offsetExists (   $offset)
inherited

Definition at line 565 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\getProperty(), and TeamSpeak3_Node_Abstract\offsetGet().

{
return array_key_exists((string) $offset, $this->nodeInfo) ? TRUE : FALSE;
}
TeamSpeak3_Node_Abstract::offsetGet (   $offset)
inherited

Definition at line 573 of file Abstract.php.

References TeamSpeak3_Node_Abstract\fetchNodeInfo(), and TeamSpeak3_Node_Abstract\offsetExists().

Referenced by TeamSpeak3_Node_Abstract\__get().

{
if(!$this->offsetExists($offset))
{
$this->fetchNodeInfo();
}
if(!$this->offsetExists($offset))
{
echo $offset;
throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid parameter", 0x602);
}
return $this->nodeInfo[(string) $offset];
}
TeamSpeak3_Node_Abstract::offsetSet (   $offset,
  $value 
)
inherited

Definition at line 593 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\__set().

{
if(method_exists($this, "modify"))
{
return $this->modify(array((string) $offset => $value));
}
throw new TeamSpeak3_Node_Exception("node '" . get_class($this) . "' is read only");
}
TeamSpeak3_Node_Abstract::offsetUnset (   $offset)
inherited

Definition at line 606 of file Abstract.php.

{
unset($this->nodeInfo[(string) $offset]);
}
TeamSpeak3_Node_Abstract::__get (   $offset)
inherited

Definition at line 614 of file Abstract.php.

References TeamSpeak3_Node_Abstract\offsetGet().

{
return $this->offsetGet($offset);
}
TeamSpeak3_Node_Abstract::__set (   $offset,
  $value 
)
inherited

Definition at line 622 of file Abstract.php.

References TeamSpeak3_Node_Abstract\offsetSet().

{
$this->offsetSet($offset, $value);
}

Member Data Documentation

TeamSpeak3_Node_Host::$whoami = null
protected

Definition at line 37 of file Host.php.

Referenced by whoami().

TeamSpeak3_Node_Host::$version = null
protected

Definition at line 42 of file Host.php.

Referenced by version().

TeamSpeak3_Node_Host::$serverList = null
protected

Definition at line 47 of file Host.php.

TeamSpeak3_Node_Host::$permissionList = null
protected

Definition at line 52 of file Host.php.

Referenced by permissionList().

TeamSpeak3_Node_Host::$predefined_query_name = null
protected

Definition at line 57 of file Host.php.

Referenced by getPredefinedQueryName().

TeamSpeak3_Node_Host::$exclude_query_clients = FALSE
protected

Definition at line 62 of file Host.php.

Referenced by getExcludeQueryClients().

TeamSpeak3_Node_Host::$start_offline_virtual = FALSE
protected

Definition at line 67 of file Host.php.

Referenced by getUseOfflineAsVirtual().

TeamSpeak3_Node_Host::$sort_clients_channels = FALSE
protected

Definition at line 72 of file Host.php.

Referenced by getLoadClientlistFirst().

TeamSpeak3_Node_Abstract::$parent = null
protectedinherited

Definition at line 37 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\getParent().

TeamSpeak3_Node_Abstract::$nodeId = 0x00
protectedinherited

Definition at line 47 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\getId().

TeamSpeak3_Node_Abstract::$nodeList = null
protectedinherited

Definition at line 52 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\toArray().

TeamSpeak3_Node_Abstract::$nodeInfo = array()
protectedinherited

Definition at line 57 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\getInfo().

TeamSpeak3_Node_Abstract::$storage = array()
protectedinherited

Definition at line 62 of file Abstract.php.


The documentation for this class was generated from the following file: