function node_service_get in Services 6.2
Same name and namespace in other branches
- 6 services/node_service/node_service.inc \node_service_get()
- 7 services/node_service/node_service.inc \node_service_get()
Returns a specified node.
Parameters
$nid: Number. The node ID.
$fields: Array (optinonal). The node fields needed. If its empty, all fields will be returned
Return value
Object. The node object with all wanted fields.
1 string reference to 'node_service_get'
- node_service_service in services/node_service/ node_service.module 
- Implementation of hook_service().
File
- services/node_service/ node_service.inc, line 19 
- Link general node functionalities to services module.
Code
function node_service_get($nid, $fields = array()) {
  global $user;
  $node = node_load(array(
    'nid' => $nid,
  ));
  if ($node) {
    // Apply field level content permissions
    if (module_exists('content') && variable_get('services_use_content_permissions', FALSE)) {
      $content_fields = content_fields(NULL, $node->type);
      foreach ($content_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});
          }
        }
      }
    }
    $result = services_node_load($node, $fields);
  }
  else {
    $result = services_error(t('Could not find the node.'), 404);
  }
  return $result;
}