From 92711cacaa067f04b05d3773e8a8b5eae928fada Mon Sep 17 00:00:00 2001 From: Stefan Froemken Date: Thu, 5 Dec 2024 14:03:14 +0100 Subject: [PATCH 1/3] Add TYPO3 13 as dependency --- composer.json | 2 +- ext_emconf.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index e4abb55..8249bcd 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ } ], "require": { - "typo3/cms-core": "^12.4.15" + "typo3/cms-core": "^12.4.15 || ^13.4.0" }, "require-dev": { "ergebnis/composer-normalize": "^2.44", diff --git a/ext_emconf.php b/ext_emconf.php index 991a211..ef569af 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -17,7 +17,7 @@ 'version' => '0.0.5', 'constraints' => [ 'depends' => [ - 'typo3' => '12.4.15-12.4.99', + 'typo3' => '12.4.15-13.4.99', ], 'conflicts' => [], 'suggests' => [], From 3f3ee9c0be87e31ee5c68de068ddca643c3900b6 Mon Sep 17 00:00:00 2001 From: Stefan Froemken Date: Thu, 5 Dec 2024 14:54:33 +0100 Subject: [PATCH 2/3] Add TYPO3 13 compatibility --- Classes/Command/NotifySearchEngineCommand.php | 2 +- Classes/Domain/Repository/StackRepository.php | 3 ++- Classes/Event/ModifyPageUidEvent.php | 21 ++++++------------- Classes/Hook/DataHandlerHook.php | 4 ++-- ext_emconf.php | 2 +- ext_localconf.php | 10 ++++++--- 6 files changed, 19 insertions(+), 23 deletions(-) diff --git a/Classes/Command/NotifySearchEngineCommand.php b/Classes/Command/NotifySearchEngineCommand.php index 9c71802..e0005ec 100644 --- a/Classes/Command/NotifySearchEngineCommand.php +++ b/Classes/Command/NotifySearchEngineCommand.php @@ -46,7 +46,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $errors = 0; foreach ($this->stackRepository->findAll() as $urlRecord) { $total++; - $url = trim($urlRecord['url']); + $url = trim($urlRecord['url'] ?? ''); if ($url === '') { $this->stackRepository->deleteByUid((int)$urlRecord['uid']); diff --git a/Classes/Domain/Repository/StackRepository.php b/Classes/Domain/Repository/StackRepository.php index f73228c..0f70854 100644 --- a/Classes/Domain/Repository/StackRepository.php +++ b/Classes/Domain/Repository/StackRepository.php @@ -11,6 +11,7 @@ namespace JWeiland\IndexNow\Domain\Repository; +use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Database\Query\QueryBuilder; /** @@ -43,7 +44,7 @@ public function deleteByUid(int $uid): void ->where( $this->queryBuilder->expr()->eq( 'uid', - $this->queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT) + $this->queryBuilder->createNamedParameter($uid, Connection::PARAM_INT) ) ) ->executeStatement(); diff --git a/Classes/Event/ModifyPageUidEvent.php b/Classes/Event/ModifyPageUidEvent.php index c4bfa39..822ccbc 100644 --- a/Classes/Event/ModifyPageUidEvent.php +++ b/Classes/Event/ModifyPageUidEvent.php @@ -17,27 +17,18 @@ */ class ModifyPageUidEvent { - private array $record; - - private string $table; - - private int $pageUid; - - private ?array $pageRecord; - /** * @param array $record This is the record, which is requested to be stored. Coming from DataHandler. * @param string $table This is the table name where the record will be stored * @param int $pageUid This is the page UID. We will use it to create a preview URL for IndexNow request. Set it to 0 to prevent informing IndexNow. * @param array|null $pageRecord To keep your life easy we provide you the full page record. Be careful, in rare cases it can be NULL! */ - public function __construct(array $record, string $table, int $pageUid, ?array $pageRecord) - { - $this->record = $record; - $this->table = $table; - $this->pageUid = $pageUid; - $this->pageRecord = $pageRecord; - } + public function __construct( + private readonly array $record, + private readonly string $table, + private int $pageUid, + private readonly ?array $pageRecord + ) {} public function getRecord(): array { diff --git a/Classes/Hook/DataHandlerHook.php b/Classes/Hook/DataHandlerHook.php index 0f60dcc..eaba38c 100644 --- a/Classes/Hook/DataHandlerHook.php +++ b/Classes/Hook/DataHandlerHook.php @@ -66,7 +66,7 @@ public function processDatamap_beforeStart(DataHandler $dataHandler): void $this->stackRepository->insert( $this->getUrlForSearchEngineEndpoint($url) ); - } catch (ApiKeyNotAvailableException $apiKeyNotAvailableException) { + } catch (ApiKeyNotAvailableException) { $this->sendBackendNotification( 'Missing API key', 'Please set an API key for EXT:indexnow in extension settings', @@ -129,7 +129,7 @@ protected function getPreviewUrl(int $pageUid): ?string ->withAdditionalQueryParameters($additionalParams) ->buildUri() ); - } catch (UnableToLinkToPageException $e) { + } catch (UnableToLinkToPageException) { return null; } } diff --git a/ext_emconf.php b/ext_emconf.php index ef569af..c5937d7 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -14,7 +14,7 @@ 'author' => 'Stefan Froemken', 'author_email' => 'sfroemken@jweiland.net', 'state' => 'experimental', - 'version' => '0.0.5', + 'version' => '0.0.6', 'constraints' => [ 'depends' => [ 'typo3' => '12.4.15-13.4.99', diff --git a/ext_localconf.php b/ext_localconf.php index c51ec07..6c7cd68 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -7,16 +7,20 @@ * LICENSE file that was distributed with this source code. */ +use JWeiland\IndexNow\Hook\DataHandlerHook; +use Psr\Log\LogLevel; +use TYPO3\CMS\Core\Log\Writer\FileWriter; + if (!defined('TYPO3')) { die('Access denied.'); } $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass']['indexnow'] - = \JWeiland\IndexNow\Hook\DataHandlerHook::class; + = DataHandlerHook::class; $GLOBALS['TYPO3_CONF_VARS']['LOG']['JWeiland']['IndexNow']['writerConfiguration'] = [ - \Psr\Log\LogLevel::WARNING => [ - \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [ + LogLevel::WARNING => [ + FileWriter::class => [ 'logFileInfix' => 'indexnow', ], ], From e4ebe4b0145e32968ef034db7a559a2f54cc8ab9 Mon Sep 17 00:00:00 2001 From: Stefan Froemken Date: Thu, 5 Dec 2024 14:58:31 +0100 Subject: [PATCH 3/3] Remove PHP 8.1 test, because of TYPO3 13 compatibility --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 16929a7..70cdda4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,6 @@ jobs: matrix: php: - - '8.1' - '8.2' - '8.3'