<?php namespace SGalinski\SgNews\Service; /*************************************************************** * Copyright notice * * (c) sgalinski Internet Services (https://www.sgalinski.de) * * All rights reserved * * This script is part of the TYPO3 project. The TYPO3 project is * free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * The GNU General Public License can be found at * http://www.gnu.org/copyleft/gpl.html. * * This script is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ use SGalinski\SgSeo\Service\HeadTagService; use TYPO3\CMS\Core\Package\Exception; use TYPO3\CMS\Core\Resource\FileReference; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController; /** * Service class for the meta data within the header */ class HeaderMetaDataService { /** * Sets the data for the og:image meta data header tag. * * @param string|FileReference $path * @return void */ public static function addOgImageToHeader($path): void { /** @var $typoScriptController TypoScriptFrontendController */ $typoScriptController = $GLOBALS['TSFE']; $typoScriptController->page['og_image_path_by_extension'] = $path; } /** * Adds the page number to the canonical * * @param int $currentPage * @return void * @throws Exception */ public static function addPageNumberToCanonical(int $currentPage): void { if ($currentPage < 1) { return; } if (version_compare(ExtensionManagementUtility::getExtensionVersion('sg_seo'), '5.0.0', '>=')) { $headTagService = GeneralUtility::makeInstance( HeadTagService::class, FALSE, '', '', '&tx_sgnews_pagebrowser[currentPage]=' . $currentPage ); $headTagService->execute(); } else { $GLOBALS['TSFE']->page['extensionArgumentsForCanonicalAndHrefLang'] = '&tx_sgnews_pagebrowser[currentPage]=' . $currentPage; } } }