function filefield_get_node_files in FileField 6.3
Get all FileField files connected to a node ID.
Parameters
$node: The node object.
$field: Optional. The CCK field array or field name as a string.
Return value
An array of all files attached to that field (or all fields).
File
- ./
filefield.module, line 1083 - FileField: Defines a CCK file field type.
Code
function filefield_get_node_files($node, $field = NULL) {
$fields = filefield_get_field_list($node->type, $field);
$files = array();
// Get the file rows.
foreach ($fields as $field) {
$db_info = content_database_info($field);
$fields = 'f.*';
$fields .= ', c.' . $db_info['columns']['list']['column'] . ' AS list';
$fields .= ', c.' . $db_info['columns']['data']['column'] . ' AS data';
$sql = 'SELECT ' . $fields . ' FROM {files} f INNER JOIN {' . $db_info['table'] . '} c ON f.fid = c.' . $db_info['columns']['fid']['column'] . ' AND c.vid = %d';
$result = db_query($sql, $node->vid);
while ($file = db_fetch_array($result)) {
$file['data'] = unserialize($file['data']);
$files[$file['fid']] = $file;
}
}
return $files;
}