You are here

public function ServicesClientControl::getData in Services Client 7.2

Retrieve new controlling data which contains info about current node.

Return value

array

1 call to ServicesClientControl::getData()
ServicesClientControl::setData in include/plugin.inc
Set control dat to new object that is sent to remote site.

File

include/plugin.inc, line 489
Base plugin definitions. All other plugins should be extended from this set of plugins.

Class

ServicesClientControl
Class for handling control data.

Code

public function getData() {
  $data = $this->data;

  // V1 data
  $data['origin'] = services_client_get_id();
  $data['visted'] = isset($data['visted']) ? $data['visted'] : array();
  if (empty($data['visted']) && !empty($this->data['v2']['nodes'])) {
    $data['visted'] = $this->data['v2']['nodes'];
  }
  if (!in_array($this->client_id, $data['visted'])) {
    $data['visted'][] = $this->client_id;
  }

  // V2 data
  $data['v2']['id'] = services_client_get_id();
  $data['v2']['source'] = drupal_is_cli() ? 'cli' : $_SERVER['HTTP_REFERER'];
  $data['v2']['nodes'] = isset($data['v2']['nodes']) ? $data['v2']['nodes'] : array();
  if (empty($data['v2']['nodes']) && !empty($this->data['visted'])) {
    $data['v2']['nodes'] = $this->data['visted'];
  }
  if (!in_array($this->client_id, $data['v2']['nodes'])) {
    $data['v2']['nodes'][] = $this->client_id;
  }
  return $data;
}