From 237afa633f3393a0593c7e1840b4eccdbc2d6f30 Mon Sep 17 00:00:00 2001 From: Mattias Nilsson Date: Thu, 27 Oct 2022 14:19:56 +0200 Subject: [PATCH 1/2] [BUGFIX] Check if an image exists before importing --- Classes/Domain/Service/PrepareFeed.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Classes/Domain/Service/PrepareFeed.php b/Classes/Domain/Service/PrepareFeed.php index c474946..4df81bb 100644 --- a/Classes/Domain/Service/PrepareFeed.php +++ b/Classes/Domain/Service/PrepareFeed.php @@ -66,9 +66,11 @@ protected function persistImages(array $feed): array FileUtility::createFolderIfNotExists($path); foreach ($feed['data'] as $item) { - $imageContent = $this->getImageContent($item['thumbnail_url'] ?? $item['media_url']); - $pathAndName = GeneralUtility::getFileAbsFileName($this->imageFolder) . $item['id'] . '.jpg'; - GeneralUtility::writeFile($pathAndName, $imageContent, true); + if ($item['thumbnail_url'] || $item['media_url']) { + $imageContent = $this->getImageContent($item['thumbnail_url'] ?? $item['media_url']); + $pathAndName = GeneralUtility::getFileAbsFileName($this->imageFolder) . $item['id'] . '.jpg'; + GeneralUtility::writeFile($pathAndName, $imageContent, true); + } } } return $feed; From bca351993ebb5466c06c336284d968a2499f851d Mon Sep 17 00:00:00 2001 From: Mattias Nilsson Date: Fri, 28 Oct 2022 10:06:09 +0200 Subject: [PATCH 2/2] [BUGFIX] Check if feed entry has media_url --- Classes/Domain/Repository/InstagramRepository.php | 5 +++++ Classes/Domain/Service/PrepareFeed.php | 8 +++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Classes/Domain/Repository/InstagramRepository.php b/Classes/Domain/Repository/InstagramRepository.php index f17d009..7b5b125 100644 --- a/Classes/Domain/Repository/InstagramRepository.php +++ b/Classes/Domain/Repository/InstagramRepository.php @@ -145,6 +145,11 @@ public function getFeed(string $username): array throw new ApiConnectionException('Could not read the feed', 1615757725); } $result = json_decode($request->getBody()->getContents(), true); + foreach ($result['data'] as $key => $feedEntry) { + if (!isset($feedEntry['media_url'])) { + unset($result['data'][$key]); + } + } if (empty($result['data'][0]['id']) || empty($result['data'][0]['media_url']) || empty($result['data'][0]['permalink'])) { throw new ApiConnectionException('Result does not contain expected keys', 1615757825); diff --git a/Classes/Domain/Service/PrepareFeed.php b/Classes/Domain/Service/PrepareFeed.php index 4df81bb..c474946 100644 --- a/Classes/Domain/Service/PrepareFeed.php +++ b/Classes/Domain/Service/PrepareFeed.php @@ -66,11 +66,9 @@ protected function persistImages(array $feed): array FileUtility::createFolderIfNotExists($path); foreach ($feed['data'] as $item) { - if ($item['thumbnail_url'] || $item['media_url']) { - $imageContent = $this->getImageContent($item['thumbnail_url'] ?? $item['media_url']); - $pathAndName = GeneralUtility::getFileAbsFileName($this->imageFolder) . $item['id'] . '.jpg'; - GeneralUtility::writeFile($pathAndName, $imageContent, true); - } + $imageContent = $this->getImageContent($item['thumbnail_url'] ?? $item['media_url']); + $pathAndName = GeneralUtility::getFileAbsFileName($this->imageFolder) . $item['id'] . '.jpg'; + GeneralUtility::writeFile($pathAndName, $imageContent, true); } } return $feed;