TeamSpeak 3 PHP Framework  1.1.12
TeamSpeak3_Node_Client Class Reference

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

Inheritance diagram for TeamSpeak3_Node_Client:
TeamSpeak3_Node_Abstract

List of all members.

Public Member Functions

 __construct (TeamSpeak3_Node_Server $server, array $info, $index="clid")
 The TeamSpeak3_Node_Client constructor.
 modify (array $properties)
 Changes the clients properties using given properties.
 modifyDb (array $properties)
 Changes the clients properties using given properties.
 deleteDb ()
 Deletes the clients properties from the database.
 infoDb ()
 Returns a list of properties from the database for the client.
 message ($msg)
 Sends a text message to the client.
 move ($cid, $cpw=null)
 Moves the client to another channel.
 kick ($reasonid=TeamSpeak3::KICK_CHANNEL, $reasonmsg=null)
 Kicks the client from his currently joined channel or from the server.
 poke ($msg)
 Sends a poke message to the client.
 ban ($timeseconds=null, $reason=null)
 Bans the client from the server.
 customInfo ()
 Returns a list of custom properties for the client.
 permOverview ($cid)
 Returns an array containing the permission overview of the client.
 permList ($permsid=FALSE)
 Returns a list of permissions defined for the client.
 permAssign ($permid, $permvalue, $permskip=FALSE)
 Adds a set of specified permissions to the client.
 permAssignByName ($permname, $permvalue, $permskip=FALSE)
 Alias for permAssign().
 permRemove ($permid)
 Removes a set of specified permissions from a client.
 permRemoveByName ($permname)
 Alias for permRemove().
 setChannelGroup ($cid, $cgid)
 Sets the channel group of a client to the ID specified.
 addServerGroup ($sgid)
 Adds the client to the server group specified with $sgid.
 remServerGroup ($sgid)
 Removes the client from the server group specified with $sgid.
 avatarGetName ()
 Returns the possible name of the clients avatar.
 avatarDownload ()
 Downloads and returns the clients avatar file content.
 getClones ()
 Returns a list of client connections using the same identity as this client.
 getRev ()
 Returns the revision/build number from the clients version string.
 memberOf ()
 Returns all server and channel groups the client is currently residing in.
 iconDownload ()
 Downloads and returns the clients icon file content.
 getUniqueId ()
 Returns a unique identifier for the node which can be used as a HTML property.
 getIcon ()
 Returns the name of a possible icon to display the node object.
 getSymbol ()
 Returns a symbol representing the node.
 __toString ()
 Returns a string representation of this node.
 request ($cmd)
 Sends a prepared command to the server and returns the result.
 prepare ($cmd, array $params=array())
 Uses given parameters and returns a prepared ServerQuery command.
 execute ($cmd, array $params=array())
 Prepares and executes a ServerQuery command and returns the result.
 getParent ()
 Returns the parent object of the current node.
 getId ()
 Returns the primary ID of the current node.
 iconIsLocal ($key)
 Returns TRUE if the node icon has a local source.
 iconGetName ($key)
 Returns the internal path of the node icon.
 getClass ($prefix="ts3_")
 Returns a possible classname for the node which can be used as a HTML property.
 getViewer (TeamSpeak3_Viewer_Interface $viewer)
 Returns the HTML code to display a TeamSpeak 3 viewer.
 getInfo ($extend=TRUE, $convert=FALSE)
 Returns all information available on this node.
 getProperty ($property, $default=null)
 Returns the specified property or a pre-defined default value from the node info array.
 toString ()
 Returns a string representation of this node.
 toArray ()
 Returns an assoc array filled with current node info properties.
 __call ($name, array $args)
 Called whenever we're using an unknown method.
 __sleep ()
 Commit pending data.
 count ()
 
 current ()
 
 getChildren ()
 
 hasChildren ()
 
 hasNext ()
 
 key ()
 
 valid ()
 
 next ()
 
 rewind ()
 
 offsetExists ($offset)
 
 offsetGet ($offset)
 
 offsetSet ($offset, $value)
 
 offsetUnset ($offset)
 
 __get ($offset)
 
 __set ($offset, $value)
 

Protected Member Functions

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

Protected Attributes

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

Detailed Description

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

Definition at line 32 of file Client.php.


Constructor & Destructor Documentation

TeamSpeak3_Node_Client::__construct ( TeamSpeak3_Node_Server server,
array $  info,
index = "clid" 
)

The TeamSpeak3_Node_Client constructor.

Parameters:
TeamSpeak3_Node_Server$server
array$info
string$index
Exceptions:
TeamSpeak3_Adapter_ServerQuery_Exception
Returns:
TeamSpeak3_Node_Client

Definition at line 43 of file Client.php.

References TeamSpeak3_Node_Abstract\$server.

  {
    $this->parent = $server;
    $this->nodeInfo = $info;

    if(!array_key_exists($index, $this->nodeInfo))
    {
      throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid clientID", 0x200);
    }

    $this->nodeId = $this->nodeInfo[$index];
  }

Member Function Documentation

TeamSpeak3_Node_Client::modify ( array $  properties)

Changes the clients properties using given properties.

Parameters:
array$properties
Returns:
void

Definition at line 62 of file Client.php.

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

  {
    $properties["clid"] = $this->getId();

    $this->execute("clientedit", $properties);
    $this->resetNodeInfo();
  }
TeamSpeak3_Node_Client::modifyDb ( array $  properties)

Changes the clients properties using given properties.

Parameters:
array$properties
Returns:
void

Definition at line 76 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientModifyDb($this["client_database_id"], $properties);
  }

Deletes the clients properties from the database.

Returns:
void

Definition at line 86 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientDeleteDb($this["client_database_id"]);
  }

Returns a list of properties from the database for the client.

Returns:
array

Definition at line 96 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientInfoDb($this["client_database_id"]);
  }

Sends a text message to the client.

Parameters:
string$msg
Returns:
void

Definition at line 107 of file Client.php.

References TeamSpeak3_Node_Abstract\execute(), TeamSpeak3_Node_Abstract\getId(), and TeamSpeak3\TEXTMSG_CLIENT.

  {
    $this->execute("sendtextmessage", array("msg" => $msg, "target" => $this->getId(), "targetmode" => TeamSpeak3::TEXTMSG_CLIENT));
  }
TeamSpeak3_Node_Client::move ( cid,
cpw = null 
)

Moves the client to another channel.

Parameters:
integer$cid
string$cpw
Returns:
void

Definition at line 119 of file Client.php.

References TeamSpeak3_Node_Abstract\getId(), and TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientMove($this->getId(), $cid, $cpw);
  }
TeamSpeak3_Node_Client::kick ( reasonid = TeamSpeak3::KICK_CHANNEL,
reasonmsg = null 
)

Kicks the client from his currently joined channel or from the server.

Parameters:
integer$reasonid
string$reasonmsg
Returns:
void

Definition at line 131 of file Client.php.

References TeamSpeak3_Node_Abstract\getId(), and TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientKick($this->getId(), $reasonid, $reasonmsg);
  }

Sends a poke message to the client.

Parameters:
string$msg
Returns:
void

Definition at line 142 of file Client.php.

References TeamSpeak3_Node_Abstract\getId(), and TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientPoke($this->getId(), $msg);
  }
TeamSpeak3_Node_Client::ban ( timeseconds = null,
reason = null 
)

Bans the client from the server.

Please note that this will create two separate ban rules for the targeted clients IP address and his unique identifier.

Parameters:
integer$timeseconds
string$reason
Returns:
array

Definition at line 155 of file Client.php.

References TeamSpeak3_Node_Abstract\getId(), and TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientBan($this->getId(), $timeseconds, $reason);
  }

Returns a list of custom properties for the client.

Returns:
array

Definition at line 165 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->customInfo($this["client_database_id"]);
  }

Returns an array containing the permission overview of the client.

Parameters:
integer$cid
Returns:
array

Definition at line 176 of file Client.php.

References TeamSpeak3_Node_Abstract\execute().

  {
    return $this->execute("permoverview", array("cldbid" => $this["client_database_id"], "cid" => $cid, "permid" => 0))->toArray();
  }
TeamSpeak3_Node_Client::permList ( permsid = FALSE)

Returns a list of permissions defined for the client.

Parameters:
boolean$permsid
Returns:
array

Definition at line 187 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientPermList($this["client_database_id"], $permsid);
  }
TeamSpeak3_Node_Client::permAssign ( permid,
permvalue,
permskip = FALSE 
)

Adds a set of specified permissions to the client.

Multiple permissions can be added by providing the three parameters of each permission.

Parameters:
integer$permid
integer$permvalue
integer$permskip
Returns:
void

Definition at line 201 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by permAssignByName().

  {
    return $this->getParent()->clientPermAssign($this["client_database_id"], $permid, $permvalue, $permskip);
  }
TeamSpeak3_Node_Client::permAssignByName ( permname,
permvalue,
permskip = FALSE 
)

Alias for permAssign().

Deprecated:

Definition at line 211 of file Client.php.

References permAssign().

  {
    return $this->permAssign($permname, $permvalue, $permskip);
  }

Removes a set of specified permissions from a client.

Multiple permissions can be removed at once.

Parameters:
integer$permid
Returns:
void

Definition at line 222 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by permRemoveByName().

  {
    return $this->getParent()->clientPermRemove($this["client_database_id"], $permid);
  }

Alias for permRemove().

Deprecated:

Definition at line 232 of file Client.php.

References permRemove().

  {
    return $this->permRemove($permname);
  }
TeamSpeak3_Node_Client::setChannelGroup ( cid,
cgid 
)

Sets the channel group of a client to the ID specified.

Parameters:
integer$cid
integer$cgid
Returns:
void

Definition at line 244 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->clientSetChannelGroup($this["client_database_id"], $cid, $cgid);
  }

Adds the client to the server group specified with $sgid.

Parameters:
integer$sgid
Returns:
void

Definition at line 255 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->serverGroupClientAdd($sgid, $this["client_database_id"]);
  }

Removes the client from the server group specified with $sgid.

Parameters:
integer$sgid
Returns:
void

Definition at line 266 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->serverGroupClientDel($sgid, $this["client_database_id"]);
  }

Returns the possible name of the clients avatar.

Returns:
TeamSpeak3_Helper_String

Definition at line 276 of file Client.php.

Referenced by avatarDownload().

  {
    return new TeamSpeak3_Helper_String("/avatar_" . $this["client_base64HashClientUID"]);
  }

Downloads and returns the clients avatar file content.

Returns:
TeamSpeak3_Helper_String

Definition at line 286 of file Client.php.

References avatarGetName(), TeamSpeak3\factory(), and TeamSpeak3_Node_Abstract\getParent().

  {
    if($this["client_flag_avatar"] == 0) return;

    $download = $this->getParent()->transferInitDownload(rand(0x0000, 0xFFFF), 0, $this->avatarGetName());
    $transfer = TeamSpeak3::factory("filetransfer://" . $download["host"] . ":" . $download["port"]);

    return $transfer->download($download["ftkey"], $download["size"]);
  }

Returns a list of client connections using the same identity as this client.

Returns:
array

Definition at line 301 of file Client.php.

References TeamSpeak3_Node_Abstract\execute().

  {
    return $this->execute("clientgetids", array("cluid" => $this["client_unique_identifier"]))->toAssocArray("clid");
  }

Returns the revision/build number from the clients version string.

Returns:
integer

Definition at line 311 of file Client.php.

  {
    return $this["client_type"] ? null : $this["client_version"]->section("[", 1)->filterDigits();
  }

Returns all server and channel groups the client is currently residing in.

Returns:
array

Definition at line 321 of file Client.php.

References TeamSpeak3_Node_Abstract\getParent().

  {
    $groups = array($this->getParent()->channelGroupGetById($this["client_channel_group_id"]));

    foreach(explode(",", $this["client_servergroups"]) as $sgid)
    {
      $groups[] = $this->getParent()->serverGroupGetById($sgid);
    }

    return $groups;
  }

Downloads and returns the clients icon file content.

Returns:
TeamSpeak3_Helper_String

Definition at line 338 of file Client.php.

References TeamSpeak3\factory(), TeamSpeak3_Node_Abstract\getParent(), TeamSpeak3_Node_Abstract\iconGetName(), and TeamSpeak3_Node_Abstract\iconIsLocal().

  {
    if($this->iconIsLocal("client_icon_id") || $this["client_icon_id"] == 0) return;

    $download = $this->getParent()->transferInitDownload(rand(0x0000, 0xFFFF), 0, $this->iconGetName("client_icon_id"));
    $transfer = TeamSpeak3::factory("filetransfer://" . $download["host"] . ":" . $download["port"]);

    return $transfer->download($download["ftkey"], $download["size"]);
  }

Reimplemented from TeamSpeak3_Node_Abstract.

Definition at line 351 of file Client.php.

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

  {
    if($this["client_type"] == 1) return;

    $this->nodeInfo = array_merge($this->nodeInfo, $this->execute("clientinfo", array("clid" => $this->getId()))->toList());
  }

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

Returns:
string

Reimplemented from TeamSpeak3_Node_Abstract.

Definition at line 363 of file Client.php.

References TeamSpeak3_Node_Abstract\getId(), and TeamSpeak3_Node_Abstract\getParent().

  {
    return $this->getParent()->getUniqueId() . "_cl" . $this->getId();
  }

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

Returns:
string

Reimplemented from TeamSpeak3_Node_Abstract.

Definition at line 373 of file Client.php.

  {
    if($this["client_type"])
    {
      return "client_query";
    }
    elseif($this["client_away"])
    {
      return "client_away";
    }
    elseif(!$this["client_output_hardware"])
    {
      return "client_snd_disabled";
    }
    elseif($this["client_output_muted"])
    {
      return "client_snd_muted";
    }
    elseif(!$this["client_input_hardware"])
    {
      return "client_mic_disabled";
    }
    elseif($this["client_input_muted"])
    {
      return "client_mic_muted";
    }
    elseif($this["client_is_channel_commander"])
    {
      return $this["client_flag_talking"] ? "client_cc_talk" : "client_cc_idle";
    }
    else
    {
      return $this["client_flag_talking"] ? "client_talk" : "client_idle";
    }
  }

Returns a symbol representing the node.

Returns:
string

Reimplemented from TeamSpeak3_Node_Abstract.

Definition at line 414 of file Client.php.

  {
    return "@";
  }

Returns a string representation of this node.

Returns:
string

Reimplemented from TeamSpeak3_Node_Abstract.

Definition at line 424 of file Client.php.

  {
    return (string) $this["client_nickname"];
  }
TeamSpeak3_Node_Abstract::prepare ( cmd,
array $  params = array() 
) [inherited]

Uses given parameters and returns a prepared ServerQuery command.

Parameters:
string$cmd
array$params
Returns:
TeamSpeak3_Helper_String

Definition at line 82 of file Abstract.php.

References TeamSpeak3_Node_Abstract\getParent().

Referenced by TeamSpeak3_Node_Abstract\execute().

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

Prepares and executes a ServerQuery command and returns the result.

Parameters:
string$cmd
array$params
Returns:
TeamSpeak3_Adapter_ServerQuery_Reply

Definition at line 94 of file Abstract.php.

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

Referenced by TeamSpeak3_Node_Server\banCreate(), TeamSpeak3_Node_Server\banDelete(), TeamSpeak3_Node_Server\channelClientPermAssign(), TeamSpeak3_Node_Server\channelClientPermList(), TeamSpeak3_Node_Server\channelClientPermRemove(), TeamSpeak3_Node_Server\channelCreate(), TeamSpeak3_Node_Server\channelDelete(), TeamSpeak3_Node_Server\channelDirCreate(), TeamSpeak3_Node_Server\channelFileDelete(), TeamSpeak3_Node_Server\channelFileInfo(), TeamSpeak3_Node_Server\channelFileList(), TeamSpeak3_Node_Server\channelFileRename(), TeamSpeak3_Node_Server\channelGroupClientList(), TeamSpeak3_Node_Server\channelGroupCopy(), TeamSpeak3_Node_Server\channelGroupCreate(), TeamSpeak3_Node_Server\channelGroupDelete(), TeamSpeak3_Node_Server\channelGroupPermAssign(), TeamSpeak3_Node_Server\channelGroupPermList(), TeamSpeak3_Node_Server\channelGroupPermRemove(), TeamSpeak3_Node_Server\channelGroupRename(), TeamSpeak3_Node_Server\channelMove(), TeamSpeak3_Node_Server\channelPermAssign(), TeamSpeak3_Node_Server\channelPermList(), TeamSpeak3_Node_Server\channelPermRemove(), TeamSpeak3_Node_Server\clientBan(), TeamSpeak3_Node_Server\clientCountDb(), TeamSpeak3_Node_Server\clientDeleteDb(), TeamSpeak3_Node_Server\clientFind(), TeamSpeak3_Node_Server\clientFindDb(), TeamSpeak3_Node_Server\clientGetIdsByUid(), TeamSpeak3_Node_Server\clientGetNameByDbid(), TeamSpeak3_Node_Server\clientGetNameByUid(), TeamSpeak3_Node_Server\clientGetServerGroupsByDbid(), TeamSpeak3_Node_Server\clientInfoDb(), TeamSpeak3_Node_Server\clientKick(), TeamSpeak3_Node_Server\clientListDb(), TeamSpeak3_Node_Server\clientModifyDb(), TeamSpeak3_Node_Server\clientMove(), TeamSpeak3_Node_Server\clientPermAssign(), TeamSpeak3_Node_Server\clientPermList(), TeamSpeak3_Node_Server\clientPermRemove(), TeamSpeak3_Node_Server\clientPoke(), TeamSpeak3_Node_Server\clientSetChannelGroup(), TeamSpeak3_Node_Server\complaintCreate(), TeamSpeak3_Node_Server\complaintDelete(), TeamSpeak3_Node_Server\complaintList(), TeamSpeak3_Node_Server\complaintListClear(), TeamSpeak3_Node_Server\customInfo(), TeamSpeak3_Node_Server\customSearch(), fetchNodeInfo(), TeamSpeak3_Node_Channel\fetchNodeInfo(), getClones(), TeamSpeak3_Node_Host\logAdd(), TeamSpeak3_Node_Server\logAdd(), TeamSpeak3_Node_Host\login(), TeamSpeak3_Node_Host\logView(), TeamSpeak3_Node_Server\logView(), 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(), modify(), TeamSpeak3_Node_Channel\modify(), TeamSpeak3_Node_Host\modify(), TeamSpeak3_Node_Server\modify(), TeamSpeak3_Node_Server\notifyRegister(), TeamSpeak3_Node_Host\permissionFind(), 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_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_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\transferInitDownload(), TeamSpeak3_Node_Server\transferInitUpload(), and TeamSpeak3_Node_Server\transferStop().

  {
    return $this->request($this->prepare($cmd, $params));
  }

Returns the parent object of the current node.

Returns:
TeamSpeak3_Adapter_ServerQuery
TeamSpeak3_Node_Abstract

Definition at line 105 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\__call(), addServerGroup(), avatarDownload(), 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(), customInfo(), TeamSpeak3_Node_Servergroup\delete(), TeamSpeak3_Node_Channelgroup\delete(), TeamSpeak3_Node_Channel\delete(), TeamSpeak3_Node_Server\delete(), 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(), getUniqueId(), TeamSpeak3_Node_Channel\getUniqueId(), TeamSpeak3_Node_Server\getUniqueId(), TeamSpeak3_Node_Channelgroup\iconDownload(), TeamSpeak3_Node_Servergroup\iconDownload(), iconDownload(), TeamSpeak3_Node_Channel\iconDownload(), infoDb(), TeamSpeak3_Node_Channel\isSpacer(), kick(), memberOf(), TeamSpeak3_Node_Channel\message(), modifyDb(), move(), TeamSpeak3_Node_Channel\move(), TeamSpeak3_Node_Channelgroup\permAssign(), TeamSpeak3_Node_Servergroup\permAssign(), permAssign(), TeamSpeak3_Node_Channel\permAssign(), TeamSpeak3_Node_Servergroup\permList(), TeamSpeak3_Node_Channelgroup\permList(), permList(), TeamSpeak3_Node_Channel\permList(), TeamSpeak3_Node_Channelgroup\permRemove(), TeamSpeak3_Node_Servergroup\permRemove(), permRemove(), TeamSpeak3_Node_Channel\permRemove(), poke(), TeamSpeak3_Node_Abstract\prepare(), TeamSpeak3_Node_Channelgroup\privilegeKeyCreate(), TeamSpeak3_Node_Servergroup\privilegeKeyCreate(), remServerGroup(), TeamSpeak3_Node_Channelgroup\rename(), TeamSpeak3_Node_Servergroup\rename(), TeamSpeak3_Node_Abstract\request(), TeamSpeak3_Node_Server\request(), setChannelGroup(), TeamSpeak3_Node_Server\snapshotDeploy(), TeamSpeak3_Node_Channel\spacerGetAlign(), TeamSpeak3_Node_Channel\spacerGetType(), TeamSpeak3_Node_Server\start(), TeamSpeak3_Node_Server\stop(), TeamSpeak3_Node_Channel\subChannelList(), TeamSpeak3_Node_Server\transferInitDownload(), and TeamSpeak3_Node_Server\transferInitUpload().

  {
    return $this->parent;
  }

Returns the primary ID of the current node.

Returns:
integer

Definition at line 115 of file Abstract.php.

Referenced by ban(), TeamSpeak3_Node_Server\channelDelete(), TeamSpeak3_Node_Server\channelFileList(), TeamSpeak3_Node_Servergroup\clientAdd(), TeamSpeak3_Node_Servergroup\clientDel(), TeamSpeak3_Node_Channel\clientList(), TeamSpeak3_Node_Channelgroup\clientList(), TeamSpeak3_Node_Servergroup\clientList(), TeamSpeak3_Node_Channel\clientPermAssign(), TeamSpeak3_Node_Channel\clientPermList(), TeamSpeak3_Node_Channel\clientPermRemove(), TeamSpeak3_Node_Channelgroup\copy(), TeamSpeak3_Node_Servergroup\copy(), TeamSpeak3_Node_Servergroup\delete(), TeamSpeak3_Node_Channelgroup\delete(), TeamSpeak3_Node_Channel\delete(), TeamSpeak3_Node_Server\delete(), TeamSpeak3_Node_Channel\dirCreate(), 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(), getUniqueId(), TeamSpeak3_Node_Channel\getUniqueId(), TeamSpeak3_Node_Server\getUniqueId(), kick(), message(), TeamSpeak3_Node_Channel\message(), TeamSpeak3_Node_Server\message(), modify(), TeamSpeak3_Node_Channel\modify(), move(), TeamSpeak3_Node_Channel\move(), TeamSpeak3_Node_Channelgroup\permAssign(), TeamSpeak3_Node_Servergroup\permAssign(), TeamSpeak3_Node_Channel\permAssign(), TeamSpeak3_Node_Servergroup\permList(), TeamSpeak3_Node_Channelgroup\permList(), TeamSpeak3_Node_Channel\permList(), TeamSpeak3_Node_Channelgroup\permRemove(), TeamSpeak3_Node_Servergroup\permRemove(), TeamSpeak3_Node_Channel\permRemove(), poke(), TeamSpeak3_Node_Channelgroup\privilegeKeyCreate(), TeamSpeak3_Node_Servergroup\privilegeKeyCreate(), TeamSpeak3_Node_Channelgroup\rename(), TeamSpeak3_Node_Servergroup\rename(), TeamSpeak3_Node_Server\request(), TeamSpeak3_Node_Server\sortGroupList(), TeamSpeak3_Node_Channel\spacerGetAlign(), TeamSpeak3_Node_Channel\spacerGetType(), TeamSpeak3_Node_Server\start(), TeamSpeak3_Node_Server\stop(), and TeamSpeak3_Node_Channel\subChannelList().

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

Returns TRUE if the node icon has a local source.

Returns:
boolean

Definition at line 125 of file Abstract.php.

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

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

Returns the internal path of the node icon.

Returns:
TeamSpeak3_Helper_String

Definition at line 135 of file Abstract.php.

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

  {
    $iconid = ($this[$key] < 0) ? (pow(2, 32))-($this[$key]*-1) : $this[$key];

    return new TeamSpeak3_Helper_String("/icon_" . $iconid);
  }
TeamSpeak3_Node_Abstract::getClass ( prefix = "ts3_") [inherited]

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

Returns:
string

Definition at line 147 of file Abstract.php.

References TeamSpeak3_Helper_String\factory().

  {
    if($this instanceof TeamSpeak3_Node_Channel && $this->isSpacer())
    {
      return $prefix . "spacer";
    }
    elseif($this instanceof TeamSpeak3_Node_Client && $this["client_type"])
    {
      return $prefix . "query";
    }

    return $prefix . TeamSpeak3_Helper_String::factory(get_class($this))->section("_", 2)->toLower();
  }

Returns the HTML code to display a TeamSpeak 3 viewer.

Parameters:
TeamSpeak3_Viewer_Interface$viewer
Returns:
string

Definition at line 188 of file Abstract.php.

References TeamSpeak3_Viewer_Interface\fetchObject().

  {
    $html = $viewer->fetchObject($this);

    $iterator = new RecursiveIteratorIterator($this, RecursiveIteratorIterator::SELF_FIRST);

    foreach($iterator as $node)
    {
      $siblings = array();

      for($level = 0; $level < $iterator->getDepth(); $level++)
      {
        $siblings[] = ($iterator->getSubIterator($level)->hasNext()) ? 1 : 0;
      }

      $siblings[] = (!$iterator->getSubIterator($level)->hasNext()) ? 1 : 0;

      $html .= $viewer->fetchObject($node, $siblings);
    }

    return $html;
  }
TeamSpeak3_Node_Abstract::filterList ( array $  nodes = array(),
array $  rules = array() 
) [protected, inherited]

Filters given node list array using specified filter rules.

Parameters:
array$nodes
array$rules
Returns:
array

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

  {
    if(!empty($rules))
    {
      foreach($nodes as $node)
      {
        if(!$node instanceof TeamSpeak3_Node_Abstract) continue;

        $props = $node->getInfo(FALSE);
        $props = array_intersect_key($props, $rules);
        $match = TRUE;

        foreach($props as $key => $val)
        {
          if($val instanceof TeamSpeak3_Helper_String)
          {
            $match = $val->contains($rules[$key], TRUE);
          }
          else
          {
            $match = $val == $rules[$key];
          }

          if($match === FALSE)
          {
            unset($nodes[$node->getId()]);
          }
        }
      }
    }

    return $nodes;
  }
TeamSpeak3_Node_Abstract::getInfo ( extend = TRUE,
convert = FALSE 
) [inherited]

Returns all information available on this node.

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

Parameters:
boolean$extend
boolean$convert
Returns:
array

Definition at line 260 of file Abstract.php.

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

  {
    if($extend)
    {
      $this->fetchNodeInfo();
    }

    if($convert)
    {
      $info = $this->nodeInfo;

      foreach($info as $key => $val)
      {
        $key = TeamSpeak3_Helper_String::factory($key);

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

      return $info;
    }

    return $this->nodeInfo;
  }
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 318 of file Abstract.php.

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

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

  {
    if(!$this->offsetExists($property))
    {
      $this->fetchNodeInfo();
    }

    if(!$this->offsetExists($property))
    {
      return $default;
    }

    return $this->nodeInfo[(string) $property];
  }

Returns a string representation of this node.

Returns:
string

Definition at line 348 of file Abstract.php.

References TeamSpeak3_Node_Abstract\__toString().

  {
    return $this->__toString();
  }

Returns an assoc array filled with current node info properties.

Returns:
array

Definition at line 358 of file Abstract.php.

Referenced by TeamSpeak3_Node_Server\channelFileInfo().

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

References TeamSpeak3_Node_Abstract\getParent().

  {
    if($this->getParent() instanceof TeamSpeak3_Node_Abstract)
    {
      return call_user_func_array(array($this->getParent(), $name), $args);
    }

    throw new TeamSpeak3_Node_Exception("node method '" . $name . "()' does not exist");
  }
TeamSpeak3_Node_Abstract::setStorage ( key,
val 
) [protected, inherited]
TeamSpeak3_Node_Abstract::getStorage ( key,
default = null 
) [protected, inherited]

Returns data from the internal storage array.

Parameters:
string$key
mixed$default
Returns:
mixed

Definition at line 400 of file Abstract.php.

Referenced by TeamSpeak3_Node_Host\__wakeup().

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

Deletes data from the internal storage array.

Parameters:
string$key
Returns:
void

Definition at line 411 of file Abstract.php.

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

  {
    unset($this->storage[$key]);
  }

Commit pending data.

Returns:
array

Definition at line 421 of file Abstract.php.

  {
    return array("parent", "storage", "nodeId");
  }
TeamSpeak3_Node_Abstract::resetNodeInfo ( ) [protected, inherited]

Definition at line 445 of file Abstract.php.

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

  {
    $this->nodeInfo = array();
  }

Definition at line 492 of file Abstract.php.

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

  {
    $this->verifyNodeList();

    return $this->current();
  }

Definition at line 502 of file Abstract.php.

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

  {
    $this->verifyNodeList();

    return $this->current()->count() > 0;
  }

Definition at line 512 of file Abstract.php.

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

  {
    $this->verifyNodeList();

    return $this->key()+1 < $this->count();
  }

Definition at line 522 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

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

  {
    $this->verifyNodeList();

    return key($this->nodeList);
  }

Definition at line 532 of file Abstract.php.

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

  {
    $this->verifyNodeList();

    return $this->key() !== null;
  }

Definition at line 542 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

  {
    $this->verifyNodeList();

    return next($this->nodeList);
  }

Definition at line 552 of file Abstract.php.

References TeamSpeak3_Node_Abstract\verifyNodeList().

  {
    $this->verifyNodeList();

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

Definition at line 562 of file Abstract.php.

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

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

Definition at line 570 of file Abstract.php.

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

Referenced by TeamSpeak3_Node_Abstract\__get().

  {
    if(!$this->offsetExists($offset))
    {
      $this->fetchNodeInfo();
    }

    if(!$this->offsetExists($offset))
    {
      echo $offset;

      throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid parameter", 0x602);
    }

    return $this->nodeInfo[(string) $offset];
  }
TeamSpeak3_Node_Abstract::offsetSet ( offset,
value 
) [inherited]

Definition at line 590 of file Abstract.php.

Referenced by TeamSpeak3_Node_Abstract\__set().

  {
    if(method_exists($this, "modify"))
    {
      return $this->modify(array((string) $offset => $value));
    }

    throw new TeamSpeak3_Node_Exception("node '" . get_class($this) . "' is read only");
  }
TeamSpeak3_Node_Abstract::offsetUnset ( offset) [inherited]

Definition at line 603 of file Abstract.php.

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

Definition at line 611 of file Abstract.php.

References TeamSpeak3_Node_Abstract\offsetGet().

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

Definition at line 619 of file Abstract.php.

References TeamSpeak3_Node_Abstract\offsetSet().

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

Member Data Documentation

TeamSpeak3_Node_Abstract::$parent = null [protected, inherited]

Definition at line 37 of file Abstract.php.

TeamSpeak3_Node_Abstract::$nodeId = 0x00 [protected, inherited]

Definition at line 47 of file Abstract.php.

TeamSpeak3_Node_Abstract::$nodeList = null [protected, inherited]

Definition at line 52 of file Abstract.php.

TeamSpeak3_Node_Abstract::$nodeInfo = array() [protected, inherited]

Definition at line 57 of file Abstract.php.

TeamSpeak3_Node_Abstract::$storage = array() [protected, inherited]

Definition at line 62 of file Abstract.php.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables