+ $mimetext = '';
+ if (!empty($url)) {
+ $mime = ParseUrl::getContentType($url);
+ if (!empty($mime)) {
+ $mimetext = $mime[0] . '/' . $mime[1];
+ } else {
+ Logger::info('Invalid file', ['url' => $url]);
+ }
+ if (!empty($mimetext) && ($mime[0] != 'image') && ($mimetext != 'application/octet-stream')) {
+ Logger::info('Unexpected Content-Type', ['mime' => $mimetext, 'url' => $url]);
+ $mimetext = '';
+ }
+ }
+ if (empty($mimetext)) {
+ if ($customsize <= Proxy::PIXEL_MICRO) {
+ $url = Contact::getDefaultAvatar($contact, Proxy::SIZE_MICRO);
+ } elseif ($customsize <= Proxy::PIXEL_THUMB) {
+ $url = Contact::getDefaultAvatar($contact, Proxy::SIZE_THUMB);
+ } else {
+ $url = Contact::getDefaultAvatar($contact, Proxy::SIZE_SMALL);
+ }
+ }
+ return MPhoto::createPhotoForExternalResource($url, 0, $mimetext);