summaryrefslogtreecommitdiffstats
path: root/app/df.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--app/df.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/app/df.php b/app/df.php
index a425d57..3f648ad 100644
--- a/app/df.php
+++ b/app/df.php
@@ -13,6 +13,7 @@
*/
require_once "class/user.class.php";
+require_once "class/mesg.class.php";
/*
* This file is a proxy script for fetching resources from the /dynmic
@@ -31,15 +32,19 @@ require_once "class/user.class.php";
* request. When finished, this function will exit PHP and terminate
* this script.
*/
-function serveResource(string $uri) : void
+function serveResource(string $uri, ?string $filename = NULL) : void
{
$f = fopen($uri, "rb");
if (!$f)
exit;
- header("Content-type: " . mime_content_type($uri));
- header("Content-length: " . filesize($uri));
+ header("Content-Type: " . mime_content_type($uri));
+ header("Content-Length: " . filesize($uri));
+
+ if ($filename)
+ header("Content-Disposition: attachment; filename=\"" . $filename . "\"");
+
fpassthru($f);
fclose($f);
@@ -89,6 +94,11 @@ function main(string $dir, string $guid) : void
case "bgs":
serveResource("dynmic/bgs/" . $guid);
break;
+
+ case "attach":
+ $mesg = new mesg($guid);
+ serveResource("dynmic/attach/" . $guid, $mesg->attachment);
+ break;
}
}
catch (Exception $e)