mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 20:13:22 +01:00
[ticket/13227] Properly handle curlwrapper headers in remote avatars
Read a bit of the file to ensure header values are populated and then handle headers in the nested array structure too. PHPBB3-13227
This commit is contained in:
parent
aa916fc43f
commit
4e4c3de103
@ -130,8 +130,24 @@ class remote extends \phpbb\avatar\driver\driver
|
||||
{
|
||||
// Timeout after 1 second
|
||||
stream_set_timeout($file_stream, 1);
|
||||
// read some data to ensure headers are present
|
||||
fread($file_stream, 1024);
|
||||
$meta = stream_get_meta_data($file_stream);
|
||||
foreach ($meta['wrapper_data'] as $header)
|
||||
|
||||
if (isset($meta['wrapper_data']['headers']) && is_array($meta['wrapper_data']['headers']))
|
||||
{
|
||||
$headers = $meta['wrapper_data']['headers'];
|
||||
}
|
||||
else if (isset($meta['wrapper_data']) && is_array($meta['wrapper_data']))
|
||||
{
|
||||
$headers = $meta['wrapper_data'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$headers = array();
|
||||
}
|
||||
|
||||
foreach ($headers as $header)
|
||||
{
|
||||
$header = preg_split('/ /', $header, 2);
|
||||
if (strtr(strtolower(trim($header[0], ':')), '_', '-') === 'content-type')
|
||||
|
Loading…
x
Reference in New Issue
Block a user