aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Senko <jakubsenko@gmail.com>2016-11-21 16:29:28 +0100
committerJakub Senko <jakubsenko@gmail.com>2016-12-18 21:19:31 +0100
commit5f6fa321efd5ee3761be28a8d3e77d1901fd504f (patch)
tree4aca1e5f17879d003c08b5149219d800323050b3
parentdbd9c1f242ae7c7660feddf2677d41aa82bd21b4 (diff)
downloadforums-5f6fa321efd5ee3761be28a8d3e77d1901fd504f.tar
forums-5f6fa321efd5ee3761be28a8d3e77d1901fd504f.tar.gz
forums-5f6fa321efd5ee3761be28a8d3e77d1901fd504f.tar.bz2
forums-5f6fa321efd5ee3761be28a8d3e77d1901fd504f.tar.xz
forums-5f6fa321efd5ee3761be28a8d3e77d1901fd504f.zip
[ticket/14817] Add core.send_file_to_browser_before
PHPBB3-14817
-rw-r--r--phpBB/includes/functions_download.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/phpBB/includes/functions_download.php b/phpBB/includes/functions_download.php
index c571de579e..15c414437a 100644
--- a/phpBB/includes/functions_download.php
+++ b/phpBB/includes/functions_download.php
@@ -124,7 +124,7 @@ function wrap_img_in_html($src, $title)
*/
function send_file_to_browser($attachment, $upload_dir, $category)
{
- global $user, $db, $config, $phpbb_root_path;
+ global $user, $db, $config, $phpbb_dispatcher, $phpbb_root_path;
$filename = $phpbb_root_path . $upload_dir . '/' . $attachment['physical_filename'];
@@ -149,6 +149,26 @@ function send_file_to_browser($attachment, $upload_dir, $category)
// Now send the File Contents to the Browser
$size = @filesize($filename);
+ /**
+ * Event to alter attachment before it is sent to browser.
+ *
+ * @event core.send_file_to_browser_before
+ * @var array attachment Attachment data
+ * @var string upload_dir Relative path of upload directory
+ * @var int category Attachment category
+ * @var string filename Path to file, including filename
+ * @var int size File size
+ * @since 3.1.11-RC1
+ */
+ $vars = array(
+ 'attachment',
+ 'upload_dir',
+ 'category',
+ 'filename',
+ 'size',
+ );
+ extract($phpbb_dispatcher->trigger_event('core.send_file_to_browser_before', compact($vars)));
+
// To correctly display further errors we need to make sure we are using the correct headers for both (unsetting content-length may not work)
// Check if headers already sent or not able to get the file contents.