diff --git a/core/util.inc.php b/core/util.inc.php index a08ac511..898acfbc 100644 --- a/core/util.inc.php +++ b/core/util.inc.php @@ -991,17 +991,29 @@ if (!function_exists('http_parse_headers')) { #http://www.php.net/manual/en/func } } -function findHeader ($headers, $name){ - //HTTP Headers can sometimes be lowercase which will cause issues. - //In cases like these, we need to make sure to check for them if the camelcase version does not exist. - $header = FALSE; +/** + * HTTP Headers can sometimes be lowercase which will cause issues. + * In cases like these, we need to make sure to check for them if the camelcase version does not exist. + * + * @param array $headers + * @param mixed $key + * @return mixed + */ +function findHeader ($headers, $name) { + if (!is_array($headers) { + return false; + } + + $header = false; - if(array_key_exists($name, $headers)){ + if(array_key_exists($name, $headers)) { $header = $headers[$name]; - }else{ - $headers = array_change_key_case($headers); - if(array_key_exists(strtolower($name), $headers)){ - $header = $headers[strtolower($name)]; + } else { + $headers = array_change_key_case($headers); // convert all to lower case. + $lc_name = strtolower($name); + + if(array_key_exists($lc_name, $headers)) { + $header = $headers[$lc_name]; } } diff --git a/ext/upload/main.php b/ext/upload/main.php index c61bba1e..c63af261 100644 --- a/ext/upload/main.php +++ b/ext/upload/main.php @@ -385,10 +385,15 @@ class Upload extends Extension { $pathinfo = pathinfo($url); $metadata = array(); $metadata['filename'] = $filename; - $metadata['extension'] = getExtension(findHeader($headers, 'Content-Type')) ?: $pathinfo['extension']; $metadata['tags'] = $tags; $metadata['source'] = (($url == $source) && !$config->get_bool('upload_tlsource') ? "" : $source); + if (is_array($headers)) { + $metadata['extension'] = getExtension(findHeader($headers, 'Content-Type')); + } else { + $metadata['extension'] = $pathinfo['extension']; + } + /* check for locked > adds to metadata if it has */ if(!empty($locked)){ $metadata['locked'] = $locked ? "on" : "";