]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Images.php
Merge pull request #11503 from annando/bulk-delivery
[friendica.git] / src / Util / Images.php
index bf84ee6c22552bad74d3db1eb83272a5bc52f0d3..c268916cc9b1e25f65e72d215b013c1377111fa3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -24,6 +24,7 @@ namespace Friendica\Util;
 use Friendica\Core\Logger;
 use Friendica\DI;
 use Friendica\Model\Photo;
+use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 
 /**
  * Image utilities
@@ -46,6 +47,30 @@ class Images
                return $m;
        }
 
+       /**
+        * Return file extension for mime type
+        * @param string $mimetype
+        * @return string
+        */
+       public static function getExtensionByMimeType(string $mimetype): string
+       {
+               switch ($mimetype) {
+                       case 'image/png':
+                               $imagetype = IMAGETYPE_PNG;
+                               break;
+
+                       case 'image/gif':
+                               $imagetype = IMAGETYPE_GIF;
+                               break;
+
+                       default:
+                               $imagetype = IMAGETYPE_JPEG;
+                               break;
+               }
+
+               return image_type_to_extension($imagetype);
+       }
+
        /**
         * Returns supported image mimetypes and corresponding file extensions
         *
@@ -160,12 +185,14 @@ class Images
                        return $data;
                }
 
-               $data = DI::cache()->get($url);
+               $cacheKey = 'getInfoFromURL:' . sha1($url);
+
+               $data = DI::cache()->get($cacheKey);
 
                if (empty($data) || !is_array($data)) {
                        $data = self::getInfoFromURL($url);
 
-                       DI::cache()->set($url, $data);
+                       DI::cache()->set($cacheKey, $data);
                }
 
                return $data;
@@ -193,7 +220,7 @@ class Images
                }
 
                if (empty($img_str)) {
-                       $img_str = DI::httpRequest()->fetch($url, 4);
+                       $img_str = DI::httpClient()->fetch($url, HttpClientAccept::IMAGE, 4);
                }
 
                if (!$img_str) {