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

Protected Attributes

 $whoami = null
 
 $version = null
 
 $serverList = null
 
 $permissionEnds = null
 
 $permissionList = null
 
 $permissionCats = 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 90 of file Host.php.

91  {
92  $this->parent = $squery;
93  }

Member Function Documentation

TeamSpeak3_Node_Host::serverSelectedId ( )

Returns the primary ID of the selected virtual server.

Returns
integer

Definition at line 100 of file Host.php.

References whoamiGet().

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

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

Returns the primary UDP port of the selected virtual server.

Returns
integer

Definition at line 110 of file Host.php.

References whoamiGet().

Referenced by serverSelectByPort().

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

Returns the servers version information including platform and build number.

Parameters
string$ident
Returns
mixed

Definition at line 121 of file Host.php.

References $version, and TeamSpeak3_Node_Abstract\request().

122  {
123  if($this->version === null)
124  {
125  $this->version = $this->request("version")->toList();
126  }
127 
128  return ($ident && array_key_exists($ident, $this->version)) ? $this->version[$ident] : $this->version;
129  }
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 138 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().

139  {
140  if($this->whoami !== null && $this->serverSelectedId() == $sid) return;
141 
142  $virtual = ($virtual !== null) ? $virtual : $this->start_offline_virtual;
143  $getargs = func_get_args();
144 
145  $this->execute("use", array("sid" => $sid, $virtual ? "-virtual" : null));
146 
147  if($sid != 0 && $this->predefined_query_name !== null)
148  {
149  $this->execute("clientupdate", array("client_nickname" => (string) $this->predefined_query_name));
150  }
151 
152  $this->whoamiReset();
153 
154  $this->setStorage("_server_use", array(__FUNCTION__, $getargs));
155 
156  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerselected", $this);
157  }
TeamSpeak3_Node_Host::serverSelectById (   $sid,
  $virtual = null 
)

Alias for serverSelect().

Parameters
integer$sid
boolean$virtual
Returns
void

Definition at line 166 of file Host.php.

References serverSelect().

Referenced by serverGetById().

167  {
168  $this->serverSelect($sid, $virtual);
169  }
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 178 of file Host.php.

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

Referenced by serverGetByPort().

179  {
180  if($this->whoami !== null && $this->serverSelectedPort() == $port) return;
181 
182  $virtual = ($virtual !== null) ? $virtual : $this->start_offline_virtual;
183  $getargs = func_get_args();
184 
185  $this->execute("use", array("port" => $port, $virtual ? "-virtual" : null));
186 
187  if($port != 0 && $this->predefined_query_name !== null)
188  {
189  $this->execute("clientupdate", array("client_nickname" => (string) $this->predefined_query_name));
190  }
191 
192  $this->whoamiReset();
193 
194  $this->setStorage("_server_use", array(__FUNCTION__, $getargs));
195 
196  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerselected", $this);
197  }
TeamSpeak3_Node_Host::serverDeselect ( )

Deselects the active virtual server.

Returns
void

Definition at line 204 of file Host.php.

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

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

205  {
206  $this->serverSelect(0);
207 
208  $this->delStorage("_server_use");
209  }
TeamSpeak3_Node_Host::serverIdGetByPort (   $port)

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

Parameters
integer$port
Returns
integer

Definition at line 217 of file Host.php.

References TeamSpeak3_Node_Abstract\execute().

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

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

Parameters
integer$sid
Returns
integer

Definition at line 230 of file Host.php.

References serverList().

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

Returns the TeamSpeak3_Node_Server object matching the currently selected ID.

Returns
TeamSpeak3_Node_Server

Definition at line 245 of file Host.php.

References serverGetById(), and serverSelectedId().

246  {
247  return $this->serverGetById($this->serverSelectedId());
248  }
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 256 of file Host.php.

References serverSelectById().

Referenced by serverGetSelected().

257  {
258  $this->serverSelectById($sid);
259 
260  return new TeamSpeak3_Node_Server($this, array("virtualserver_id" => intval($sid)));
261  }
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 269 of file Host.php.

References serverSelectByPort(), and serverSelectedId().

Referenced by serverGetByTSDNS().

270  {
271  $this->serverSelectByPort($port);
272 
273  return new TeamSpeak3_Node_Server($this, array("virtualserver_id" => $this->serverSelectedId()));
274  }
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 283 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, and serverList().

284  {
285  foreach($this->serverList() as $server)
286  {
287  if($server["virtualserver_name"] == $name) return $server;
288  }
289 
290  throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
291  }
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 300 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, and serverList().

301  {
302  foreach($this->serverList() as $server)
303  {
304  if($server["virtualserver_unique_identifier"] == $uid) return $server;
305  }
306 
307  throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
308  }
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 319 of file Host.php.

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

320  {
321  $parts = TeamSpeak3_Helper_Uri::getFQDNParts($tsdns);
322  $query = TeamSpeak3_Helper_String::factory(array_shift($parts));
323 
324  while($part = array_shift($parts))
325  {
326  $query->prepend($part);
327 
328  try
329  {
330  $port = TeamSpeak3::factory("tsdns://" . $query . "/?timeout=3")->resolve($tsdns)->section(":", 1);
331 
332  return $this->serverGetByPort($port == "" ? 9987 : $port);
333  }
335  {
336  /* skip "Connection timed out" and "Connection refused" */
337  if($e->getCode() != 10060 && $e->getCode() != 10061) throw $e;
338  }
339  }
340 
341  throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid serverID", 0x400);
342  }
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 351 of file Host.php.

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

352  {
353  $this->serverListReset();
354 
355  $detail = $this->execute("servercreate", $properties)->toList();
356  $server = new TeamSpeak3_Node_Server($this, array("virtualserver_id" => intval($detail["sid"])));
357 
358  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServercreated", $this, $detail["sid"]);
359  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyTokencreated", $server, $detail["token"]);
360 
361  return $detail;
362  }
TeamSpeak3_Node_Host::serverDelete (   $sid)

Deletes the virtual server specified by ID.

Parameters
integer$sid
Returns
void

Definition at line 370 of file Host.php.

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

371  {
372  $this->serverListReset();
373 
374  $this->execute("serverdelete", array("sid" => $sid));
375 
376  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerdeleted", $this, $sid);
377  }
TeamSpeak3_Node_Host::serverStart (   $sid)

Starts the virtual server specified by ID.

Parameters
integer$sid
Returns
void

Definition at line 385 of file Host.php.

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

386  {
387  if($sid == $this->serverSelectedId())
388  {
389  $this->serverDeselect();
390  }
391 
392  $this->execute("serverstart", array("sid" => $sid));
393  $this->serverListReset();
394 
395  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerstarted", $this, $sid);
396  }
TeamSpeak3_Node_Host::serverStop (   $sid)

Stops the virtual server specified by ID.

Parameters
integer$sid
Returns
void

Definition at line 404 of file Host.php.

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

405  {
406  if($sid == $this->serverSelectedId())
407  {
408  $this->serverDeselect();
409  }
410 
411  $this->execute("serverstop", array("sid" => $sid));
412  $this->serverListReset();
413 
414  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServerstopped", $this, $sid);
415  }
TeamSpeak3_Node_Host::serverStopProcess ( )

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

Returns
void

Definition at line 422 of file Host.php.

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

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

Returns an array filled with TeamSpeak3_Node_Server objects.

Parameters
array$filter
Returns
array

Definition at line 435 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().

436  {
437  if($this->serverList === null)
438  {
439  $servers = $this->request("serverlist -uid")->toAssocArray("virtualserver_id");
440 
441  $this->serverList = array();
442 
443  foreach($servers as $sid => $server)
444  {
445  $this->serverList[$sid] = new TeamSpeak3_Node_Server($this, $server);
446  }
447 
448  $this->resetNodeList();
449  }
450 
451  return $this->filterList($this->serverList, $filter);
452  }
TeamSpeak3_Node_Host::serverListReset ( )

Resets the list of virtual servers.

Returns
void

Definition at line 459 of file Host.php.

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

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

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

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

Returns
array

Definition at line 470 of file Host.php.

References TeamSpeak3_Node_Abstract\request().

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

Returns a list of permissions available on the server instance.

Returns
array

Definition at line 480 of file Host.php.

References $permissionList, TeamSpeak3_Helper_String\factory(), fetchPermissionList(), permissionGetCategoryById(), and permissionGetGrantById().

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

481  {
482  if($this->permissionList === null)
483  {
484  $this->fetchPermissionList();
485  }
486 
487  foreach($this->permissionList as $permname => $permdata)
488  {
489  if(isset($permdata["permcatid"]) && $permdata["permgrant"])
490  {
491  continue;
492  }
493 
494  $this->permissionList[$permname]["permcatid"] = $this->permissionGetCategoryById($permdata["permid"]);
495  $this->permissionList[$permname]["permgrant"] = $this->permissionGetGrantById($permdata["permid"]);
496 
497  $grantsid = "i_needed_modify_power_" . substr($permname, 2);
498 
499  if(!$permdata["permname"]->startsWith("i_needed_modify_power_") && !isset($this->permissionList[$grantsid]))
500  {
501  $this->permissionList[$grantsid]["permid"] = $this->permissionList[$permname]["permgrant"];
502  $this->permissionList[$grantsid]["permname"] = TeamSpeak3_Helper_String::factory($grantsid);
503  $this->permissionList[$grantsid]["permdesc"] = null;
504  $this->permissionList[$grantsid]["permcatid"] = 0xFF;
505  $this->permissionList[$grantsid]["permgrant"] = $this->permissionList[$permname]["permgrant"];
506  }
507  }
508 
509  return $this->permissionList;
510  }
TeamSpeak3_Node_Host::permissionCats ( )

Returns a list of permission categories available on the server instance.

Returns
array

Definition at line 517 of file Host.php.

References $permissionCats, and fetchPermissionCats().

Referenced by fetchPermissionCats(), permissionGetCategoryById(), and permissionTree().

518  {
519  if($this->permissionCats === null)
520  {
521  $this->fetchPermissionCats();
522  }
523 
524  return $this->permissionCats;
525  }
TeamSpeak3_Node_Host::permissionEnds ( )

Returns a list of permission category endings available on the server instance.

Returns
array

Definition at line 532 of file Host.php.

References $permissionCats, and fetchPermissionList().

Referenced by fetchPermissionList(), and permissionGetCategoryById().

533  {
534  if($this->permissionEnds === null)
535  {
536  $this->fetchPermissionList();
537  }
538 
539  return $this->permissionCats;
540  }
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 548 of file Host.php.

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

549  {
550  $permtree = array();
551 
552  foreach($this->permissionCats() as $key => $val)
553  {
554  $permtree[$val]["permcatid"] = $val;
555  $permtree[$val]["permcathex"] = "0x" . dechex($val);
557  $permtree[$val]["permcatparent"] = $permtree[$val]["permcathex"]{3} == 0 ? 0 : hexdec($permtree[$val]["permcathex"]{2} . 0);
558  $permtree[$val]["permcatchilren"] = 0;
559  $permtree[$val]["permcatcount"] = 0;
560 
561  if(isset($permtree[$permtree[$val]["permcatparent"]]))
562  {
563  $permtree[$permtree[$val]["permcatparent"]]["permcatchilren"]++;
564  }
565 
566  if($permtree[$val]["permcatname"]->contains("/"))
567  {
568  $permtree[$val]["permcatname"] = $permtree[$val]["permcatname"]->section("/", 1)->trim();
569  }
570 
571  foreach($this->permissionList() as $permission)
572  {
573  if($permission["permid"]["permcatid"] == $val)
574  {
575  $permtree[$val]["permcatcount"]++;
576  }
577  }
578  }
579 
580  return $permtree;
581  }
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 590 of file Host.php.

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

591  {
592  if(!is_array($permid))
593  {
594  $permident = (is_numeric($permid)) ? "permid" : "permsid";
595  }
596  else
597  {
598  $permident = (is_numeric(current($permid))) ? "permid" : "permsid";
599  }
600 
601  return $this->execute("permfind", array($permident => $permid))->toArray();
602  }
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 611 of file Host.php.

References permissionList().

Referenced by permissionGetCategoryById(), and permissionGetGrantById().

612  {
613  if(!array_key_exists((string) $name, $this->permissionList()))
614  {
615  throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid permission ID", 0xA02);
616  }
617 
618  return $this->permissionList[(string) $name]["permid"];
619  }
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 628 of file Host.php.

References permissionList().

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

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

All pre-3.0.7 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 647 of file Host.php.

References fetchPermissionCats(), fetchPermissionList(), permissionCats(), permissionEnds(), and permissionGetIdByName().

Referenced by permissionList().

648  {
649  if(!is_numeric($permid))
650  {
651  $permid = $this->permissionGetIdByName($permid);
652  }
653 
654  if($permid < 0x1000)
655  {
656  if($this->permissionEnds === null)
657  {
658  $this->fetchPermissionList();
659  }
660 
661  if($this->permissionCats === null)
662  {
663  $this->fetchPermissionCats();
664  }
665 
666  $catids = array_values($this->permissionCats());
667 
668  foreach($this->permissionEnds as $key => $val)
669  {
670  if($val >= $permid && isset($catids[$key]))
671  {
672  return $catids[$key];
673  }
674  }
675 
676  return 0;
677  }
678  else
679  {
680  return (int) $permid >> 8;
681  }
682  }
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 693 of file Host.php.

References permissionGetIdByName().

Referenced by permissionList().

694  {
695  if(!is_numeric($permid))
696  {
697  $permid = $this->permissionGetIdByName($permid);
698  }
699 
700  if($permid < 0x1000)
701  {
702  return (int) $permid+0x8000;
703  }
704  else
705  {
706  return (int) bindec(substr(decbin($permid), -8))+0xFF00;
707  }
708  }
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 721 of file Host.php.

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

722  {
723  if(!is_array($permid))
724  {
725  $permident = (is_numeric($permid)) ? "permid" : "permsid";
726  }
727  else
728  {
729  $permident = (is_numeric(current($permid))) ? "permid" : "permsid";
730  }
731 
732  $this->execute("servergroupautoaddperm", array("sgtype" => $sgtype, $permident => $permid, "permvalue" => $permvalue, "permnegated" => $permnegated, "permskip" => $permskip));
733  }
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 743 of file Host.php.

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

744  {
745  if(!is_array($permid))
746  {
747  $permident = (is_numeric($permid)) ? "permid" : "permsid";
748  }
749  else
750  {
751  $permident = (is_numeric(current($permid))) ? "permid" : "permsid";
752  }
753 
754  $this->execute("servergroupautodelperm", array("sgtype" => $sgtype, $permident => $permid));
755  }
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 763 of file Host.php.

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

764  {
765  if(!is_array($permid))
766  {
767  $permident = (is_numeric($permid)) ? "permid" : "permsid";
768  }
769  else
770  {
771  $permident = (is_numeric(current($permid))) ? "permid" : "permsid";
772  }
773 
774  return $this->execute("permget", array($permident => $permid))->toAssocArray("permsid");
775  }
TeamSpeak3_Node_Host::modify ( array  $properties)

Changes the server instance configuration using given properties.

Parameters
array$properties
Returns
void

Definition at line 783 of file Host.php.

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

784  {
785  $this->execute("instanceedit", $properties);
786  $this->resetNodeInfo();
787  }
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 795 of file Host.php.

References TeamSpeak3_Node_Abstract\execute().

796  {
797  $this->execute("gm", array("msg" => $msg));
798  }
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 809 of file Host.php.

References TeamSpeak3_Node_Abstract\execute().

810  {
811  return $this->execute("logview", array("lines" => $lines, "begin_pos" => $begin_pos, "instance" => $instance, "reverse" => $reverse))->toArray();
812  }
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 821 of file Host.php.

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

822  {
823  $sid = $this->serverSelectedId();
824 
825  $this->serverDeselect();
826  $this->execute("logadd", array("logmsg" => $logmsg, "loglevel" => $loglevel));
827  $this->serverSelect($sid);
828  }
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 837 of file Host.php.

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

Referenced by __wakeup().

838  {
839  $this->execute("login", array("client_login_name" => $username, "client_login_password" => $password));
840  $this->whoamiReset();
841 
842  $crypt = new TeamSpeak3_Helper_Crypt($username);
843 
844  $this->setStorage("_login_user", $username);
845  $this->setStorage("_login_pass", $crypt->encrypt($password));
846 
847  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyLogin", $this);
848  }
TeamSpeak3_Node_Host::logout ( )

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

Returns
void

Definition at line 855 of file Host.php.

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

856  {
857  $this->request("logout");
858  $this->whoamiReset();
859 
860  $this->delStorage("_login_user");
861  $this->delStorage("_login_pass");
862 
863  TeamSpeak3_Helper_Signal::getInstance()->emit("notifyLogout", $this);
864  }
TeamSpeak3_Node_Host::whoami ( )

Returns information about your current ServerQuery connection.

Returns
array

Definition at line 871 of file Host.php.

References $whoami, and TeamSpeak3_Node_Abstract\request().

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

872  {
873  if($this->whoami === null)
874  {
875  $this->whoami = $this->request("whoami")->toList();
876  }
877 
878  return $this->whoami;
879  }
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 888 of file Host.php.

References whoami().

Referenced by serverSelectedId(), and serverSelectedPort().

889  {
890  if(array_key_exists($ident, $this->whoami()))
891  {
892  return $this->whoami[$ident];
893  }
894 
895  return $default;
896  }
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 905 of file Host.php.

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

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

Resets the current ServerQuery connection info.

Returns
void

Definition at line 917 of file Host.php.

References whoami().

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

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

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

Returns
string

Definition at line 927 of file Host.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by __toString().

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

Returns the network port the adapter is connected to.

Returns
string

Definition at line 937 of file Host.php.

References TeamSpeak3_Node_Abstract\getParent().

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

Definition at line 945 of file Host.php.

References TeamSpeak3_Node_Abstract\$server, and serverList().

946  {
947  $servers = $this->serverList();
948 
949  foreach($servers as $server)
950  {
951  $this->nodeList[] = $server;
952  }
953  }
TeamSpeak3_Node_Host::fetchNodeInfo ( )
protected

Definition at line 958 of file Host.php.

References TeamSpeak3_Node_Abstract\request().

959  {
960  $info1 = $this->request("hostinfo")->toList();
961  $info2 = $this->request("instanceinfo")->toList();
962 
963  $this->nodeInfo = array_merge($this->nodeInfo, $info1, $info2);
964  }
TeamSpeak3_Node_Host::fetchPermissionList ( )
protected

Definition at line 969 of file Host.php.

References permissionEnds(), permissionList(), and TeamSpeak3_Node_Abstract\request().

Referenced by permissionEnds(), permissionGetCategoryById(), and permissionList().

970  {
971  $reply = $this->request("permissionlist -new")->toArray();
972  $start = 1;
973 
974  $this->permissionEnds = array();
975  $this->permissionList = array();
976 
977  foreach($reply as $line)
978  {
979  if(array_key_exists("group_id_end", $line))
980  {
981  $this->permissionEnds[] = $line["group_id_end"];
982  }
983  else
984  {
985  $this->permissionList[$line["permname"]->toString()] = array_merge(array("permid" => $start++), $line);
986  }
987  }
988  }
TeamSpeak3_Node_Host::fetchPermissionCats ( )
protected

Definition at line 993 of file Host.php.

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

Referenced by permissionCats(), and permissionGetCategoryById().

994  {
995  $permcats = array();
996  $reflects = new ReflectionClass("TeamSpeak3");
997 
998  foreach($reflects->getConstants() as $key => $val)
999  {
1000  if(!TeamSpeak3_Helper_String::factory($key)->startsWith("PERM_CAT") || $val == 0xFF)
1001  {
1002  continue;
1003  }
1004 
1005  $permcats[$key] = $val;
1006  }
1007 
1008  $this->permissionCats = $permcats;
1009  }
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 1018 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

1019  {
1020  $this->setStorage("_query_nick", $name);
1021 
1022  $this->predefined_query_name = $name;
1023  }
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 1031 of file Host.php.

References $predefined_query_name.

1032  {
1034  }
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 1043 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

1044  {
1045  $this->setStorage("_query_hide", $exclude);
1046 
1047  $this->exclude_query_clients = $exclude;
1048  }
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 1056 of file Host.php.

References $exclude_query_clients.

1057  {
1059  }
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 1068 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

1069  {
1070  $this->setStorage("_do_virtual", $virtual);
1071 
1072  $this->start_offline_virtual = $virtual;
1073  }
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 1081 of file Host.php.

References $start_offline_virtual.

1082  {
1084  }
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 1093 of file Host.php.

References TeamSpeak3_Node_Abstract\setStorage().

1094  {
1095  $this->setStorage("_client_top", $first);
1096 
1097  $this->sort_clients_channels = $first;
1098  }
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 1106 of file Host.php.

References $sort_clients_channels.

1107  {
1109  }
TeamSpeak3_Node_Host::getAdapter ( )

Returns the underlying TeamSpeak3_Adapter_ServerQuery object.

Returns
TeamSpeak3_Adapter_ServerQuery

Definition at line 1116 of file Host.php.

References TeamSpeak3_Node_Abstract\getParent().

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

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

Returns
string

Definition at line 1126 of file Host.php.

1127  {
1128  return "ts3_h";
1129  }
TeamSpeak3_Node_Host::getIcon ( )

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

Returns
string

Definition at line 1136 of file Host.php.

1137  {
1138  return "host";
1139  }
TeamSpeak3_Node_Host::getSymbol ( )

Returns a symbol representing the node.

Returns
string

Definition at line 1146 of file Host.php.

1147  {
1148  return "+";
1149  }
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 1157 of file Host.php.

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

1158  {
1159  $username = $this->getStorage("_login_user");
1160  $password = $this->getStorage("_login_pass");
1161 
1162  if($username && $password)
1163  {
1164  $crypt = new TeamSpeak3_Helper_Crypt($username);
1165 
1166  $this->login($username, $crypt->decrypt($password));
1167  }
1168 
1169  $this->predefined_query_name = $this->getStorage("_query_nick");
1170  $this->exclude_query_clients = $this->getStorage("_query_hide", FALSE);
1171  $this->start_offline_virtual = $this->getStorage("_do_virtual", FALSE);
1172  $this->sort_clients_channels = $this->getStorage("_client_top", FALSE);
1173 
1174  if($server = $this->getStorage("_server_use"))
1175  {
1176  $func = array_shift($server);
1177  $args = array_shift($server);
1178 
1179  call_user_func_array(array($this, $func), $args);
1180  }
1181  }
TeamSpeak3_Node_Host::__toString ( )

Returns a string representation of this node.

Returns
string

Definition at line 1188 of file Host.php.

References getAdapterHost().

1189  {
1190  return (string) $this->getAdapterHost();
1191  }
TeamSpeak3_Node_Abstract::request (   $cmd,
  $throw = TRUE 
)
inherited

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

Parameters
string$cmd
boolean$throw
Returns
TeamSpeak3_Adapter_ServerQuery_Reply

Definition at line 71 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

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

72  {
73  return $this->getParent()->request($cmd, $throw);
74  }
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 83 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by TeamSpeak3_Node_Abstract\execute().

84  {
85  return $this->getParent()->prepare($cmd, $params);
86  }
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 95 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(), TeamSpeak3_Node_Client\sendPluginCmd(), TeamSpeak3_Node_Channel\sendPluginCmd(), TeamSpeak3_Node_Server\sendPluginCmd(), 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().

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

Returns the parent object of the current node.

Returns
TeamSpeak3_Adapter_ServerQuery
TeamSpeak3_Node_Abstract

Definition at line 106 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_Servergroup\permList(), TeamSpeak3_Node_Channelgroup\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_Channelgroup\rename(), TeamSpeak3_Node_Servergroup\rename(), TeamSpeak3_Node_Abstract\request(), TeamSpeak3_Node_Server\request(), TeamSpeak3_Node_Channel\sendPluginCmd(), 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().

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

Returns the primary ID of the current node.

Returns
integer

Definition at line 116 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_Servergroup\copy(), TeamSpeak3_Node_Channelgroup\copy(), TeamSpeak3_Node_Channelgroup\delete(), TeamSpeak3_Node_Servergroup\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_Channelgroup\rename(), TeamSpeak3_Node_Servergroup\rename(), TeamSpeak3_Node_Server\request(), TeamSpeak3_Node_Client\sendPluginCmd(), TeamSpeak3_Node_Channel\sendPluginCmd(), 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().

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

Returns TRUE if the node icon has a local source.

Parameters
string$key
Returns
boolean

Definition at line 127 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().

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

Returns the internal path of the node icon.

Parameters
string$key
Returns
TeamSpeak3_Helper_String

Definition at line 138 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().

139  {
140  $iconid = ($this[$key] < 0) ? (pow(2, 32))-($this[$key]*-1) : $this[$key];
141 
142  return new TeamSpeak3_Helper_String("/icon_" . $iconid);
143  }
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 151 of file Abstract.php.

References TeamSpeak3_Helper_String\factory().

152  {
153  if($this instanceof TeamSpeak3_Node_Channel && $this->isSpacer())
154  {
155  return $prefix . "spacer";
156  }
157  elseif($this instanceof TeamSpeak3_Node_Client && $this["client_type"])
158  {
159  return $prefix . "query";
160  }
161 
162  return $prefix . TeamSpeak3_Helper_String::factory(get_class($this))->section("_", 2)->toLower();
163  }
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 192 of file Abstract.php.

References TeamSpeak3_Viewer_Interface\fetchObject().

193  {
194  $html = $viewer->fetchObject($this);
195 
196  $iterator = new RecursiveIteratorIterator($this, RecursiveIteratorIterator::SELF_FIRST);
197 
198  foreach($iterator as $node)
199  {
200  $siblings = array();
201 
202  for($level = 0; $level < $iterator->getDepth(); $level++)
203  {
204  $siblings[] = ($iterator->getSubIterator($level)->hasNext()) ? 1 : 0;
205  }
206 
207  $siblings[] = (!$iterator->getSubIterator($level)->hasNext()) ? 1 : 0;
208 
209  $html .= $viewer->fetchObject($node, $siblings);
210  }
211 
212  return $html;
213  }
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 222 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().

223  {
224  if(!empty($rules))
225  {
226  foreach($nodes as $node)
227  {
228  if(!$node instanceof TeamSpeak3_Node_Abstract) continue;
229 
230  $props = $node->getInfo(FALSE);
231  $props = array_intersect_key($props, $rules);
232  $match = TRUE;
233 
234  foreach($props as $key => $val)
235  {
236  if($val instanceof TeamSpeak3_Helper_String)
237  {
238  $match = $val->contains($rules[$key], TRUE);
239  }
240  else
241  {
242  $match = $val == $rules[$key];
243  }
244 
245  if($match === FALSE)
246  {
247  unset($nodes[$node->getId()]);
248  }
249  }
250  }
251  }
252 
253  return $nodes;
254  }
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 264 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().

265  {
266  if($extend)
267  {
268  $this->fetchNodeInfo();
269  }
270 
271  if($convert)
272  {
273  $info = $this->nodeInfo;
274 
275  foreach($info as $key => $val)
276  {
278 
279  if($key->contains("_bytes_"))
280  {
281  $info[$key->toString()] = TeamSpeak3_Helper_Convert::bytes($val);
282  }
283  elseif($key->contains("_bandwidth_"))
284  {
285  $info[$key->toString()] = TeamSpeak3_Helper_Convert::bytes($val) . "/s";
286  }
287  elseif($key->contains("_packets_"))
288  {
289  $info[$key->toString()] = number_format($val, null, null, ".");
290  }
291  elseif($key->contains("_packetloss_"))
292  {
293  $info[$key->toString()] = sprintf("%01.2f", floatval($val->toString())*100) . "%";
294  }
295  elseif($key->endsWith("_uptime"))
296  {
297  $info[$key->toString()] = TeamSpeak3_Helper_Convert::seconds($val);
298  }
299  elseif($key->endsWith("_version"))
300  {
301  $info[$key->toString()] = TeamSpeak3_Helper_Convert::version($val);
302  }
303  elseif($key->endsWith("_icon_id"))
304  {
305  $info[$key->toString()] = $this->iconGetName($key)->filterDigits();
306  }
307  }
308 
309  return $info;
310  }
311 
312  return $this->nodeInfo;
313  }
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 322 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().

323  {
324  if(!$this->offsetExists($property))
325  {
326  $this->fetchNodeInfo();
327  }
328 
329  if(!$this->offsetExists($property))
330  {
331  return $default;
332  }
333 
334  return $this->nodeInfo[(string) $property];
335  }
TeamSpeak3_Node_Abstract::toString ( )
inherited

Returns a string representation of this node.

Returns
string

Definition at line 352 of file Abstract.php.

References TeamSpeak3_Node_Abstract\__toString().

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

Returns an assoc array filled with current node info properties.

Returns
array

Definition at line 362 of file Abstract.php.

References TeamSpeak3_Node_Abstract\$nodeList.

Referenced by TeamSpeak3_Node_Server\channelFileInfo().

363  {
364  return $this->nodeList;
365  }
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 375 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

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

Writes data to the internal storage array.

Parameters
string$key
mixed$val
Returns
void

Definition at line 392 of file Abstract.php.

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

393  {
394  $this->storage[$key] = $val;
395  }
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 404 of file Abstract.php.

Referenced by __wakeup().

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

Deletes data from the internal storage array.

Parameters
string$key
Returns
void

Definition at line 415 of file Abstract.php.

Referenced by logout(), and serverDeselect().

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

Commit pending data.

Returns
array

Definition at line 425 of file Abstract.php.

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

Definition at line 449 of file Abstract.php.

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

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

Definition at line 496 of file Abstract.php.

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

497  {
498  $this->verifyNodeList();
499 
500  return $this->current();
501  }
TeamSpeak3_Node_Abstract::hasChildren ( )
inherited

Definition at line 506 of file Abstract.php.

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

507  {
508  $this->verifyNodeList();
509 
510  return $this->current()->count() > 0;
511  }
TeamSpeak3_Node_Abstract::hasNext ( )
inherited

Definition at line 516 of file Abstract.php.

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

517  {
518  $this->verifyNodeList();
519 
520  return $this->key()+1 < $this->count();
521  }
TeamSpeak3_Node_Abstract::key ( )
inherited

Definition at line 526 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

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

527  {
528  $this->verifyNodeList();
529 
530  return key($this->nodeList);
531  }
TeamSpeak3_Node_Abstract::valid ( )
inherited

Definition at line 536 of file Abstract.php.

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

537  {
538  $this->verifyNodeList();
539 
540  return $this->key() !== null;
541  }
TeamSpeak3_Node_Abstract::next ( )
inherited

Definition at line 546 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

547  {
548  $this->verifyNodeList();
549 
550  return next($this->nodeList);
551  }
TeamSpeak3_Node_Abstract::rewind ( )
inherited

Definition at line 556 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

557  {
558  $this->verifyNodeList();
559 
560  return reset($this->nodeList);
561  }
TeamSpeak3_Node_Abstract::offsetExists (   $offset)
inherited

Definition at line 566 of file Abstract.php.

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

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

Definition at line 574 of file Abstract.php.

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

Referenced by TeamSpeak3_Node_Abstract\__get().

575  {
576  if(!$this->offsetExists($offset))
577  {
578  $this->fetchNodeInfo();
579  }
580 
581  if(!$this->offsetExists($offset))
582  {
583  throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid parameter", 0x602);
584  }
585 
586  return $this->nodeInfo[(string) $offset];
587  }
TeamSpeak3_Node_Abstract::offsetSet (   $offset,
  $value 
)
inherited

Definition at line 592 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\__set().

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

Definition at line 605 of file Abstract.php.

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

Definition at line 613 of file Abstract.php.

References TeamSpeak3_Node_Abstract\offsetGet().

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

Definition at line 621 of file Abstract.php.

References TeamSpeak3_Node_Abstract\offsetSet().

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

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::$permissionEnds = null
protected

Definition at line 52 of file Host.php.

TeamSpeak3_Node_Host::$permissionList = null
protected

Definition at line 57 of file Host.php.

Referenced by permissionList().

TeamSpeak3_Node_Host::$permissionCats = null
protected

Definition at line 62 of file Host.php.

Referenced by permissionCats(), and permissionEnds().

TeamSpeak3_Node_Host::$predefined_query_name = null
protected

Definition at line 67 of file Host.php.

Referenced by getPredefinedQueryName().

TeamSpeak3_Node_Host::$exclude_query_clients = FALSE
protected

Definition at line 72 of file Host.php.

Referenced by getExcludeQueryClients().

TeamSpeak3_Node_Host::$start_offline_virtual = FALSE
protected

Definition at line 77 of file Host.php.

Referenced by getUseOfflineAsVirtual().

TeamSpeak3_Node_Host::$sort_clients_channels = FALSE
protected

Definition at line 82 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: