Source for file companies.php
Documentation is available at companies.php
* @package Joomla.Platform
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
defined('JPATH_PLATFORM') or die();
* Linkedin API Companies class for the Joomla Platform.
* @package Joomla.Platform
* Method to retrieve companies using a company ID, a universal name, or an email domain.
* @param integer $id The unique internal numeric company identifier.
* @param string $name The unique string identifier for a company.
* @param string $domain Company email domains.
* @param string $fields Request fields beyond the default ones.
* @return array The decoded JSON response
* @throws RuntimeException
public function getCompanies($id =
null, $name =
null, $domain =
null, $fields =
null)
// At least one value is needed to retrieve data.
if ($id ==
null &&
$name ==
null &&
$domain ==
null)
// We don't have a valid entry
throw
new RuntimeException('You must specify a company ID, a universal name, or an email domain.');
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
$base .=
'::(' .
$id .
',universal-name=' .
$name .
')';
$base .=
'/universal-name=' .
$name;
// Set request parameters.
$data['format'] =
'json';
$data['email-domain'] =
$domain;
// Check if fields is specified.
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'GET', $parameters, $data);
* Method to read shares for a particular company .
* @param string $id The unique company identifier.
* @param string $type Any valid Company Update Type from the table: https://developer.linkedin.com/reading-company-updates.
* @param integer $count Maximum number of updates to return.
* @param integer $start The offset by which to start Network Update pagination.
* @return array The decoded JSON response
public function getUpdates($id, $type =
null, $count =
0, $start =
0)
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
$base =
'/v1/companies/' .
$id .
'/updates';
// Set request parameters.
$data['format'] =
'json';
// Check if type is specified.
$data['event-type'] =
$type;
// Check if count is specified.
// Check if start is specified.
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'GET', $parameters, $data);
* Method to search across company pages.
* @param string $fields Request fields beyond the default ones.
* @param string $keywords Members who have all the keywords anywhere in their profile.
* @param boolean $hq Matching companies by the headquarters location. When this is set to "true" and a location facet is used,
* this restricts returned companies to only those whose headquarters resides in the specified location.
* @param string $facets Facet buckets to return, e.g. location.
* @param array $facet Array of facet values to search over. Contains values for location, industry, network, company-size,
* num-followers-range and fortune, in exactly this order, null must be specified for an element if no value.
* @param integer $start Starting location within the result set for paginated returns.
* @param integer $count The number of results returned.
* @param string $sort Controls the search result order. There are four options: relevance, relationship,
* followers and company-size.
* @return array The decoded JSON response
public function search($fields =
null, $keywords =
null, $hq =
false, $facets =
null, $facet =
null, $start =
0, $count =
0, $sort =
null)
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
$base =
'/v1/company-search';
$data['format'] =
'json';
// Check if fields is specified.
// Check if keywords is specified.
$data['keywords'] =
$keywords;
// Check if facets is specified.
$data['facets'] =
$facets;
// Check if facet is specified.
$data['facet'] =
array();
for ($i =
0; $i <
count($facet); $i++
)
$data['facet'][] =
'location,' .
$facet[$i];
$data['facet'][] =
'industry,' .
$facet[$i];
$data['facet'][] =
'network,' .
$facet[$i];
$data['facet'][] =
'company-size,' .
$facet[$i];
$data['facet'][] =
'num-followers-range,' .
$facet[$i];
$data['facet'][] =
'fortune,' .
$facet[$i];
// Check if start is specified.
// Check if count is specified.
// Check if sort is specified.
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'GET', $parameters, $data);
* Method to get a list of companies the current member is following.
* @param string $fields Request fields beyond the default ones.
* @return array The decoded JSON response
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
$base =
'/v1/people/~/following/companies';
$data['format'] =
'json';
// Check if fields is specified.
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'GET', $parameters, $data);
* Method to follow a company.
* @param string $id The unique identifier for a company.
* @return array The decoded JSON response
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
// Set the success response code.
$this->oauth->setOption('success_code', 201);
$base =
'/v1/people/~/following/companies';
$xml =
'<company><id>' .
$id .
'</id></company>';
// Build the request path.
$header['Content-Type'] =
'text/xml';
$response =
$this->oauth->oauthRequest($path, 'POST', $parameters, $xml, $header);
* Method to unfollow a company.
* @param string $id The unique identifier for a company.
* @return array The decoded JSON response
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
// Set the success response code.
$this->oauth->setOption('success_code', 204);
$base =
'/v1/people/~/following/companies/id=' .
$id;
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'DELETE', $parameters);
* Method to get a collection of suggested companies for the current user.
* @param string $fields Request fields beyond the default ones.
* @param integer $start Starting location within the result set for paginated returns.
* @param integer $count The number of results returned.
* @return array The decoded JSON response
public function getSuggested($fields =
null, $start =
0, $count =
0)
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
$base =
'/v1/people/~/suggestions/to-follow/companies';
$data['format'] =
'json';
// Check if fields is specified.
// Check if start is specified.
// Check if count is specified.
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'GET', $parameters, $data);
* Method to get a collection of suggested companies for the current user.
* @param string $id The unique identifier for a company.
* @param string $fields Request fields beyond the default ones.
* @param integer $start Starting location within the result set for paginated returns.
* @param integer $count The number of results returned.
* @return array The decoded JSON response
public function getProducts($id, $fields =
null, $start =
0, $count =
0)
$token =
$this->oauth->getToken();
'oauth_token' =>
$token['key']
$base =
'/v1/companies/' .
$id .
'/products';
$data['format'] =
'json';
// Check if fields is specified.
// Check if start is specified.
// Check if count is specified.
// Build the request path.
$response =
$this->oauth->oauthRequest($path, 'GET', $parameters, $data);
Documentation generated on Tue, 19 Nov 2013 14:56:09 +0100 by phpDocumentor 1.4.3