X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fgetfile.php;h=abdf5b69fc3904928e06419fff0ce467a967cf00;hb=72c86913a427e4626b8b43cb725a65cd7f7a0f3c;hp=a45506ce2a9a1af5cbebd3e02ba42968d673399c;hpb=86a702953a8082b062e48c8f6eea60a7f749ef12;p=quix0rs-gnu-social.git diff --git a/actions/getfile.php b/actions/getfile.php index a45506ce2a..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 @@ -47,13 +43,11 @@ require_once 'MIME/Type.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class GetfileAction extends Action { /** * Path of file to return */ - var $path = null; /** @@ -63,8 +57,7 @@ class GetfileAction extends Action * * @return success flag */ - - function prepare($args) + protected function prepare(array $args=array()) { parent::prepare($args); @@ -76,12 +69,12 @@ 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; @@ -93,8 +86,7 @@ class GetfileAction extends Action * * @return boolean true */ - - function isReadOnly($args) + function isReadOnly(array $args=array()) { return true; } @@ -104,7 +96,6 @@ class GetfileAction extends Action * * @return int last-modified date as unix timestamp */ - function lastModified() { if (common_config('site', 'use_x_sendfile')) { @@ -122,7 +113,6 @@ class GetfileAction extends Action * * @return string etag http header */ - function etag() { if (common_config('site', 'use_x_sendfile')) { @@ -147,23 +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);