From: Roland Haeder Date: Tue, 27 Jan 2015 18:34:41 +0000 (+0100) Subject: Merge branch 'nightly' of gitorious.org:social/mainline into nightly X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=429be8e9ae1f4fb91c76eb0abeee8c919b1898bc;p=quix0rs-gnu-social.git Merge branch 'nightly' of gitorious.org:social/mainline into nightly Signed-off-by: Roland Haeder Conflicts: plugins/OStatus/classes/Ostatus_profile.php --- 429be8e9ae1f4fb91c76eb0abeee8c919b1898bc diff --cc plugins/OStatus/classes/Ostatus_profile.php index 4081edadaa,79098c6404..dd02c22009 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@@ -1261,17 -1259,15 +1260,17 @@@ class Ostatus_profile extends Managed_D // @todo FIXME: This should be better encapsulated // ripped from oauthstore.php (for old OMB client) - $temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar'); + $temp_filename = tempnam(common_get_temp_dir(), 'listener_avatar'); try { - $client = new HTTPClient(); - $response = $client->get($url); + $imgData = HTTPClient::quickGet($url); + - if (!$response->isOk()) { - // TRANS: Server exception. %s is a URL. - throw new ServerException(sprintf(_m('Unable to fetch avatar from %s to %s.'), $url, $temp_filename)); + // Make sure it's at least an image file. ImageFile can do the rest. + if (false === getimagesizefromstring($imgData)) { + throw new UnsupportedMediaException(_('Downloaded group avatar was not an image.')); } - // FIXME: make sure it's an image here instead of _after_ writing to a file? - file_put_contents($temp_filename, $response->getBody()); ++ + file_put_contents($temp_filename, $imgData); + unset($imgData); // No need to carry this in memory. if ($this->isGroup()) { $id = $this->group_id;