From ee14cab4af7542c29096988124e13e19d5ad2b35 Mon Sep 17 00:00:00 2001
From: Matthias Adrowski <matthias.adrowski@sgalinski.de>
Date: Wed, 9 Feb 2022 09:18:26 +0100
Subject: [PATCH] [TASK] Update image handling to latest sg_seo

---
 .../Controller/ListByCategoryController.php   | 18 +++++++++-----
 Classes/Controller/OverviewController.php     | 16 +++++++++----
 Classes/Controller/SingleViewController.php   | 24 ++++++++++++++-----
 3 files changed, 42 insertions(+), 16 deletions(-)

diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php
index 4492b34..ca3df7b 100644
--- a/Classes/Controller/ListByCategoryController.php
+++ b/Classes/Controller/ListByCategoryController.php
@@ -177,12 +177,18 @@ class ListByCategoryController extends AbstractController {
 
 			if (!$headerSet) {
 				if (!version_compare(ExtensionManagementUtility::getExtensionVersion('sg_seo'), '5.0.0', '>=')) {
-					if ($data['image']) {
-						HeaderMetaDataService::addOgImageToHeader($data['image']);
-						$headerSet = TRUE;
-					} elseif ($data['teaserImage']) {
-						HeaderMetaDataService::addOgImageToHeader($data['teaserImage']);
-						$headerSet = TRUE;
+					if (isset($newsMetaData['imageObject'])) {
+						HeaderMetaDataService::addOgImageObjectToHeader(
+							$newsMetaData['imageObject']
+								? $newsMetaData['imageObject']->getOriginalResource()
+								: NULL
+						);
+					} elseif (isset($newsMetaData['teaserImageObject'])) {
+						HeaderMetaDataService::addOgImageObjectToHeader(
+							$newsMetaData['teaserImageObject']
+								? $newsMetaData['teaserImageObject']->getOriginalResource()
+								: NULL
+						);
 					}
 				}
 			}
diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php
index 47808c7..f7d0e52 100644
--- a/Classes/Controller/OverviewController.php
+++ b/Classes/Controller/OverviewController.php
@@ -183,10 +183,18 @@ class OverviewController extends AbstractController {
 		}
 
 		if (!version_compare(ExtensionManagementUtility::getExtensionVersion('sg_seo'), '5.0.0', '>=')) {
-			if ($highlightedNewsMetaData['image']) {
-				HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['image']);
-			} elseif ($highlightedNewsMetaData['teaserImage']) {
-				HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['teaserImage']);
+			if (isset($highlightedNewsMetaData['imageObject'])) {
+				HeaderMetaDataService::addOgImageObjectToHeader(
+					$highlightedNewsMetaData['imageObject']
+						? $highlightedNewsMetaData['imageObject']->getOriginalResource()
+						: NULL
+				);
+			} elseif (isset($highlightedNewsMetaData['teaserImageObject'])) {
+				HeaderMetaDataService::addOgImageObjectToHeader(
+					$highlightedNewsMetaData['teaserImageObject']
+						? $highlightedNewsMetaData['teaserImageObject']->getOriginalResource()
+						: NULL
+				);
 			}
 		}
 	}
diff --git a/Classes/Controller/SingleViewController.php b/Classes/Controller/SingleViewController.php
index 4dd7e5d..cb8edbd 100644
--- a/Classes/Controller/SingleViewController.php
+++ b/Classes/Controller/SingleViewController.php
@@ -70,7 +70,9 @@ class SingleViewController extends AbstractController {
 		$currentId = (int) $GLOBALS['TSFE']->id;
 		$news = $this->newsRepository->findByUid($currentId);
 		if (!$news) {
-			if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) {
+			if (version_compare(
+				\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<'
+			)) {
 				return NULL;
 			} else {
 				return $this->htmlResponse();
@@ -80,7 +82,9 @@ class SingleViewController extends AbstractController {
 		/** @var Category $newsCategory */
 		$newsCategory = $this->categoryRepository->findByUid($news->getPid());
 		if (!$newsCategory) {
-			if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) {
+			if (version_compare(
+				\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<'
+			)) {
 				return NULL;
 			} else {
 				return $this->htmlResponse();
@@ -89,10 +93,18 @@ class SingleViewController extends AbstractController {
 
 		$newsMetaData = $this->getMetaDataForNews($news, $newsCategory);
 		if (!version_compare(ExtensionManagementUtility::getExtensionVersion('sg_seo'), '5.0.0', '>=')) {
-			if ($newsMetaData['image']) {
-				HeaderMetaDataService::addOgImageObjectToHeader(isset($newsMetaData['imageObject']) ? $newsMetaData['imageObject']->getOriginalResource(): null);
-			} elseif ($newsMetaData['teaserImage']) {
-				HeaderMetaDataService::addOgImageToHeader($newsMetaData['teaserImage']);
+			if (isset($newsMetaData['imageObject'])) {
+				HeaderMetaDataService::addOgImageObjectToHeader(
+					$newsMetaData['imageObject']
+						? $newsMetaData['imageObject']->getOriginalResource()
+						: NULL
+				);
+			} elseif (isset($newsMetaData['teaserImageObject'])) {
+				HeaderMetaDataService::addOgImageObjectToHeader(
+					$newsMetaData['teaserImageObject']
+						? $newsMetaData['teaserImageObject']->getOriginalResource()
+						: NULL
+				);
 			}
 		}
 
-- 
GitLab