From c448440ce844666a09fb8c9e287bfe4d293b8fad Mon Sep 17 00:00:00 2001 From: webchick <webchick@24967.no-reply.drupal.org> Date: Sun, 3 Jul 2011 11:04:28 -0700 Subject: [PATCH] Issue #1169564 by FreekyMage, jhodgdon: Fixed hook_file_download() - sample function body not updated for d7/8. --- modules/system/system.api.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modules/system/system.api.php b/modules/system/system.api.php index 4005389004dd..8e2e8957ed0b 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -2687,22 +2687,21 @@ function hook_file_delete($file) { * NULL. * * @see file_download() - * @see upload_file_download() */ function hook_file_download($uri) { // Check if the file is controlled by the current module. if (!file_prepare_directory($uri)) { $uri = FALSE; } - $result = db_query("SELECT f.* FROM {file_managed} f INNER JOIN {upload} u ON f.fid = u.fid WHERE uri = :uri", array('uri' => $uri)); - foreach ($result as $file) { - if (!user_access('view uploaded files')) { + if (strpos(file_uri_target($uri), variable_get('user_picture_path', 'pictures') . '/picture-') === 0) { + if (!user_access('access user profiles')) { + // Access to the file is denied. return -1; } - return array( - 'Content-Type' => $file->filemime, - 'Content-Length' => $file->filesize, - ); + else { + $info = image_get_info($uri); + return array('Content-Type' => $info['mime_type']); + } } } -- GitLab