Issue 6477: Use the correct content-type to resize the images
authorMichael <heluecht@pirati.ca>
Thu, 20 Jun 2019 20:09:33 +0000 (20:09 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 20 Jun 2019 20:09:33 +0000 (20:09 +0000)
src/Model/Contact.php
src/Model/Photo.php

index 9e3f2a1..a6026d6 100644 (file)
@@ -1737,17 +1737,14 @@ class Contact extends BaseObject
                        $photos = Photo::importProfilePhoto($avatar, $uid, $cid, true);
 
                        if ($photos) {
-                               DBA::update(
-                                       'contact',
-                                       ['avatar' => $avatar, 'photo' => $photos[0], 'thumb' => $photos[1], 'micro' => $photos[2], 'avatar-date' => DateTimeFormat::utcNow()],
-                                       ['id' => $cid]
-                               );
+                               $fields = ['avatar' => $avatar, 'photo' => $photos[0], 'thumb' => $photos[1], 'micro' => $photos[2], 'avatar-date' => DateTimeFormat::utcNow()];
+                               DBA::update('contact', $fields, ['id' => $cid]);
 
                                // Update the public contact (contact id = 0)
                                if ($uid != 0) {
                                        $pcontact = DBA::selectFirst('contact', ['id'], ['nurl' => $contact['nurl'], 'uid' => 0]);
                                        if (DBA::isResult($pcontact)) {
-                                               self::updateAvatar($avatar, 0, $pcontact['id'], $force);
+                                               DBA::update('contact', $fields, ['id' => $pcontact['id']]);
                                        }
                                }
 
index 2d740e1..6866512 100644 (file)
@@ -414,7 +414,9 @@ class Photo extends BaseObject
 
                $filename = basename($image_url);
                if (!empty($image_url)) {
-                       $img_str = Network::fetchUrl($image_url, true);
+                       $ret = Network::curl($image_url, true);
+                       $img_str = $ret->getBody();
+                       $type = $ret->getContentType();
                } else {
                        $img_str = '';
                }
@@ -423,7 +425,10 @@ class Photo extends BaseObject
                        return false;
                }
 
-               $type = Image::guessType($image_url, true);
+               if (empty($type)) {
+                       $type = Image::guessType($image_url, true);
+               }
+
                $Image = new Image($img_str, $type);
                if ($Image->isValid()) {
                        $Image->scaleToSquare(300);