diff --git a/typo3/sysext/install/Classes/UpgradeAnalysis/DocumentationFile.php b/typo3/sysext/install/Classes/UpgradeAnalysis/DocumentationFile.php index f25992dfa1edce2cd4458240a9d6ee8d747b2e72..9794ff851032ef6b7597d4abf66ece24b589a8d7 100644 --- a/typo3/sysext/install/Classes/UpgradeAnalysis/DocumentationFile.php +++ b/typo3/sysext/install/Classes/UpgradeAnalysis/DocumentationFile.php @@ -154,10 +154,10 @@ class DocumentationFile $entry['filename'] ); } - $entry['url']['issue'] = sprintf( - 'https://forge.typo3.org/issues/%s', - $this->parseIssueId($entry['filename']) - ); + $issueId = $this->parseIssueId($entry['filename']); + if ($issueId) { + $entry['url']['issue'] = sprintf('https://forge.typo3.org/issues/%s', $issueId); + } return [md5($file) => $entry]; } @@ -349,11 +349,11 @@ class DocumentationFile /** * @param string $filename * - * @return string + * @return string|null */ - protected function parseIssueId(string $filename): string + protected function parseIssueId(string $filename): ?string { - return GeneralUtility::trimExplode('-', $filename)[1]; + return GeneralUtility::trimExplode('-', $filename)[1] ?? null; } /** diff --git a/typo3/sysext/install/Resources/Private/Partials/Upgrade/UpgradeDocs/PanelItem.html b/typo3/sysext/install/Resources/Private/Partials/Upgrade/UpgradeDocs/PanelItem.html index 059aa88fca9685d69de4f7745775452ed461e4f1..5bfce94dc6e68e1942fd0c3e441c71a1c4a6ca27 100644 --- a/typo3/sysext/install/Resources/Private/Partials/Upgrade/UpgradeDocs/PanelItem.html +++ b/typo3/sysext/install/Resources/Private/Partials/Upgrade/UpgradeDocs/PanelItem.html @@ -29,7 +29,9 @@ <div id="collapse{id}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading{id}"> <div class="rst-tags t3js-tags"></div> <div class="rst-links"> - <a href="{fileArray.url.issue}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open issue</a> + <f:if condition="{fileArray.url.issue}"> + <a href="{fileArray.url.issue}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open issue</a> + </f:if> <f:if condition="{fileArray.url.documentation}"> <a href="{fileArray.url.documentation}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open rendered version</a> </f:if>