]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Photo.php
Merge pull request #13724 from Raroun/Fix-for-Issue-#13637---Photo-caption-prevents...
[friendica.git] / src / Module / Photo.php
index bb7ee60297c43dd2ccfa65ff5a654135de14dc76..be2408edf21c94f70be6bbc1493d1522c045f1bd 100644 (file)
@@ -22,6 +22,7 @@
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
+use Friendica\Contact\Header;
 use Friendica\Core\Logger;
 use Friendica\Core\Protocol;
 use Friendica\Database\DBA;
@@ -49,7 +50,7 @@ use Friendica\Worker\UpdateContact;
 /**
  * Photo Module
  */
-class Photo extends BaseModule
+class Photo extends BaseApi
 {
        /**
         * Module initializer
@@ -76,7 +77,7 @@ class Photo extends BaseModule
                        throw new NotModifiedException();
                }
 
-               Profile::addVisitorCookieForHTTPSigner();
+               Profile::addVisitorCookieForHTTPSigner($this->server);
 
                $customsize = 0;
                $square_resize = true;
@@ -149,7 +150,7 @@ class Photo extends BaseModule
                                        }
                        }
 
-                       $photo = MPhoto::getPhoto($photoid, $scale);
+                       $photo = MPhoto::getPhoto($photoid, $scale, self::getCurrentUserID());
                        if ($photo === false) {
                                throw new HTTPException\NotFoundException(DI::l10n()->t('The Photo with id %s is not available.', $photoid));
                        }
@@ -282,7 +283,7 @@ class Photo extends BaseModule
                                }
 
                                if (Network::isLocalLink($url) && preg_match('|.*?/photo/(.*[a-fA-F0-9])\-(.*[0-9])\..*[\w]|', $url, $matches)) {
-                                       return MPhoto::getPhoto($matches[1], $matches[2]);
+                                       return MPhoto::getPhoto($matches[1], $matches[2], self::getCurrentUserID());
                                }
 
                                return MPhoto::createPhotoForExternalResource($url, (int)DI::userSession()->getLocalUserId(), $media['mimetype'] ?? '', $media['blurhash'], $width, $height);
@@ -293,7 +294,7 @@ class Photo extends BaseModule
                                }
 
                                if (Network::isLocalLink($media['url']) && preg_match('|.*?/photo/(.*[a-fA-F0-9])\-(.*[0-9])\..*[\w]|', $media['url'], $matches)) {
-                                       return MPhoto::getPhoto($matches[1], $matches[2]);
+                                       return MPhoto::getPhoto($matches[1], $matches[2], self::getCurrentUserID());
                                }
 
                                return MPhoto::createPhotoForExternalResource($media['url'], (int)DI::userSession()->getLocalUserId(), $media['mimetype'], $media['blurhash'], $media['width'], $media['height']);
@@ -351,7 +352,7 @@ class Photo extends BaseModule
                                }
 
                                // If it is a local link, we save resources by just redirecting to it.
-                               if (Network::isLocalLink($url)) {
+                               if (!empty($url) && Network::isLocalLink($url)) {
                                        System::externalRedirect($url);
                                }
 
@@ -482,6 +483,6 @@ class Photo extends BaseModule
                if (!empty($photo)) {
                        return $photo;
                }
-               return MPhoto::createPhotoForImageData(file_get_contents(DI::basePath() . '/images/friendica-banner.jpg'));
+               return MPhoto::createPhotoForImageData(file_get_contents(DI::basePath() . (new Header(DI::config()))->getMastodonBannerPath()));
        }
 }