mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge pull request #3085 from naderman/ticket/13227
[ticket/13227] Properly handle curlwrapper headers in remote avatars
This commit is contained in:
commit
efe3aaaf0b
1 changed files with 17 additions and 1 deletions
|
@ -130,8 +130,24 @@ class remote extends \phpbb\avatar\driver\driver
|
||||||
{
|
{
|
||||||
// Timeout after 1 second
|
// Timeout after 1 second
|
||||||
stream_set_timeout($file_stream, 1);
|
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);
|
$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);
|
$header = preg_split('/ /', $header, 2);
|
||||||
if (strtr(strtolower(trim($header[0], ':')), '_', '-') === 'content-type')
|
if (strtr(strtolower(trim($header[0], ':')), '_', '-') === 'content-type')
|
||||||
|
|
Loading…
Add table
Reference in a new issue