function filefield_file_download in FileField 5.2
Same name and namespace in other branches
- 6.3 filefield.module \filefield_file_download()
- 6.2 filefield.module \filefield_file_download()
File
- ./filefield.module, line 809
- Defines a file field type.
Code
function filefield_file_download($file) {
$file = file_create_path($file);
$result = db_query("SELECT * FROM {files} WHERE filepath = '%s'", $file);
if (!($file = db_fetch_object($result))) {
return;
}
$node = node_load($file->nid);
if (!node_access('view', $node)) {
return -1;
}
if (!user_access('view filefield uploads')) {
return -1;
}
$name = mime_header_encode($file->filename);
$type = mime_header_encode($file->filemime);
$disposition = ereg('^(text/|image/)', $file->filemime) || ereg('flash$', $file->filemime) ? 'inline' : 'attachment';
return array(
'Content-Type: ' . $type . '; name=' . $name,
'Content-Length: ' . $file->filesize,
'Content-Disposition: ' . $disposition . '; filename=' . $name,
'Cache-Control: private',
);
}