You are here

function filefield_get_file_references in FileField 6.3

Get a list of node IDs that reference a file.

Parameters

$file: The file object for which to find references.

$field: Optional. The CCK field array or field name as a string.

Return value

An array of IDs grouped by NID: array([nid] => array([vid1], [vid2])).

1 call to filefield_get_file_references()
filefield_delete_file_references in ./filefield.module
Delete all node references of a file.

File

./filefield.module, line 1056
FileField: Defines a CCK file field type.

Code

function filefield_get_file_references($file, $field = NULL) {
  $fields = filefield_get_field_list(NULL, $field);
  $file = (object) $file;
  $references = array();
  foreach ($fields as $field) {
    $db_info = content_database_info($field);
    $sql = 'SELECT nid, vid FROM {' . $db_info['table'] . '} WHERE ' . $db_info['columns']['fid']['column'] . ' = %d';
    $result = db_query($sql, $file->fid);
    while ($row = db_fetch_object($result)) {
      $references[$row->nid][$row->vid] = $row->vid;
    }
  }
  return $references;
}