use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Network\HTTPClient\Client\HttpClient;
+use Friendica\Network\HTTPClient\Client\HttpClientOptions;
use Friendica\Security\TwoFactor\Model\AppSpecificPassword;
use Friendica\Network\HTTPException;
use Friendica\Object\Image;
break;
}
- $updated = '';
- $imagetype = IMAGETYPE_JPEG;
+ $updated = '';
+ $mimetype = '';
$photo = Photo::selectFirst(['type', 'created', 'edited', 'updated'], ["scale" => $scale, 'uid' => $user['uid'], 'profile' => true]);
if (!empty($photo)) {
- $updated = max($photo['created'], $photo['edited'], $photo['updated']);
-
- if (in_array($photo['type'], ['image/png', 'image/gif'])) {
- $imagetype = IMAGETYPE_PNG;
- }
+ $updated = max($photo['created'], $photo['edited'], $photo['updated']);
+ $mimetype = $photo['type'];
}
- return $url . $user['nickname'] . image_type_to_extension($imagetype) . ($updated ? '?ts=' . strtotime($updated) : '');
+ return $url . $user['nickname'] . Images::getExtensionByMimeType($mimetype) . ($updated ? '?ts=' . strtotime($updated) : '');
}
/**
$url = DI::baseUrl() . '/photo/banner/';
- $updated = '';
- $imagetype = IMAGETYPE_JPEG;
+ $updated = '';
+ $mimetype = '';
$photo = Photo::selectFirst(['type', 'created', 'edited', 'updated'], ["scale" => 3, 'uid' => $user['uid'], 'photo-type' => Photo::USER_BANNER]);
if (!empty($photo)) {
- $updated = max($photo['created'], $photo['edited'], $photo['updated']);
-
- if (in_array($photo['type'], ['image/png', 'image/gif'])) {
- $imagetype = IMAGETYPE_PNG;
- }
+ $updated = max($photo['created'], $photo['edited'], $photo['updated']);
+ $mimetype = $photo['type'];
} else {
// Only for the RC phase: Don't return an image link for the default picture
return '';
}
- return $url . $user['nickname'] . image_type_to_extension($imagetype) . ($updated ? '?ts=' . strtotime($updated) : '');
+ return $url . $user['nickname'] . Images::getExtensionByMimeType($mimetype) . ($updated ? '?ts=' . strtotime($updated) : '');
}
/**
$photo_failure = false;
$filename = basename($photo);
- $curlResult = DI::httpClient()->get($photo);
+ $curlResult = DI::httpClient()->get($photo, [HttpClientOptions::ACCEPT_CONTENT => HttpClient::ACCEPT_IMAGE]);
if ($curlResult->isSuccess()) {
+ Logger::debug('Got picture', ['Content-Type' => $curlResult->getHeader('Content-Type'), 'url' => $photo]);
$img_str = $curlResult->getBody();
$type = $curlResult->getContentType();
} else {