Merge remote branch 'upstream/master'

This commit is contained in:
habeascodice
2014-10-07 23:33:14 -07:00
5 changed files with 29 additions and 18 deletions
+3 -3
View File
@@ -907,12 +907,12 @@ function get_diaspora_reshare_xml($url,$recurse = 0) {
$x = z_fetch_url($url);
if(! $x['success'])
$x = z_fetch_url(str_replace('https://','http://',$source_url));
$x = z_fetch_url(str_replace('https://','http://',$url));
if(! $x['success']) {
logger('get_diaspora_reshare_xml: unable to fetch source url ' . $source_url);
logger('get_diaspora_reshare_xml: unable to fetch source url ' . $url);
return;
}
logger('diaspora_reshare: source: ' . $x['body'], LOGGER_DATA);
logger('get_diaspora_reshare_xml: source: ' . $x['body'], LOGGER_DEBUG);
$source_xml = parse_xml_string($x['body'],false);
+21 -10
View File
@@ -512,19 +512,30 @@ function guess_image_type($filename, $headers = '') {
$type = $hdrs['Content-Type'];
}
if (is_null($type)){
// FIXME!!!!
$ignore_imagick = get_config('system', 'ignore_imagick');
// Guessing from extension? Isn't that... dangerous?
if(class_exists('Imagick') && !$ignore_imagick) {
logger('using imagemagick', LOGGER_DEBUG);
/**
* Well, this not much better,
* but at least it comes from the data inside the image,
* we won't be tricked by a manipulated extension
*/
$image = new Imagick($filename);
$type = $image->getImageMimeType();
} else {
$v = Imagick::getVersion();
preg_match('/ImageMagick ([0-9]+\.[0-9]+\.[0-9]+)/', $v['versionString'], $m);
if(version_compare($m[1],'6.6.7') >= 0) {
/**
* Well, this not much better,
* but at least it comes from the data inside the image,
* we won't be tricked by a manipulated extension
*/
$image = new Imagick($filename);
$type = $image->getImageMimeType();
}
else {
// earlier imagick versions have issues with scaling png's
// don't log this because it will just fill the logfile.
// leave this note here so those who are looking for why
// we aren't using imagick can find it
}
}
if(is_null($type)) {
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$ph = photo_factory('');
$types = $ph->supportedTypes();