class Plex_Server extends Plex_MachineAbstract

Represents a Plex server on the network.

Constants

DEFAULT_ADDRESS

The default address on which a Plex server listens.

DEFAULT_PORT

The default port on which a Plex server listens.

ENDPOINT_CLIENT

The Plex HTTP API endpoint for client listing.

Properties

protected string $name The name of the Plex machine on the network. from Plex_MachineAbstract
protected string $address The IP address of the Plex machine on the network. from Plex_MachineAbstract
protected integer $port The port on which the Plex machine is listening. Typically 32400 for servers and 3000 for clients. from Plex_MachineAbstract
protected string $token The token of the Plex machine on the network. from Plex_MachineAbstract

Methods

string
getBaseUrl()

Returns the base URL, which will be standard for all requests made to the Plex machine.

array
xmlAttributesToArray(SimpleXMLElement $xml, integer $pass = 0)

Typically the useful data returned by a Plex machine will containted in XML attributes. This allows a set of XML nodes to be passed and all the attribues extracted and returned as an associated array.

array
makeCall(string $url)

Utilizes php-curl to send a request to the passed URL and returns an XML document reprentation of the returned content.

string
getCallingFunction(integer $depth = 2)

Universal function so any method belonging to a child class of a Plex machine can discover which function called it. This is used mainly for some of our polymorphic requests as the calling function can tell us what type of item is being requested.

void
__construct(string $name, string $address, integer $port, string $token)

Sets up our Plex server using the minimum amount of data required to interact.

getClients()

Returns all the available clients to which the Plex server has access indexed by the Plex client name.

getLibrary()

Returns the Plex library belonging to the instantiated Plex server.

string
getName()

Returns the Plex server's name.

string
getAddress()

Returns the Plex server's IP address.

integer
getPort()

Returns the port on which the Plex server listens.

string
getToken()

Returns the token on which the Plex machine listens.

Details

in Plex_MachineAbstract at line 78
protected string getBaseUrl()

Returns the base URL, which will be standard for all requests made to the Plex machine.

Return Value

string The base URL, which will be standard for all requests made to the Plex machine.

in Plex_MachineAbstract at line 102
protected array xmlAttributesToArray(SimpleXMLElement $xml, integer $pass = 0)

Typically the useful data returned by a Plex machine will containted in XML attributes. This allows a set of XML nodes to be passed and all the attribues extracted and returned as an associated array.

Parameters

SimpleXMLElement $xml An XML node to have its attributes converted to a useful PHP array.
integer $pass The number of recursive levels down the method has run. This is mainly used for determining if we are on our first pass or not because the data is picked up slightly differently on the first pass.

Return Value

array An associated array of XML attributes.

in Plex_MachineAbstract at line 149
protected array makeCall(string $url)

Utilizes php-curl to send a request to the passed URL and returns an XML document reprentation of the returned content.

Parameters

string $url The URL to which the request is to be made.

Return Value

array An XML document from a Plex machine converted in array.

Exceptions

Plex_Exception_Machine

in Plex_MachineAbstract at line 196
protected string getCallingFunction(integer $depth = 2)

Universal function so any method belonging to a child class of a Plex machine can discover which function called it. This is used mainly for some of our polymorphic requests as the calling function can tell us what type of item is being requested.

Parameters

integer $depth Depth defaults to 2 because 0 is this function and 1 will be the function that asked for the calling function. This can be changed by the calling function in case a specific calling function needs to be identified. This can be handy if the original calling function goes through a number of hops on its way to identification.

Return Value

string The name of the function that called the function that issued the getCallingFunction request.

at line 75
void __construct(string $name, string $address, integer $port, string $token)

Sets up our Plex server using the minimum amount of data required to interact.

Parameters

string $name The name of the Plex server.
string $address The IP address of the Plex server.
integer $port The port on which the Plex server is listening.
string $token The token of the Plex server.

Return Value

void

at line 99
Plex_Client[] getClients()

Returns all the available clients to which the Plex server has access indexed by the Plex client name.

Return Value

Plex_Client[] An array of Plex clients indexed by the Plex client name.

at line 138
Plex_Server_Library getLibrary()

Returns the Plex library belonging to the instantiated Plex server.

Return Value

Plex_Server_Library The Plex library belonging to the instantiated Plex server.

at line 155
string getName()

Returns the Plex server's name.

Return Value

string The name of the Plex machine.

at line 167
string getAddress()

Returns the Plex server's IP address.

Return Value

string The IP address of the Plex machine.

at line 179
integer getPort()

Returns the port on which the Plex server listens.

Return Value

integer The port on which the Plex machine listens.

at line 191
string getToken()

Returns the token on which the Plex machine listens.

Return Value

string The token on which the Plex machine listens.