You are here

function _node_resource_retrieve in Services 6.2

Same name and namespace in other branches
  1. 6.3 resources/node_resource.inc \_node_resource_retrieve()
  2. 7.3 resources/node_resource.inc \_node_resource_retrieve()
  3. 7 services/node_service/node_resource.inc \_node_resource_retrieve()

@file CRUD resource functionality for nodes.

1 string reference to '_node_resource_retrieve'
node_resource_service_resource in services/node_service/node_resource.module

File

services/node_service/node_resource.inc, line 8
CRUD resource functionality for nodes.

Code

function _node_resource_retrieve($nid) {
  $node = node_load($nid);
  $node->uri = services_resource_uri(array(
    'node',
    $node->nid,
  ));
  if ($node) {

    // Apply field level content permissions
    if (module_exists('content') && variable_get('services_use_content_permissions', FALSE)) {
      $fields = content_fields(NULL, $node->type);
      foreach ($fields as $field_name => $field_info) {
        if (isset($node->{$field_name})) {
          $access = module_invoke_all('field_access', 'view', $field_info, $user, $node);
          if (in_array(FALSE, $access)) {
            unset($node->{$field_name});
          }
        }
      }
    }
    $node->uri = services_resource_uri(array(
      'node',
      $node->nid,
    ));
  }
  return $node;
}