⇦ Back to ApplicationHelper classMethod getClientInfo
public static \stdClass|array|void
getClientInfo
(mixed $id = null, mixed $byName = false)
Gets information on a specific client id. This method will be useful in
future versions when we start mapping applications in the database.
Parameters
- int|string|null $id A client identifier
- bool $byName If true, find the client by its name
Returns
- \stdClass|array|void Object describing the client, array containing all the clients or void if $id not known
Since
Method getClientInfo - Source code
/**
* Gets information on a specific client id. This method will be useful in
* future versions when we start mapping applications in the database.
*
* This method will return a client information array if called
* with no arguments which can be used to add custom application information.
*
* @param integer|string|null $id A client identifier
* @param boolean $byName If true, find the client by its name
*
* @return \stdClass|array|void Object describing the client, array containing all the clients or void if $id not known
*
* @since 1.5
*/
public static function getClientInfo($id = null, $byName = false)
{
// Only create the array if it is empty
if (empty(self::$_clients)) {
$obj = new \stdClass();
// Site Client
$obj->id = 0;
$obj->name = 'site';
$obj->path = JPATH_SITE;
self::$_clients[0] = clone $obj;
// Administrator Client
$obj->id = 1;
$obj->name = 'administrator';
$obj->path = JPATH_ADMINISTRATOR;
self::$_clients[1] = clone $obj;
// Installation Client
$obj->id = 2;
$obj->name = 'installation';
$obj->path = JPATH_INSTALLATION;
self::$_clients[2] = clone $obj;
// API Client
$obj->id = 3;
$obj->name = 'api';
$obj->path = JPATH_API;
self::$_clients[3] = clone $obj;
// CLI Client
$obj->id = 4;
$obj->name = 'cli';
$obj->path = JPATH_CLI;
self::$_clients[4] = clone $obj;
}
// If no client id has been passed return the whole array
if ($id === null) {
return self::$_clients;
}
// Are we looking for client information by id or by name?
if (!$byName) {
if (isset(self::$_clients[$id])) {
return self::$_clients[$id];
}
} else {
foreach (self::$_clients as $client) {
if ($client->name == strtolower($id)) {
return $client;
}
}
}
}