X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fgetfile.php;h=abdf5b69fc3904928e06419fff0ce467a967cf00;hb=b15f5f0cafc08c9b63090c5b4f7494fca0634238;hp=4b57a05cd6bbe2c42af058e9e87f29ceb0a55095;hpb=25198a8d4cee5b2182f1ecb99192a4108a01afa4;p=quix0rs-gnu-social.git diff --git a/actions/getfile.php b/actions/getfile.php index 4b57a05cd6..abdf5b69fc 100644 --- a/actions/getfile.php +++ b/actions/getfile.php @@ -28,11 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { - exit(1); -} - -require_once 'MIME/Type.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** * An action for returning a requested file @@ -61,7 +57,7 @@ class GetfileAction extends Action * * @return success flag */ - function prepare($args) + protected function prepare(array $args=array()) { parent::prepare($args); @@ -75,12 +71,10 @@ class GetfileAction extends Action if (empty($path) or !file_exists($path)) { // TRANS: Client error displayed when requesting a non-existent file. $this->clientError(_('No such file.'), 404); - return false; } if (!is_readable($path)) { // TRANS: Client error displayed when requesting a file without having read access to it. $this->clientError(_('Cannot read file.'), 403); - return false; } $this->path = $path; @@ -92,7 +86,7 @@ class GetfileAction extends Action * * @return boolean true */ - function isReadOnly($args) + function isReadOnly(array $args=array()) { return true; } @@ -143,22 +137,22 @@ class GetfileAction extends Action /** * Handle input, produce output * - * @param array $args $_REQUEST contents - * * @return void */ - function handle($args) + protected function handle() { // undo headers set by PHP sessions $sec = session_cache_expire() * 60; header('Expires: ' . date(DATE_RFC1123, time() + $sec)); header('Cache-Control: max-age=' . $sec); - parent::handle($args); + parent::handle(); $path = $this->path; - header('Content-Type: ' . MIME_Type::autoDetect($path)); + $finfo = new finfo(FILEINFO_MIME_TYPE); + + header('Content-Type: ' . $finfo->file($path)); if (common_config('site', 'use_x_sendfile')) { header('X-Sendfile: ' . $path);