You are here

function _oauthconnector_info in OAuth Connector 7

Same name and namespace in other branches
  1. 6 oauthconnector.module \_oauthconnector_info()

Information callback

1 string reference to '_oauthconnector_info'
oauthconnector_connector in ./oauthconnector.module
Implements hook_connector().

File

./oauthconnector.module, line 558
OAuth Connector module

Code

function _oauthconnector_info($connector, $cid, $types = array(), $token = NULL) {
  $fields = oauthconnector_fields();
  if (count($types)) {
    foreach ($fields as $field_name => $field) {
      if (!in_array($field_name, $types)) {
        unset($fields[$field_name]);
      }
    }
  }
  $info = array();
  $provider = $connector['oauthconnector provider'];
  if (empty($token)) {
    $token = oauthconnector_get_connection_token($connector['oauthconnector provider'], $cid);
  }
  foreach ($fields as $field_name => $field) {
    $info[$field_name] = NULL;
    if (!isset($provider->mapping['fields'][$field_name]) || !strlen($provider->mapping['fields'][$field_name]['resource'])) {
      continue;
    }
    if (!empty($provider->mapping['fields'][$field_name]['sync_with_field'])) {
      $info[$field_name]['sync'] = $provider->mapping['fields'][$field_name]['sync_with_field'];
    }
    $info[$field_name]['value'] = _oauthconnector_fetch_field($field_name, $provider, $token);
  }
  return $info;
}