1 <?php # vim:ts=2:sw=2:et:
2 /* For licensing and copyright terms, see the file named LICENSE */
4 include '../inc/common.php';
6 $pi = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
7 $vars = explode('/', $pi);
9 $filename = array_pop($vars);
10 $cid = array_pop($vars);
11 $object = join('/', $vars);
13 MTrackACL::requireAllRights($object, 'read');
15 foreach (MTrackDB::q('select hash, size from attachments where
16 object = ? and cid = ? and filename = ?', $object, $cid, $filename)
19 $filename = basename($filename);
20 header("Pragma: public");
22 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
23 header('Cache-Control: private', false);
24 $path = MTrackAttachment::local_path($row['hash']);
25 $mimetype = mtrack_mime_detect($path, $filename);
26 header("Content-Type: $mimetype");
28 list($major) = explode('/', $mimetype, 2);
29 if ($major == 'image' || $major == 'text') {
34 header("Content-Disposition: $disp; filename=\"$filename\"");
35 header('Content-Transfer-Encoding: binary');
36 header("Content-Length: $row[size]");
41 mtrack_header('Not found');