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

Abstract class describing a TeamSpeak 3 node and all it's parameters. More...

+ Inheritance diagram for TeamSpeak3_Node_Abstract:

Public Member Functions

 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...
 
 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...
 
 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...
 
 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

 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...
 
 fetchNodeList ()
 
 fetchNodeInfo ()
 
 resetNodeInfo ()
 
 verifyNodeList ()
 
 resetNodeList ()
 

Protected Attributes

 $parent = null
 
 $server = null
 
 $nodeId = 0x00
 
 $nodeList = null
 
 $nodeInfo = array()
 
 $storage = array()
 

Detailed Description

Abstract class describing a TeamSpeak 3 node and all it's parameters.

Definition at line 32 of file Abstract.php.

Member Function Documentation

TeamSpeak3_Node_Abstract::request (   $cmd,
  $throw = TRUE 
)

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 getParent().

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

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

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 getParent().

Referenced by execute().

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

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 prepare(), and 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(), TeamSpeak3_Node_Host\logAdd(), TeamSpeak3_Node_Server\logAdd(), TeamSpeak3_Node_Host\login(), TeamSpeak3_Node_Host\logView(), TeamSpeak3_Node_Server\logView(), TeamSpeak3_Node_Client\message(), TeamSpeak3_Node_Channelgroup\message(), TeamSpeak3_Node_Servergroup\message(), TeamSpeak3_Node_Channel\message(), TeamSpeak3_Node_Host\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(), TeamSpeak3_Node_Host\modify(), TeamSpeak3_Node_Server\modify(), TeamSpeak3_Node_Server\notifyRegister(), TeamSpeak3_Node_Host\permissionFind(), TeamSpeak3_Node_Client\permOverview(), TeamSpeak3_Node_Server\privilegeKeyCreate(), TeamSpeak3_Node_Server\privilegeKeyDelete(), TeamSpeak3_Node_Server\privilegeKeyUse(), TeamSpeak3_Node_Host\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(), TeamSpeak3_Node_Host\serverCreate(), TeamSpeak3_Node_Host\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(), TeamSpeak3_Node_Host\serverGroupPermAutoAssign(), TeamSpeak3_Node_Host\serverGroupPermAutoRemove(), TeamSpeak3_Node_Server\serverGroupPermList(), TeamSpeak3_Node_Server\serverGroupPermRemove(), TeamSpeak3_Node_Server\serverGroupRename(), TeamSpeak3_Node_Host\serverIdGetByPort(), TeamSpeak3_Node_Host\serverSelect(), TeamSpeak3_Node_Host\serverSelectByPort(), TeamSpeak3_Node_Host\serverStart(), TeamSpeak3_Node_Host\serverStop(), TeamSpeak3_Node_Host\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 ( )

Returns the parent object of the current node.

Returns
TeamSpeak3_Adapter_ServerQuery
TeamSpeak3_Node_Abstract

Definition at line 106 of file Abstract.php.

References $parent.

Referenced by __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(), TeamSpeak3_Node_Host\getAdapter(), TeamSpeak3_Node_Host\getAdapterHost(), TeamSpeak3_Node_Host\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(), prepare(), TeamSpeak3_Node_Channelgroup\privilegeKeyCreate(), TeamSpeak3_Node_Servergroup\privilegeKeyCreate(), TeamSpeak3_Node_Client\remServerGroup(), TeamSpeak3_Node_Channelgroup\rename(), TeamSpeak3_Node_Servergroup\rename(), 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 ( )

Returns the primary ID of the current node.

Returns
integer

Definition at line 116 of file Abstract.php.

References $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)

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)

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 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_")

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::getUniqueId ( )
abstract

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

Returns
string
TeamSpeak3_Node_Abstract::getIcon ( )
abstract

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

Returns
string
TeamSpeak3_Node_Abstract::getSymbol ( )
abstract

Returns a symbol representing the node.

Returns
string
TeamSpeak3_Node_Abstract::getViewer ( TeamSpeak3_Viewer_Interface  $viewer)

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() 
)
protected

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(), TeamSpeak3_Node_Host\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 
)

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 $nodeInfo, TeamSpeak3_Helper_Convert\bytes(), TeamSpeak3_Helper_String\factory(), fetchNodeInfo(), 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 
)

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 fetchNodeInfo(), and 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 ( )

Returns a string representation of this node.

Returns
string

Definition at line 342 of file Abstract.php.

Referenced by toString().

343  {
344  return get_class($this);
345  }
TeamSpeak3_Node_Abstract::toString ( )

Returns a string representation of this node.

Returns
string

Definition at line 352 of file Abstract.php.

References __toString().

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

Returns an assoc array filled with current node info properties.

Returns
array

Definition at line 362 of file Abstract.php.

References $nodeList.

Referenced by TeamSpeak3_Node_Server\channelFileInfo().

363  {
364  return $this->nodeList;
365  }
TeamSpeak3_Node_Abstract::__call (   $name,
array  $args 
)

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 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 
)
protected

Writes data to the internal storage array.

Parameters
string$key
mixed$val
Returns
void

Definition at line 392 of file Abstract.php.

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

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

Returns data from the internal storage array.

Parameters
string$key
mixed$default
Returns
mixed

Definition at line 404 of file Abstract.php.

Referenced by TeamSpeak3_Node_Host\__wakeup().

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

Deletes data from the internal storage array.

Parameters
string$key
Returns
void

Definition at line 415 of file Abstract.php.

Referenced by TeamSpeak3_Node_Host\logout(), and TeamSpeak3_Node_Host\serverDeselect().

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

Commit pending data.

Returns
array

Definition at line 425 of file Abstract.php.

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

Definition at line 433 of file Abstract.php.

Referenced by verifyNodeList().

434  {
435  $this->nodeList = array();
436  }
TeamSpeak3_Node_Abstract::fetchNodeInfo ( )
protected

Definition at line 441 of file Abstract.php.

Referenced by getInfo(), getProperty(), and offsetGet().

442  {
443  return;
444  }
TeamSpeak3_Node_Abstract::resetNodeInfo ( )
protected

Definition at line 449 of file Abstract.php.

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

450  {
451  $this->nodeInfo = array();
452  }
TeamSpeak3_Node_Abstract::verifyNodeList ( )
protected

Definition at line 457 of file Abstract.php.

References fetchNodeList().

Referenced by count(), current(), getChildren(), hasChildren(), hasNext(), key(), next(), rewind(), and valid().

458  {
459  if($this->nodeList === null)
460  {
461  $this->fetchNodeList();
462  }
463  }
TeamSpeak3_Node_Abstract::resetNodeList ( )
protected
TeamSpeak3_Node_Abstract::count ( )
TeamSpeak3_Node_Abstract::getChildren ( )

Definition at line 496 of file Abstract.php.

References current(), and verifyNodeList().

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

Definition at line 506 of file Abstract.php.

References current(), and verifyNodeList().

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

Definition at line 516 of file Abstract.php.

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

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

Definition at line 526 of file Abstract.php.

References verifyNodeList().

Referenced by hasNext(), and valid().

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

Definition at line 536 of file Abstract.php.

References key(), and verifyNodeList().

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

Definition at line 546 of file Abstract.php.

References verifyNodeList().

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

Definition at line 556 of file Abstract.php.

References verifyNodeList().

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

Definition at line 566 of file Abstract.php.

Referenced by getProperty(), and offsetGet().

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

Definition at line 574 of file Abstract.php.

References fetchNodeInfo(), and offsetExists().

Referenced by __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 
)

Definition at line 592 of file Abstract.php.

Referenced by __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)

Definition at line 605 of file Abstract.php.

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

Definition at line 613 of file Abstract.php.

References offsetGet().

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

Definition at line 621 of file Abstract.php.

References offsetSet().

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

Member Data Documentation

TeamSpeak3_Node_Abstract::$parent = null
protected

Definition at line 37 of file Abstract.php.

Referenced by getParent().

TeamSpeak3_Node_Abstract::$nodeId = 0x00
protected

Definition at line 47 of file Abstract.php.

Referenced by getId().

TeamSpeak3_Node_Abstract::$nodeList = null
protected

Definition at line 52 of file Abstract.php.

Referenced by toArray().

TeamSpeak3_Node_Abstract::$nodeInfo = array()
protected

Definition at line 57 of file Abstract.php.

Referenced by getInfo().

TeamSpeak3_Node_Abstract::$storage = array()
protected

Definition at line 62 of file Abstract.php.


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