aboutsummaryrefslogtreecommitdiffstats
path: root/include/photo
diff options
context:
space:
mode:
authorMax Kostikov <max@kostikov.co>2019-01-03 16:31:48 +0100
committerMax Kostikov <max@kostikov.co>2019-01-03 16:31:48 +0100
commit3f61d24d0ad961432966d7c1439f6bccb55d42bf (patch)
tree278634a5c67ed183e3e47b7d67ab56b4330d0fa9 /include/photo
parent16064d5614dece224dc7d7903f454ad92c7a5ac2 (diff)
parentf3f106c21f81cdb297a9f76765df3686eec1d95d (diff)
downloadvolse-hubzilla-3f61d24d0ad961432966d7c1439f6bccb55d42bf.tar.gz
volse-hubzilla-3f61d24d0ad961432966d7c1439f6bccb55d42bf.tar.bz2
volse-hubzilla-3f61d24d0ad961432966d7c1439f6bccb55d42bf.zip
Merge branch 'check_content_type' into 'dev'
check suppported type if we get content type from header See merge request hubzilla/core!1453
Diffstat (limited to 'include/photo')
-rw-r--r--include/photo/photo_driver.php11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 9aeb2ef17..608237ce1 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -482,7 +482,6 @@ function guess_image_type($filename, $headers = '') {
// logger('Photo: guess_image_type: '.$filename . ($headers?' from curl headers':''), LOGGER_DEBUG);
$type = null;
if ($headers) {
-
$hdrs=array();
$h = explode("\n",$headers);
foreach ($h as $l) {
@@ -490,11 +489,16 @@ function guess_image_type($filename, $headers = '') {
$hdrs[strtolower($k)] = $v;
}
logger('Curl headers: '.var_export($hdrs, true), LOGGER_DEBUG);
- if (array_key_exists('content-type', $hdrs))
+ if (array_key_exists('content-type', $hdrs)) {
$type = $hdrs['content-type'];
+
+ $ph = photo_factory('');
+ $types = $ph->supportedTypes();
+
+ $type = $types[$type];
+ }
}
if (is_null($type)){
-
$ignore_imagick = get_config('system', 'ignore_imagick');
// Guessing from extension? Isn't that... dangerous?
if(class_exists('Imagick') && file_exists($filename) && is_readable($filename) && !$ignore_imagick) {
@@ -638,7 +642,6 @@ function import_xchan_photo($photo,$xchan,$thing = false,$force = false) {
$img_str = $result['body'];
$type = guess_image_type($photo, $result['header']);
$modified = gmdate('Y-m-d H:i:s', (preg_match('/last-modified: (.+) \S+/i', $result['header'], $o) ? strtotime($o[1] . 'Z') : time()));
-
if(is_null($type))
$photo_failure = true;
}